]> git.lizzy.rs Git - micro.git/commitdiff
Add proto syntax file
authorSerge Voilokov <serge0x76@gmail.com>
Wed, 6 Nov 2019 12:23:04 +0000 (07:23 -0500)
committerSerge Voilokov <serge0x76@gmail.com>
Wed, 6 Nov 2019 12:23:04 +0000 (07:23 -0500)
runtime/syntax/proto.yaml [new file with mode: 0644]

diff --git a/runtime/syntax/proto.yaml b/runtime/syntax/proto.yaml
new file mode 100644 (file)
index 0000000..01e2ee0
--- /dev/null
@@ -0,0 +1,40 @@
+filetype: proto
+
+detect:
+    filename: "(\\.(proto)$$)"
+
+rules:
+    - identifier: "\\b[A-Z_][0-9A-Z_]+\\b"
+    - type: "\\b(int(8|16|32|64))|string|bytes|repeated|bool|required|map|optional|oneof|union\\b"
+    - statement: "\\b(import|service|enum|syntax|package|option|message|rpc|returns|extensions|to)\\b"
+    - constant: "'\\\\(([0-3]?[0-7]{1,2}))'"
+    - constant: "'\\\\x[0-9A-Fa-f]{1,2}'"
+    - symbol.brackets: "[(){}]|\\[|\\]"
+    - constant.number: "(\\b[0-9]+\\b|\\b0x[0-9A-Fa-f]+\\b)"
+
+    - constant.string:
+        start: "\""
+        end: "\""
+        skip: "\\\\."
+        rules:
+            - constant.specialChar: "\\\\."
+
+    - constant.string:
+        start: "'"
+        end: "'"
+        skip: "\\\\."
+        rules:
+            - preproc: "..+"
+            - constant.specialChar: "\\\\."
+
+    - comment:
+        start: "//"
+        end: "$"
+        rules:
+            - todo: "(TODO|XXX|FIXME):?"
+
+    - comment:
+        start: "/\\*"
+        end: "\\*/"
+        rules:
+            - todo: "(TODO|XXX|FIXME):?"