github-linguist 4.8.17 → 4.8.18
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/grammars/source.abnf.json +0 -11
- data/grammars/source.c.json +4 -0
- data/grammars/source.fontforge.json +359 -0
- data/grammars/source.gn.json +248 -0
- data/grammars/source.js.json +7 -7
- data/grammars/source.ninja.json +218 -30
- data/grammars/source.opentype.json +452 -0
- data/grammars/source.perl.json +1 -1
- data/grammars/source.rascal.json +287 -0
- data/grammars/source.swift.json +6 -6
- data/grammars/source.viml.json +1 -1
- data/grammars/text.haml.json +305 -118
- data/grammars/text.hamlc.json +225 -0
- data/grammars/text.sfd.json +212 -0
- data/lib/linguist/blob.rb +1 -1
- data/lib/linguist/generated.rb +2 -4
- data/lib/linguist/heuristics.rb +6 -0
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +56 -6
- data/lib/linguist/samples.json +2232 -153
- data/lib/linguist/vendor.yml +3 -0
- data/lib/linguist/version.rb +1 -1
- metadata +9 -4
- data/grammars/source.xquery.json +0 -211
data/grammars/source.perl.json
CHANGED
@@ -0,0 +1,287 @@
|
|
1
|
+
{
|
2
|
+
"fileTypes": [
|
3
|
+
"rsc"
|
4
|
+
],
|
5
|
+
"name": "Rascal",
|
6
|
+
"patterns": [
|
7
|
+
{
|
8
|
+
"include": "#top_level"
|
9
|
+
}
|
10
|
+
],
|
11
|
+
"repository": {
|
12
|
+
"annotation": {
|
13
|
+
"patterns": [
|
14
|
+
{
|
15
|
+
"begin": "(@[^ {]+)({)",
|
16
|
+
"beginCaptures": {
|
17
|
+
"1": {
|
18
|
+
"name": "storage.type.annotation.block.rascal"
|
19
|
+
},
|
20
|
+
"2": {
|
21
|
+
"name": "punctuation.annotation-argument.begin.rascal"
|
22
|
+
}
|
23
|
+
},
|
24
|
+
"end": "(})",
|
25
|
+
"endCaptures": {
|
26
|
+
"1": {
|
27
|
+
"name": "punctuation.annotation-argument.end.rascal"
|
28
|
+
}
|
29
|
+
},
|
30
|
+
"name": "meta.annotation.block.rascal"
|
31
|
+
},
|
32
|
+
{
|
33
|
+
"captures": {
|
34
|
+
"1": {
|
35
|
+
"name": "storage.type.annotation.inline.rascal"
|
36
|
+
}
|
37
|
+
},
|
38
|
+
"match": "(@[A-Za-z_0-9]+)",
|
39
|
+
"name": "meta.annotation.inline.rascal"
|
40
|
+
}
|
41
|
+
]
|
42
|
+
},
|
43
|
+
"char_set": {
|
44
|
+
"patterns": [
|
45
|
+
{
|
46
|
+
"begin": "\\[",
|
47
|
+
"end": "\\]",
|
48
|
+
"name": "punctuation.other.lexicalcharset.rascal",
|
49
|
+
"patterns": [
|
50
|
+
{
|
51
|
+
"include": "#string_escape"
|
52
|
+
}
|
53
|
+
]
|
54
|
+
}
|
55
|
+
]
|
56
|
+
},
|
57
|
+
"comment": {
|
58
|
+
"patterns": [
|
59
|
+
{
|
60
|
+
"match": "//.*$\\n?",
|
61
|
+
"name": "comment.line.double-slash.rascal"
|
62
|
+
},
|
63
|
+
{
|
64
|
+
"begin": "/\\*",
|
65
|
+
"end": "\\*/",
|
66
|
+
"name": "comment.block.rascal"
|
67
|
+
}
|
68
|
+
]
|
69
|
+
},
|
70
|
+
"regex": {
|
71
|
+
"patterns": [
|
72
|
+
{
|
73
|
+
"begin": "/(?!/|*)",
|
74
|
+
"end": "/([dims]*)",
|
75
|
+
"endCaptures": {
|
76
|
+
"1": {
|
77
|
+
"name": "storage.modifier.regex.rascal"
|
78
|
+
}
|
79
|
+
},
|
80
|
+
"name": "string.regexp.rascal",
|
81
|
+
"patterns": [
|
82
|
+
{
|
83
|
+
"include": "#regex_escape"
|
84
|
+
},
|
85
|
+
{
|
86
|
+
"include": "#string_interpolation"
|
87
|
+
}
|
88
|
+
]
|
89
|
+
}
|
90
|
+
]
|
91
|
+
},
|
92
|
+
"regex_escape": {
|
93
|
+
"patterns": [
|
94
|
+
{
|
95
|
+
"match": "\\\\(/|<|>|\\\\)",
|
96
|
+
"name": "constant.character.escape.regex.rascal"
|
97
|
+
}
|
98
|
+
]
|
99
|
+
},
|
100
|
+
"string": {
|
101
|
+
"patterns": [
|
102
|
+
{
|
103
|
+
"begin": "'",
|
104
|
+
"end": "'",
|
105
|
+
"name": "string.quoted.single.rascal",
|
106
|
+
"patterns": [
|
107
|
+
{
|
108
|
+
"include": "#string_escape"
|
109
|
+
}
|
110
|
+
]
|
111
|
+
},
|
112
|
+
{
|
113
|
+
"begin": "\"",
|
114
|
+
"end": "\"",
|
115
|
+
"name": "string.quoted.double.rascal",
|
116
|
+
"patterns": [
|
117
|
+
{
|
118
|
+
"include": "#string_escape"
|
119
|
+
},
|
120
|
+
{
|
121
|
+
"include": "#string_interpolation"
|
122
|
+
}
|
123
|
+
]
|
124
|
+
},
|
125
|
+
{
|
126
|
+
"begin": "`",
|
127
|
+
"end": "`",
|
128
|
+
"name": "string.interpolated.rascal",
|
129
|
+
"patterns": [
|
130
|
+
{
|
131
|
+
"include": "#string_interpolation"
|
132
|
+
},
|
133
|
+
{
|
134
|
+
"include": "#syntax_escape"
|
135
|
+
}
|
136
|
+
]
|
137
|
+
}
|
138
|
+
]
|
139
|
+
},
|
140
|
+
"string_escape": {
|
141
|
+
"patterns": [
|
142
|
+
{
|
143
|
+
"match": "\\\\(\\\"|\\'|<|>|\\\\|[bnfrt])",
|
144
|
+
"name": "constant.character.escape.ordinary.rascal"
|
145
|
+
},
|
146
|
+
{
|
147
|
+
"match": "\\\\(u[0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f] |U(0[0-9 A-F a-f]|10)[0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f] |a[0-7][0-9A-Fa-f] )",
|
148
|
+
"name": "constant.character.escape.unicode.rascal"
|
149
|
+
}
|
150
|
+
]
|
151
|
+
},
|
152
|
+
"string_interpolation": {
|
153
|
+
"patterns": [
|
154
|
+
{
|
155
|
+
"begin": "(<)",
|
156
|
+
"beginCaptures": {
|
157
|
+
"1": {
|
158
|
+
"name": "punctuation.interpolation.begin.rascal"
|
159
|
+
}
|
160
|
+
},
|
161
|
+
"end": "(>)",
|
162
|
+
"endCaptures": {
|
163
|
+
"2": {
|
164
|
+
"name": "punctuation.interpolation.end.rascal"
|
165
|
+
}
|
166
|
+
},
|
167
|
+
"name": "support.interpolated-string.rascal",
|
168
|
+
"patterns": [
|
169
|
+
{
|
170
|
+
"include": "#top_level"
|
171
|
+
}
|
172
|
+
]
|
173
|
+
}
|
174
|
+
]
|
175
|
+
},
|
176
|
+
"syntax_escape": {
|
177
|
+
"patterns": [
|
178
|
+
{
|
179
|
+
"match": "\\\\(\\\\|<|>|`)",
|
180
|
+
"name": "constant.character.escape.syntax.rascal"
|
181
|
+
}
|
182
|
+
]
|
183
|
+
},
|
184
|
+
"top_level": {
|
185
|
+
"patterns": [
|
186
|
+
{
|
187
|
+
"begin": "(lexical|syntax)\\s+([a-zA-Z][A-Za-z_0-9]*)",
|
188
|
+
"captures": {
|
189
|
+
"1": {
|
190
|
+
"name": "keyword.control.rascal"
|
191
|
+
},
|
192
|
+
"2": {
|
193
|
+
"name": "entity.name.type.rascal"
|
194
|
+
}
|
195
|
+
},
|
196
|
+
"end": ";",
|
197
|
+
"name": "punctuation.other.syntactic.rascal",
|
198
|
+
"patterns": [
|
199
|
+
{
|
200
|
+
"include": "#char_set"
|
201
|
+
},
|
202
|
+
{
|
203
|
+
"include": "#string"
|
204
|
+
},
|
205
|
+
{
|
206
|
+
"include": "#comment"
|
207
|
+
},
|
208
|
+
{
|
209
|
+
"include": "#regex"
|
210
|
+
},
|
211
|
+
{
|
212
|
+
"include": "#annotation"
|
213
|
+
}
|
214
|
+
]
|
215
|
+
},
|
216
|
+
{
|
217
|
+
"match": "(?<![A-Za-z_])(0(?![0-9a-z_A-Z])|[1-9][0-9]*(?![0-9a-z_A-Z]))",
|
218
|
+
"name": "constant.numeric.decimal.rascal"
|
219
|
+
},
|
220
|
+
{
|
221
|
+
"match": "(?<![A-Za-z_])0[Xx][0-9A-Fa-f]+(?![0-9a-z_A-Z])",
|
222
|
+
"name": "constant.numeric.hex.rascal"
|
223
|
+
},
|
224
|
+
{
|
225
|
+
"match": "(?<![A-Za-z_])0[0-7]+(?![0-9a-z_A-Z])",
|
226
|
+
"name": "constant.numeric.octal.rascal"
|
227
|
+
},
|
228
|
+
{
|
229
|
+
"begin": "\\\\$",
|
230
|
+
"end": "\\\\$",
|
231
|
+
"name": "string.other.datetime.rascal"
|
232
|
+
},
|
233
|
+
{
|
234
|
+
"match": "(?<![A-Za-z_]) ([0-9]+[dDfF] |[0-9]+[eE][+\\-]?[0-9]+[dDfF]? |[0-9]+\\.(?!\\.)[0-9]*[dDfF]? |[0-9]+\\.[0-9]*[eE][+\\-]?[0-9]+[dDfF]? |\\.(?!\\.)[0-9]+[dDfF]? |\\.(?!\\.)[0-9]+[eE][+\\-]?[0-9]+[dDfF]? )",
|
235
|
+
"name": "constant.numeric.real.rascal"
|
236
|
+
},
|
237
|
+
{
|
238
|
+
"match": "\\b(true|false)\\b",
|
239
|
+
"name": "constant.language.bool.rascal"
|
240
|
+
},
|
241
|
+
{
|
242
|
+
"match": "(?<![A-Za-z_])([0-9][0-9]*r|[1-9][0-9]*r[0-9][0-9]*(?![0-9a-z_A-Z]))",
|
243
|
+
"name": "constant.numeric.rational.rascal"
|
244
|
+
},
|
245
|
+
{
|
246
|
+
"match": "\\b(syntax|keyword|lexical|break|continue|finally|private|fail|filter|if|tag|extend|append|non-assoc|assoc|test|anno|layout|data|join|it|bracket|in|import|all|solve|try|catch|notin|else|insert|switch|return|case|while|throws|visit|for|assert|default|map|alias|any|module|mod|public|one|throw|start)\\b",
|
247
|
+
"name": "keyword.control.rascal"
|
248
|
+
},
|
249
|
+
{
|
250
|
+
"match": "\\b(value|loc|node|num|type|bag|int|rat|rel|lrel|real|tuple|str|bool|void|datetime|set|map|list)\\b",
|
251
|
+
"name": "support.type.basic.rascal"
|
252
|
+
},
|
253
|
+
{
|
254
|
+
"include": "#string"
|
255
|
+
},
|
256
|
+
{
|
257
|
+
"include": "#regex"
|
258
|
+
},
|
259
|
+
{
|
260
|
+
"include": "#annotation"
|
261
|
+
},
|
262
|
+
{
|
263
|
+
"include": "#comment"
|
264
|
+
},
|
265
|
+
{
|
266
|
+
"match": "\\b[a-zA-Z][A-Za-z_0-9]*\\b",
|
267
|
+
"name": "variable.other.ordinary.rascal"
|
268
|
+
},
|
269
|
+
{
|
270
|
+
"match": "\\\\(syntax|keyword|lexical|break|continue|finally|private|fail|filter|if|tag|extend|append|non-assoc|assoc|test|anno|layout|data|join|it|bracket|in|import|all|solve|try|catch|notin|else|insert|switch|return|case|while|throws|visit|for|assert|default|map|alias|any|module|mod|public|one|throw|start|value|loc|node|num|type|bag|int|rat|rel|lrel|real|tuple|str|bool|void|datetime|set|map|list)",
|
271
|
+
"name": "variable.other.escaped-keyword.rascal"
|
272
|
+
},
|
273
|
+
{
|
274
|
+
"captures": {
|
275
|
+
"1": {
|
276
|
+
"name": "markup.underline.link.rascal"
|
277
|
+
}
|
278
|
+
},
|
279
|
+
"match": "\\|([0-9a-z_A-Z.-_~:/?#\\[\\]@!$&'()*+,;=`])+\\|",
|
280
|
+
"name": "string.other.url.rascal"
|
281
|
+
}
|
282
|
+
]
|
283
|
+
}
|
284
|
+
},
|
285
|
+
"scopeName": "source.rascal",
|
286
|
+
"uuid": "6d5574d4-85af-4e00-9f3c-9b5fa60f53b8"
|
287
|
+
}
|
data/grammars/source.swift.json
CHANGED
@@ -2530,17 +2530,17 @@
|
|
2530
2530
|
},
|
2531
2531
|
{
|
2532
2532
|
"comment": "-0x1.ap2_3, 0x31p-4",
|
2533
|
-
"match": "(\\B\\-|\\b)(?<![\\[\\](){}\\p{L}_\\p{N}\\p{M}]\\.)(0x[
|
2533
|
+
"match": "(\\B\\-|\\b)(?<![\\[\\](){}\\p{L}_\\p{N}\\p{M}]\\.)(0x\\h[\\h_]*)(?:\\.\\h[\\h_]*)?[pP][-+]?[0-9][0-9_]*\\b(?!\\.[0-9])",
|
2534
2534
|
"name": "constant.numeric.float.hexadecimal.swift"
|
2535
2535
|
},
|
2536
2536
|
{
|
2537
2537
|
"comment": "0x1p, 0x1p_2, 0x1.5pa, 0x1.1p+1f, 0x1pz",
|
2538
|
-
"match": "(\\B\\-|\\b)(?<![\\[\\](){}\\p{L}_\\p{N}\\p{M}]\\.)(0x[
|
2538
|
+
"match": "(\\B\\-|\\b)(?<![\\[\\](){}\\p{L}_\\p{N}\\p{M}]\\.)(0x\\h[\\h_]*)(?:\\.\\h[\\h_]*)?(?:[pP][-+]?\\w*)\\b(?!\\.[0-9])",
|
2539
2539
|
"name": "invalid.illegal.numeric.float.invalid-exponent.swift"
|
2540
2540
|
},
|
2541
2541
|
{
|
2542
2542
|
"comment": "0x1.5w (note that 0x1.f may be a valid expression)",
|
2543
|
-
"match": "(\\B\\-|\\b)(?<![\\[\\](){}\\p{L}_\\p{N}\\p{M}]\\.)(0x[
|
2543
|
+
"match": "(\\B\\-|\\b)(?<![\\[\\](){}\\p{L}_\\p{N}\\p{M}]\\.)(0x\\h[\\h_]*)\\.[0-9][\\w.]*",
|
2544
2544
|
"name": "invalid.illegal.numeric.float.missing-exponent.swift"
|
2545
2545
|
},
|
2546
2546
|
{
|
@@ -2550,7 +2550,7 @@
|
|
2550
2550
|
},
|
2551
2551
|
{
|
2552
2552
|
"comment": "0b_0_1, 0x_1p+3q",
|
2553
|
-
"match": "(\\B\\-|\\b)0[box]_[
|
2553
|
+
"match": "(\\B\\-|\\b)0[box]_[\\h_]*(?:[pPeE][+-]?\\w+)?[\\w.]+",
|
2554
2554
|
"name": "invalid.illegal.numeric.leading-underscore.swift"
|
2555
2555
|
},
|
2556
2556
|
{
|
@@ -2574,7 +2574,7 @@
|
|
2574
2574
|
},
|
2575
2575
|
{
|
2576
2576
|
"comment": "0x4, 0xF_7",
|
2577
|
-
"match": "(\\B\\-|\\b)(?<![\\[\\](){}\\p{L}_\\p{N}\\p{M}]\\.)0x[
|
2577
|
+
"match": "(\\B\\-|\\b)(?<![\\[\\](){}\\p{L}_\\p{N}\\p{M}]\\.)0x\\h[\\h_]*\\b(?!\\.[0-9])",
|
2578
2578
|
"name": "constant.numeric.integer.hexadecimal.swift"
|
2579
2579
|
},
|
2580
2580
|
{
|
@@ -2609,7 +2609,7 @@
|
|
2609
2609
|
"name": "constant.character.escape.swift"
|
2610
2610
|
},
|
2611
2611
|
{
|
2612
|
-
"match": "\\\\u\\{
|
2612
|
+
"match": "\\\\u\\{\\h{1,8}\\}",
|
2613
2613
|
"name": "constant.character.escape.unicode.swift"
|
2614
2614
|
},
|
2615
2615
|
{
|
data/grammars/source.viml.json
CHANGED
@@ -1031,7 +1031,7 @@
|
|
1031
1031
|
},
|
1032
1032
|
"vimCommand": {
|
1033
1033
|
"name": "support.function.command.viml",
|
1034
|
-
"match": "\\b(a|abc|abclear|abo|aboveleft|all?|ar|args|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|argu|argument|as|ascii|au|b|buffer|ba|ball|badd?|bd|bdelete|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bN|bNext|bo|botright|bp|bprevious|br|brewind|break?|breaka|breakadd|breakd|breakdel|breakl|breaklist|bro|browse|bufdo|buffers|bun|bunload|bw|bwipeout|c|change|cabc|cabclear|cad|caddbuffer|cadde|caddexpr|caddf|caddfile|call?|cat|catch|cb|cbuffer|cbo|cbottom|cc|ccl|cclose|cd|cdo|ce|center|cex|cexpr|cf|cfile|cfdo|cfir|cfirst|cg|cgetfile|cgetb|cgetbuffer|cgete|cgetexpr|changes|chd|chdir|che|checkpath|checkt|checktime|chi|chistory|cl|clist|cla|clast|cle|clearjumps|clo|close|cmapc|cmapclear|cn|cnext|cN|cNext|cnew|cnewer|cnf|cnfile|cNf|cNfile|co|copy|col|colder|colo|colorscheme|com|comc|comclear|comp|compiler|con|continue|conf|confirm|copen?|cp|cprevious|cpf|cpfile|cq|cquit|cr|crewind|cs|cscope|cstag|cuna|cunabbrev|cw|cwindow|d|delete|debug|debugg|debuggreedy|delc|delcommand|delel|delep|deletel|deletep|deletl|deletp|delf|delfunction|dell|delm|delmarks|delp|dep|di|display|dif|diffupdate|diffg|diffget|diffo|diffoff|diffp|diffpatch|diffput?|diffs|diffsplit|difft|diffthis|dig|digraphs|dir|dj|djump|dl|dli|dlist|do|doau|dp|dr|drop|ds|dsearch|dsp|dsplit|e|edit|ea|earlier|echoe|echoerr|echom|echomsg|echon|el|else|elseif?|em|emenu|en|endif|endf|endfunction|endfor?|endt|endtry|endw|endwhile|enew?|ex|exit?|exu|exusage|f|file|files|filet|filetype|filt|filter|find?|fina|finally|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|foldd|folddoopen|folddoc|folddoclosed|foldo|foldopen|for|fu|function|g|go|goto|gr|grep|grepa|grepadd|gui|gvim|h|help|ha|hardcopy|helpc|helpclose|helpf|helpfind|helpg|helpgrep|helpt|helptags|hi|hide?|his|history|i|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|intro|is|isearch|isp|isplit|iuna|iunabbrev|j|join|ju|jumps|k|kee|keepmarks|keepa|keepalt|keepj|keepjumps|keepp|keeppatterns|l|list|la|last|lad|laddexpr|laddb|laddbuffer|laddf|laddfile|lan|language|lat|later|lb|lbuffer|lbo|lbottom|lcd?|lch|lchdir|lcl|lclose|lcs|lcscope|ldo?|le|left|lefta|leftabove|lex|lexpr|lf|lfile|lfdo|lfir|lfirst|lg|lgetfile|lgetb|lgetbuffer|lgete|lgetexpr|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|lhi|lhistory|ll|lla|llast|lli|llist|lmake?|lmapc|lmapclear|lN|lNext|lne|lnext|lnew|lnewer|lnf|lnfile|lNf|lNfile|lo|loadview|loadk|loadkeymap|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lp|lprevious|lpf|lpfile|lr|lrewind|ls|lt|ltag|lua|luado|luafile|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|m|move|ma|mark|make?|marks|mat|match|menut|menutranslate|mes|messages|mk|mkexrc|mks|mksession|mksp|mkspell|mkv|mkvimrc|mkview?|mode?|mz|mzscheme|mzf|mzfile|n|next|nb|nbkey|nbc|nbclose|nbs|nbstart|new|nmapc|nmapclear|noa|noautocmd|noh|nohlsearch|nor|nore|nos|noswapfile|nu|number|o|open|ol|oldfiles|omapc|omapclear|on|only|opt|options|ownsyntax|p|print|pa|packadd|packl|packloadall|pc|pclose|pe|perl|ped|pedit|perldo?|pop?|popup?|pp|ppop|pre|preserve|prev|previous|pro|prof|profile|profd|profdel|promptf|promptfind|promptr|promptrepl|ps|psearch|ptag?|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptN|ptNext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|put?|pwd?|py|python|py3|py3do|pydo|pyf|pyfile|python3|q|quit|qa|qall|quita|quitall|r|read|rec|recover|redo?|redir?|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|ru|runtime|ruby?|rubydo?|rubyf|rubyfile|rundo|rv|rviminfo|sa|sargument|sall?|san|sandbox|sav|saveas|sb|sbuffer|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbN|sbNext|sbp|sbprevious|sbr|sbrewind|sc|sce|scg|sci|scI|scl|scp|scr|scriptnames|scripte|scriptencoding|scs|scscope|set?|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sg|sgc|sge|sgi|sgI|sgl|sgn|sgp|sgr|sh|shell|si|sI|sic|sIc|sie|sIe|sig|sIg|sign|sIl|sil|silent|sim|simalt|sin|sIn|sip|sIp|sir|sIr|sl|sleep|sla|slast|sm|smagic|sm|smap|sme|smenu|smile|sn|snext|sN|sNext|sno|snomagic|snoreme|snoremenu|so|source|sort?|sp|split|spe|spellgood|spelld|spelldump|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|spr|sprevious|sr|src|sre|srewind|srg|sri|srI|srl|srn|srp|st|stop|stag?|star|startinsert|startg|startgreplace|startr|startreplace|stj|stjump|stopi|stopinsert|sts|stselect|sun|sunhide|sunme|sunmenu|sus|suspend|sv|sview|sw|swapname|sy|syn|sync|syncbind|syntime|t|tag?|tab|tabc|tabclose|tabdo?|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabn|tabnext|tabN|tabNext|tabnew|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|tags|tcl?|tcldo?|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tmenu|tn|tnext|tN|tNext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tunmenu|u|undo|una|unabbreviate|undoj|undojoin|undol|undolist|unh|unhide|unlo|unlockvar|uns|unsilent|up|update|v|ve|version|verb|verbose|vert|vertical|vi|visual|view?|vim|vimgrep|vimgrepa|vimgrepadd|viu|viusage|vmapc|vmapclear|vnew?|vs|vsplit|w|write|wa|wall|wh|while|win|winsize|winc|wincmd|windo|winp|winpos|wn|wnext|wN|wNext|wp|wprevious|wq|wqa|wqall|ws|wsverb|wundo|wv|wviminfo|x|xit|xa|xall|xmapc|xmapclear|xme|xmenu|xnoreme|xnoremenu|xprop|xunme|xunmenu|xwininfo|y|yank)\\b"
|
1034
|
+
"match": "\\b(a|ab|abc|abclear|abo|aboveleft|all?|ar|args|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|argu|argument|as|ascii|au|b|buffer|ba|ball|badd?|bd|bdelete|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bN|bNext|bo|botright|bp|bprevious|br|brewind|break?|breaka|breakadd|breakd|breakdel|breakl|breaklist|bro|browse|bufdo|buffers|bun|bunload|bw|bwipeout|c|change|cabc|cabclear|cad|caddbuffer|cadde|caddexpr|caddf|caddfile|call?|cat|catch|cb|cbuffer|cbo|cbottom|cc|ccl|cclose|cd|cdo|ce|center|cex|cexpr|cf|cfile|cfdo|cfir|cfirst|cg|cgetfile|cgetb|cgetbuffer|cgete|cgetexpr|changes|chd|chdir|che|checkpath|checkt|checktime|chi|chistory|cl|clist|cla|clast|cle|clearjumps|clo|close|cmapc|cmapclear|cn|cnext|cN|cNext|cnew|cnewer|cnf|cnfile|cNf|cNfile|co|copy|col|colder|colo|colorscheme|com|comc|comclear|comp|compiler|con|continue|conf|confirm|copen?|cp|cprevious|cpf|cpfile|cq|cquit|cr|crewind|cs|cscope|cstag|cuna|cunabbrev|cw|cwindow|d|delete|debug|debugg|debuggreedy|delc|delcommand|delel|delep|deletel|deletep|deletl|deletp|delf|delfunction|dell|delm|delmarks|delp|dep|di|display|dif|diffupdate|diffg|diffget|diffo|diffoff|diffp|diffpatch|diffput?|diffs|diffsplit|difft|diffthis|dig|digraphs|dir|dj|djump|dl|dli|dlist|do|doau|dp|dr|drop|ds|dsearch|dsp|dsplit|e|edit|ea|earlier|ec|echoe|echoerr|echom|echomsg|echon|el|else|elseif?|em|emenu|en|endif|endf|endfunction|endfor?|endt|endtry|endw|endwhile|enew?|ex|exit?|exu|exusage|f|file|files|filet|filetype|filt|filter|find?|fina|finally|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|foldd|folddoopen|folddoc|folddoclosed|foldo|foldopen|for|fu|function|g|go|goto|gr|grep|grepa|grepadd|gui|gvim|h|help|ha|hardcopy|helpc|helpclose|helpf|helpfind|helpg|helpgrep|helpt|helptags|hi|hide?|his|history|i|ia|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|intro|is|isearch|isp|isplit|iuna|iunabbrev|j|join|ju|jumps|k|kee|keepmarks|keepa|keepalt|keepj|keepjumps|keepp|keeppatterns|l|list|la|last|lad|laddexpr|laddb|laddbuffer|laddf|laddfile|lan|language|lat|later|lb|lbuffer|lbo|lbottom|lcd?|lch|lchdir|lcl|lclose|lcs|lcscope|ldo?|le|left|lefta|leftabove|lex|lexpr|lf|lfile|lfdo|lfir|lfirst|lg|lgetfile|lgetb|lgetbuffer|lgete|lgetexpr|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|lhi|lhistory|ll|lla|llast|lli|llist|lmake?|lmapc|lmapclear|lN|lNext|lne|lnext|lnew|lnewer|lnf|lnfile|lNf|lNfile|lo|loadview|loadk|loadkeymap|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lp|lprevious|lpf|lpfile|lr|lrewind|ls|lt|ltag|lua|luado|luafile|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|m|move|ma|mark|make?|marks|mat|match|menut|menutranslate|mes|messages|mk|mkexrc|mks|mksession|mksp|mkspell|mkv|mkvimrc|mkview?|mode?|mz|mzscheme|mzf|mzfile|n|next|nb|nbkey|nbc|nbclose|nbs|nbstart|new|nmapc|nmapclear|noa|noautocmd|noh|nohlsearch|nor|nore|nos|noswapfile|nu|number|o|open|ol|oldfiles|omapc|omapclear|on|only|opt|options|ownsyntax|p|print|pa|packadd|packl|packloadall|pc|pclose|pe|perl|ped|pedit|perldo?|pop?|popup?|pp|ppop|pre|preserve|prev|previous|pro|prof|profile|profd|profdel|promptf|promptfind|promptr|promptrepl|ps|psearch|ptag?|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptN|ptNext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|put?|pwd?|py|python|py3|py3do|pydo|pyf|pyfile|python3|q|quit|qa|qall|quita|quitall|r|read|rec|recover|redo?|redir?|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|ru|runtime|ruby?|rubydo?|rubyf|rubyfile|rundo|rv|rviminfo|sa|sargument|sall?|san|sandbox|sav|saveas|sb|sbuffer|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbN|sbNext|sbp|sbprevious|sbr|sbrewind|sc|sce|scg|sci|scI|scl|scp|scr|scriptnames|scripte|scriptencoding|scs|scscope|set?|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sg|sgc|sge|sgi|sgI|sgl|sgn|sgp|sgr|sh|shell|si|sI|sic|sIc|sie|sIe|sig|sIg|sign|sIl|sil|silent|sim|simalt|sin|sIn|sip|sIp|sir|sIr|sl|sleep|sla|slast|sm|smagic|sm|smap|sme|smenu|smile|sn|snext|sN|sNext|sno|snomagic|snoreme|snoremenu|so|source|sort?|sp|split|spe|spellgood|spelld|spelldump|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|spr|sprevious|sr|src|sre|srewind|srg|sri|srI|srl|srn|srp|st|stop|stag?|star|startinsert|startg|startgreplace|startr|startreplace|stj|stjump|stopi|stopinsert|sts|stselect|sun|sunhide|sunme|sunmenu|sus|suspend|sv|sview|sw|swapname|sy|syn|sync|syncbind|syntime|t|tag?|tab|tabc|tabclose|tabdo?|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabn|tabnext|tabN|tabNext|tabnew|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|tags|tcl?|tcldo?|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tmenu|tn|tnext|tN|tNext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tunmenu|u|undo|una|unabbreviate|undoj|undojoin|undol|undolist|unh|unhide|unl|unlo|unlockvar|uns|unsilent|up|update|v|ve|version|verb|verbose|vert|vertical|vi|visual|view?|vim|vimgrep|vimgrepa|vimgrepadd|viu|viusage|vmapc|vmapclear|vnew?|vs|vsplit|w|write|wa|wall|wh|while|win|winsize|winc|wincmd|windo|winp|winpos|wn|wnext|wN|wNext|wp|wprevious|wq|wqa|wqall|ws|wsverb|wundo|wv|wviminfo|x|xit|xa|xall|xmapc|xmapclear|xme|xmenu|xnoreme|xnoremenu|xprop|xunme|xunmenu|xwininfo|y|yank)\\b"
|
1035
1035
|
},
|
1036
1036
|
"vimErrSetting": {
|
1037
1037
|
"name": "invalid.deprecated.legacy-setting.viml",
|
data/grammars/text.haml.json
CHANGED
@@ -1,15 +1,19 @@
|
|
1
1
|
{
|
2
2
|
"fileTypes": [
|
3
|
-
"haml"
|
4
|
-
"sass"
|
3
|
+
"haml"
|
5
4
|
],
|
6
|
-
"
|
5
|
+
"foldingStartMarker": "^\\s*([-%#\\:\\.\\w\\=].*)\\s$",
|
6
|
+
"foldingStopMarker": "^\\s*$",
|
7
7
|
"name": "Ruby Haml",
|
8
8
|
"patterns": [
|
9
9
|
{
|
10
10
|
"begin": "^\\s*==",
|
11
|
-
"contentName": "string.quoted.double.ruby",
|
12
11
|
"end": "$\\n?",
|
12
|
+
"captures": {
|
13
|
+
"1": {
|
14
|
+
"name": "string.quoted.double.ruby"
|
15
|
+
}
|
16
|
+
},
|
13
17
|
"patterns": [
|
14
18
|
{
|
15
19
|
"include": "#interpolated_ruby"
|
@@ -17,80 +21,49 @@
|
|
17
21
|
]
|
18
22
|
},
|
19
23
|
{
|
24
|
+
"match": "^(!!!)($|\\s.*)",
|
25
|
+
"name": "meta.prolog.haml",
|
20
26
|
"captures": {
|
21
27
|
"1": {
|
22
28
|
"name": "punctuation.definition.prolog.haml"
|
23
29
|
}
|
24
|
-
}
|
25
|
-
"match": "^(!!!)($|\\s.*)",
|
26
|
-
"name": "meta.prolog.haml"
|
30
|
+
}
|
27
31
|
},
|
28
32
|
{
|
33
|
+
"match": "(?<=\\#\\{)([^#]+)(?=\\})",
|
34
|
+
"name": "meta.embedded.ruby",
|
29
35
|
"captures": {
|
30
36
|
"1": {
|
31
|
-
"
|
37
|
+
"patterns": [
|
38
|
+
{
|
39
|
+
"include": "source.ruby.rails"
|
40
|
+
}
|
41
|
+
]
|
32
42
|
}
|
33
|
-
}
|
34
|
-
"match": "^ *(/)\\s*\\S.*$\\n?",
|
35
|
-
"name": "comment.line.slash.haml"
|
43
|
+
}
|
36
44
|
},
|
37
45
|
{
|
38
|
-
"
|
39
|
-
"
|
40
|
-
|
46
|
+
"match": "^(\\s*)(\\/\\[[^\\]].*?$\\n?)",
|
47
|
+
"name": "comment.line.slash.haml",
|
48
|
+
"captures": {
|
49
|
+
"1": {
|
41
50
|
"name": "punctuation.section.comment.haml"
|
42
51
|
}
|
43
|
-
}
|
44
|
-
"end": "^(?!\\1 )",
|
45
|
-
"name": "comment.block.haml",
|
46
|
-
"patterns": [
|
47
|
-
{
|
48
|
-
"include": "text.haml"
|
49
|
-
}
|
50
|
-
]
|
51
|
-
},
|
52
|
-
{
|
53
|
-
"begin": "^(\\s*):coffee(script)?$",
|
54
|
-
"end": "^(?!\\1\\s)",
|
55
|
-
"name": "source.coffee.embedded.filter.haml",
|
56
|
-
"patterns": [
|
57
|
-
{
|
58
|
-
"include": "source.coffee"
|
59
|
-
}
|
60
|
-
]
|
52
|
+
}
|
61
53
|
},
|
62
54
|
{
|
63
|
-
"begin": "^(\\s*)
|
64
|
-
"end": "^(?!\\1\\s)",
|
65
|
-
"name": "
|
66
|
-
"
|
67
|
-
{
|
68
|
-
"
|
69
|
-
}
|
70
|
-
]
|
71
|
-
},
|
72
|
-
{
|
73
|
-
"begin": "^(\\s*):css$",
|
74
|
-
"end": "^(?!\\1\\s)",
|
75
|
-
"name": "source.css.embedded.filter.haml",
|
76
|
-
"patterns": [
|
77
|
-
{
|
78
|
-
"include": "source.css"
|
55
|
+
"begin": "^(\\s*)(\\-\\#|\\/|\\-\\s*\\/\\*+)",
|
56
|
+
"end": "^(?!\\1\\s+|\\n)",
|
57
|
+
"name": "comment.line.slash.haml",
|
58
|
+
"captures": {
|
59
|
+
"2": {
|
60
|
+
"name": "punctuation.section.comment.haml"
|
79
61
|
}
|
80
|
-
|
62
|
+
}
|
81
63
|
},
|
82
64
|
{
|
83
|
-
"begin": "
|
84
|
-
"end": "
|
85
|
-
"name": "source.js.embedded.filter.haml",
|
86
|
-
"patterns": [
|
87
|
-
{
|
88
|
-
"include": "source.js"
|
89
|
-
}
|
90
|
-
]
|
91
|
-
},
|
92
|
-
{
|
93
|
-
"begin": "^\\s*(?:((%)([\\w:]+))|(?=\\.|#))",
|
65
|
+
"begin": "^\\s*(?:((%)([-\\w:]+))|(?=\\.|#))",
|
66
|
+
"end": "$|(?!\\.|#|\\{|\\(|\\[|&|=|-|~|!=|&=|/)",
|
94
67
|
"captures": {
|
95
68
|
"1": {
|
96
69
|
"name": "meta.tag.haml"
|
@@ -102,12 +75,12 @@
|
|
102
75
|
"name": "entity.name.tag.haml"
|
103
76
|
}
|
104
77
|
},
|
105
|
-
"end": "$|(?!\\.|#|\\{|\\[|=|-|~|/)",
|
106
78
|
"patterns": [
|
107
79
|
{
|
108
80
|
"begin": "==",
|
109
|
-
"contentName": "string.quoted.double.ruby",
|
110
81
|
"end": "$\\n?",
|
82
|
+
"name": "string.quoted.double.ruby",
|
83
|
+
"contentName": "string.quoted.double.ruby",
|
111
84
|
"patterns": [
|
112
85
|
{
|
113
86
|
"include": "#interpolated_ruby"
|
@@ -123,8 +96,8 @@
|
|
123
96
|
"name": "entity.name.tag.id.haml"
|
124
97
|
},
|
125
98
|
{
|
126
|
-
"begin": "\\{(
|
127
|
-
"end": "\\}
|
99
|
+
"begin": "(?<!\\#)\\{(?=.+(,|(do)|\\{|\\}|\\||(\\#.*))\\s*)",
|
100
|
+
"end": "\\s*\\}(?!\\s*\\,)(?!\\s*\\|)(?!\\#\\{.*\\})",
|
128
101
|
"name": "meta.section.attributes.haml",
|
129
102
|
"patterns": [
|
130
103
|
{
|
@@ -132,12 +105,64 @@
|
|
132
105
|
},
|
133
106
|
{
|
134
107
|
"include": "#continuation"
|
108
|
+
},
|
109
|
+
{
|
110
|
+
"include": "#rubyline"
|
111
|
+
}
|
112
|
+
]
|
113
|
+
},
|
114
|
+
{
|
115
|
+
"begin": "\\(",
|
116
|
+
"end": "\\)",
|
117
|
+
"name": "meta.section.attributes.haml",
|
118
|
+
"patterns": [
|
119
|
+
{
|
120
|
+
"match": "([\\w-]+)",
|
121
|
+
"name": "constant.other.symbol.ruby"
|
122
|
+
},
|
123
|
+
{
|
124
|
+
"match": "\\=",
|
125
|
+
"name": "punctuation"
|
126
|
+
},
|
127
|
+
{
|
128
|
+
"include": "#variables"
|
129
|
+
},
|
130
|
+
{
|
131
|
+
"begin": "\"",
|
132
|
+
"end": "\"",
|
133
|
+
"name": "string.quoted.double.ruby",
|
134
|
+
"patterns": [
|
135
|
+
{
|
136
|
+
"match": "\\\\(x\\h{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)",
|
137
|
+
"name": "constant.character.escape.ruby"
|
138
|
+
},
|
139
|
+
{
|
140
|
+
"include": "#interpolated_ruby"
|
141
|
+
}
|
142
|
+
]
|
143
|
+
},
|
144
|
+
{
|
145
|
+
"begin": "'",
|
146
|
+
"end": "'",
|
147
|
+
"name": "string.quoted.double.ruby",
|
148
|
+
"patterns": [
|
149
|
+
{
|
150
|
+
"match": "\\\\(x\\h{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)",
|
151
|
+
"name": "constant.character.escape.ruby"
|
152
|
+
},
|
153
|
+
{
|
154
|
+
"include": "#interpolated_ruby"
|
155
|
+
}
|
156
|
+
]
|
157
|
+
},
|
158
|
+
{
|
159
|
+
"include": "#interpolated_ruby"
|
135
160
|
}
|
136
161
|
]
|
137
162
|
},
|
138
163
|
{
|
139
|
-
"begin": "\\[(
|
140
|
-
"end": "\\]
|
164
|
+
"begin": "\\[(?=.+(,|\\[|\\]|\\||(\\#.*))\\s*)",
|
165
|
+
"end": "\\s*\\](?!.*(?!\\#\\[)\\])",
|
141
166
|
"name": "meta.section.object.haml",
|
142
167
|
"patterns": [
|
143
168
|
{
|
@@ -145,6 +170,9 @@
|
|
145
170
|
},
|
146
171
|
{
|
147
172
|
"include": "#continuation"
|
173
|
+
},
|
174
|
+
{
|
175
|
+
"include": "#rubyline"
|
148
176
|
}
|
149
177
|
]
|
150
178
|
},
|
@@ -158,55 +186,188 @@
|
|
158
186
|
]
|
159
187
|
},
|
160
188
|
{
|
189
|
+
"match": "^\\s*(\\.)",
|
161
190
|
"captures": {
|
162
191
|
"1": {
|
163
192
|
"name": "meta.escape.haml"
|
164
193
|
}
|
165
|
-
}
|
166
|
-
"match": "^\\s*(\\\\.)"
|
194
|
+
}
|
167
195
|
},
|
168
196
|
{
|
169
|
-
"begin": "^\\s*(
|
197
|
+
"begin": "^\\s*(?==|-|~|!=|&=)",
|
170
198
|
"end": "$",
|
171
199
|
"patterns": [
|
172
200
|
{
|
173
201
|
"include": "#rubyline"
|
174
202
|
}
|
175
203
|
]
|
204
|
+
},
|
205
|
+
{
|
206
|
+
"begin": "^(\\s*)(:php)$",
|
207
|
+
"end": "^(?!\\1\\s+|\\n)",
|
208
|
+
"name": "meta.embedded.php",
|
209
|
+
"captures": {
|
210
|
+
"2": {
|
211
|
+
"name": "entity.name.tag.haml"
|
212
|
+
}
|
213
|
+
},
|
214
|
+
"patterns": [
|
215
|
+
{
|
216
|
+
"include": "text.html.php#language"
|
217
|
+
}
|
218
|
+
]
|
219
|
+
},
|
220
|
+
{
|
221
|
+
"begin": "^(\\s*)(:ruby)$",
|
222
|
+
"end": "^(?!\\1\\s+|\\n)",
|
223
|
+
"name": "meta.embedded.ruby",
|
224
|
+
"captures": {
|
225
|
+
"2": {
|
226
|
+
"name": "entity.name.tag.haml"
|
227
|
+
}
|
228
|
+
},
|
229
|
+
"patterns": [
|
230
|
+
{
|
231
|
+
"include": "source.ruby"
|
232
|
+
}
|
233
|
+
]
|
234
|
+
},
|
235
|
+
{
|
236
|
+
"begin": "^(\\s*)(:markdown)$",
|
237
|
+
"end": "^(?!\\1\\s+|\\n)",
|
238
|
+
"name": "meta.embedded.markdown",
|
239
|
+
"captures": {
|
240
|
+
"2": {
|
241
|
+
"name": "entity.name.tag.haml"
|
242
|
+
}
|
243
|
+
},
|
244
|
+
"patterns": [
|
245
|
+
{
|
246
|
+
"include": "source.gfm"
|
247
|
+
}
|
248
|
+
]
|
249
|
+
},
|
250
|
+
{
|
251
|
+
"begin": "^(\\s*)(:coffee(script)?)$",
|
252
|
+
"end": "^(?!\\1\\s+|\\n)",
|
253
|
+
"name": "meta.embedded.coffee",
|
254
|
+
"captures": {
|
255
|
+
"2": {
|
256
|
+
"name": "entity.name.tag.haml"
|
257
|
+
}
|
258
|
+
},
|
259
|
+
"patterns": [
|
260
|
+
{
|
261
|
+
"include": "source.coffee"
|
262
|
+
}
|
263
|
+
]
|
264
|
+
},
|
265
|
+
{
|
266
|
+
"begin": "^(\\s*)(:javascript)$",
|
267
|
+
"end": "^(?!\\1\\s+|\\n)",
|
268
|
+
"name": "meta.embedded.js",
|
269
|
+
"captures": {
|
270
|
+
"2": {
|
271
|
+
"name": "entity.name.tag.haml"
|
272
|
+
}
|
273
|
+
},
|
274
|
+
"patterns": [
|
275
|
+
{
|
276
|
+
"include": "source.js"
|
277
|
+
}
|
278
|
+
]
|
279
|
+
},
|
280
|
+
{
|
281
|
+
"begin": "^(\\s*)(:(css|styles?))$",
|
282
|
+
"end": "^(?!\\1\\s+|\\n)",
|
283
|
+
"name": "meta.embedded.css",
|
284
|
+
"captures": {
|
285
|
+
"2": {
|
286
|
+
"name": "entity.name.tag.haml"
|
287
|
+
}
|
288
|
+
},
|
289
|
+
"patterns": [
|
290
|
+
{
|
291
|
+
"include": "source.css"
|
292
|
+
}
|
293
|
+
]
|
294
|
+
},
|
295
|
+
{
|
296
|
+
"begin": "^(\\s*)(:sass)$",
|
297
|
+
"end": "^(?!\\1\\s+|\\n)",
|
298
|
+
"name": "meta.embedded.sass",
|
299
|
+
"captures": {
|
300
|
+
"2": {
|
301
|
+
"name": "entity.name.tag.haml"
|
302
|
+
}
|
303
|
+
},
|
304
|
+
"patterns": [
|
305
|
+
{
|
306
|
+
"include": "source.sass"
|
307
|
+
}
|
308
|
+
]
|
309
|
+
},
|
310
|
+
{
|
311
|
+
"begin": "^(\\s*)(:scss)$",
|
312
|
+
"end": "^(?!\\1\\s+|\\n)",
|
313
|
+
"name": "meta.embedded.scss",
|
314
|
+
"captures": {
|
315
|
+
"2": {
|
316
|
+
"name": "entity.name.tag.haml"
|
317
|
+
}
|
318
|
+
},
|
319
|
+
"patterns": [
|
320
|
+
{
|
321
|
+
"include": "source.css.scss"
|
322
|
+
}
|
323
|
+
]
|
176
324
|
}
|
177
325
|
],
|
178
326
|
"repository": {
|
179
327
|
"continuation": {
|
328
|
+
"match": "(\\|)\\s*\\n",
|
180
329
|
"captures": {
|
181
330
|
"1": {
|
182
331
|
"name": "punctuation.separator.continuation.haml"
|
183
332
|
}
|
184
|
-
}
|
185
|
-
"match": "(\\|)\\s*\\n"
|
333
|
+
}
|
186
334
|
},
|
187
335
|
"interpolated_ruby": {
|
188
336
|
"patterns": [
|
189
337
|
{
|
338
|
+
"begin": "\\#\\{",
|
339
|
+
"end": "\\}",
|
340
|
+
"name": "meta.section.object.haml",
|
190
341
|
"captures": {
|
191
|
-
"0": {
|
192
|
-
"name": "punctuation.section.embedded.ruby"
|
193
|
-
},
|
194
342
|
"1": {
|
195
|
-
"name": "
|
343
|
+
"name": "punctuation.section.embedded.ruby"
|
196
344
|
}
|
197
345
|
},
|
198
|
-
"
|
199
|
-
|
346
|
+
"patterns": [
|
347
|
+
{
|
348
|
+
"include": "#nest_curly_and_self"
|
349
|
+
},
|
350
|
+
{
|
351
|
+
"include": "source.ruby"
|
352
|
+
}
|
353
|
+
]
|
200
354
|
},
|
201
355
|
{
|
202
|
-
"
|
356
|
+
"include": "#variables"
|
357
|
+
}
|
358
|
+
]
|
359
|
+
},
|
360
|
+
"nest_curly_and_self": {
|
361
|
+
"patterns": [
|
362
|
+
{
|
363
|
+
"begin": "\\{",
|
364
|
+
"end": "\\}",
|
365
|
+
"name": "meta.section.object.haml",
|
203
366
|
"captures": {
|
204
367
|
"0": {
|
205
|
-
"name": "punctuation.section.
|
368
|
+
"name": "punctuation.section.scope.ruby"
|
206
369
|
}
|
207
370
|
},
|
208
|
-
"end": "(\\})",
|
209
|
-
"name": "source.ruby.embedded.source",
|
210
371
|
"patterns": [
|
211
372
|
{
|
212
373
|
"include": "#nest_curly_and_self"
|
@@ -215,61 +376,45 @@
|
|
215
376
|
"include": "source.ruby"
|
216
377
|
}
|
217
378
|
]
|
218
|
-
}
|
379
|
+
}
|
380
|
+
]
|
381
|
+
},
|
382
|
+
"variables": {
|
383
|
+
"patterns": [
|
219
384
|
{
|
385
|
+
"match": "(@)[a-zA-Z_]\\w+",
|
386
|
+
"name": "variable.other.readwrite.instance.ruby",
|
220
387
|
"captures": {
|
221
388
|
"1": {
|
222
389
|
"name": "punctuation.definition.variable.ruby"
|
223
390
|
}
|
224
|
-
}
|
225
|
-
"match": "(#@)[a-zA-Z_]\\w*",
|
226
|
-
"name": "variable.other.readwrite.instance.ruby"
|
391
|
+
}
|
227
392
|
},
|
228
393
|
{
|
394
|
+
"match": "(@@)[a-zA-Z_]\\w+",
|
395
|
+
"name": "variable.other.readwrite.class.ruby",
|
229
396
|
"captures": {
|
230
397
|
"1": {
|
231
398
|
"name": "punctuation.definition.variable.ruby"
|
232
399
|
}
|
233
|
-
}
|
234
|
-
"match": "(#@@)[a-zA-Z_]\\w*",
|
235
|
-
"name": "variable.other.readwrite.class.ruby"
|
400
|
+
}
|
236
401
|
},
|
237
402
|
{
|
403
|
+
"match": "(\\$)[a-zA-Z_]\\w+",
|
404
|
+
"name": "variable.other.readwrite.global.ruby",
|
238
405
|
"captures": {
|
239
406
|
"1": {
|
240
407
|
"name": "punctuation.definition.variable.ruby"
|
241
408
|
}
|
242
|
-
}
|
243
|
-
"match": "(#\\$)[a-zA-Z_]\\w*",
|
244
|
-
"name": "variable.other.readwrite.global.ruby"
|
245
|
-
}
|
246
|
-
]
|
247
|
-
},
|
248
|
-
"nest_curly_and_self": {
|
249
|
-
"patterns": [
|
250
|
-
{
|
251
|
-
"begin": "\\{",
|
252
|
-
"captures": {
|
253
|
-
"0": {
|
254
|
-
"name": "punctuation.section.scope.ruby"
|
255
|
-
}
|
256
|
-
},
|
257
|
-
"end": "\\}",
|
258
|
-
"patterns": [
|
259
|
-
{
|
260
|
-
"include": "#nest_curly_and_self"
|
261
|
-
}
|
262
|
-
]
|
263
|
-
},
|
264
|
-
{
|
265
|
-
"include": "source.ruby"
|
409
|
+
}
|
266
410
|
}
|
267
411
|
]
|
268
412
|
},
|
269
413
|
"rubyline": {
|
270
|
-
"begin": "=|-|~",
|
414
|
+
"begin": "(&|!)?(=|-|~)",
|
415
|
+
"end": "((do|\\{)( \\|[.*]+\\|)?)$|$|^(?!.*\\|\\s*$)\\n",
|
416
|
+
"name": "meta.line.ruby.haml",
|
271
417
|
"contentName": "source.ruby.embedded.haml",
|
272
|
-
"end": "((do|\\{)( \\|[^|]+\\|)?)$|$|^(?!.*\\|\\s*$)",
|
273
418
|
"endCaptures": {
|
274
419
|
"1": {
|
275
420
|
"name": "source.ruby.embedded.html"
|
@@ -278,10 +423,53 @@
|
|
278
423
|
"name": "keyword.control.ruby.start-block"
|
279
424
|
}
|
280
425
|
},
|
281
|
-
"name": "meta.line.ruby.haml",
|
282
426
|
"patterns": [
|
283
427
|
{
|
284
|
-
"
|
428
|
+
"match": "\\s+((elseif|foreach|switch|declare|default|use))(?=\\s|\\()",
|
429
|
+
"captures": {
|
430
|
+
"1": {
|
431
|
+
"name": "keyword.control.php"
|
432
|
+
}
|
433
|
+
}
|
434
|
+
},
|
435
|
+
{
|
436
|
+
"match": "\\s+(require_once|include_once)(?=\\s|\\()",
|
437
|
+
"captures": {
|
438
|
+
"1": {
|
439
|
+
"name": "keyword.control.import.include.php"
|
440
|
+
}
|
441
|
+
}
|
442
|
+
},
|
443
|
+
{
|
444
|
+
"match": "\\s+(catch|try|throw|exception|finally|die)(?=\\s|\\(|\\n)",
|
445
|
+
"name": "keyword.control.exception.php"
|
446
|
+
},
|
447
|
+
{
|
448
|
+
"match": "\\s+(function\\s*)((?=\\())",
|
449
|
+
"captures": {
|
450
|
+
"1": {
|
451
|
+
"name": "storage.type.function.php"
|
452
|
+
}
|
453
|
+
}
|
454
|
+
},
|
455
|
+
{
|
456
|
+
"match": "\\s+(use\\s*)((?=\\())",
|
457
|
+
"captures": {
|
458
|
+
"1": {
|
459
|
+
"name": "keyword.control.php"
|
460
|
+
}
|
461
|
+
}
|
462
|
+
},
|
463
|
+
{
|
464
|
+
"match": "(\\||,|<|do|\\{)\\s*(\\#.*)?$\\n",
|
465
|
+
"name": "source.ruby",
|
466
|
+
"patterns": [
|
467
|
+
{
|
468
|
+
"include": "#rubyline"
|
469
|
+
}
|
470
|
+
]
|
471
|
+
},
|
472
|
+
{
|
285
473
|
"match": "#.*$",
|
286
474
|
"name": "comment.line.number-sign.ruby"
|
287
475
|
},
|
@@ -294,6 +482,5 @@
|
|
294
482
|
]
|
295
483
|
}
|
296
484
|
},
|
297
|
-
"scopeName": "text.haml"
|
298
|
-
"uuid": "3D727049-DD05-45DF-92A5-D50EA36FD035"
|
485
|
+
"scopeName": "text.haml"
|
299
486
|
}
|