From 1fc5b316ab4a385ba4922e7136361f5a4c1fda70 Mon Sep 17 00:00:00 2001 From: Serge Voilokov Date: Tue, 5 Nov 2019 22:57:36 -0500 Subject: [PATCH 1/2] Add mc, godoc syntax files --- runtime/syntax/godoc.yaml | 17 +++++++++++++++++ runtime/syntax/mc.yaml | 23 +++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 runtime/syntax/godoc.yaml create mode 100644 runtime/syntax/mc.yaml diff --git a/runtime/syntax/godoc.yaml b/runtime/syntax/godoc.yaml new file mode 100644 index 00000000..b7726296 --- /dev/null +++ b/runtime/syntax/godoc.yaml @@ -0,0 +1,17 @@ +# godoc +# example: go doc -all | micro + +filetype: godoc + +detect: + filename: "\\.godoc$" + header: package.*import + +rules: + - preproc: "^[^ ].*" + + - comment: + start: "//" + end: "$" + rules: + - todo: "(TODO|XXX|FIXME):?" diff --git a/runtime/syntax/mc.yaml b/runtime/syntax/mc.yaml new file mode 100644 index 00000000..bcf11777 --- /dev/null +++ b/runtime/syntax/mc.yaml @@ -0,0 +1,23 @@ +# sendmail config files + +filetype: mc + +detect: + filename: "\\.mc$" + +rules: + - statement: "^(divert|VERSIONID|OSTYPE|DOMAIN|FEATURE|define)" + - statement: "^(DAEMON_OPTIONS|MAILER)" + - comment: + start: "#" + end: "$" + rules: [] + - comment: + start: "dnl" + end: "$" + rules: [] + - constant.string: + start: "`" + end: "'" + rules: [] + From 1857aa4067bc97d1e5535706bfb9906036cf5f86 Mon Sep 17 00:00:00 2001 From: Serge Voilokov Date: Wed, 6 Nov 2019 07:23:04 -0500 Subject: [PATCH 2/2] Add proto syntax file --- runtime/syntax/proto.yaml | 40 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 runtime/syntax/proto.yaml diff --git a/runtime/syntax/proto.yaml b/runtime/syntax/proto.yaml new file mode 100644 index 00000000..01e2ee0a --- /dev/null +++ b/runtime/syntax/proto.yaml @@ -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):?"