diff options
| author | Mitja Felicijan <mitja.felicijan@gmail.com> | 2024-10-25 00:47:47 +0200 |
|---|---|---|
| committer | Mitja Felicijan <mitja.felicijan@gmail.com> | 2024-10-25 00:47:47 +0200 |
| commit | c6cc0108ca7738023b45e0eeac0fa2390532dd93 (patch) | |
| tree | 36890e6cd3091bbab8efbe686cc56f467f645bfd /vendor/github.com/alecthomas/chroma/v2/lexers/embedded/protobuf.xml | |
| parent | 0130404a1dc663d4aa68d780c9bcb23a4243e68d (diff) | |
| download | jbmafp-master.tar.gz | |
Diffstat (limited to 'vendor/github.com/alecthomas/chroma/v2/lexers/embedded/protobuf.xml')
| -rw-r--r-- | vendor/github.com/alecthomas/chroma/v2/lexers/embedded/protobuf.xml | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/protobuf.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/protobuf.xml new file mode 100644 index 0000000..98ae7c8 --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/protobuf.xml @@ -0,0 +1,118 @@ +<lexer> + <config> + <name>Protocol Buffer</name> + <alias>protobuf</alias> + <alias>proto</alias> + <filename>*.proto</filename> + </config> + <rules> + <state name="root"> + <rule pattern="[ \t]+"> + <token type="Text"/> + </rule> + <rule pattern="[,;{}\[\]()<>]"> + <token type="Punctuation"/> + </rule> + <rule pattern="/(\\\n)?/(\n|(.|\n)*?[^\\]\n)"> + <token type="CommentSingle"/> + </rule> + <rule pattern="/(\\\n)?\*(.|\n)*?\*(\\\n)?/"> + <token type="CommentMultiline"/> + </rule> + <rule pattern="\b(extensions|required|repeated|optional|returns|default|option|packed|import|ctype|oneof|max|rpc|to)\b"> + <token type="Keyword"/> + </rule> + <rule pattern="(sfixed32|sfixed64|fixed32|fixed64|sint32|sint64|double|string|uint32|uint64|int32|float|int64|bytes|bool)\b"> + <token type="KeywordType"/> + </rule> + <rule pattern="(true|false)\b"> + <token type="KeywordConstant"/> + </rule> + <rule pattern="(package)(\s+)"> + <bygroups> + <token type="KeywordNamespace"/> + <token type="Text"/> + </bygroups> + <push state="package"/> + </rule> + <rule pattern="(message|extend)(\s+)"> + <bygroups> + <token type="KeywordDeclaration"/> + <token type="Text"/> + </bygroups> + <push state="message"/> + </rule> + <rule pattern="(enum|group|service)(\s+)"> + <bygroups> + <token type="KeywordDeclaration"/> + <token type="Text"/> + </bygroups> + <push state="type"/> + </rule> + <rule pattern="\".*?\""> + <token type="LiteralString"/> + </rule> + <rule pattern="\'.*?\'"> + <token type="LiteralString"/> + </rule> + <rule pattern="(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[LlUu]*"> + <token type="LiteralNumberFloat"/> + </rule> + <rule pattern="(\d+\.\d*|\.\d+|\d+[fF])[fF]?"> + <token type="LiteralNumberFloat"/> + </rule> + <rule pattern="(\-?(inf|nan))\b"> + <token type="LiteralNumberFloat"/> + </rule> + <rule pattern="0x[0-9a-fA-F]+[LlUu]*"> + <token type="LiteralNumberHex"/> + </rule> + <rule pattern="0[0-7]+[LlUu]*"> + <token type="LiteralNumberOct"/> + </rule> + <rule pattern="\d+[LlUu]*"> + <token type="LiteralNumberInteger"/> + </rule> + <rule pattern="[+-=]"> + <token type="Operator"/> + </rule> + <rule pattern="([a-zA-Z_][\w.]*)([ \t]*)(=)"> + <bygroups> + <token type="Name"/> + <token type="Text"/> + <token type="Operator"/> + </bygroups> + </rule> + <rule pattern="[a-zA-Z_][\w.]*"> + <token type="Name"/> + </rule> + </state> + <state name="package"> + <rule pattern="[a-zA-Z_]\w*"> + <token type="NameNamespace"/> + <pop depth="1"/> + </rule> + <rule> + <pop depth="1"/> + </rule> + </state> + <state name="message"> + <rule pattern="[a-zA-Z_]\w*"> + <token type="NameClass"/> + <pop depth="1"/> + </rule> + <rule> + <pop depth="1"/> + </rule> + </state> + <state name="type"> + <rule pattern="[a-zA-Z_]\w*"> + <token type="Name"/> + <pop depth="1"/> + </rule> + <rule> + <pop depth="1"/> + </rule> + </state> + </rules> +</lexer>
\ No newline at end of file |
