github-linguist 4.8.8 → 4.8.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/grammars/hint.haskell.json +1123 -0
- data/grammars/hint.message.haskell.json +1147 -0
- data/grammars/hint.type.haskell.json +1120 -0
- data/grammars/source.asn.json +59 -0
- data/grammars/source.blitzmax.json +0 -2
- data/grammars/source.bsl.json +372 -0
- data/grammars/source.c++.json +67 -0
- data/grammars/source.c2hs.json +27 -0
- data/grammars/source.cabal.json +66 -0
- data/grammars/source.coffee.json +6 -5
- data/grammars/source.crystal.json +0 -11
- data/grammars/source.csound-score.json +3 -3
- data/grammars/source.csound.json +51 -15
- data/grammars/source.css.json +1 -1
- data/grammars/source.css.less.json +9 -5
- data/grammars/source.cython.json +42 -193
- data/grammars/source.d.json +7 -7
- data/grammars/source.elixir.json +2 -2
- data/grammars/source.forth.json +0 -2
- data/grammars/source.graphql.json +8 -2
- data/grammars/source.haskell.json +1089 -323
- data/grammars/source.hsc2hs.json +12 -0
- data/grammars/source.ideal.json +356 -0
- data/grammars/source.java.json +3 -0
- data/grammars/source.js.json +262 -131
- data/grammars/source.js.jsx.json +848 -256
- data/grammars/source.lsl.json +51 -103
- data/grammars/source.objc.json +1 -1
- data/grammars/source.parrot.pir.json +49 -15
- data/grammars/source.pic.json +868 -0
- data/grammars/source.purescript.json +114 -90
- data/grammars/source.python.json +11 -9
- data/grammars/source.regexp.babel.json +1 -1
- data/grammars/source.renpy.json +7 -7
- data/grammars/source.rexx.json +59 -0
- data/grammars/source.sas.json +8 -75
- data/grammars/source.sdbl.json +97 -0
- data/grammars/source.shell.json +1 -0
- data/grammars/source.smali.json +2 -2
- data/grammars/source.sqf.json +11 -11
- data/grammars/source.stan.json +60 -25
- data/grammars/source.tla.json +18 -6
- data/grammars/source.toc.json +5 -1
- data/grammars/source.ts.json +134 -31
- data/grammars/source.tsx.json +134 -31
- data/grammars/source.vhdl.json +150 -117
- data/grammars/source.viml.json +4 -4
- data/grammars/source.xquery.json +23 -5
- data/grammars/source.yaml.json +35 -19
- data/grammars/text.html.handlebars.json +2 -2
- data/grammars/text.html.php.blade.json +1 -1
- data/grammars/text.html.twig.json +1 -4
- data/grammars/text.html.vue.json +41 -1
- data/grammars/text.restructuredtext.json +56 -1
- data/grammars/text.roff.json +5089 -0
- data/grammars/text.runoff.json +321 -0
- data/grammars/text.slim.json +126 -105
- data/grammars/text.tex.latex.haskell.json +1335 -21
- data/lib/linguist/heuristics.rb +8 -0
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +58 -3
- data/lib/linguist/samples.json +5257 -76
- data/lib/linguist/version.rb +1 -1
- metadata +16 -4
- data/grammars/source.man.json +0 -53
- data/grammars/text.groff.json +0 -113
@@ -0,0 +1,321 @@
|
|
1
|
+
{
|
2
|
+
"name": "RUNOFF",
|
3
|
+
"scopeName": "text.runoff",
|
4
|
+
"fileTypes": [
|
5
|
+
"rnb",
|
6
|
+
"rnc",
|
7
|
+
"rnd",
|
8
|
+
"rne",
|
9
|
+
"rnh",
|
10
|
+
"rnl",
|
11
|
+
"rnm",
|
12
|
+
"rno",
|
13
|
+
"rnp",
|
14
|
+
"rns",
|
15
|
+
"rnt",
|
16
|
+
"rnx",
|
17
|
+
"run"
|
18
|
+
],
|
19
|
+
"patterns": [
|
20
|
+
{
|
21
|
+
"include": "#main"
|
22
|
+
}
|
23
|
+
],
|
24
|
+
"repository": {
|
25
|
+
"main": {
|
26
|
+
"patterns": [
|
27
|
+
{
|
28
|
+
"include": "#comment"
|
29
|
+
},
|
30
|
+
{
|
31
|
+
"include": "#underline"
|
32
|
+
},
|
33
|
+
{
|
34
|
+
"include": "#commands"
|
35
|
+
},
|
36
|
+
{
|
37
|
+
"include": "#special-characters"
|
38
|
+
}
|
39
|
+
]
|
40
|
+
},
|
41
|
+
"comment": {
|
42
|
+
"name": "comment.line.runoff",
|
43
|
+
"begin": "^\\.[!*~]",
|
44
|
+
"end": "$",
|
45
|
+
"beginCaptures": {
|
46
|
+
"0": {
|
47
|
+
"name": "punctuation.definition.comment.runoff"
|
48
|
+
}
|
49
|
+
}
|
50
|
+
},
|
51
|
+
"underline": {
|
52
|
+
"name": "markup.underline.link.runoff",
|
53
|
+
"match": "[^_]\b(?=_)|(?<=_)\b[^_]"
|
54
|
+
},
|
55
|
+
"arguments": {
|
56
|
+
"patterns": [
|
57
|
+
{
|
58
|
+
"name": "constant.numeric.runoff",
|
59
|
+
"match": "[-+]?\\d+(?:\\.\\d+)?"
|
60
|
+
},
|
61
|
+
{
|
62
|
+
"name": "punctuation.separator.comma.runoff",
|
63
|
+
"match": ","
|
64
|
+
},
|
65
|
+
{
|
66
|
+
"name": "string.quoted.runoff",
|
67
|
+
"begin": "\"",
|
68
|
+
"end": "\"",
|
69
|
+
"beginCaptures": {
|
70
|
+
"0": {
|
71
|
+
"name": "punctuation.definition.string.begin.runoff"
|
72
|
+
}
|
73
|
+
},
|
74
|
+
"endCaptures": {
|
75
|
+
"0": {
|
76
|
+
"name": "punctuation.definition.string.end.runoff"
|
77
|
+
}
|
78
|
+
}
|
79
|
+
},
|
80
|
+
{
|
81
|
+
"name": "variable.parameter.runoff",
|
82
|
+
"match": "(?!\\.)([^\\s;,]+)",
|
83
|
+
"captures": {
|
84
|
+
"0": {
|
85
|
+
"name": "string.unquoted.runoff"
|
86
|
+
},
|
87
|
+
"1": {
|
88
|
+
"patterns": [
|
89
|
+
{
|
90
|
+
"include": "#name-innards"
|
91
|
+
}
|
92
|
+
]
|
93
|
+
}
|
94
|
+
}
|
95
|
+
}
|
96
|
+
]
|
97
|
+
},
|
98
|
+
"commands": {
|
99
|
+
"name": "meta.control-line.runoff",
|
100
|
+
"begin": "^\f*(?=\\.)",
|
101
|
+
"end": "$|;(?!\\.)",
|
102
|
+
"endCaptures": {
|
103
|
+
"0": {
|
104
|
+
"name": "punctuation.terminator.statement.runoff"
|
105
|
+
}
|
106
|
+
},
|
107
|
+
"patterns": [
|
108
|
+
{
|
109
|
+
"name": "comment.line.runoff",
|
110
|
+
"begin": "!",
|
111
|
+
"end": "$",
|
112
|
+
"beginCaptures": {
|
113
|
+
"0": "punctuation.definition.comment.runoff"
|
114
|
+
}
|
115
|
+
},
|
116
|
+
{
|
117
|
+
"name": "meta.condition.runoff",
|
118
|
+
"begin": "(?i)(?:^|(?<=;))((\\.)(?:IF|ELSE|ENDIF))(?=$|\\s|;)",
|
119
|
+
"end": "$|(;)|(?=!)",
|
120
|
+
"beginCaptures": {
|
121
|
+
"1": {
|
122
|
+
"name": "keyword.control.runoff"
|
123
|
+
},
|
124
|
+
"2": {
|
125
|
+
"name": "punctuation.definition.function.runoff"
|
126
|
+
}
|
127
|
+
},
|
128
|
+
"endCaptures": {
|
129
|
+
"1": {
|
130
|
+
"name": "punctuation.terminator.statement.runoff"
|
131
|
+
}
|
132
|
+
},
|
133
|
+
"patterns": [
|
134
|
+
{
|
135
|
+
"include": "#arguments"
|
136
|
+
}
|
137
|
+
]
|
138
|
+
},
|
139
|
+
{
|
140
|
+
"contentName": "markup.raw.runoff",
|
141
|
+
"begin": "(?i)((\\.)LITERAL\\s*)(?:$|\\n)",
|
142
|
+
"end": "(?i)((\\.)END\\s+LITERAL)\\b",
|
143
|
+
"beginCaptures": {
|
144
|
+
"0": {
|
145
|
+
"name": "keyword.function.name.runoff"
|
146
|
+
},
|
147
|
+
"1": {
|
148
|
+
"name": "entity.name.function.runoff"
|
149
|
+
},
|
150
|
+
"2": {
|
151
|
+
"name": "punctuation.definition.function.runoff"
|
152
|
+
}
|
153
|
+
},
|
154
|
+
"endCaptures": {
|
155
|
+
"0": {
|
156
|
+
"name": "keyword.function.name.runoff"
|
157
|
+
},
|
158
|
+
"1": {
|
159
|
+
"name": "entity.name.function.runoff"
|
160
|
+
},
|
161
|
+
"2": {
|
162
|
+
"name": "punctuation.definition.function.runoff"
|
163
|
+
}
|
164
|
+
}
|
165
|
+
},
|
166
|
+
{
|
167
|
+
"contentName": "markup.raw.runoff",
|
168
|
+
"begin": "(?i)((\\.)LIT)\\s*(?:$|\\n)",
|
169
|
+
"end": "(?i)^(?=\\.EL(?:$|[\\s;!]))",
|
170
|
+
"beginCaptures": {
|
171
|
+
"0": {
|
172
|
+
"name": "keyword.function.name.runoff"
|
173
|
+
},
|
174
|
+
"1": {
|
175
|
+
"name": "entity.name.function.runoff"
|
176
|
+
},
|
177
|
+
"2": {
|
178
|
+
"name": "punctuation.definition.function.runoff"
|
179
|
+
}
|
180
|
+
}
|
181
|
+
},
|
182
|
+
{
|
183
|
+
"name": "meta.function.debugging-comment.runoff",
|
184
|
+
"begin": "(?i)((\\.)COMMENT)\\b",
|
185
|
+
"end": "$|(;)|(?=!)",
|
186
|
+
"contentName": "string.unquoted.runoff",
|
187
|
+
"beginCaptures": {
|
188
|
+
"0": {
|
189
|
+
"name": "keyword.function.name.runoff"
|
190
|
+
},
|
191
|
+
"1": {
|
192
|
+
"name": "entity.name.function.runoff"
|
193
|
+
},
|
194
|
+
"2": {
|
195
|
+
"name": "punctuation.definition.function.runoff"
|
196
|
+
}
|
197
|
+
},
|
198
|
+
"endCaptures": {
|
199
|
+
"1": {
|
200
|
+
"name": "punctuation.terminator.statement.runoff"
|
201
|
+
}
|
202
|
+
}
|
203
|
+
},
|
204
|
+
{
|
205
|
+
"name": "meta.function.runoff",
|
206
|
+
"begin": "(?i)((\\.)(?:END\\s+)?([^;\\s\\-+]+))",
|
207
|
+
"end": "(?x)\n$ | # EOL\n(;)?\\s*(?=\\.) | # Followed by another command\n(?=;\\s*[^.]) # No more commands, don’t highlight trailing text as arguments",
|
208
|
+
"patterns": [
|
209
|
+
{
|
210
|
+
"include": "#arguments"
|
211
|
+
}
|
212
|
+
],
|
213
|
+
"beginCaptures": {
|
214
|
+
"0": {
|
215
|
+
"name": "keyword.function.name.runoff"
|
216
|
+
},
|
217
|
+
"1": {
|
218
|
+
"name": "entity.name.function.runoff"
|
219
|
+
},
|
220
|
+
"2": {
|
221
|
+
"name": "punctuation.definition.function.runoff"
|
222
|
+
},
|
223
|
+
"3": {
|
224
|
+
"patterns": [
|
225
|
+
{
|
226
|
+
"include": "#name-innards"
|
227
|
+
}
|
228
|
+
]
|
229
|
+
}
|
230
|
+
},
|
231
|
+
"endCaptures": {
|
232
|
+
"1": {
|
233
|
+
"name": "punctuation.terminator.statement.runoff"
|
234
|
+
}
|
235
|
+
}
|
236
|
+
}
|
237
|
+
]
|
238
|
+
},
|
239
|
+
"name-innards": {
|
240
|
+
"patterns": [
|
241
|
+
{
|
242
|
+
"include": "#special-characters"
|
243
|
+
},
|
244
|
+
{
|
245
|
+
"match": "\\.",
|
246
|
+
"name": "punctuation.delimiter.period.full-stop.runoff"
|
247
|
+
},
|
248
|
+
{
|
249
|
+
"match": "\\,",
|
250
|
+
"name": "punctuation.separator.comma.runoff"
|
251
|
+
},
|
252
|
+
{
|
253
|
+
"match": "\\d+(?=$|\\n|,|\\.(?!\\d))",
|
254
|
+
"name": "constant.numeric.runoff"
|
255
|
+
}
|
256
|
+
]
|
257
|
+
},
|
258
|
+
"special-characters": {
|
259
|
+
"patterns": [
|
260
|
+
{
|
261
|
+
"name": "constant.character.escape.special-character.runoff",
|
262
|
+
"match": "(_)[!^\\\\#&_.]",
|
263
|
+
"captures": {
|
264
|
+
"1": {
|
265
|
+
"name": "punctuation.definition.escape.runoff"
|
266
|
+
}
|
267
|
+
}
|
268
|
+
},
|
269
|
+
{
|
270
|
+
"name": "keyword.operator.end-footnote.runoff",
|
271
|
+
"match": "^!"
|
272
|
+
},
|
273
|
+
{
|
274
|
+
"name": "constant.character.escape.uppercase.runoff",
|
275
|
+
"match": "\\^{1,2}",
|
276
|
+
"captures": {
|
277
|
+
"0": {
|
278
|
+
"name": "punctuation.definition.escape.runoff"
|
279
|
+
}
|
280
|
+
}
|
281
|
+
},
|
282
|
+
{
|
283
|
+
"name": "constant.character.escape.lowercase.runoff",
|
284
|
+
"match": "\\\\{1,2}",
|
285
|
+
"captures": {
|
286
|
+
"0": {
|
287
|
+
"name": "punctuation.definition.escape.runoff"
|
288
|
+
}
|
289
|
+
}
|
290
|
+
},
|
291
|
+
{
|
292
|
+
"match": "(&)([!^\\\\#&_.]*)(\\S+)",
|
293
|
+
"captures": {
|
294
|
+
"1": {
|
295
|
+
"name": "punctuation.definition.entity.runoff"
|
296
|
+
},
|
297
|
+
"2": {
|
298
|
+
"patterns": [
|
299
|
+
{
|
300
|
+
"include": "#special-characters"
|
301
|
+
}
|
302
|
+
]
|
303
|
+
},
|
304
|
+
"3": {
|
305
|
+
"name": "markup.underline.link.runoff"
|
306
|
+
}
|
307
|
+
}
|
308
|
+
},
|
309
|
+
{
|
310
|
+
"name": "constant.character.escape.space.runoff",
|
311
|
+
"match": "#",
|
312
|
+
"captures": {
|
313
|
+
"0": {
|
314
|
+
"name": "punctuation.definition.escape.runoff"
|
315
|
+
}
|
316
|
+
}
|
317
|
+
}
|
318
|
+
]
|
319
|
+
}
|
320
|
+
}
|
321
|
+
}
|
data/grammars/text.slim.json
CHANGED
@@ -129,7 +129,37 @@
|
|
129
129
|
"name": "text.scss.filter.slim",
|
130
130
|
"patterns": [
|
131
131
|
{
|
132
|
-
"include": "source.
|
132
|
+
"include": "source.scss"
|
133
|
+
}
|
134
|
+
]
|
135
|
+
},
|
136
|
+
{
|
137
|
+
"begin": "^(\\s*)(less):$",
|
138
|
+
"beginCaptures": {
|
139
|
+
"2": {
|
140
|
+
"name": "constant.language.name.less.filter.slim"
|
141
|
+
}
|
142
|
+
},
|
143
|
+
"end": "^(?!(\\1\\s)|\\s*$)",
|
144
|
+
"name": "text.less.filter.slim",
|
145
|
+
"patterns": [
|
146
|
+
{
|
147
|
+
"include": "source.less"
|
148
|
+
}
|
149
|
+
]
|
150
|
+
},
|
151
|
+
{
|
152
|
+
"begin": "^(\\s*)(erb):$",
|
153
|
+
"beginCaptures": {
|
154
|
+
"2": {
|
155
|
+
"name": "constant.language.name.erb.filter.slim"
|
156
|
+
}
|
157
|
+
},
|
158
|
+
"end": "^(?!(\\1\\s)|\\s*$)",
|
159
|
+
"name": "text.erb.filter.slim",
|
160
|
+
"patterns": [
|
161
|
+
{
|
162
|
+
"include": "source.erb"
|
133
163
|
}
|
134
164
|
]
|
135
165
|
},
|
@@ -143,22 +173,35 @@
|
|
143
173
|
"name": "meta.prolog.slim"
|
144
174
|
},
|
145
175
|
{
|
146
|
-
"begin": "^(\\s*)(/)\\s
|
176
|
+
"begin": "^(\\s*)(/)\\s*.*$",
|
147
177
|
"beginCaptures": {
|
148
|
-
"
|
178
|
+
"1": {
|
149
179
|
"name": "punctuation.section.comment.slim"
|
150
180
|
}
|
151
181
|
},
|
152
182
|
"end": "^(?!\\1 )",
|
153
|
-
"name": "comment.block.slim"
|
183
|
+
"name": "comment.block.slim"
|
184
|
+
},
|
185
|
+
{
|
186
|
+
"captures": {
|
187
|
+
"1": {
|
188
|
+
"name": "punctuation.section.comment.slim"
|
189
|
+
}
|
190
|
+
},
|
191
|
+
"match": "^\\s*(/)\\s*\\S.*$\\n?",
|
192
|
+
"name": "comment.line.slash.slim"
|
193
|
+
},
|
194
|
+
{
|
195
|
+
"begin": "^\\s*(?=-)",
|
196
|
+
"end": "$",
|
154
197
|
"patterns": [
|
155
198
|
{
|
156
|
-
"include": "
|
199
|
+
"include": "#rubyline"
|
157
200
|
}
|
158
201
|
]
|
159
202
|
},
|
160
203
|
{
|
161
|
-
"begin": "
|
204
|
+
"begin": "(?==+|~)",
|
162
205
|
"end": "$",
|
163
206
|
"patterns": [
|
164
207
|
{
|
@@ -167,49 +210,79 @@
|
|
167
210
|
]
|
168
211
|
},
|
169
212
|
{
|
170
|
-
"include": "#
|
171
|
-
},
|
172
|
-
{
|
173
|
-
"include": "#normal-html-tag"
|
213
|
+
"include": "#tag-attribute"
|
174
214
|
},
|
175
215
|
{
|
176
216
|
"include": "#embedded-ruby"
|
177
217
|
},
|
178
218
|
{
|
179
|
-
"begin": "^\\s*([
|
219
|
+
"begin": "^\\s*(\\.|#|[a-zA-Z0-9]+)([\\w-]+)?",
|
180
220
|
"captures": {
|
181
|
-
"
|
221
|
+
"1": {
|
182
222
|
"name": "entity.name.tag.slim"
|
223
|
+
},
|
224
|
+
"2": {
|
225
|
+
"name": "entity.other.attribute-name.event.slim"
|
183
226
|
}
|
184
227
|
},
|
185
|
-
"
|
228
|
+
"comment": "1 - dot OR hash OR any combination of word, number; 2 - OPTIONAL any combination of word, number, dash or underscore (following a . or",
|
229
|
+
"end": "$|(?!\\.|#|=|:|-|~|/|\\}|\\]|\\*|\\s?[\\*\\{])",
|
230
|
+
"name": "meta.tag",
|
186
231
|
"patterns": [
|
187
232
|
{
|
188
|
-
"begin": "\\
|
189
|
-
"
|
190
|
-
"
|
233
|
+
"begin": "(:[\\w\\d]+)+",
|
234
|
+
"comment": "XML",
|
235
|
+
"end": "$|\\s",
|
236
|
+
"name": "entity.name.tag.slim"
|
237
|
+
},
|
238
|
+
{
|
239
|
+
"begin": "(:\\s)(\\.|#|[a-zA-Z0-9]+)([\\w-]+)?",
|
240
|
+
"captures": {
|
241
|
+
"1": {
|
242
|
+
"name": "punctuation.definition.tag.end.slim"
|
243
|
+
},
|
244
|
+
"2": {
|
245
|
+
"name": "entity.name.tag.slim"
|
246
|
+
},
|
247
|
+
"3": {
|
248
|
+
"name": "entity.other.attribute-name.event.slim"
|
249
|
+
}
|
250
|
+
},
|
251
|
+
"comment": "Inline HTML / 1 - colon; 2 - dot OR hash OR any combination of word, number; 3 - OPTIONAL any combination of word, number, dash or underscore (following a . or",
|
252
|
+
"end": "$|(?!\\.|#|=|-|~|/|\\}|\\]|\\*|\\s?[\\*\\{])",
|
191
253
|
"patterns": [
|
192
254
|
{
|
193
|
-
"include": "
|
255
|
+
"include": "#root-class-id-tag"
|
194
256
|
},
|
195
257
|
{
|
196
|
-
"include": "#
|
258
|
+
"include": "#tag-attribute"
|
197
259
|
}
|
198
260
|
]
|
199
261
|
},
|
200
262
|
{
|
201
|
-
"begin": "
|
202
|
-
"
|
203
|
-
|
263
|
+
"begin": "(\\*\\{)(?=.*\\}|.*\\|\\s*$)",
|
264
|
+
"beginCaptures": {
|
265
|
+
"1": {
|
266
|
+
"name": "punctuation.section.embedded.ruby"
|
267
|
+
}
|
268
|
+
},
|
269
|
+
"comment": "Splat attributes",
|
270
|
+
"end": "(\\})|$|^(?!.*\\|\\s*$)",
|
271
|
+
"endCaptures": {
|
272
|
+
"1": {
|
273
|
+
"name": "punctuation.section.embedded.ruby"
|
274
|
+
}
|
275
|
+
},
|
276
|
+
"name": "source.ruby.embedded.slim",
|
204
277
|
"patterns": [
|
205
278
|
{
|
206
|
-
"include": "
|
207
|
-
},
|
208
|
-
{
|
209
|
-
"include": "#continuation"
|
279
|
+
"include": "#embedded-ruby"
|
210
280
|
}
|
211
281
|
]
|
212
282
|
},
|
283
|
+
{
|
284
|
+
"include": "#root-class-id-tag"
|
285
|
+
},
|
213
286
|
{
|
214
287
|
"include": "#rubyline"
|
215
288
|
},
|
@@ -238,6 +311,16 @@
|
|
238
311
|
"include": "text.html.basic"
|
239
312
|
}
|
240
313
|
]
|
314
|
+
},
|
315
|
+
{
|
316
|
+
"begin": "(?=<[\\w\\d\\:]+)",
|
317
|
+
"comment": "Inline and root-level HTML tags",
|
318
|
+
"end": "$|\\/\\>",
|
319
|
+
"patterns": [
|
320
|
+
{
|
321
|
+
"include": "text.html.basic"
|
322
|
+
}
|
323
|
+
]
|
241
324
|
}
|
242
325
|
],
|
243
326
|
"repository": {
|
@@ -319,84 +402,26 @@
|
|
319
402
|
}
|
320
403
|
]
|
321
404
|
},
|
322
|
-
"inline-html-tag": {
|
323
|
-
"begin": "^(\\s*([\\w.#_-]+( [\\w.#_-]+=(\".*?\"))*: )*)([\\w.#_-]+( [\\w.#_-]+=(\".*?\"))*:)(?=\\s)",
|
324
|
-
"captures": {
|
325
|
-
"1": {
|
326
|
-
"name": "entity.name.tag.slim"
|
327
|
-
},
|
328
|
-
"2": {
|
329
|
-
"name": "entity.name.tag.slim"
|
330
|
-
},
|
331
|
-
"3": {
|
332
|
-
"name": "entity.name.tag.slim"
|
333
|
-
},
|
334
|
-
"4": {
|
335
|
-
"name": "string.quoted.double.html"
|
336
|
-
},
|
337
|
-
"5": {
|
338
|
-
"name": "entity.name.tag.slim"
|
339
|
-
},
|
340
|
-
"6": {
|
341
|
-
"name": "entity.name.tag.slim"
|
342
|
-
},
|
343
|
-
"7": {
|
344
|
-
"name": "string.quoted.double.html"
|
345
|
-
}
|
346
|
-
},
|
347
|
-
"end": "$",
|
348
|
-
"patterns": [
|
349
|
-
{
|
350
|
-
"include": "#normal-inline-html-tag"
|
351
|
-
},
|
352
|
-
{
|
353
|
-
"include": "#tag-stuff"
|
354
|
-
}
|
355
|
-
]
|
356
|
-
},
|
357
405
|
"interpolated-ruby": {
|
358
406
|
"begin": "=(?=\\b)",
|
359
407
|
"end": "\\s|\\w$",
|
360
408
|
"name": "source.ruby.embedded.html"
|
361
409
|
},
|
362
|
-
"
|
363
|
-
"begin": "([\\w.#_-]+=)",
|
410
|
+
"root-class-id-tag": {
|
364
411
|
"captures": {
|
365
412
|
"1": {
|
366
|
-
"name": "
|
367
|
-
}
|
368
|
-
},
|
369
|
-
"end": "$",
|
370
|
-
"patterns": [
|
371
|
-
{
|
372
|
-
"include": "#tag-stuff"
|
373
|
-
},
|
374
|
-
{
|
375
|
-
"include": "#string-double-quoted"
|
413
|
+
"name": "punctuation.separator.key-value.html"
|
376
414
|
},
|
377
|
-
{
|
378
|
-
"
|
379
|
-
}
|
380
|
-
]
|
381
|
-
},
|
382
|
-
"normal-inline-html-tag": {
|
383
|
-
"begin": "([\\w.#_-]+)",
|
384
|
-
"captures": {
|
385
|
-
"1": {
|
386
|
-
"name": "entity.name.tag.slim"
|
415
|
+
"2": {
|
416
|
+
"name": "entity.other.attribute-name.html"
|
387
417
|
}
|
388
418
|
},
|
389
|
-
"
|
390
|
-
"patterns": [
|
391
|
-
{
|
392
|
-
"include": "#tag-stuff"
|
393
|
-
}
|
394
|
-
]
|
419
|
+
"match": "(\\.|#)([\\w\\d\\-]+)"
|
395
420
|
},
|
396
421
|
"rubyline": {
|
397
|
-
"begin": "(==|=)(<>|><|<'|'
|
422
|
+
"begin": "(==|=)(<>|><|<'|'<|<|>)?|-",
|
398
423
|
"contentName": "source.ruby.embedded.slim",
|
399
|
-
"end": "(
|
424
|
+
"end": "(?<!\\\\|,|,\\n|\\\\\\n)$",
|
400
425
|
"name": "meta.line.ruby.slim",
|
401
426
|
"patterns": [
|
402
427
|
{
|
@@ -413,7 +438,7 @@
|
|
413
438
|
]
|
414
439
|
},
|
415
440
|
"string-double-quoted": {
|
416
|
-
"begin": "\"",
|
441
|
+
"begin": "(\")(?=.*\")",
|
417
442
|
"beginCaptures": {
|
418
443
|
"0": {
|
419
444
|
"name": "punctuation.definition.string.begin.html"
|
@@ -437,7 +462,7 @@
|
|
437
462
|
]
|
438
463
|
},
|
439
464
|
"string-single-quoted": {
|
440
|
-
"begin": "'",
|
465
|
+
"begin": "(')(?=.*')",
|
441
466
|
"beginCaptures": {
|
442
467
|
"0": {
|
443
468
|
"name": "punctuation.definition.string.begin.html"
|
@@ -460,19 +485,21 @@
|
|
460
485
|
}
|
461
486
|
]
|
462
487
|
},
|
463
|
-
"tag-
|
464
|
-
"begin": "\\
|
488
|
+
"tag-attribute": {
|
489
|
+
"begin": "([\\w.#_-]+)=(?!\\s)(true|false|nil)?(\\s*\\(|\\{)?",
|
465
490
|
"captures": {
|
466
491
|
"1": {
|
467
|
-
"name": "entity.other.attribute-name.
|
492
|
+
"name": "entity.other.attribute-name.event.slim"
|
468
493
|
},
|
469
494
|
"2": {
|
470
|
-
"name": "
|
495
|
+
"name": "constant.language.slim"
|
471
496
|
}
|
472
497
|
},
|
473
|
-
"end": "
|
474
|
-
"name": "meta.attribute-with-value.id.html",
|
498
|
+
"end": "\\}|\\)|$",
|
475
499
|
"patterns": [
|
500
|
+
{
|
501
|
+
"include": "#tag-stuff"
|
502
|
+
},
|
476
503
|
{
|
477
504
|
"include": "#string-double-quoted"
|
478
505
|
},
|
@@ -484,13 +511,7 @@
|
|
484
511
|
"tag-stuff": {
|
485
512
|
"patterns": [
|
486
513
|
{
|
487
|
-
"include": "#
|
488
|
-
},
|
489
|
-
{
|
490
|
-
"include": "#normal-html-tag"
|
491
|
-
},
|
492
|
-
{
|
493
|
-
"include": "#tag-id-attribute"
|
514
|
+
"include": "#tag-attribute"
|
494
515
|
},
|
495
516
|
{
|
496
517
|
"include": "#interpolated-ruby"
|