github-linguist 6.1.0 → 6.2.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 +14 -14
- data/grammars/hint.haskell.json +14 -14
- data/grammars/hint.message.haskell.json +14 -14
- data/grammars/hint.type.haskell.json +14 -14
- data/grammars/markdown.haxe.codeblock.json +26 -0
- data/grammars/markdown.hxml.codeblock.json +26 -0
- data/grammars/source.angelscript.json +1 -1
- data/grammars/source.ballerina.json +973 -61
- data/grammars/source.csound.json +1 -1
- data/grammars/source.emacs.lisp.json +35 -0
- data/grammars/source.firestore.json +289 -0
- data/grammars/source.gfm.json +7 -7
- data/grammars/source.haskell.json +14 -14
- data/grammars/source.hql.json +492 -0
- data/grammars/source.hsig.json +14 -14
- data/grammars/source.hx.json +14 -6
- data/grammars/source.hx.type.json +8 -0
- data/grammars/source.jison.json +1 -1
- data/grammars/source.js.json +1 -1
- data/grammars/source.powershell.json +384 -141
- data/grammars/source.q.json +120 -0
- data/grammars/source.q_output.json +348 -0
- data/grammars/source.rascal.json +0 -1
- data/grammars/source.sas.json +3 -3
- data/grammars/source.solidity.json +84 -13
- data/grammars/source.ts.json +226 -85
- data/grammars/source.tsx.json +230 -89
- data/grammars/source.viml.json +73 -18
- data/grammars/text.hamlc.json +1 -1
- data/grammars/text.html.markdown.source.gfm.apib.json +11 -2
- data/grammars/text.html.mediawiki.json +6 -6
- data/grammars/text.html.php.blade.json +3 -3
- data/grammars/text.tex.latex.haskell.json +14 -14
- data/lib/linguist/generated.rb +27 -1
- data/lib/linguist/heuristics.rb +8 -0
- data/lib/linguist/language.rb +12 -15
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +55 -10
- data/lib/linguist/samples.json +1623 -158
- data/lib/linguist/strategy/modeline.rb +11 -11
- data/lib/linguist/version.rb +1 -1
- metadata +9 -3
- data/grammars/source.j.json +0 -46
data/grammars/source.viml.json
CHANGED
@@ -7,6 +7,18 @@
|
|
7
7
|
}
|
8
8
|
],
|
9
9
|
"repository": {
|
10
|
+
"assignment": {
|
11
|
+
"patterns": [
|
12
|
+
{
|
13
|
+
"name": "keyword.operator.assignment.compound.viml",
|
14
|
+
"match": "[-+.]="
|
15
|
+
},
|
16
|
+
{
|
17
|
+
"name": "keyword.operator.assignment.viml",
|
18
|
+
"match": "="
|
19
|
+
}
|
20
|
+
]
|
21
|
+
},
|
10
22
|
"augGroup": {
|
11
23
|
"patterns": [
|
12
24
|
{
|
@@ -42,9 +54,6 @@
|
|
42
54
|
{
|
43
55
|
"include": "#modelines"
|
44
56
|
},
|
45
|
-
{
|
46
|
-
"include": "#folds"
|
47
|
-
},
|
48
57
|
{
|
49
58
|
"include": "#todo"
|
50
59
|
}
|
@@ -110,6 +119,15 @@
|
|
110
119
|
}
|
111
120
|
]
|
112
121
|
},
|
122
|
+
"escape": {
|
123
|
+
"name": "constant.character.escape.backslash.viml",
|
124
|
+
"match": "(\\\\).",
|
125
|
+
"captures": {
|
126
|
+
"1": {
|
127
|
+
"name": "punctuation.definition.escape.backslash.viml"
|
128
|
+
}
|
129
|
+
}
|
130
|
+
},
|
113
131
|
"expr": {
|
114
132
|
"patterns": [
|
115
133
|
{
|
@@ -164,10 +182,6 @@
|
|
164
182
|
"name": "punctuation.separator.colon.viml",
|
165
183
|
"match": ":"
|
166
184
|
},
|
167
|
-
{
|
168
|
-
"name": "keyword.operator.assignment.viml",
|
169
|
-
"match": "[-+.]?="
|
170
|
-
},
|
171
185
|
{
|
172
186
|
"name": "keyword.operator.rest.viml",
|
173
187
|
"match": "\\.{3}"
|
@@ -184,11 +198,7 @@
|
|
184
198
|
},
|
185
199
|
"extraVimFunc": {
|
186
200
|
"name": "support.function.viml",
|
187
|
-
"match": "(?x)\\b\n\t(
|
188
|
-
},
|
189
|
-
"folds": {
|
190
|
-
"name": "entity.name.fold.heading.viml",
|
191
|
-
"match": "(?\u003c=\").*?{{{\\d*|(?\u003c=\")\\s*}}}"
|
201
|
+
"match": "(?x)\\b\n\t((?:echo(?:hl?)?)|exe(?:c(?:ute)?)?|[lxvn]?noremap|smapc(?:lear)?|mapmode|xmap|(?:[xs]un|snore)map\n\t|Plugin|autocmd|[cinvo]?(?:un|nore)?(?:map|menu)|(?:range)?go(?:to)?|(?:count)?(?:pop?|tag?|tn(?:ext)?|tp(?:revious)?|tr(?:ewind)?)\n\t|(?:range)?(?:s(?:ubstitute)?|ret(?:ab)?|g(?:lobal)?)|unm(?:ap)?|map_l|mapc(?:lear)?|N?buffer|N?bnext|N?bNext|N?bprevious|N?bmod\n\t|ab(?:breviate)?|norea(?:bbrev)?|[ic](?:un|nore)?ab|split_f|rangefold|[ic](?:un|nore)?ab|[ic]abbrev|edit_f|next_f|[vcoxli]u\n\t|(?:range)?(?:w(?:rite)?|up(?:date)?)|sar|cno|[vl]n|[io]?no|[xn]n|snor|lm(?:ap)?|lunmap|lear|[vnx]m|om|[ci]m|ap|nun|sunm)\n\\b"
|
192
202
|
},
|
193
203
|
"funcDef": {
|
194
204
|
"patterns": [
|
@@ -210,7 +220,7 @@
|
|
210
220
|
},
|
211
221
|
{
|
212
222
|
"name": "storage.modifier.$1.function.viml",
|
213
|
-
"match": "(?\u003c=\\)|\\s)(abort|dict)(?=\\s|$)"
|
223
|
+
"match": "(?\u003c=\\)|\\s)(abort|dict|closure|range)(?=\\s|$)"
|
214
224
|
}
|
215
225
|
]
|
216
226
|
},
|
@@ -371,9 +381,6 @@
|
|
371
381
|
{
|
372
382
|
"include": "#vimTodo"
|
373
383
|
},
|
374
|
-
{
|
375
|
-
"include": "#folds"
|
376
|
-
},
|
377
384
|
{
|
378
385
|
"include": "#comments"
|
379
386
|
},
|
@@ -383,6 +390,9 @@
|
|
383
390
|
{
|
384
391
|
"include": "#pathname"
|
385
392
|
},
|
393
|
+
{
|
394
|
+
"include": "#escape"
|
395
|
+
},
|
386
396
|
{
|
387
397
|
"include": "#strings"
|
388
398
|
},
|
@@ -407,6 +417,9 @@
|
|
407
417
|
{
|
408
418
|
"include": "#parameter"
|
409
419
|
},
|
420
|
+
{
|
421
|
+
"include": "#assignment"
|
422
|
+
},
|
410
423
|
{
|
411
424
|
"include": "#expr"
|
412
425
|
},
|
@@ -594,26 +607,65 @@
|
|
594
607
|
},
|
595
608
|
"strings": {
|
596
609
|
"patterns": [
|
610
|
+
{
|
611
|
+
"name": "string.quoted.double.empty.viml",
|
612
|
+
"match": "(\")(\")",
|
613
|
+
"captures": {
|
614
|
+
"1": {
|
615
|
+
"name": "punctuation.definition.string.begin.viml"
|
616
|
+
},
|
617
|
+
"2": {
|
618
|
+
"name": "punctuation.definition.string.end.viml"
|
619
|
+
}
|
620
|
+
}
|
621
|
+
},
|
622
|
+
{
|
623
|
+
"name": "string.quoted.single.empty.viml",
|
624
|
+
"match": "(')(')",
|
625
|
+
"captures": {
|
626
|
+
"1": {
|
627
|
+
"name": "punctuation.definition.string.begin.viml"
|
628
|
+
},
|
629
|
+
"2": {
|
630
|
+
"name": "punctuation.definition.string.end.viml"
|
631
|
+
}
|
632
|
+
}
|
633
|
+
},
|
597
634
|
{
|
598
635
|
"name": "string.quoted.double.viml",
|
599
|
-
"match": "(\")(
|
636
|
+
"match": "(\")((?:[^\\\\\"]|\\\\.)*)(\")",
|
600
637
|
"captures": {
|
601
638
|
"1": {
|
602
639
|
"name": "punctuation.definition.string.begin.viml"
|
603
640
|
},
|
604
641
|
"2": {
|
642
|
+
"patterns": [
|
643
|
+
{
|
644
|
+
"include": "#escape"
|
645
|
+
}
|
646
|
+
]
|
647
|
+
},
|
648
|
+
"3": {
|
605
649
|
"name": "punctuation.definition.string.end.viml"
|
606
650
|
}
|
607
651
|
}
|
608
652
|
},
|
609
653
|
{
|
610
654
|
"name": "string.quoted.single.viml",
|
611
|
-
"match": "(')(?:'
|
655
|
+
"match": "(')((?:[^']|'')*)(')",
|
612
656
|
"captures": {
|
613
657
|
"1": {
|
614
658
|
"name": "punctuation.definition.string.begin.viml"
|
615
659
|
},
|
616
660
|
"2": {
|
661
|
+
"patterns": [
|
662
|
+
{
|
663
|
+
"name": "constant.character.escape.quotes.viml",
|
664
|
+
"match": "''"
|
665
|
+
}
|
666
|
+
]
|
667
|
+
},
|
668
|
+
"3": {
|
617
669
|
"name": "punctuation.definition.string.end.viml"
|
618
670
|
}
|
619
671
|
}
|
@@ -683,6 +735,9 @@
|
|
683
735
|
{
|
684
736
|
"include": "#syntaxOptions"
|
685
737
|
},
|
738
|
+
{
|
739
|
+
"include": "#assignment"
|
740
|
+
},
|
686
741
|
{
|
687
742
|
"include": "#expr"
|
688
743
|
}
|
data/grammars/text.hamlc.json
CHANGED
@@ -19,7 +19,7 @@
|
|
19
19
|
},
|
20
20
|
{
|
21
21
|
"name": "blueprint.response.json",
|
22
|
-
"begin": "([-+*]) ([Rr]equest|[Rr]esponse) (\\d+)?(?: (\\(.*\\/+json(?:[ ;\\/]+.*)?\\)))+",
|
22
|
+
"begin": "([-+*]) (?:([Rr]equest)|([Rr]esponse)) (?:(\\d+)|([^\\(]+))?(?: (\\(.*\\/+json(?:[ ;\\/]+.*)?\\)))+",
|
23
23
|
"end": "^(?=\\S)",
|
24
24
|
"patterns": [
|
25
25
|
{
|
@@ -53,10 +53,19 @@
|
|
53
53
|
"1": {
|
54
54
|
"name": "variable.unordered.list.gfm"
|
55
55
|
},
|
56
|
+
"2": {
|
57
|
+
"name": "markup.heading.markdown punctuation.definition.heading.bold"
|
58
|
+
},
|
56
59
|
"3": {
|
57
|
-
"name": "
|
60
|
+
"name": "markup.italic.markdown"
|
58
61
|
},
|
59
62
|
"4": {
|
63
|
+
"name": "constant.numeric"
|
64
|
+
},
|
65
|
+
"5": {
|
66
|
+
"name": "keyword.other"
|
67
|
+
},
|
68
|
+
"6": {
|
60
69
|
"name": "variable.language.fenced.markdown"
|
61
70
|
}
|
62
71
|
}
|
@@ -28,15 +28,12 @@
|
|
28
28
|
}
|
29
29
|
},
|
30
30
|
{
|
31
|
-
"name": "meta.tag.source.mediawiki",
|
32
31
|
"begin": " ?(\u003c)(source)[ \\t]+(lang)(=)(\"[^\"]+\")(\u003e)",
|
33
32
|
"end": " ?(\u003c/)(source)(\u003e)",
|
34
|
-
"patterns": [
|
35
|
-
{
|
36
|
-
"include": "#tag-stuff"
|
37
|
-
}
|
38
|
-
],
|
39
33
|
"beginCaptures": {
|
34
|
+
"0": {
|
35
|
+
"name": "meta.tag.source.mediawiki"
|
36
|
+
},
|
40
37
|
"1": {
|
41
38
|
"name": "punctuation.definition.tag.mediawiki"
|
42
39
|
},
|
@@ -57,6 +54,9 @@
|
|
57
54
|
}
|
58
55
|
},
|
59
56
|
"endCaptures": {
|
57
|
+
"0": {
|
58
|
+
"name": "meta.tag.source.mediawiki"
|
59
|
+
},
|
60
60
|
"1": {
|
61
61
|
"name": "punctuation.definition.tag.mediawiki"
|
62
62
|
},
|
@@ -3576,7 +3576,7 @@
|
|
3576
3576
|
{
|
3577
3577
|
"name": "meta.directive.blade",
|
3578
3578
|
"contentName": "source.php",
|
3579
|
-
"begin": "(?x)\n(?\u003c![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n(\n @\n (?i: # Ordering not important as we everything will be matched up to opening parentheses\n auth\n |break\n |can\n |cannot\n |case\n |choice\n |component\n |continue\n |dd\n |dump\n |each\n |elseauth\n |elsecan\n |elsecannot\n |elseguest\n |elseif\n |empty\n |extends\n |for\n |foreach\n |forelse\n |guest\n |hassection\n |if\n |include\n |includefirst\n |includeif\n |includewhen\n |inject\n |isset\n |json\n |lang\n |method\n |php\n |prepend\n |push\n |section\n |slot\n |stack\n |switch\n |unless\n |unset\n |while\n |yield\n )\n [\\t ]* # Whitespace between name and parentheses\n)\n(\\() # Followed by opening parentheses",
|
3579
|
+
"begin": "(?x)\n(?\u003c![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n(\n @\n (?i: # Ordering not important as we everything will be matched up to opening parentheses\n auth\n |break\n |can\n |canany\n |cannot\n |case\n |choice\n |component\n |continue\n |dd\n |dump\n |each\n |elseauth\n |elsecan\n |elsecanany\n |elsecannot\n |elseguest\n |elseif\n |empty\n |extends\n |for\n |foreach\n |forelse\n |guest\n |hassection\n |if\n |include\n |includefirst\n |includeif\n |includewhen\n |inject\n |isset\n |json\n |lang\n |method\n |php\n |prepend\n |push\n |section\n |slot\n |stack\n |switch\n |unless\n |unset\n |while\n |yield\n )\n [\\t ]* # Whitespace between name and parentheses\n)\n(\\() # Followed by opening parentheses",
|
3580
3580
|
"end": "\\)",
|
3581
3581
|
"patterns": [
|
3582
3582
|
{
|
@@ -3600,7 +3600,7 @@
|
|
3600
3600
|
{
|
3601
3601
|
"name": "meta.directive.blade",
|
3602
3602
|
"contentName": "comment.blade",
|
3603
|
-
"begin": "(?x)\n(?\u003c![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n(\n @\n (?i: # Ordering not important as we everything will be matched up to opening parentheses\n append\n |csrf\n |default\n |else\n |endauth\n |endcan\n |endcannot\n |endcomponent\n |endempty\n |endfor\n |endforeach\n |endforelse\n |endguest\n |endif\n |endisset\n |endlang\n |endprepend\n |endpush\n |endsection\n |endslot\n |endswitch\n |endunless\n |endwhile\n |overwrite\n |parent\n |show\n |stop\n )\n [\\t ]* # Whitespace between name and parentheses\n)\n(\\() # Followed by opening parentheses",
|
3603
|
+
"begin": "(?x)\n(?\u003c![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n(\n @\n (?i: # Ordering not important as we everything will be matched up to opening parentheses\n append\n |csrf\n |default\n |else\n |endauth\n |endcan\n |endcanany\n |endcannot\n |endcomponent\n |endempty\n |endfor\n |endforeach\n |endforelse\n |endguest\n |endif\n |endisset\n |endlang\n |endprepend\n |endpush\n |endsection\n |endslot\n |endswitch\n |endunless\n |endwhile\n |overwrite\n |parent\n |show\n |stop\n )\n [\\t ]* # Whitespace between name and parentheses\n)\n(\\() # Followed by opening parentheses",
|
3604
3604
|
"end": "\\)",
|
3605
3605
|
"patterns": [
|
3606
3606
|
{
|
@@ -3623,7 +3623,7 @@
|
|
3623
3623
|
},
|
3624
3624
|
{
|
3625
3625
|
"name": "keyword.blade",
|
3626
|
-
"match": "(?x)\n(?\u003c![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n@\n(?: # Ordering not important as we everything will be matched up to word boundary\n (?i)append\n|(?i)auth\n|(?i)break\n|(?i)continue\n|(?i)csrf\n|(?i)default\n|(?i)else\n|(?i)elseauth\n|(?i)elseguest\n|(?i)empty\n|(?i)endauth\n|(?i)endcan\n|(?i)endcannot\n|(?i)endcomponent\n|(?i)endempty\n|(?i)endfor\n|(?i)endforeach\n|(?i)endforelse\n|(?i)endguest\n|(?i)endif\n|(?i)endisset\n|(?i)endlang\n|(?i)endprepend\n|(?i)endpush\n|(?i)endsection\n|(?i)endslot\n|(?i)endswitch\n|(?i)endunless\n|endverbatim\n|(?i)endwhile\n|(?i)guest\n|(?i)lang\n|(?i)overwrite\n|(?i)parent\n|(?i)show\n|(?i)stop\n|verbatim\n)\n\\b"
|
3626
|
+
"match": "(?x)\n(?\u003c![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n@\n(?: # Ordering not important as we everything will be matched up to word boundary\n (?i)append\n|(?i)auth\n|(?i)break\n|(?i)continue\n|(?i)csrf\n|(?i)default\n|(?i)else\n|(?i)elseauth\n|(?i)elseguest\n|(?i)empty\n|(?i)endauth\n|(?i)endcan\n|(?i)endcanany\n|(?i)endcannot\n|(?i)endcomponent\n|(?i)endempty\n|(?i)endfor\n|(?i)endforeach\n|(?i)endforelse\n|(?i)endguest\n|(?i)endif\n|(?i)endisset\n|(?i)endlang\n|(?i)endprepend\n|(?i)endpush\n|(?i)endsection\n|(?i)endslot\n|(?i)endswitch\n|(?i)endunless\n|endverbatim\n|(?i)endwhile\n|(?i)guest\n|(?i)lang\n|(?i)overwrite\n|(?i)parent\n|(?i)show\n|(?i)stop\n|verbatim\n)\n\\b"
|
3627
3627
|
},
|
3628
3628
|
{
|
3629
3629
|
"name": "meta.embedded.block.blade",
|
@@ -281,7 +281,7 @@
|
|
281
281
|
{
|
282
282
|
"name": "meta.ctor.type-declaration.haskell",
|
283
283
|
"contentName": "meta.type-signature.haskell",
|
284
|
-
"begin": "^(?:\u003e|\u003c) ([ \\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{Lu}\\p{Lt}])(?\u003c![\\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{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\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{Lu}\\p{Lt}])(?\u003c![\\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{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\))))*))(?:\\s*((?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))))))",
|
284
|
+
"begin": "^(?:\u003e|\u003c) ([ \\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{Lu}\\p{Lt}])(?\u003c![\\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{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\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{Lu}\\p{Lt}])(?\u003c![\\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{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\))))*))(?:\\s*((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))))))",
|
285
285
|
"end": "^(?!(?:\u003e|\u003c) \\1[ \\t]|(?:\u003e|\u003c) [ \\t]*$)|^(?!(?:\u003e|\u003c) )",
|
286
286
|
"patterns": [
|
287
287
|
{
|
@@ -310,7 +310,7 @@
|
|
310
310
|
"patterns": [
|
311
311
|
{
|
312
312
|
"name": "meta.declaration.type.data.haskell",
|
313
|
-
"begin": "^(?:\u003e|\u003c) ([ \\t]*)(data|newtype)\\s+((?:(
|
313
|
+
"begin": "^(?:\u003e|\u003c) ([ \\t]*)(data|newtype)\\s+((?:(?!(?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:=|--+)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))))|(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))where(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))|{-).|{-.*?-})*)",
|
314
314
|
"end": "^(?!(?:\u003e|\u003c) \\1[ \\t]|(?:\u003e|\u003c) [ \\t]*$)|^(?!(?:\u003e|\u003c) )",
|
315
315
|
"patterns": [
|
316
316
|
{
|
@@ -495,7 +495,7 @@
|
|
495
495
|
"patterns": [
|
496
496
|
{
|
497
497
|
"name": "keyword.other.double-colon.haskell",
|
498
|
-
"match": "(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))"
|
498
|
+
"match": "(?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))))"
|
499
499
|
}
|
500
500
|
]
|
501
501
|
},
|
@@ -573,8 +573,8 @@
|
|
573
573
|
{
|
574
574
|
"name": "meta.function.type-declaration.haskell",
|
575
575
|
"contentName": "meta.type-signature.haskell",
|
576
|
-
"begin": "^(?:\u003e|\u003c) ([ \\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{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\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{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\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{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\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{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\))))*)\\s*((?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))))))",
|
577
|
-
"end": "^(?!(?:\u003e|\u003c) \\1[ \\t]|(?:\u003e|\u003c) [ \\t]*$)|^(?!(?:\u003e|\u003c) )|(?=(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(
|
576
|
+
"begin": "^(?:\u003e|\u003c) ([ \\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{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\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{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\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{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\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{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\))))*)\\s*((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))))))",
|
577
|
+
"end": "^(?!(?:\u003e|\u003c) \\1[ \\t]|(?:\u003e|\u003c) [ \\t]*$)|^(?!(?:\u003e|\u003c) )|(?=(?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:\u003c-|=)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))))",
|
578
578
|
"patterns": [
|
579
579
|
{
|
580
580
|
"include": "#type_signature"
|
@@ -1066,8 +1066,8 @@
|
|
1066
1066
|
{
|
1067
1067
|
"name": "meta.multiline.type-declaration.haskell",
|
1068
1068
|
"contentName": "meta.type-signature.haskell",
|
1069
|
-
"begin": "^(?:\u003e|\u003c) ([ \\t]*)((?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))))",
|
1070
|
-
"end": "^(?!(?:\u003e|\u003c) \\1|(?:\u003e|\u003c) [ \\t]*$)|^(?!(?:\u003e|\u003c) )|(?=(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(
|
1069
|
+
"begin": "^(?:\u003e|\u003c) ([ \\t]*)((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))))",
|
1070
|
+
"end": "^(?!(?:\u003e|\u003c) \\1|(?:\u003e|\u003c) [ \\t]*$)|^(?!(?:\u003e|\u003c) )|(?=(?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:\u003c-|=)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))))",
|
1071
1071
|
"patterns": [
|
1072
1072
|
{
|
1073
1073
|
"include": "#type_signature"
|
@@ -1180,8 +1180,8 @@
|
|
1180
1180
|
{
|
1181
1181
|
"name": "meta.record-field.type-declaration.haskell",
|
1182
1182
|
"contentName": "meta.type-signature.haskell",
|
1183
|
-
"begin": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\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{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\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{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\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{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\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{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\))))*)\\s*((?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))))))",
|
1184
|
-
"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{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\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{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\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{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\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{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\))))*)\\s*((?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))))))|})",
|
1183
|
+
"begin": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\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{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\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{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\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{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\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{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\))))*)\\s*((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))))))",
|
1184
|
+
"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{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\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{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\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{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\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{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\))))*)\\s*((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))))))|})",
|
1185
1185
|
"patterns": [
|
1186
1186
|
{
|
1187
1187
|
"include": "#type_signature"
|
@@ -1241,7 +1241,7 @@
|
|
1241
1241
|
"scoped_type": {
|
1242
1242
|
"patterns": [
|
1243
1243
|
{
|
1244
|
-
"match": "\\(((?\u003cparen\u003e(?:
|
1244
|
+
"match": "\\(((?\u003cparen\u003e(?:(?!\\(|\\)).|\\(\\g\u003cparen\u003e\\))*)(?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))))(?\u003cparen2\u003e(?:(?!\\(|\\)).|\\(\\g\u003cparen2\u003e\\))*))\\)",
|
1245
1245
|
"captures": {
|
1246
1246
|
"1": {
|
1247
1247
|
"patterns": [
|
@@ -1253,7 +1253,7 @@
|
|
1253
1253
|
}
|
1254
1254
|
},
|
1255
1255
|
{
|
1256
|
-
"match": "((?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))))
|
1256
|
+
"match": "((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))))((?:(?!{-|(?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:\u003c-|=|--+)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))))|$).|{-.*?-})*)",
|
1257
1257
|
"captures": {
|
1258
1258
|
"1": {
|
1259
1259
|
"name": "keyword.other.double-colon.haskell"
|
@@ -1273,7 +1273,7 @@
|
|
1273
1273
|
"scoped_type_override": {
|
1274
1274
|
"patterns": [
|
1275
1275
|
{
|
1276
|
-
"match": "^(?:\u003e|\u003c) ([ \\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{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\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{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\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{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\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{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\))))*)\\s*((?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))))))((?:(?!(?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))
|
1276
|
+
"match": "^(?:\u003e|\u003c) ([ \\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{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\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{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\)))(?:(?:\\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{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\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{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))+\\))))*)\\s*((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:::|∷)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))))))((?:(?!{-|(?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:--+)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))))).|{-.*?-})*)((?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:\u003c-|=)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))))",
|
1277
1277
|
"captures": {
|
1278
1278
|
"2": {
|
1279
1279
|
"patterns": [
|
@@ -1485,11 +1485,11 @@
|
|
1485
1485
|
},
|
1486
1486
|
{
|
1487
1487
|
"name": "keyword.other.arrow.haskell",
|
1488
|
-
"match": "(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(
|
1488
|
+
"match": "(?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:-\u003e|→)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))))"
|
1489
1489
|
},
|
1490
1490
|
{
|
1491
1491
|
"name": "keyword.other.big-arrow.haskell",
|
1492
|
-
"match": "(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(
|
1492
|
+
"match": "(?:(?\u003c!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|])))(?:=\u003e|⇒)(?!(?:[\\p{S}\\p{P}](?\u003c![(),;\\[\\]`{}_\"'\\|]))))"
|
1493
1493
|
},
|
1494
1494
|
{
|
1495
1495
|
"name": "keyword.operator.promoted.haskell",
|
data/lib/linguist/generated.rb
CHANGED
@@ -54,12 +54,14 @@ module Linguist
|
|
54
54
|
xcode_file? ||
|
55
55
|
cocoapods? ||
|
56
56
|
carthage_build? ||
|
57
|
+
generated_graphql_relay? ||
|
57
58
|
generated_net_designer_file? ||
|
58
59
|
generated_net_specflow_feature_file? ||
|
59
60
|
composer_lock? ||
|
60
61
|
cargo_lock? ||
|
61
62
|
node_modules? ||
|
62
63
|
go_vendor? ||
|
64
|
+
go_lock? ||
|
63
65
|
npm_shrinkwrap_or_package_lock? ||
|
64
66
|
godeps? ||
|
65
67
|
generated_by_zephir? ||
|
@@ -85,7 +87,8 @@ module Linguist
|
|
85
87
|
generated_roxygen2? ||
|
86
88
|
generated_jison? ||
|
87
89
|
generated_yarn_lock? ||
|
88
|
-
generated_grpc_cpp?
|
90
|
+
generated_grpc_cpp? ||
|
91
|
+
generated_perl_ppport_header?
|
89
92
|
end
|
90
93
|
|
91
94
|
# Internal: Is the blob an Xcode file?
|
@@ -350,6 +353,13 @@ module Linguist
|
|
350
353
|
!!name.match(/vendor\/((?!-)[-0-9A-Za-z]+(?<!-)\.)+(com|edu|gov|in|me|net|org|fm|io)/)
|
351
354
|
end
|
352
355
|
|
356
|
+
# Internal: Is the blob a generated Go dep or glide lock file?
|
357
|
+
#
|
358
|
+
# Returns true or false.
|
359
|
+
def go_lock?
|
360
|
+
!!name.match(/(Gopkg|glide)\.lock/)
|
361
|
+
end
|
362
|
+
|
353
363
|
# Internal: Is the blob a generated npm shrinkwrap or package lock file?
|
354
364
|
#
|
355
365
|
# Returns true or false.
|
@@ -533,5 +543,21 @@ module Linguist
|
|
533
543
|
return false unless lines.count > 1
|
534
544
|
return lines[0].start_with?("// Generated by the gRPC")
|
535
545
|
end
|
546
|
+
|
547
|
+
# Internal: Is the file a generated Perl/Pollution/Portability header file?
|
548
|
+
#
|
549
|
+
# Returns true or false.
|
550
|
+
def generated_perl_ppport_header?
|
551
|
+
return false unless name.match(/ppport\.h$/)
|
552
|
+
return false unless lines.count > 10
|
553
|
+
return lines[8].include?("Automatically created by Devel::PPPort")
|
554
|
+
end
|
555
|
+
|
556
|
+
# Internal: Is this a relay-compiler generated graphql file?
|
557
|
+
#
|
558
|
+
# Return true or false
|
559
|
+
def generated_graphql_relay?
|
560
|
+
!!name.match(/__generated__\//)
|
561
|
+
end
|
536
562
|
end
|
537
563
|
end
|
data/lib/linguist/heuristics.rb
CHANGED
@@ -400,6 +400,14 @@ module Linguist
|
|
400
400
|
end
|
401
401
|
end
|
402
402
|
|
403
|
+
disambiguate ".q" do |data|
|
404
|
+
if /[A-Z.][\w.]*:{/i.match(data) || /(^|\n)\\(cd?|d|l|p|ts?) /.match(data)
|
405
|
+
Language["q"]
|
406
|
+
elsif /SELECT\s+[\w*,]+\s+FROM/i.match(data) || /(CREATE|ALTER|DROP)\s(DATABASE|SCHEMA|TABLE)/i.match(data)
|
407
|
+
Language["HiveQL"]
|
408
|
+
end
|
409
|
+
end
|
410
|
+
|
403
411
|
disambiguate ".r" do |data|
|
404
412
|
if /\bRebol\b/i.match(data)
|
405
413
|
Language["Rebol"]
|