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
data/grammars/text.html.vue.json
CHANGED
@@ -524,7 +524,7 @@
|
|
524
524
|
]
|
525
525
|
},
|
526
526
|
{
|
527
|
-
"begin": "(<)((?i:script))\\b(?![^>]*/>)(?![^>]*(?i:type.?=.?text/((?!javascript|babel).*)))",
|
527
|
+
"begin": "(<)((?i:script))\\b(?![^>]*/>)(?![^>]*(?i:type.?=.?text/((?!javascript|babel|ecmascript).*)))",
|
528
528
|
"beginCaptures": {
|
529
529
|
"1": {
|
530
530
|
"name": "punctuation.definition.tag.begin.html"
|
data/grammars/text.slim.json
CHANGED
@@ -84,7 +84,7 @@
|
|
84
84
|
"name": "text.markdown.filter.slim",
|
85
85
|
"patterns": [
|
86
86
|
{
|
87
|
-
"include": "
|
87
|
+
"include": "text.html.markdown"
|
88
88
|
}
|
89
89
|
]
|
90
90
|
},
|
@@ -175,22 +175,13 @@
|
|
175
175
|
{
|
176
176
|
"begin": "^(\\s*)(/)\\s*.*$",
|
177
177
|
"beginCaptures": {
|
178
|
-
"
|
179
|
-
"name": "
|
178
|
+
"2": {
|
179
|
+
"name": "comment.line.slash.slim"
|
180
180
|
}
|
181
181
|
},
|
182
|
-
"end": "^(
|
182
|
+
"end": "^(?!(\\1\\s)|\\s*$)",
|
183
183
|
"name": "comment.block.slim"
|
184
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
185
|
{
|
195
186
|
"begin": "^\\s*(?=-)",
|
196
187
|
"end": "$",
|
@@ -216,7 +207,20 @@
|
|
216
207
|
"include": "#embedded-ruby"
|
217
208
|
},
|
218
209
|
{
|
219
|
-
"begin": "
|
210
|
+
"begin": "^(\\s*)(\\||')\\s*",
|
211
|
+
"comment": "Verbatim text (can include HTML tags and copied lines)",
|
212
|
+
"end": "^(?!(\\1\\s)|\\s*$)",
|
213
|
+
"patterns": [
|
214
|
+
{
|
215
|
+
"include": "text.html.basic"
|
216
|
+
},
|
217
|
+
{
|
218
|
+
"include": "#embedded-ruby"
|
219
|
+
}
|
220
|
+
]
|
221
|
+
},
|
222
|
+
{
|
223
|
+
"begin": "^\\s*(\\.|#|[-a-zA-Z0-9]+)([\\w-]+)?",
|
220
224
|
"captures": {
|
221
225
|
"1": {
|
222
226
|
"name": "entity.name.tag.slim"
|
@@ -226,7 +230,7 @@
|
|
226
230
|
}
|
227
231
|
},
|
228
232
|
"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": "$|(
|
233
|
+
"end": "$|(?!\\.|#|:|-|~|/|\\}|\\]|\\*|\\s?[\\*\\{])",
|
230
234
|
"name": "meta.tag",
|
231
235
|
"patterns": [
|
232
236
|
{
|
@@ -420,8 +424,14 @@
|
|
420
424
|
},
|
421
425
|
"rubyline": {
|
422
426
|
"begin": "(==|=)(<>|><|<'|'<|<|>)?|-",
|
427
|
+
"comment": "Hack to thwart Sublime's Ruby highlighter. It thinks do without a variable continues the next line (this can be muted with a / at the end of the line). For things like yields, do is unnecessary without an argument, so this hack will suffice",
|
423
428
|
"contentName": "source.ruby.embedded.slim",
|
424
|
-
"end": "(?<!\\\\|,|,\\n|\\\\\\n)$",
|
429
|
+
"end": "(do\\s*\\n$)|(?<!\\\\|,|,\\n|\\\\\\n)$",
|
430
|
+
"endCaptures": {
|
431
|
+
"1": {
|
432
|
+
"name": "keyword.control.start-block.ruby"
|
433
|
+
}
|
434
|
+
},
|
425
435
|
"name": "meta.line.ruby.slim",
|
426
436
|
"patterns": [
|
427
437
|
{
|
@@ -486,16 +496,20 @@
|
|
486
496
|
]
|
487
497
|
},
|
488
498
|
"tag-attribute": {
|
489
|
-
"begin": "([\\w.#_-]+)=(?!\\s)(true|false|nil)?(\\s*\\(|\\{)?",
|
499
|
+
"begin": "([\\w.#_-]+)(=)(?!\\s)(true|false|nil)?(\\s*\\(|\\{)?",
|
490
500
|
"captures": {
|
491
501
|
"1": {
|
492
502
|
"name": "entity.other.attribute-name.event.slim"
|
493
503
|
},
|
494
504
|
"2": {
|
505
|
+
"name": "punctuation.separator.key-value.html"
|
506
|
+
},
|
507
|
+
"3": {
|
495
508
|
"name": "constant.language.slim"
|
496
509
|
}
|
497
510
|
},
|
498
511
|
"end": "\\}|\\)|$",
|
512
|
+
"name": "meta.attribute-with-value.slim",
|
499
513
|
"patterns": [
|
500
514
|
{
|
501
515
|
"include": "#tag-stuff"
|
@@ -12,18 +12,19 @@
|
|
12
12
|
"classNameOne": "[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*",
|
13
13
|
"functionName": "(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*",
|
14
14
|
"className": "[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*",
|
15
|
-
"operatorChar": "[\\p{S}\\p{P}
|
16
|
-
"operator": "[\\p{S}\\p{P}
|
17
|
-
"operatorFun": "(?:\\((?!--+\\))[\\p{S}\\p{P}
|
15
|
+
"operatorChar": "(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))",
|
16
|
+
"operator": "(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))+",
|
17
|
+
"operatorFun": "(?:\\((?!--+\\))(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))+\\))",
|
18
18
|
"basicChar": "[\\ -\\[\\]-~]",
|
19
19
|
"escapeChar": "\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\&])",
|
20
20
|
"octalChar": "(?:\\\\o[0-7]+)",
|
21
21
|
"hexChar": "(?:\\\\x[0-9A-Fa-f]+)",
|
22
22
|
"controlChar": "(?:\\\\\\^[A-Z@\\[\\]\\\\^_])",
|
23
|
-
"character": "(?:[\\ -\\[\\]-~]|\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\&])|(?:\\\\o[0-7]+)|(?:\\\\x[0-9A-Fa-f]+)|(?:\\\\\\^[A-Z@\\[\\]\\\\^_])|[\\p{S}\\p{P}
|
24
|
-
"
|
25
|
-
"
|
26
|
-
"
|
23
|
+
"character": "(?:[\\ -\\[\\]-~]|\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\&])|(?:\\\\o[0-7]+)|(?:\\\\x[0-9A-Fa-f]+)|(?:\\\\\\^[A-Z@\\[\\]\\\\^_])|(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|])))",
|
24
|
+
"functionList": "((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\s*,\\s*)(?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))+\\))))*)",
|
25
|
+
"functionTypeDeclaration": "(?:(?:((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\s*,\\s*)(?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))+\\))))*)\\s*((?<!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))))))",
|
26
|
+
"doubleColonOperator": "(?<!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|])))",
|
27
|
+
"ctorTypeDeclaration": "(?:(?:((?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:\\((?!--+\\))(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\s*,\\s*)(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:\\((?!--+\\))(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))+\\))))*))(?:\\s*((?<!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))))))",
|
27
28
|
"ctorArgs": "(?!deriving)(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:(?!deriving)(?:[\\w()'→⇒\\[\\],]|->|=>)+\\s*)+)",
|
28
29
|
"ctor": "(?:(?:(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?<![\\p{Ll}_\\p{Lu}\\p{Lt}']))([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s*)(?:((?:(?!deriving)(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:(?!deriving)(?:[\\w()'→⇒\\[\\],]|->|=>)+\\s*)+))(?:(?:\\s+)(?:(?!deriving)(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:(?!deriving)(?:[\\w()'→⇒\\[\\],]|->|=>)+\\s*)+)))*)?))",
|
29
30
|
"typeDeclOne": "(?:(?!(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?<![\\p{Ll}_\\p{Lu}\\p{Lt}']))where(?:(?<=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])))(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*))",
|
@@ -38,7 +39,7 @@
|
|
38
39
|
},
|
39
40
|
"patterns": [
|
40
41
|
{
|
41
|
-
"begin": "^((\\\\)begin)({)(code|spec)(})(\\s
|
42
|
+
"begin": "^((\\\\)begin)({)(code|spec)(})(\\s*$)?",
|
42
43
|
"beginCaptures": {
|
43
44
|
"1": {
|
44
45
|
"name": "support.function.be.latex.haskell"
|
@@ -163,7 +164,7 @@
|
|
163
164
|
{
|
164
165
|
"name": "comment.line.double-dash.haddock.haskell",
|
165
166
|
"begin": "(--+)\\s+([|^])",
|
166
|
-
"end": "
|
167
|
+
"end": "$",
|
167
168
|
"beginCaptures": {
|
168
169
|
"1": {
|
169
170
|
"name": "punctuation.definition.comment.haskell"
|
@@ -176,13 +177,13 @@
|
|
176
177
|
]
|
177
178
|
},
|
178
179
|
{
|
179
|
-
"begin": "(^(?:>|<) [ \\t]+)?(?=--+(?![\\p{S}\\p{P}
|
180
|
+
"begin": "(^(?:>|<) [ \\t]+)?(?=--+(?!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))))",
|
180
181
|
"end": "(?!\\G)",
|
181
182
|
"patterns": [
|
182
183
|
{
|
183
184
|
"name": "comment.line.double-dash.haskell",
|
184
185
|
"begin": "--",
|
185
|
-
"end": "
|
186
|
+
"end": "$",
|
186
187
|
"beginCaptures": {
|
187
188
|
"0": {
|
188
189
|
"name": "punctuation.definition.comment.haskell"
|
@@ -220,7 +221,7 @@
|
|
220
221
|
"patterns": [
|
221
222
|
{
|
222
223
|
"name": "entity.name.function.infix.haskell",
|
223
|
-
"match": "(?:\\((?!--+\\))[\\p{S}\\p{P}
|
224
|
+
"match": "(?:\\((?!--+\\))(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))+\\))"
|
224
225
|
}
|
225
226
|
]
|
226
227
|
},
|
@@ -295,7 +296,7 @@
|
|
295
296
|
"end": "#-\\}",
|
296
297
|
"patterns": [
|
297
298
|
{
|
298
|
-
"match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?<![\\p{Ll}_\\p{Lu}\\p{Lt}']))(NOTINLINE CONSTRUCTORLIKE|NOINLINE CONSTRUCTORLIKE|INLINE CONSTRUCTORLIKE|SPECIALISE NOTINLINE|SPECIALIZE NOTINLINE|SPECIALISE NOINLINE|SPECIALIZE NOINLINE|NOTINLINE CONLIKE|SPECIALISE INLINE|SPECIALIZE INLINE|NOINLINE CONLIKE|VECTORISE SCALAR|VECTORIZE SCALAR|OPTIONS_HADDOCK|INLINE CONLIKE|OPTIONS_DERIVE|OPTIONS_CATCH|OPTIONS_NHC98|OPTIONS_HUGS|OVERLAPPABLE|NOVECTORISE|NOVECTORIZE|OPTIONS_GHC|OPTIONS_JHC|OPTIONS_YHC|OVERLAPPING|DEPRECATED|INCOHERENT|INLINEABLE|SPECIALISE|SPECIALIZE|GENERATED|INLINABLE|NOTINLINE|VECTORISE|VECTORIZE|CONTRACT|LANGUAGE|NOINLINE|NOUNPACK|OVERLAPS|INCLUDE|MINIMAL|OPTIONS|WARNING|CFILES|INLINE|SOURCE|UNPACK|CTYPE|RULES|CORE|LINE|ANN|SCC)(?:(?<=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
299
|
+
"match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?<![\\p{Ll}_\\p{Lu}\\p{Lt}']))((?i:NOTINLINE CONSTRUCTORLIKE|NOINLINE CONSTRUCTORLIKE|INLINE CONSTRUCTORLIKE|SPECIALISE NOTINLINE|SPECIALIZE NOTINLINE|SPECIALISE NOINLINE|SPECIALIZE NOINLINE|NOTINLINE CONLIKE|SPECIALISE INLINE|SPECIALIZE INLINE|NOINLINE CONLIKE|VECTORISE SCALAR|VECTORIZE SCALAR|OPTIONS_HADDOCK|INLINE CONLIKE|OPTIONS_DERIVE|OPTIONS_CATCH|OPTIONS_NHC98|OPTIONS_HUGS|OVERLAPPABLE|NOVECTORISE|NOVECTORIZE|OPTIONS_GHC|OPTIONS_JHC|OPTIONS_YHC|OVERLAPPING|DEPRECATED|INCOHERENT|INLINEABLE|SPECIALISE|SPECIALIZE|GENERATED|INLINABLE|NOTINLINE|VECTORISE|VECTORIZE|CONTRACT|LANGUAGE|NOINLINE|NOUNPACK|OVERLAPS|INCLUDE|MINIMAL|OPTIONS|WARNING|CFILES|INLINE|SOURCE|UNPACK|CTYPE|RULES|CORE|LINE|ANN|SCC))(?:(?<=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
299
300
|
"name": "keyword.other.preprocessor.haskell"
|
300
301
|
}
|
301
302
|
]
|
@@ -306,7 +307,7 @@
|
|
306
307
|
"patterns": [
|
307
308
|
{
|
308
309
|
"name": "meta.function.type-declaration.haskell",
|
309
|
-
"begin": "^(?:>|<) ([ \\t]*)(?:(?:((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))[\\p{S}\\p{P}
|
310
|
+
"begin": "^(?:>|<) ([ \\t]*)(?:(?:((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\s*,\\s*)(?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))+\\))))*)\\s*((?<!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))))))",
|
310
311
|
"end": "^(?!(?:>|<) \\1[ \\t]|(?:>|<) [ \\t]*$)|^(?!(?:>|<) )",
|
311
312
|
"contentName": "meta.type-signature.haskell",
|
312
313
|
"beginCaptures": {
|
@@ -332,11 +333,49 @@
|
|
332
333
|
}
|
333
334
|
]
|
334
335
|
},
|
336
|
+
"lazy_function_type_signature": {
|
337
|
+
"patterns": [
|
338
|
+
{
|
339
|
+
"name": "meta.function.type-declaration.haskell",
|
340
|
+
"begin": "^(?:>|<) ([ \\t]*)(((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\s*,\\s*)(?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))+\\))))*))\\s*$",
|
341
|
+
"end": "^(?!(?:>|<) \\1[ \\t]|(?:>|<) [ \\t]*$)|^(?!(?:>|<) )",
|
342
|
+
"contentName": "meta.type-signature.haskell",
|
343
|
+
"beginCaptures": {
|
344
|
+
"2": {
|
345
|
+
"patterns": [
|
346
|
+
{
|
347
|
+
"include": "#function_name"
|
348
|
+
},
|
349
|
+
{
|
350
|
+
"include": "#infix_op"
|
351
|
+
}
|
352
|
+
]
|
353
|
+
}
|
354
|
+
},
|
355
|
+
"patterns": [
|
356
|
+
{
|
357
|
+
"include": "#double_colon_operator"
|
358
|
+
},
|
359
|
+
{
|
360
|
+
"include": "#type_signature"
|
361
|
+
}
|
362
|
+
]
|
363
|
+
}
|
364
|
+
]
|
365
|
+
},
|
366
|
+
"double_colon_operator": {
|
367
|
+
"patterns": [
|
368
|
+
{
|
369
|
+
"name": "keyword.other.double-colon.haskell",
|
370
|
+
"match": "(?<!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|])))"
|
371
|
+
}
|
372
|
+
]
|
373
|
+
},
|
335
374
|
"ctor_type_declaration": {
|
336
375
|
"patterns": [
|
337
376
|
{
|
338
377
|
"name": "meta.ctor.type-declaration.haskell",
|
339
|
-
"begin": "^(?:>|<) ([ \\t]*)(?:(?:((?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:\\((?!--+\\))[\\p{S}\\p{P}
|
378
|
+
"begin": "^(?:>|<) ([ \\t]*)(?:(?:((?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:\\((?!--+\\))(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\s*,\\s*)(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:\\((?!--+\\))(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))+\\))))*))(?:\\s*((?<!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))))))",
|
340
379
|
"end": "^(?!(?:>|<) \\1[ \\t]|(?:>|<) [ \\t]*$)|^(?!(?:>|<) )",
|
341
380
|
"contentName": "meta.type-signature.haskell",
|
342
381
|
"beginCaptures": {
|
@@ -366,8 +405,8 @@
|
|
366
405
|
"patterns": [
|
367
406
|
{
|
368
407
|
"name": "meta.record-field.type-declaration.haskell",
|
369
|
-
"begin": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?<![\\p{Ll}_\\p{Lu}\\p{Lt}']))(?:(?:((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))[\\p{S}\\p{P}
|
370
|
-
"end": "(?=(?:(?:((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))[\\p{S}\\p{P}
|
408
|
+
"begin": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?<![\\p{Ll}_\\p{Lu}\\p{Lt}']))(?:(?:((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\s*,\\s*)(?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))+\\))))*)\\s*((?<!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))))))",
|
409
|
+
"end": "(?=(?:(?:((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\s*,\\s*)(?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))+\\))))*)\\s*((?<!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))))))|})",
|
371
410
|
"contentName": "meta.type-signature.haskell",
|
372
411
|
"beginCaptures": {
|
373
412
|
"1": {
|
@@ -415,11 +454,11 @@
|
|
415
454
|
},
|
416
455
|
{
|
417
456
|
"name": "keyword.other.arrow.haskell",
|
418
|
-
"match": "(?<![\\p{S}\\p{P}
|
457
|
+
"match": "(?<!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|])))(->|→)(?!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|])))"
|
419
458
|
},
|
420
459
|
{
|
421
460
|
"name": "keyword.other.big-arrow.haskell",
|
422
|
-
"match": "(?<![\\p{S}\\p{P}
|
461
|
+
"match": "(?<!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|])))(=>|⇒)(?!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|])))"
|
423
462
|
},
|
424
463
|
{
|
425
464
|
"include": "#operator"
|
@@ -534,14 +573,19 @@
|
|
534
573
|
"quasi_quotes": {
|
535
574
|
"patterns": [
|
536
575
|
{
|
537
|
-
"begin": "(\\[)([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)(\\|)",
|
576
|
+
"begin": "(\\[)((?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)(\\|)",
|
538
577
|
"end": "(\\|)(\\])",
|
539
578
|
"beginCaptures": {
|
540
579
|
"1": {
|
541
580
|
"name": "punctuation.definition.quasiquotes.begin.haskell"
|
542
581
|
},
|
543
582
|
"2": {
|
544
|
-
"name": "entity.name.tag.haskell"
|
583
|
+
"name": "entity.name.tag.haskell",
|
584
|
+
"patterns": [
|
585
|
+
{
|
586
|
+
"include": "#module_name_prefix"
|
587
|
+
}
|
588
|
+
]
|
545
589
|
}
|
546
590
|
},
|
547
591
|
"endCaptures": {
|
@@ -586,6 +630,39 @@
|
|
586
630
|
}
|
587
631
|
]
|
588
632
|
},
|
633
|
+
"hsig_decl": {
|
634
|
+
"patterns": [
|
635
|
+
{
|
636
|
+
"name": "meta.declaration.module.haskell",
|
637
|
+
"begin": "^(?:>|<) ([ \\t]*)(signature)(?:(?<=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
638
|
+
"end": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?<![\\p{Ll}_\\p{Lu}\\p{Lt}']))(where)(?:(?<=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))|^(?!(?:>|<) \\1[ \\t]|(?:>|<) [ \\t]*$)|^(?!(?:>|<) )",
|
639
|
+
"beginCaptures": {
|
640
|
+
"2": {
|
641
|
+
"name": "keyword.other.haskell"
|
642
|
+
}
|
643
|
+
},
|
644
|
+
"endCaptures": {
|
645
|
+
"1": {
|
646
|
+
"name": "keyword.other.haskell"
|
647
|
+
}
|
648
|
+
},
|
649
|
+
"patterns": [
|
650
|
+
{
|
651
|
+
"include": "#comments"
|
652
|
+
},
|
653
|
+
{
|
654
|
+
"include": "#module_name"
|
655
|
+
},
|
656
|
+
{
|
657
|
+
"include": "#module_exports"
|
658
|
+
},
|
659
|
+
{
|
660
|
+
"include": "#invalid"
|
661
|
+
}
|
662
|
+
]
|
663
|
+
}
|
664
|
+
]
|
665
|
+
},
|
589
666
|
"class_decl": {
|
590
667
|
"patterns": [
|
591
668
|
{
|
@@ -883,7 +960,7 @@
|
|
883
960
|
{
|
884
961
|
"name": "meta.preprocessor.c.haskell",
|
885
962
|
"begin": "^(?:>|<) (?=#)",
|
886
|
-
"end": "(?<!\\\\)(
|
963
|
+
"end": "(?<!\\\\)(?=$)",
|
887
964
|
"patterns": [
|
888
965
|
{
|
889
966
|
"include": "source.c"
|
@@ -947,7 +1024,7 @@
|
|
947
1024
|
"patterns": [
|
948
1025
|
{
|
949
1026
|
"name": "string.quoted.single.haskell",
|
950
|
-
"match": "(')((?:[\\ -\\[\\]-~]|\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\&])|(?:\\\\o[0-7]+)|(?:\\\\x[0-9A-Fa-f]+)|(?:\\\\\\^[A-Z@\\[\\]\\\\^_])|[\\p{S}\\p{P}
|
1027
|
+
"match": "(')((?:[\\ -\\[\\]-~]|\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\&])|(?:\\\\o[0-7]+)|(?:\\\\x[0-9A-Fa-f]+)|(?:\\\\\\^[A-Z@\\[\\]\\\\^_])|(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))))(')",
|
951
1028
|
"captures": {
|
952
1029
|
"1": {
|
953
1030
|
"name": "punctuation.definition.string.begin.haskell"
|
@@ -969,7 +1046,7 @@
|
|
969
1046
|
"scoped_type": {
|
970
1047
|
"patterns": [
|
971
1048
|
{
|
972
|
-
"match": "\\(((?<paren>(?:[^\\(\\)]|\\(\\g<paren>\\))*)(?<![\\p{S}\\p{P}
|
1049
|
+
"match": "\\(((?<paren>(?:[^\\(\\)]|\\(\\g<paren>\\))*)(?<!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|])))(?<paren2>(?:[^\\(\\)]|\\(\\g<paren2>\\))*))\\)",
|
973
1050
|
"captures": {
|
974
1051
|
"1": {
|
975
1052
|
"patterns": [
|
@@ -981,7 +1058,7 @@
|
|
981
1058
|
}
|
982
1059
|
},
|
983
1060
|
{
|
984
|
-
"match": "((?<![\\p{S}\\p{P}
|
1061
|
+
"match": "((?<!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))))(.*?)(?=(?<!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|])))(<-|=)(?!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|])))|$)",
|
985
1062
|
"captures": {
|
986
1063
|
"1": {
|
987
1064
|
"name": "keyword.other.double-colon.haskell"
|
@@ -1001,7 +1078,7 @@
|
|
1001
1078
|
"scoped_type_override": {
|
1002
1079
|
"patterns": [
|
1003
1080
|
{
|
1004
|
-
"match": "^(?:>|<) ([ \\t]*)(?:(?:((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))[\\p{S}\\p{P}
|
1081
|
+
"match": "^(?:>|<) ([ \\t]*)(?:(?:((?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\s*,\\s*)(?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:\\((?!--+\\))(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))+\\))))*)\\s*((?<!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))))))(.*)(?<!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|])))(<-|=)(?!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|])))",
|
1005
1082
|
"captures": {
|
1006
1083
|
"2": {
|
1007
1084
|
"patterns": [
|
@@ -1067,7 +1144,7 @@
|
|
1067
1144
|
"patterns": [
|
1068
1145
|
{
|
1069
1146
|
"name": "keyword.operator.haskell",
|
1070
|
-
"match": "[\\p{S}\\p{P}
|
1147
|
+
"match": "(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'\\|]))+"
|
1071
1148
|
}
|
1072
1149
|
]
|
1073
1150
|
},
|
@@ -1199,7 +1276,7 @@
|
|
1199
1276
|
"end": "@-\\}",
|
1200
1277
|
"patterns": [
|
1201
1278
|
{
|
1202
|
-
"include": "
|
1279
|
+
"include": "annotation.liquidhaskell.haskell"
|
1203
1280
|
}
|
1204
1281
|
]
|
1205
1282
|
}
|
@@ -1268,11 +1345,8 @@
|
|
1268
1345
|
}
|
1269
1346
|
]
|
1270
1347
|
},
|
1271
|
-
"
|
1348
|
+
"common_toplevel": {
|
1272
1349
|
"patterns": [
|
1273
|
-
{
|
1274
|
-
"include": "#liquidhaskell_annotation"
|
1275
|
-
},
|
1276
1350
|
{
|
1277
1351
|
"include": "#class_decl"
|
1278
1352
|
},
|
@@ -1296,18 +1370,51 @@
|
|
1296
1370
|
},
|
1297
1371
|
{
|
1298
1372
|
"include": "#c_preprocessor"
|
1299
|
-
}
|
1373
|
+
}
|
1374
|
+
]
|
1375
|
+
},
|
1376
|
+
"function_type_declaration_with_scoped_type": {
|
1377
|
+
"patterns": [
|
1300
1378
|
{
|
1301
1379
|
"include": "#scoped_type_override"
|
1302
1380
|
},
|
1303
1381
|
{
|
1304
1382
|
"include": "#function_type_declaration"
|
1383
|
+
}
|
1384
|
+
]
|
1385
|
+
},
|
1386
|
+
"haskell_toplevel": {
|
1387
|
+
"patterns": [
|
1388
|
+
{
|
1389
|
+
"include": "#liquidhaskell_annotation"
|
1390
|
+
},
|
1391
|
+
{
|
1392
|
+
"include": "#common_toplevel"
|
1393
|
+
},
|
1394
|
+
{
|
1395
|
+
"include": "#function_type_declaration_with_scoped_type"
|
1305
1396
|
},
|
1306
1397
|
{
|
1307
1398
|
"include": "#haskell_expr"
|
1308
1399
|
}
|
1309
1400
|
]
|
1310
1401
|
},
|
1402
|
+
"hsig_toplevel": {
|
1403
|
+
"patterns": [
|
1404
|
+
{
|
1405
|
+
"include": "#common_toplevel"
|
1406
|
+
},
|
1407
|
+
{
|
1408
|
+
"include": "#function_type_declaration"
|
1409
|
+
},
|
1410
|
+
{
|
1411
|
+
"include": "#lazy_function_type_signature"
|
1412
|
+
},
|
1413
|
+
{
|
1414
|
+
"include": "#comments"
|
1415
|
+
}
|
1416
|
+
]
|
1417
|
+
},
|
1311
1418
|
"haskell_source": {
|
1312
1419
|
"patterns": [
|
1313
1420
|
{
|
@@ -1320,6 +1427,16 @@
|
|
1320
1427
|
"include": "#haskell_toplevel"
|
1321
1428
|
}
|
1322
1429
|
]
|
1430
|
+
},
|
1431
|
+
"hsig_source": {
|
1432
|
+
"patterns": [
|
1433
|
+
{
|
1434
|
+
"include": "#hsig_decl"
|
1435
|
+
},
|
1436
|
+
{
|
1437
|
+
"include": "#hsig_toplevel"
|
1438
|
+
}
|
1439
|
+
]
|
1323
1440
|
}
|
1324
1441
|
}
|
1325
1442
|
}
|