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)), }, } }