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
@@ -20,7 +20,8 @@
|
|
20
20
|
"hexChar": "(?:\\\\x[0-9A-Fa-f]+)",
|
21
21
|
"controlChar": "(?:\\\\\\^[A-Z@\\[\\]\\\\^_])",
|
22
22
|
"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}](?<![(),;\\[\\]`{}_\"'])))",
|
23
|
-
"
|
23
|
+
"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}](?<![(),;\\[\\]`{}_\"']))+\\))))*)",
|
24
|
+
"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}](?<![(),;\\[\\]`{}_\"']))))))",
|
24
25
|
"doubleColonOperator": "(?<!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'])))",
|
25
26
|
"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}](?<![(),;\\[\\]`{}_\"']))))))",
|
26
27
|
"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*)+)",
|
@@ -96,7 +97,7 @@
|
|
96
97
|
{
|
97
98
|
"name": "comment.line.double-dash.haddock.haskell",
|
98
99
|
"begin": "(--+)\\s+([|^])",
|
99
|
-
"end": "
|
100
|
+
"end": "$",
|
100
101
|
"beginCaptures": {
|
101
102
|
"1": {
|
102
103
|
"name": "punctuation.definition.comment.haskell"
|
@@ -115,7 +116,7 @@
|
|
115
116
|
{
|
116
117
|
"name": "comment.line.double-dash.haskell",
|
117
118
|
"begin": "--",
|
118
|
-
"end": "
|
119
|
+
"end": "$",
|
119
120
|
"beginCaptures": {
|
120
121
|
"0": {
|
121
122
|
"name": "punctuation.definition.comment.haskell"
|
@@ -228,7 +229,7 @@
|
|
228
229
|
"end": "#-\\}",
|
229
230
|
"patterns": [
|
230
231
|
{
|
231
|
-
"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}']))",
|
232
|
+
"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}']))",
|
232
233
|
"name": "keyword.other.preprocessor.haskell"
|
233
234
|
}
|
234
235
|
]
|
@@ -239,7 +240,7 @@
|
|
239
240
|
"patterns": [
|
240
241
|
{
|
241
242
|
"name": "meta.function.type-declaration.haskell",
|
242
|
-
"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}](?<![(),;\\[\\]`{}_\"']))+\\))))*)
|
243
|
+
"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}](?<![(),;\\[\\]`{}_\"']))))))",
|
243
244
|
"end": "^(?!\\1[ \\t]|[ \\t]*$)",
|
244
245
|
"contentName": "meta.type-signature.haskell",
|
245
246
|
"beginCaptures": {
|
@@ -265,6 +266,44 @@
|
|
265
266
|
}
|
266
267
|
]
|
267
268
|
},
|
269
|
+
"lazy_function_type_signature": {
|
270
|
+
"patterns": [
|
271
|
+
{
|
272
|
+
"name": "meta.function.type-declaration.haskell",
|
273
|
+
"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*$",
|
274
|
+
"end": "^(?!\\1[ \\t]|[ \\t]*$)",
|
275
|
+
"contentName": "meta.type-signature.haskell",
|
276
|
+
"beginCaptures": {
|
277
|
+
"2": {
|
278
|
+
"patterns": [
|
279
|
+
{
|
280
|
+
"include": "#function_name"
|
281
|
+
},
|
282
|
+
{
|
283
|
+
"include": "#infix_op"
|
284
|
+
}
|
285
|
+
]
|
286
|
+
}
|
287
|
+
},
|
288
|
+
"patterns": [
|
289
|
+
{
|
290
|
+
"include": "#double_colon_operator"
|
291
|
+
},
|
292
|
+
{
|
293
|
+
"include": "#type_signature"
|
294
|
+
}
|
295
|
+
]
|
296
|
+
}
|
297
|
+
]
|
298
|
+
},
|
299
|
+
"double_colon_operator": {
|
300
|
+
"patterns": [
|
301
|
+
{
|
302
|
+
"name": "keyword.other.double-colon.haskell",
|
303
|
+
"match": "(?<!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?<![(),;\\[\\]`{}_\"'])))"
|
304
|
+
}
|
305
|
+
]
|
306
|
+
},
|
268
307
|
"ctor_type_declaration": {
|
269
308
|
"patterns": [
|
270
309
|
{
|
@@ -299,8 +338,8 @@
|
|
299
338
|
"patterns": [
|
300
339
|
{
|
301
340
|
"name": "meta.record-field.type-declaration.haskell",
|
302
|
-
"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}](?<![(),;\\[\\]`{}_\"']))+\\))))*)
|
303
|
-
"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}](?<![(),;\\[\\]`{}_\"']))+\\))))*)
|
341
|
+
"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}](?<![(),;\\[\\]`{}_\"']))))))",
|
342
|
+
"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}](?<![(),;\\[\\]`{}_\"']))))))|})",
|
304
343
|
"contentName": "meta.type-signature.haskell",
|
305
344
|
"beginCaptures": {
|
306
345
|
"1": {
|
@@ -467,14 +506,19 @@
|
|
467
506
|
"quasi_quotes": {
|
468
507
|
"patterns": [
|
469
508
|
{
|
470
|
-
"begin": "(\\[)([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)(\\|)",
|
509
|
+
"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}']*)(\\|)",
|
471
510
|
"end": "(\\|)(\\])",
|
472
511
|
"beginCaptures": {
|
473
512
|
"1": {
|
474
513
|
"name": "punctuation.definition.quasiquotes.begin.haskell"
|
475
514
|
},
|
476
515
|
"2": {
|
477
|
-
"name": "entity.name.tag.haskell"
|
516
|
+
"name": "entity.name.tag.haskell",
|
517
|
+
"patterns": [
|
518
|
+
{
|
519
|
+
"include": "#module_name_prefix"
|
520
|
+
}
|
521
|
+
]
|
478
522
|
}
|
479
523
|
},
|
480
524
|
"endCaptures": {
|
@@ -519,6 +563,39 @@
|
|
519
563
|
}
|
520
564
|
]
|
521
565
|
},
|
566
|
+
"hsig_decl": {
|
567
|
+
"patterns": [
|
568
|
+
{
|
569
|
+
"name": "meta.declaration.module.haskell",
|
570
|
+
"begin": "^([ \\t]*)(signature)(?:(?<=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
|
571
|
+
"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]*$)",
|
572
|
+
"beginCaptures": {
|
573
|
+
"2": {
|
574
|
+
"name": "keyword.other.haskell"
|
575
|
+
}
|
576
|
+
},
|
577
|
+
"endCaptures": {
|
578
|
+
"1": {
|
579
|
+
"name": "keyword.other.haskell"
|
580
|
+
}
|
581
|
+
},
|
582
|
+
"patterns": [
|
583
|
+
{
|
584
|
+
"include": "#comments"
|
585
|
+
},
|
586
|
+
{
|
587
|
+
"include": "#module_name"
|
588
|
+
},
|
589
|
+
{
|
590
|
+
"include": "#module_exports"
|
591
|
+
},
|
592
|
+
{
|
593
|
+
"include": "#invalid"
|
594
|
+
}
|
595
|
+
]
|
596
|
+
}
|
597
|
+
]
|
598
|
+
},
|
522
599
|
"class_decl": {
|
523
600
|
"patterns": [
|
524
601
|
{
|
@@ -816,7 +893,7 @@
|
|
816
893
|
{
|
817
894
|
"name": "meta.preprocessor.c.haskell",
|
818
895
|
"begin": "^(?=#)",
|
819
|
-
"end": "(?<!\\\\)(
|
896
|
+
"end": "(?<!\\\\)(?=$)",
|
820
897
|
"patterns": [
|
821
898
|
{
|
822
899
|
"include": "source.c"
|
@@ -934,7 +1011,7 @@
|
|
934
1011
|
"scoped_type_override": {
|
935
1012
|
"patterns": [
|
936
1013
|
{
|
937
|
-
"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}](?<![(),;\\[\\]`{}_\"']))+\\))))*)
|
1014
|
+
"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}](?<![(),;\\[\\]`{}_\"'])))",
|
938
1015
|
"captures": {
|
939
1016
|
"2": {
|
940
1017
|
"patterns": [
|
@@ -1132,7 +1209,7 @@
|
|
1132
1209
|
"end": "@-\\}",
|
1133
1210
|
"patterns": [
|
1134
1211
|
{
|
1135
|
-
"include": "
|
1212
|
+
"include": "annotation.liquidhaskell.haskell"
|
1136
1213
|
}
|
1137
1214
|
]
|
1138
1215
|
}
|
@@ -1201,11 +1278,8 @@
|
|
1201
1278
|
}
|
1202
1279
|
]
|
1203
1280
|
},
|
1204
|
-
"
|
1281
|
+
"common_toplevel": {
|
1205
1282
|
"patterns": [
|
1206
|
-
{
|
1207
|
-
"include": "#liquidhaskell_annotation"
|
1208
|
-
},
|
1209
1283
|
{
|
1210
1284
|
"include": "#class_decl"
|
1211
1285
|
},
|
@@ -1229,18 +1303,51 @@
|
|
1229
1303
|
},
|
1230
1304
|
{
|
1231
1305
|
"include": "#c_preprocessor"
|
1232
|
-
}
|
1306
|
+
}
|
1307
|
+
]
|
1308
|
+
},
|
1309
|
+
"function_type_declaration_with_scoped_type": {
|
1310
|
+
"patterns": [
|
1233
1311
|
{
|
1234
1312
|
"include": "#scoped_type_override"
|
1235
1313
|
},
|
1236
1314
|
{
|
1237
1315
|
"include": "#function_type_declaration"
|
1316
|
+
}
|
1317
|
+
]
|
1318
|
+
},
|
1319
|
+
"haskell_toplevel": {
|
1320
|
+
"patterns": [
|
1321
|
+
{
|
1322
|
+
"include": "#liquidhaskell_annotation"
|
1323
|
+
},
|
1324
|
+
{
|
1325
|
+
"include": "#common_toplevel"
|
1326
|
+
},
|
1327
|
+
{
|
1328
|
+
"include": "#function_type_declaration_with_scoped_type"
|
1238
1329
|
},
|
1239
1330
|
{
|
1240
1331
|
"include": "#haskell_expr"
|
1241
1332
|
}
|
1242
1333
|
]
|
1243
1334
|
},
|
1335
|
+
"hsig_toplevel": {
|
1336
|
+
"patterns": [
|
1337
|
+
{
|
1338
|
+
"include": "#common_toplevel"
|
1339
|
+
},
|
1340
|
+
{
|
1341
|
+
"include": "#function_type_declaration"
|
1342
|
+
},
|
1343
|
+
{
|
1344
|
+
"include": "#lazy_function_type_signature"
|
1345
|
+
},
|
1346
|
+
{
|
1347
|
+
"include": "#comments"
|
1348
|
+
}
|
1349
|
+
]
|
1350
|
+
},
|
1244
1351
|
"haskell_source": {
|
1245
1352
|
"patterns": [
|
1246
1353
|
{
|
@@ -1253,6 +1360,16 @@
|
|
1253
1360
|
"include": "#haskell_toplevel"
|
1254
1361
|
}
|
1255
1362
|
]
|
1363
|
+
},
|
1364
|
+
"hsig_source": {
|
1365
|
+
"patterns": [
|
1366
|
+
{
|
1367
|
+
"include": "#hsig_decl"
|
1368
|
+
},
|
1369
|
+
{
|
1370
|
+
"include": "#hsig_toplevel"
|
1371
|
+
}
|
1372
|
+
]
|
1256
1373
|
}
|
1257
1374
|
}
|
1258
1375
|
}
|
data/grammars/source.abl.json
CHANGED
@@ -1,60 +1,63 @@
|
|
1
1
|
{
|
2
|
+
"name": "OpenEdge ABL",
|
3
|
+
"scopeName": "source.abl",
|
2
4
|
"fileTypes": [
|
3
5
|
"w",
|
4
6
|
"p",
|
5
7
|
"i"
|
6
8
|
],
|
7
|
-
"
|
9
|
+
"uuid": "075bb86e-03ea-4fea-bac0-e11b9dc73e03",
|
8
10
|
"patterns": [
|
9
11
|
{
|
12
|
+
"name": "comment.block.source.abl",
|
10
13
|
"begin": "/\\*",
|
11
|
-
"end": "\\*/(?![^/]*?\\*/)"
|
12
|
-
"name": "comment.block.source.abl"
|
14
|
+
"end": "\\*/(?![^/]*?\\*/)"
|
13
15
|
},
|
14
16
|
{
|
15
17
|
"match": "('(?:'|.)*?')",
|
16
18
|
"name": "string.single.source.abl"
|
17
19
|
},
|
18
20
|
{
|
19
|
-
"
|
20
|
-
"
|
21
|
+
"name": "string.double.source.abl",
|
22
|
+
"match": "\\\"\\\"[a-zA-Z0-9_\\.\\-]+\\\"\\\""
|
21
23
|
},
|
22
24
|
{
|
25
|
+
"name": "string.double.complex.abl",
|
23
26
|
"begin": "(\\\"(?!\\\"[a-zA-Z]+)|\\\"\\\"[a-zA-Z]+)",
|
24
27
|
"end": "\\\"(?!\\\")",
|
25
|
-
"name": "string.double.complex.abl",
|
26
28
|
"patterns": [
|
27
29
|
{
|
28
|
-
"
|
29
|
-
"
|
30
|
+
"name": "constant.character.escape.abl",
|
31
|
+
"match": "(~(x\\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)|\\\"\\\")"
|
30
32
|
}
|
31
33
|
]
|
32
34
|
},
|
33
35
|
{
|
34
|
-
"
|
35
|
-
"
|
36
|
+
"name": "constant.numeric.source.abl",
|
37
|
+
"match": "(?<!\\w)((0(x|X)[0-9a-fA-F]+)|([0-9]+(\\.[0-9]+)?))"
|
36
38
|
},
|
37
39
|
{
|
38
|
-
"
|
39
|
-
"
|
40
|
+
"name": "constant.language.source.abl",
|
41
|
+
"match": "(?i)\\b(true|false|yes|no(?!-))\\b"
|
40
42
|
},
|
41
43
|
{
|
42
|
-
"
|
43
|
-
"
|
44
|
+
"name": "keyword.operator.source.abl",
|
45
|
+
"match": "(?i)(\\b(or|and|not|is)\\b|(=|\\+| - |/|<|>|,|\\.))"
|
44
46
|
},
|
45
47
|
{
|
46
|
-
"
|
47
|
-
"
|
48
|
+
"name": "keyword.option.source.abl",
|
49
|
+
"match": "(?i)(\\b(return|function|return(s)?|forward|input|output|like|new|no-undo|no-box|no-labels|(share|no|exclusive)-lock|no-error|format|colon|label|init(ial)?|side-labels|width|primary|use-index)\\b|@)"
|
48
50
|
},
|
49
51
|
{
|
50
|
-
"
|
51
|
-
"
|
52
|
+
"name": "keyword.statement.source.abl",
|
53
|
+
"match": "(?i)\\b(disp(lay)?|for|do|repeat|delete|create|update|empty|assign|import( unformatted)?|input\\s+(from|close)|with|skip)\\b"
|
52
54
|
},
|
53
55
|
{
|
54
|
-
"
|
55
|
-
"
|
56
|
+
"name": "keyword.type.source.abl",
|
57
|
+
"match": "(?i)\\b(as|for(?!\\s+(each|first|last)))\\b"
|
56
58
|
},
|
57
59
|
{
|
60
|
+
"match": "(?i)\\b(like)\\s+([a-zA-Z0-9_\\.-]+),",
|
58
61
|
"captures": {
|
59
62
|
"1": {
|
60
63
|
"name": "keyword.type.source.abl"
|
@@ -62,35 +65,36 @@
|
|
62
65
|
"2": {
|
63
66
|
"name": "storage.type.source.abl"
|
64
67
|
}
|
65
|
-
}
|
66
|
-
"match": "(?i)\\b(like)\\s+([a-zA-Z0-9_\\.-]+),"
|
68
|
+
}
|
67
69
|
},
|
68
70
|
{
|
69
|
-
"
|
70
|
-
"
|
71
|
+
"name": "keyword.control.source.abl",
|
72
|
+
"match": "(?i)(\\b(if|avail(able)?|down|where|else( if)?|each|first|last|while|find( first|last)?|then( do( transaction)?)?|next|page|quit)\\b|(?<!-)(\\bend\\b(?!\\s+procedure)))"
|
71
73
|
},
|
72
74
|
{
|
73
|
-
"
|
74
|
-
"
|
75
|
+
"name": "storage.type.define.abl",
|
76
|
+
"match": "(?i)\\b(def(ine)?\\s+(((new\\s+)?shared\\s+)?(var(iable)?|stream|buffer)|((input|input-output|output)\\s+param(eter)?)|temp-table|query)|form)\\b"
|
75
77
|
},
|
76
78
|
{
|
77
|
-
"
|
78
|
-
"
|
79
|
+
"name": "storage.type.source.abl",
|
80
|
+
"match": "(?i)\\b(?<!&)(char(acter)?|(?<!-)handle|dataset(-handle)?|field|(?<!-)index|log(ical)?|int(eger|64)?|dec(imal)?|stream|temp-table|frame [a-z]+)(?!\\s*\\()\\b"
|
79
81
|
},
|
80
82
|
{
|
81
|
-
"
|
82
|
-
"
|
83
|
+
"name": "storage.type.function.abl",
|
84
|
+
"match": "(?i)(end (procedure|function))"
|
83
85
|
},
|
84
86
|
{
|
87
|
+
"name": "support.function.abl",
|
88
|
+
"match": "(?i)(\\b[a-z][a-z0-9_-]*?\\b\\s*)(?=\\s*\\(.*?\\))",
|
85
89
|
"captures": {
|
86
90
|
"1": {
|
87
91
|
"name": "support.function.source.abl"
|
88
92
|
}
|
89
|
-
}
|
90
|
-
"match": "(?i)(\\b[a-z][a-z0-9_-]*?\\b\\s*)(?=\\s*\\(.*?\\))",
|
91
|
-
"name": "support.function.abl"
|
93
|
+
}
|
92
94
|
},
|
93
95
|
{
|
96
|
+
"name": "support.function.abl",
|
97
|
+
"match": "(?i)\\b(run) ([a-z][a-z0-9_-]*)\\b(\\s*\\(.*?\\))?",
|
94
98
|
"captures": {
|
95
99
|
"1": {
|
96
100
|
"name": "keyword.statement.source.abl"
|
@@ -98,11 +102,11 @@
|
|
98
102
|
"2": {
|
99
103
|
"name": "support.function.source.abl"
|
100
104
|
}
|
101
|
-
}
|
102
|
-
"match": "(?i)\\b(run) ([a-z][a-z0-9_-]*)\\b(\\s*\\(.*?\\))?",
|
103
|
-
"name": "support.function.abl"
|
105
|
+
}
|
104
106
|
},
|
105
107
|
{
|
108
|
+
"name": "meta.function.source.abl",
|
109
|
+
"match": "(?i)(procedure)\\s+([a-z0-9_-]+)",
|
106
110
|
"captures": {
|
107
111
|
"1": {
|
108
112
|
"name": "storage.type.function.abl"
|
@@ -110,29 +114,25 @@
|
|
110
114
|
"2": {
|
111
115
|
"name": "entity.name.function.abl"
|
112
116
|
}
|
113
|
-
}
|
114
|
-
"match": "(?i)(procedure)\\s+([a-z0-9_-]+)",
|
115
|
-
"name": "meta.function.source.abl"
|
117
|
+
}
|
116
118
|
},
|
117
119
|
{
|
120
|
+
"name": "meta.function.bracket.abl",
|
121
|
+
"match": "(?i)(\\{[a-z0-9_\\./-]+)",
|
118
122
|
"captures": {
|
119
123
|
"1": {
|
120
124
|
"name": "support.function.source.abl"
|
121
125
|
}
|
122
|
-
}
|
123
|
-
"match": "(?i)(\\{[a-z0-9_\\./-]+)",
|
124
|
-
"name": "meta.function.bracket.abl"
|
126
|
+
}
|
125
127
|
},
|
126
128
|
{
|
129
|
+
"name": "meta.function.bracket.abl",
|
130
|
+
"match": "\\}",
|
127
131
|
"captures": {
|
128
132
|
"0": {
|
129
133
|
"name": "support.function.source.abl"
|
130
134
|
}
|
131
|
-
}
|
132
|
-
"match": "\\}",
|
133
|
-
"name": "meta.function.bracket.abl"
|
135
|
+
}
|
134
136
|
}
|
135
|
-
]
|
136
|
-
"scopeName": "source.abl",
|
137
|
-
"uuid": "075bb86e-03ea-4fea-bac0-e11b9dc73e03"
|
137
|
+
]
|
138
138
|
}
|