summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/alecthomas/chroma/lexers/j/jungle.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/alecthomas/chroma/lexers/j/jungle.go')
-rw-r--r--vendor/github.com/alecthomas/chroma/lexers/j/jungle.go54
1 files changed, 54 insertions, 0 deletions
diff --git a/vendor/github.com/alecthomas/chroma/lexers/j/jungle.go b/vendor/github.com/alecthomas/chroma/lexers/j/jungle.go
new file mode 100644
index 000000000..5dbda9fba
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/lexers/j/jungle.go
@@ -0,0 +1,54 @@
+package j
+
+import (
+ . "github.com/alecthomas/chroma" // nolint
+ "github.com/alecthomas/chroma/lexers/internal"
+)
+
+var Jungle = internal.Register(MustNewLazyLexer(
+ &Config{
+ Name: "Jungle",
+ Aliases: []string{"jungle"},
+ Filenames: []string{"*.jungle"},
+ MimeTypes: []string{"text/x-jungle"},
+ },
+ jungleRules,
+))
+
+func jungleRules() Rules {
+ return Rules{
+ "root": {
+ {`[^\S\n]+`, Text, nil},
+ {`\n`, Text, nil},
+ {`#(\n|[\w\W]*?[^#]\n)`, CommentSingle, nil},
+ {`^(?=\S)`, None, Push("instruction")},
+ {`[\.;\[\]\(\)\$]`, Punctuation, nil},
+ {`[a-zA-Z_]\w*`, Name, nil},
+ },
+ "instruction": {
+ {`[^\S\n]+`, Text, nil},
+ {`=`, Operator, Push("value")},
+ {`(?=\S)`, None, Push("var")},
+ Default(Pop(1)),
+ },
+ "value": {
+ {`[^\S\n]+`, Text, nil},
+ {`\$\(`, Punctuation, Push("var")},
+ {`[;\[\]\(\)\$]`, Punctuation, nil},
+ {`#(\n|[\w\W]*?[^#]\n)`, CommentSingle, nil},
+ {`[\w_\-\.\/\\]+`, Text, nil},
+ Default(Pop(1)),
+ },
+ "var": {
+ {`[^\S\n]+`, Text, nil},
+ {`\b(((re)?source|barrel)Path|excludeAnnotations|annotations|lang)\b`, NameBuiltin, nil},
+ {`\bbase\b`, NameConstant, nil},
+ {`\b(ind|zsm|hrv|ces|dan|dut|eng|fin|fre|deu|gre|hun|ita|nob|po[lr]|rus|sl[ov]|spa|swe|ara|heb|zh[st]|jpn|kor|tha|vie|bul|tur)`, NameConstant, nil},
+ {`\b((semi)?round|rectangle)(-\d+x\d+)?\b`, NameConstant, nil},
+ {`[\.;\[\]\(\$]`, Punctuation, nil},
+ {`\)`, Punctuation, Pop(1)},
+ {`[a-zA-Z_]\w*`, Name, nil},
+ Default(Pop(1)),
+ },
+ }
+}