github-linguist 5.2.0 → 5.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/grammars/annotation.liquidhaskell.haskell.json +1445 -0
- data/grammars/hint.haskell.json +134 -17
- data/grammars/hint.message.haskell.json +134 -17
- data/grammars/hint.type.haskell.json +134 -17
- data/grammars/source.abl.json +48 -48
- data/grammars/source.afm.json +8 -1
- data/grammars/source.angelscript.json +195 -0
- data/grammars/source.ats.json +128 -58
- data/grammars/source.awk.json +138 -138
- data/grammars/source.ballerina.json +434 -0
- data/grammars/source.chapel.json +1 -1
- data/grammars/source.clips.json +20 -20
- data/grammars/source.cobol.json +4 -3
- data/grammars/source.coffee.json +556 -109
- data/grammars/source.cs.json +10 -5
- data/grammars/source.csound-document.json +1 -1
- data/grammars/source.csound-score.json +9 -9
- data/grammars/source.csound.json +23 -28
- data/grammars/source.css.json +6 -5
- data/grammars/source.data-weave.json +1584 -0
- data/grammars/source.elixir.json +3 -61
- data/grammars/source.elm.json +88 -88
- data/grammars/source.emacs.lisp.json +12 -1
- data/grammars/source.haskell.json +134 -17
- data/grammars/source.hsig.json +1376 -0
- data/grammars/source.httpspec.json +128 -128
- data/grammars/source.jison.json +6 -14
- data/grammars/source.jisonlex.json +1 -9
- data/grammars/source.js.json +1 -0
- data/grammars/source.js.regexp.json +0 -4
- data/grammars/source.js.regexp.replacement.json +0 -4
- data/grammars/source.jsdoc.json +3 -3
- data/grammars/source.lsl.json +146 -53
- data/grammars/source.mercury.json +166 -166
- data/grammars/source.ne.json +108 -0
- data/grammars/source.nim_filter.json +51 -51
- data/grammars/source.nut.json +266 -0
- data/grammars/source.opal.json +112 -112
- data/grammars/source.opalsysdefs.json +16 -16
- data/grammars/source.pan.json +1 -1
- data/grammars/source.papyrus.skyrim.json +720 -720
- data/grammars/source.pawn.json +2 -2
- data/grammars/source.prolog.eclipse.json +42 -42
- data/grammars/source.prolog.json +41 -41
- data/grammars/source.purescript.json +41 -25
- data/grammars/source.python.json +47 -34
- data/grammars/source.racket.json +54 -54
- data/grammars/source.reason.json +37 -3
- data/grammars/source.regexp.python.json +31 -0
- data/grammars/source.ruby.gemfile.json +27 -0
- data/grammars/source.ruby.json +1057 -356
- data/grammars/source.rust.json +1 -1
- data/grammars/source.sbt.json +13 -3
- data/grammars/source.scala.json +74 -55
- data/grammars/source.shaderlab.json +1 -1
- data/grammars/source.shell.json +26 -21
- data/grammars/source.shen.json +91 -91
- data/grammars/source.sqf.json +1 -1
- data/grammars/source.supercollider.json +1 -1
- data/grammars/source.swift.json +4 -0
- data/grammars/source.terra.json +36 -37
- data/grammars/source.terraform.json +98 -98
- data/grammars/source.ts.json +2231 -1677
- data/grammars/source.tsx.json +142 -3520
- data/grammars/source.vbnet.json +201 -263
- data/grammars/source.viml.json +2 -2
- data/grammars/source.wdl.json +200 -0
- data/grammars/source.yaml.json +34 -16
- data/grammars/text.find-refs.json +3 -3
- data/grammars/text.haml.json +1 -1
- data/grammars/text.html.abl.json +6 -6
- data/grammars/text.html.erb.json +8 -11
- data/grammars/text.html.php.blade.json +256 -220
- data/grammars/text.html.vue.json +1 -1
- data/grammars/text.slim.json +31 -17
- data/grammars/text.tex.latex.haskell.json +150 -33
- data/lib/linguist/heuristics.rb +8 -0
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +82 -26
- data/lib/linguist/samples.json +134512 -132868
- data/lib/linguist/vendor.yml +3 -0
- data/lib/linguist/version.rb +1 -1
- metadata +13 -4
@@ -0,0 +1,108 @@
|
|
1
|
+
{
|
2
|
+
"fileTypes": [
|
3
|
+
"ne"
|
4
|
+
],
|
5
|
+
"name": "nearley",
|
6
|
+
"patterns": [
|
7
|
+
{
|
8
|
+
"match": "@include|@builtin|@lexer",
|
9
|
+
"name": "keyword.control.ne"
|
10
|
+
},
|
11
|
+
{
|
12
|
+
"captures": {
|
13
|
+
"1": {
|
14
|
+
"name": "entity.name.type.ne"
|
15
|
+
},
|
16
|
+
"2": {
|
17
|
+
"name": "variable.parameter.ne"
|
18
|
+
},
|
19
|
+
"3": {
|
20
|
+
"name": "keyword.operator.ne"
|
21
|
+
}
|
22
|
+
},
|
23
|
+
"match": "([\\w+?]+)(\\[.+\\])?\\s+((-|=)+>)"
|
24
|
+
},
|
25
|
+
{
|
26
|
+
"match": "\\$[\\w+?]+",
|
27
|
+
"name": "variable.parameter.ne"
|
28
|
+
},
|
29
|
+
{
|
30
|
+
"match": "%[\\w+?]+",
|
31
|
+
"name": "storage.type.ne"
|
32
|
+
},
|
33
|
+
{
|
34
|
+
"match": "null",
|
35
|
+
"name": "constant.language.ne"
|
36
|
+
},
|
37
|
+
{
|
38
|
+
"begin": "([\\w+?]+\\[)",
|
39
|
+
"captures": {
|
40
|
+
"1": {
|
41
|
+
"name": "entity.name.function"
|
42
|
+
},
|
43
|
+
"2": {
|
44
|
+
"name": "entity.name.function"
|
45
|
+
}
|
46
|
+
},
|
47
|
+
"end": "(\\])",
|
48
|
+
"patterns": [
|
49
|
+
{
|
50
|
+
"include": "$self"
|
51
|
+
}
|
52
|
+
]
|
53
|
+
},
|
54
|
+
{
|
55
|
+
"match": "[\\w+?]+",
|
56
|
+
"name": "entity.name.type.ne"
|
57
|
+
},
|
58
|
+
{
|
59
|
+
"match": "(\\|)|(:\\+)|(:\\*)|(:\\?)|(\\()|(\\))",
|
60
|
+
"name": "keyword.operator.ne"
|
61
|
+
},
|
62
|
+
{
|
63
|
+
"begin": "#",
|
64
|
+
"end": "\\n",
|
65
|
+
"name": "comment.line.ne"
|
66
|
+
},
|
67
|
+
{
|
68
|
+
"begin": "\\[",
|
69
|
+
"end": "\\]",
|
70
|
+
"name": "string.regex.ne",
|
71
|
+
"patterns": [
|
72
|
+
{
|
73
|
+
"match": "\\\\.",
|
74
|
+
"name": "constant.character.escape.ne"
|
75
|
+
}
|
76
|
+
]
|
77
|
+
},
|
78
|
+
{
|
79
|
+
"begin": "\"",
|
80
|
+
"end": "\"",
|
81
|
+
"name": "string.quoted.double.ne",
|
82
|
+
"patterns": [
|
83
|
+
{
|
84
|
+
"match": "\\\\.",
|
85
|
+
"name": "constant.character.escape.ne"
|
86
|
+
}
|
87
|
+
]
|
88
|
+
},
|
89
|
+
{
|
90
|
+
"begin": "(@?{%)",
|
91
|
+
"captures": {
|
92
|
+
"1": {
|
93
|
+
"name": "comment.block.ne"
|
94
|
+
},
|
95
|
+
"2": {
|
96
|
+
"name": "comment.block.ne"
|
97
|
+
}
|
98
|
+
},
|
99
|
+
"end": "(%})",
|
100
|
+
"patterns": [
|
101
|
+
{
|
102
|
+
"include": "source.js"
|
103
|
+
}
|
104
|
+
]
|
105
|
+
}
|
106
|
+
],
|
107
|
+
"scopeName": "source.ne"
|
108
|
+
}
|
@@ -1,106 +1,106 @@
|
|
1
1
|
{
|
2
|
+
"name": "Nim Source Code Filter",
|
3
|
+
"scopeName": "source.nim_filter",
|
2
4
|
"fileTypes": [
|
3
5
|
"nimf"
|
4
6
|
],
|
5
|
-
"
|
7
|
+
"uuid": "c6396a10-4bb4-4929-aee5-1d893828b098",
|
6
8
|
"patterns": [
|
7
9
|
{
|
8
|
-
"begin": "\\A(#!)",
|
9
|
-
"end": "\\z(!?\\n)",
|
10
10
|
"name": "meta.start.nim_filter",
|
11
|
+
"begin": "\\A(#!)",
|
11
12
|
"patterns": [
|
12
13
|
{
|
13
|
-
"begin": "^\\s*#",
|
14
|
-
"end": "\\n",
|
15
14
|
"name": "comment.line.nim_filter",
|
15
|
+
"begin": "^\\s*#",
|
16
16
|
"patterns": [
|
17
17
|
{
|
18
|
-
"
|
19
|
-
"
|
18
|
+
"name": "constant.numeric.float.decimal.nim_filter",
|
19
|
+
"match": "\\b((\\d[_\\d]*\\.[_\\d]+([eE][\\+\\-]?\\d[_\\d]*)?)|([eE][\\+\\-]?\\d[_\\d]*))('[fF](32|64))?"
|
20
20
|
},
|
21
21
|
{
|
22
|
-
"
|
23
|
-
"
|
22
|
+
"name": "constant.numeric.integer.hexadecimal.nim_filter",
|
23
|
+
"match": "\\b(0[xX][0-9A-Fa-f][_0-9A-Fa-f]*)('[iIuU](8|16|32|64))?"
|
24
24
|
},
|
25
25
|
{
|
26
26
|
"comment": "For simplicity's sake, we don't enforce floats only having 32 and 64 prefix types.",
|
27
|
-
"
|
28
|
-
"
|
27
|
+
"name": "constant.numeric.integer.octal.nim_filter",
|
28
|
+
"match": "\\b(0o[0-7][_0-7]*)('[iIuUfF](8|16|32|64))?"
|
29
29
|
},
|
30
30
|
{
|
31
|
-
"
|
32
|
-
"
|
31
|
+
"name": "constant.numeric.integer.binary.nim_filter",
|
32
|
+
"match": "\\b(0(b|B)[01][_01]*)('[iIuUfF](8|16|32|64))?"
|
33
33
|
},
|
34
34
|
{
|
35
|
-
"
|
36
|
-
"
|
35
|
+
"name": "constant.numeric.integer.decimal.nim_filter",
|
36
|
+
"match": "\\b(\\d[_\\d]*)('[iIuUfF](8|16|32|64))?"
|
37
37
|
},
|
38
38
|
{
|
39
39
|
"comment": "Language Constants.",
|
40
|
-
"
|
41
|
-
"
|
40
|
+
"name": "constant.language.nim_filter",
|
41
|
+
"match": "\\b(true|false|inf|nil)\\b"
|
42
42
|
},
|
43
43
|
{
|
44
44
|
"comment": "Keywords that affect program control flow or scope.",
|
45
|
-
"
|
46
|
-
"
|
45
|
+
"name": "keyword.control.nim_filter",
|
46
|
+
"match": "\\b(block|break|case|continue|do|elif|else|end|except|finally|for|if|raise|return|try|when|while|yield)\\b"
|
47
47
|
},
|
48
48
|
{
|
49
49
|
"comment": "Keyword boolean operators for expressions.",
|
50
|
-
"
|
51
|
-
"
|
50
|
+
"name": "keyword.operator.boolean.nim_filter",
|
51
|
+
"match": "(\\b(and|in|is|isnot|not|notin|or|xor)\\b)"
|
52
52
|
},
|
53
53
|
{
|
54
54
|
"comment": "Generic operators for expressions.",
|
55
|
-
"
|
56
|
-
"
|
55
|
+
"name": "keyword.operator.nim_filter",
|
56
|
+
"match": "(\\b()\\b|(=|\\+|-|\\*|/|<|>|@|\\$|~|&|%|!|\\?|\\^|\\.|:|\\\\)+)"
|
57
57
|
},
|
58
58
|
{
|
59
59
|
"comment": "Other keywords.",
|
60
|
-
"
|
61
|
-
"
|
60
|
+
"name": "keyword.other.nim_filter",
|
61
|
+
"match": "(\\b(addr|as|asm|atomic|bind|cast|concept|const|discard|distinct|div|enum|export|from|import|include|let|mod|object|of|ptr|ref|shl|shr|static|tuple|type|var)\\b)"
|
62
62
|
},
|
63
63
|
{
|
64
64
|
"comment": "Invalid and unused keywords.",
|
65
|
-
"
|
66
|
-
"
|
65
|
+
"name": "keyword.invalid.nim_filter",
|
66
|
+
"match": "(\\b(converter|generic|interface|lambda|mixin|out|shared|with|without)\\b)"
|
67
67
|
},
|
68
68
|
{
|
69
69
|
"comment": "Built-in, concrete types.",
|
70
|
-
"
|
71
|
-
"
|
70
|
+
"name": "storage.type.concrete.nim_filter",
|
71
|
+
"match": "\\b(((uint|int|float)(8|16|32|64)?)|bool|string|cstring|char|tobject|typedesc)\\b"
|
72
72
|
},
|
73
73
|
{
|
74
74
|
"comment": "Built-in, generic types.",
|
75
|
-
"
|
76
|
-
"
|
75
|
+
"name": "storage.type.generic.nim_filter",
|
76
|
+
"match": "\\b(range|array|seq|natural|set|ref|ptr)\\b"
|
77
77
|
},
|
78
78
|
{
|
79
79
|
"comment": "Function types",
|
80
|
-
"
|
81
|
-
"
|
80
|
+
"name": "storage.type.function.nim_filter",
|
81
|
+
"match": "\\b(proc|iterator|method|template|macro)\\b"
|
82
82
|
},
|
83
83
|
{
|
84
84
|
"comment": "Common functions",
|
85
|
-
"
|
86
|
-
"
|
85
|
+
"name": "keyword.function.nim_filter",
|
86
|
+
"match": "\\b(echo|newException)\\b"
|
87
87
|
},
|
88
88
|
{
|
89
89
|
"comment": "Special types.",
|
90
|
-
"
|
91
|
-
"
|
90
|
+
"name": "storage.type.generic.nim_filter",
|
91
|
+
"match": "\\b(openarray|varargs|void)\\b"
|
92
92
|
},
|
93
93
|
{
|
94
|
-
"begin": "(\\w[_\\w]*)?\\\"\\\"\\\"",
|
95
94
|
"comment": "(Raw) Triple Quoted String",
|
96
|
-
"
|
97
|
-
"
|
95
|
+
"name": "string.quoted.triple.nim_filter",
|
96
|
+
"begin": "(\\w[_\\w]*)?\\\"\\\"\\\"",
|
97
|
+
"end": "\\\"\\\"\\\"[^\"]"
|
98
98
|
},
|
99
99
|
{
|
100
|
-
"begin": "r\\\"",
|
101
100
|
"comment": "Raw Double Quoted String",
|
102
|
-
"end": "\\\"",
|
103
101
|
"name": "string.quoted.double.raw.nim_filter",
|
102
|
+
"begin": "r\\\"",
|
103
|
+
"end": "\\\"",
|
104
104
|
"patterns": [
|
105
105
|
{
|
106
106
|
"match": "\\\"\\\""
|
@@ -108,10 +108,10 @@
|
|
108
108
|
]
|
109
109
|
},
|
110
110
|
{
|
111
|
-
"begin": "(\\w[_\\w]*)?\\\"",
|
112
111
|
"comment": "Double Quoted String",
|
113
|
-
"end": "\\\"",
|
114
112
|
"name": "string.quoted.double.nim_filter",
|
113
|
+
"begin": "(\\w[_\\w]*)?\\\"",
|
114
|
+
"end": "\\\"",
|
115
115
|
"patterns": [
|
116
116
|
{
|
117
117
|
"match": "(\\\\([abenrclftv]|[\"']|[0-9])|x[0-9A-Fa-f]{2})"
|
@@ -120,14 +120,14 @@
|
|
120
120
|
},
|
121
121
|
{
|
122
122
|
"comment": "Single quoted character literal",
|
123
|
-
"
|
124
|
-
"
|
123
|
+
"name": "string.quoted.single.nim_filter",
|
124
|
+
"match": "\\'(\\\\\\d{1,3}|\\\\?[^\\n]?)\\'"
|
125
125
|
}
|
126
|
-
]
|
126
|
+
],
|
127
|
+
"end": "\\n"
|
127
128
|
}
|
128
|
-
]
|
129
|
+
],
|
130
|
+
"end": "\\z(!?\\n)"
|
129
131
|
}
|
130
|
-
]
|
131
|
-
"scopeName": "source.nim_filter",
|
132
|
-
"uuid": "c6396a10-4bb4-4929-aee5-1d893828b098"
|
132
|
+
]
|
133
133
|
}
|
@@ -0,0 +1,266 @@
|
|
1
|
+
{
|
2
|
+
"comment": "Squirrel Syntax: version 0.2.1",
|
3
|
+
"fileTypes": [
|
4
|
+
"nut"
|
5
|
+
],
|
6
|
+
"name": "Squirrel",
|
7
|
+
"patterns": [
|
8
|
+
{
|
9
|
+
"include": "#special-block"
|
10
|
+
},
|
11
|
+
{
|
12
|
+
"include": "#comments"
|
13
|
+
},
|
14
|
+
{
|
15
|
+
"match": "\\b(break|case|catch|default|do|else|for|foreach|if|resume|return|switch|throw|try|while|yield)\\b",
|
16
|
+
"name": "keyword.control.squirrel"
|
17
|
+
},
|
18
|
+
{
|
19
|
+
"match": "\\b(clone|delete|in|instanceof|typeof)\\b",
|
20
|
+
"name": "keyword.control.squirrel"
|
21
|
+
},
|
22
|
+
{
|
23
|
+
"match": "\\b(base|this)\\b",
|
24
|
+
"name": "variable.language.squirrel"
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"match": "\\b(class|constructor|function|local)\\b",
|
28
|
+
"name": "storage.type.squirrel"
|
29
|
+
},
|
30
|
+
{
|
31
|
+
"match": "\\b(const|extends|static)\\b",
|
32
|
+
"name": "storage.modifier.squirrel"
|
33
|
+
},
|
34
|
+
{
|
35
|
+
"match": "\\b(null|true|false)\\b",
|
36
|
+
"name": "constant.squirrel.squirrel"
|
37
|
+
},
|
38
|
+
{
|
39
|
+
"match": "!|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|==|=|!=|<=>|<=|>=|<-|>>>|<<|>>|<|>|!|&&|\\|\\||\\?\\:|\\*=|(?<!\\()/=|%=|\\+=|\\-=|&=|%=|\\.",
|
40
|
+
"name": "keyword.operator.squirrel"
|
41
|
+
},
|
42
|
+
{
|
43
|
+
"match": "\\b((0(x|X)[0-9a-fA-F]+)|([0-9]+(\\.[0-9]+)?))\\b",
|
44
|
+
"name": "constant.numeric.squirrel"
|
45
|
+
},
|
46
|
+
{
|
47
|
+
"match": "\\b([_A-Za-z][_A-Za-z0-9]\\w*)\\b(?=\\s*(?:[({\"']|\\[\\[))",
|
48
|
+
"name": "support.function.any-method.squirrel"
|
49
|
+
},
|
50
|
+
{
|
51
|
+
"match": "(?<=[^.]\\.)\\b([_A-Za-z][_A-Za-z0-9]\\w*)",
|
52
|
+
"name": "variable.other.squirrel"
|
53
|
+
},
|
54
|
+
{
|
55
|
+
"include": "#attributes"
|
56
|
+
},
|
57
|
+
{
|
58
|
+
"include": "#block"
|
59
|
+
},
|
60
|
+
{
|
61
|
+
"include": "#strings"
|
62
|
+
}
|
63
|
+
],
|
64
|
+
"repository": {
|
65
|
+
"attributes": {
|
66
|
+
"begin": "</",
|
67
|
+
"end": "/>",
|
68
|
+
"name": "meta.attributes.squirrel",
|
69
|
+
"patterns": [
|
70
|
+
{
|
71
|
+
"include": "$base"
|
72
|
+
}
|
73
|
+
]
|
74
|
+
},
|
75
|
+
"block": {
|
76
|
+
"patterns": [
|
77
|
+
{
|
78
|
+
"begin": "\\{",
|
79
|
+
"beginCaptures": {
|
80
|
+
"0": {
|
81
|
+
"name": "punctuation.section.block.begin.bracket.curly.squirrel"
|
82
|
+
}
|
83
|
+
},
|
84
|
+
"end": "\\}",
|
85
|
+
"endCaptures": {
|
86
|
+
"0": {
|
87
|
+
"name": "punctuation.section.block.end.bracket.curly.squirrel"
|
88
|
+
}
|
89
|
+
},
|
90
|
+
"name": "meta.block.squirrel",
|
91
|
+
"patterns": [
|
92
|
+
{
|
93
|
+
"include": "$base"
|
94
|
+
}
|
95
|
+
]
|
96
|
+
}
|
97
|
+
]
|
98
|
+
},
|
99
|
+
"special-block": {
|
100
|
+
"patterns": [
|
101
|
+
{
|
102
|
+
"begin": "\\b(class)\\b\\s*([_A-Za-z][_A-Za-z0-9]*\\b)?+(\\s*(extends)\\s*([_A-Za-z][_A-Za-z0-9]*\\b))?",
|
103
|
+
"beginCaptures": {
|
104
|
+
"1": {
|
105
|
+
"name": "storage.type.squirrel"
|
106
|
+
},
|
107
|
+
"2": {
|
108
|
+
"name": "entity.name.type.squirrel"
|
109
|
+
},
|
110
|
+
"4": {
|
111
|
+
"name": "storage.type.modifier.squirrel"
|
112
|
+
},
|
113
|
+
"5": {
|
114
|
+
"name": "entity.name.type.inherited.squirrel"
|
115
|
+
}
|
116
|
+
},
|
117
|
+
"end": "(?<=\\})|(?=(=))",
|
118
|
+
"name": "meta.class-block.squirrel",
|
119
|
+
"patterns": [
|
120
|
+
{
|
121
|
+
"include": "#block"
|
122
|
+
}
|
123
|
+
]
|
124
|
+
},
|
125
|
+
{
|
126
|
+
"begin": "\\b(function)\\b\\s*([_A-Za-z][_A-Za-z0-9]*\\b)?+(\\s*(::)\\s*([_A-Za-z][_A-Za-z0-9]*\\b))?",
|
127
|
+
"beginCaptures": {
|
128
|
+
"1": {
|
129
|
+
"name": "storage.type.squirrel"
|
130
|
+
},
|
131
|
+
"2": {
|
132
|
+
"name": "entity.name.type.squirrel"
|
133
|
+
},
|
134
|
+
"4": {
|
135
|
+
"name": "punctuation.separator.global.access.squirrel"
|
136
|
+
},
|
137
|
+
"5": {
|
138
|
+
"name": "entity.name.function.squirrel"
|
139
|
+
}
|
140
|
+
},
|
141
|
+
"end": "(?<=\\})|(?=(=))",
|
142
|
+
"name": "meta.function-block.squirrel",
|
143
|
+
"patterns": [
|
144
|
+
{
|
145
|
+
"include": "#block"
|
146
|
+
}
|
147
|
+
]
|
148
|
+
},
|
149
|
+
{
|
150
|
+
"begin": "\\b([_A-Za-z][_A-Za-z0-9]*\\b)?+(\\s*(<-))",
|
151
|
+
"beginCaptures": {
|
152
|
+
"1": {
|
153
|
+
"name": "entity.name.type.squirrel"
|
154
|
+
},
|
155
|
+
"3": {
|
156
|
+
"name": "punctuation.separator.namespace.access.squirrel"
|
157
|
+
}
|
158
|
+
},
|
159
|
+
"end": "(?<=\\})|(?=(;|,|\\(|\\)|>|\\[|\\]|=))",
|
160
|
+
"name": "meta.namespace-block.squirrel",
|
161
|
+
"patterns": [
|
162
|
+
{
|
163
|
+
"include": "#block"
|
164
|
+
}
|
165
|
+
]
|
166
|
+
}
|
167
|
+
]
|
168
|
+
},
|
169
|
+
"comments": {
|
170
|
+
"patterns": [
|
171
|
+
{
|
172
|
+
"captures": {
|
173
|
+
"1": {
|
174
|
+
"name": "meta.toc-list.banner.block.squirrel"
|
175
|
+
}
|
176
|
+
},
|
177
|
+
"match": "^/\\* =(\\s*.*?)\\s*= \\*/$\\n?",
|
178
|
+
"name": "comment.block.squirrel"
|
179
|
+
},
|
180
|
+
{
|
181
|
+
"begin": "/\\*",
|
182
|
+
"beginCaptures": {
|
183
|
+
"0": {
|
184
|
+
"name": "punctuation.definition.comment.begin.squirrel"
|
185
|
+
}
|
186
|
+
},
|
187
|
+
"end": "\\*/",
|
188
|
+
"endCaptures": {
|
189
|
+
"0": {
|
190
|
+
"name": "punctuation.definition.comment.end.squirrel"
|
191
|
+
}
|
192
|
+
},
|
193
|
+
"name": "comment.block.squirrel"
|
194
|
+
},
|
195
|
+
{
|
196
|
+
"begin": "(^[ \\t]+)?(?=//)",
|
197
|
+
"beginCaptures": {
|
198
|
+
"1": {
|
199
|
+
"name": "punctuation.whitespace.comment.leading.squirrel"
|
200
|
+
}
|
201
|
+
},
|
202
|
+
"end": "(?!\\G)",
|
203
|
+
"patterns": [
|
204
|
+
{
|
205
|
+
"begin": "//",
|
206
|
+
"beginCaptures": {
|
207
|
+
"0": {
|
208
|
+
"name": "punctuation.definition.comment.squirrel"
|
209
|
+
}
|
210
|
+
},
|
211
|
+
"end": "(?=\\n)",
|
212
|
+
"name": "comment.line.double-slash.squirrel"
|
213
|
+
}
|
214
|
+
]
|
215
|
+
},
|
216
|
+
{
|
217
|
+
"begin": "(^[ \\t]+)?(?=#)",
|
218
|
+
"beginCaptures": {
|
219
|
+
"1": {
|
220
|
+
"name": "punctuation.whitespace.comment.leading.squirrel"
|
221
|
+
}
|
222
|
+
},
|
223
|
+
"end": "(?!\\G)",
|
224
|
+
"patterns": [
|
225
|
+
{
|
226
|
+
"begin": "#",
|
227
|
+
"beginCaptures": {
|
228
|
+
"0": {
|
229
|
+
"name": "punctuation.definition.comment.squirrel"
|
230
|
+
}
|
231
|
+
},
|
232
|
+
"end": "(?=\\n)",
|
233
|
+
"name": "comment.line.hash.squirrel"
|
234
|
+
}
|
235
|
+
]
|
236
|
+
}
|
237
|
+
]
|
238
|
+
},
|
239
|
+
"strings": {
|
240
|
+
"patterns": [
|
241
|
+
{
|
242
|
+
"begin": "@?\"",
|
243
|
+
"beginCaptures": {
|
244
|
+
"0": {
|
245
|
+
"name": "punctuation.definition.string.begin.squirrel"
|
246
|
+
}
|
247
|
+
},
|
248
|
+
"end": "\"",
|
249
|
+
"endCaptures": {
|
250
|
+
"0": {
|
251
|
+
"name": "punctuation.definition.string.end.squirrel"
|
252
|
+
}
|
253
|
+
},
|
254
|
+
"name": "string.quoted.double.squirrel",
|
255
|
+
"patterns": [
|
256
|
+
{
|
257
|
+
"match": "\\\\.",
|
258
|
+
"name": "constant.character.escape.squirrel"
|
259
|
+
}
|
260
|
+
]
|
261
|
+
}
|
262
|
+
]
|
263
|
+
}
|
264
|
+
},
|
265
|
+
"scopeName": "source.nut"
|
266
|
+
}
|