github-linguist 4.8.2 → 4.8.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/grammars/source.apl.json +1379 -407
- data/grammars/source.cs.json +4 -4
- data/grammars/source.css.less.json +2 -2
- data/grammars/source.d.json +1 -1
- data/grammars/source.dm.json +603 -0
- data/grammars/source.dmf.json +99 -0
- data/grammars/source.graphql.json +219 -0
- data/grammars/source.idris.json +537 -0
- data/grammars/source.js.json +44 -2
- data/grammars/source.js.jsx.json +204 -199
- data/grammars/source.pawn.json +4 -4
- data/grammars/source.perl6fe.json +43 -10
- data/grammars/source.purescript.json +57 -9
- data/grammars/source.regexp.babel.json +62 -49
- data/grammars/source.ruby.json +38 -0
- data/grammars/source.sqf.json +4 -3
- data/grammars/text.html.vue.json +110 -1
- data/grammars/text.slim.json +1 -1
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +12 -2
- data/lib/linguist/samples.json +141 -15
- data/lib/linguist/version.rb +1 -1
- metadata +6 -2
data/grammars/source.pawn.json
CHANGED
@@ -437,7 +437,7 @@
|
|
437
437
|
]
|
438
438
|
},
|
439
439
|
"disabled": {
|
440
|
-
"begin": "^\\s*#\\s*(if|elseif)\\s*(!?defined)?\\b
|
440
|
+
"begin": "^\\s*#\\s*(if|elseif)\\s*(!?defined)?\\b[a-zA-Z0-9_]*$",
|
441
441
|
"comment": "eat nested preprocessor if(def)s",
|
442
442
|
"end": "^\\s*#\\s*endif\\b.*$",
|
443
443
|
"patterns": [
|
@@ -663,7 +663,7 @@
|
|
663
663
|
]
|
664
664
|
},
|
665
665
|
"preprocessor-rule-other": {
|
666
|
-
"begin": "
|
666
|
+
"begin": "\\s(#\\s*((if|elseif)\\s*(!?defined)?)\\b\\s*(.*?)(?:(?=(?://|/\\*))|$))",
|
667
667
|
"captures": {
|
668
668
|
"1": {
|
669
669
|
"name": "meta.preprocessor.macro.c"
|
@@ -671,7 +671,7 @@
|
|
671
671
|
"2": {
|
672
672
|
"name": "keyword.control.import.c"
|
673
673
|
},
|
674
|
-
"
|
674
|
+
"3": {
|
675
675
|
"name": "entity.name.function.preprocessor.c"
|
676
676
|
}
|
677
677
|
},
|
@@ -683,7 +683,7 @@
|
|
683
683
|
]
|
684
684
|
},
|
685
685
|
"preprocessor-rule-other-block": {
|
686
|
-
"begin": "^\\s*(#\\s*((if|elseif)\\s*(!?defined)?)\\b\\s*(
|
686
|
+
"begin": "^\\s*(#\\s*((if|elseif)\\s*(!?defined)?)\\b\\s*([a-zA-Z0-9_]*?)(?:(?=(?://|/\\*))|$))",
|
687
687
|
"captures": {
|
688
688
|
"1": {
|
689
689
|
"name": "meta.preprocessor.macro.c"
|
@@ -682,13 +682,15 @@
|
|
682
682
|
"name": "variable.other.perl6fe"
|
683
683
|
},
|
684
684
|
{
|
685
|
-
"
|
686
|
-
"name": "storage.type.declare.routine.perl6fe"
|
687
|
-
},
|
688
|
-
{
|
689
|
-
"begin": "(?x)(?<= macro|sub|submethod|method )(?!\\-)\\s+(!)?(?=\\w)",
|
685
|
+
"begin": "(?x)(?<![%$&@]|\\w) (multi\\s+)? (macro|sub|submethod|method|multi|proto|only|category)\\s+ (!)?(?=\\w)",
|
690
686
|
"beginCaptures": {
|
691
687
|
"1": {
|
688
|
+
"name": "storage.type.declarator.multi.perl6fe"
|
689
|
+
},
|
690
|
+
"2": {
|
691
|
+
"name": "storage.type.declarator.type.perl6fe"
|
692
|
+
},
|
693
|
+
"3": {
|
692
694
|
"name": "support.class.method.private.perl6fe"
|
693
695
|
}
|
694
696
|
},
|
@@ -819,7 +821,7 @@
|
|
819
821
|
"name": "constant.language.boolean.perl6fe"
|
820
822
|
},
|
821
823
|
{
|
822
|
-
"match": "(?x)\\b(?<![\\-:])( fatal|internals|MONKEY\\-TYPING|nqp| strict|trace|worries|invocant|parameters| cur|soft|variables|attributes|v6|
|
824
|
+
"match": "(?x)\\b(?<![\\-:])( fatal|internals|MONKEY\\-TYPING|nqp| strict|trace|worries|invocant|parameters|experimental| cur|soft|variables|attributes|v6(?:\\.\\w)*|lib|Test|NativeCall )(?!\\-)\\b",
|
823
825
|
"name": "constant.language.pragma.perl6fe"
|
824
826
|
},
|
825
827
|
{
|
@@ -831,7 +833,7 @@
|
|
831
833
|
}
|
832
834
|
},
|
833
835
|
{
|
834
|
-
"match": "(?x)\\b(?<!:)( AST|Any|Array|Associative|Attribute|Bag|BagHash|Baggy| Blob|Block|Bool|Callable|Capture|Channel|Code|Complex|Cool| CurrentThreadScheduler|Cursor|Date|DateTime|Dateish|Duration| Enum|FatRat|Grammar|Hash|IO|Instant|Iterable| Iterator|Junction|Label|List|Lock|Macro|Map|Match|Metamodel| Method|Mix|MixHash|Mixy|Mu|Nil|
|
836
|
+
"match": "(?x)\\b(?<!:)( AST|Any|Array|Associative|Attribute|Bag|BagHash|Baggy| Blob|Block|Bool|Callable|Capture|Channel|Code|Complex|Cool| CurrentThreadScheduler|Cursor|Date|DateTime|Dateish|Duration| Enum|FatRat|Grammar|Hash|IO|Instant|Iterable| Iterator|Junction|Label|List|Lock|Macro|Map|Match|Metamodel| Method|Mix|MixHash|Mixy|Mu|Nil|Numeric|ObjAt|Pair| Parameter|Pod|Positional|PositionalBindFailover|Proc|Promise| Proxy|QuantHash|Range|Rat|Rational|Real|Regex|Routine|Scheduler| Seq|Set|SetHash|Setty|Signature|Slip|Stash|Str|str|Stringy|Sub| Submethod|Supply|Tap|Temporal|Thread|ThreadPoolScheduler| Variable|Version|Whatever|WhateverCode|bool|size_t| Int|int|int1|int2|int4|int8|int16|int32|int64| Rat|rat|rat1|rat2|rat4|rat8|rat16|rat32|rat64| Buf|buf|buf1|buf2|buf4|buf8|buf16|buf32|buf64| UInt|uint|uint1|uint2|uint4|uint8|uint16|uint32|uint64| utf8|utf16|utf32|Num|num|num32|num64 )(?!\\:\\:)\\b",
|
835
837
|
"captures": {
|
836
838
|
"1": {
|
837
839
|
"name": "support.type.perl6fe"
|
@@ -841,6 +843,18 @@
|
|
841
843
|
}
|
842
844
|
}
|
843
845
|
},
|
846
|
+
{
|
847
|
+
"match": "(?<=\\w)(\\:)([DU_])\\b",
|
848
|
+
"name": "meta.adverb.definedness.perl6fe",
|
849
|
+
"captures": {
|
850
|
+
"1": {
|
851
|
+
"name": "keyword.operator.adverb.perl6fe"
|
852
|
+
},
|
853
|
+
"2": {
|
854
|
+
"name": "keyword.other.special-method.definedness.perl6fe"
|
855
|
+
}
|
856
|
+
}
|
857
|
+
},
|
844
858
|
{
|
845
859
|
"match": "(?x)\\b( div|mod|gcd|lcm|x|xx|temp|let|but|cmp|leg| eq|ne|gt|ge|lt|le|before|after|eqv|min|max|ff|fff|not|so|Z| and|andthen|or|orelse )\\b| \\b(X)(?!:)\\b",
|
846
860
|
"name": "keyword.operator.word.perl6fe"
|
@@ -861,17 +875,36 @@
|
|
861
875
|
"name": "meta.operator.non.ligature.perl6fe"
|
862
876
|
},
|
863
877
|
{
|
864
|
-
"match": "(?x) <=> | => | -> | \\+\\| | \\+\\+ | -- | \\*\\* | \\?\\?\\? | \\?\\? | \\!\\!\\! | \\!\\! | && | \\+\\^ | \\?\\^ | %% | \\+& | \\+< | \\+> | \\+\\^ | \\.\\.(?!\\.) | \\.\\.\\^ | \\^\\.\\. | \\^\\.\\.\\^ | \\?\\| | !=(?!\\=) | !==(?!\\=) | <=(?!>) | >= | === | == | =:= | ~~ | \\x{2245} | \\|\\| | \\^\\^ | \\/\\/ | := | ::= | \\.\\.\\.",
|
878
|
+
"match": "(?x) <=> | => | --> | -> | \\+\\| | \\+\\+ | -- | \\*\\* | \\?\\?\\? | \\?\\? | \\!\\!\\! | \\!\\! | && | \\+\\^ | \\?\\^ | %% | \\+& | \\+< | \\+> | \\+\\^ | \\.\\.(?!\\.) | \\.\\.\\^ | \\^\\.\\. | \\^\\.\\.\\^ | \\?\\| | !=(?!\\=) | !==(?!\\=) | <=(?!>) | >= | === | == | =:= | ~~ | \\x{2245} | \\|\\| | \\^\\^ | \\/\\/ | := | ::= | \\.\\.\\.",
|
865
879
|
"name": "keyword.operator.multi-symbol.perl6fe"
|
866
880
|
},
|
867
881
|
{
|
868
882
|
"include": "#special_variables"
|
869
883
|
},
|
884
|
+
{
|
885
|
+
"match": "(?x)(?<=\\[) \\s* (\\*) \\s* ([\\-\\*%\\^\\+\\/]|div|mod|gcd|lcm) \\s* (\\d+) \\s* (?=\\])",
|
886
|
+
"name": "meta.subscript.whatever.perl6fe",
|
887
|
+
"captures": {
|
888
|
+
"1": {
|
889
|
+
"name": "constant.language.whatever.perl6fe"
|
890
|
+
},
|
891
|
+
"2": {
|
892
|
+
"name": "keyword.operator.minus.back-from.perl6fe"
|
893
|
+
},
|
894
|
+
"3": {
|
895
|
+
"name": "constant.numeric.back-from.perl6fe"
|
896
|
+
}
|
897
|
+
}
|
898
|
+
},
|
899
|
+
{
|
900
|
+
"match": "\\*\\s*(?=\\])",
|
901
|
+
"name": "constant.language.whatever.hack.perl6fe"
|
902
|
+
},
|
870
903
|
{
|
871
904
|
"include": "#variables"
|
872
905
|
},
|
873
906
|
{
|
874
|
-
"match": "(?x)\\b(?<![\\-:]|\\\\)( eager|hyper|substr|index|rindex|grep|map|sort|join|lines|hints |chmod|split|reduce|min|max|reverse|truncate|zip|cat|roundrobin |classify|first|sum|keys|values|pairs|defined|delete|exists |elems|end|kv|any|all|one|wrap|shape|key|value|name|pop|push |shift|splice|unshift|floor|ceiling|abs|exp|log|log10|rand|sign |sqrt|sin|cos|tan|round|strand|roots|cis|unpolar|polar|atan2 |pick|chop|chomp|lc|lcfirst|uc|ucfirst|capitalize |normalize|pack|unpack|quotemeta|comb|samecase|sameaccent|chars |nfd|nfc|nfkd|nfkc|printf|sprintf|caller|evalfile|run|runinstead |nothing|want|bless|chr|ord|gmtime|time|eof|localtime|gethost |getpw|chroot|getlogin|getpeername|kill|fork|wait|perl|graphs |codes|bytes|clone|print|open|read|write|readline|say|seek|close |opendir|readdir|slurp|spurt|shell|run|pos|fmt|vec|link|unlink |symlink|unique|pair|asin|atan|sec|cosec|cotan|asec|acosec|acotan |sinh|cosh|tanh|asinh|done|acos|acosh|atanh|sech|cosech|cotanh |sech|acosech|acotanh|asech|ok|nok|plan-ok|dies-ok|lives-ok|skip |todo|pass|flunk|force-todo|use-ok|isa-ok|diag|is-deeply|isnt |like|skip-rest|unlike|cmp-ok|eval-dies-ok|nok-error |eval-lives-ok|approx|is-approx|throws-ok|version-lt|plan|EVAL |succ|pred|times|nonce|once|signature|new|connect|operator|undef |undefine|sleep|from|to|infix|postfix|prefix|circumfix |postcircumfix|minmax|lazy|count|unwrap|getc|pi|tau|e|context|void |quasi|body|each|contains|rewinddir|subst|can|isa|flush|arity |assuming|rewind|callwith|callsame|nextwith|nextsame|attr |eval-elsewhere|none|srand|trim|trim-start|trim-end|lastcall |WHAT|WHY|WHERE|HOW|WHICH|VAR|WHO|WHENCE|ACCEPTS|REJECTS|not |iterator|by|re|im|invert|flip|gist|flat|tree|is-prime |throws-like|trans|race|hyper|tap|emit|done|quit|dd|note |starts-with|ends-with|put|append|tail|\\x{03C0}|\\x{03C4}|\\x{212F} )(?!\\-)\\b(?!\\s*=>)",
|
907
|
+
"match": "(?x)\\b(?<![\\-:]|\\\\)( eager|hyper|substr|index|rindex|grep|map|sort|join|lines|hints |chmod|split|reduce|min|max|reverse|truncate|zip|cat|roundrobin |classify|first|sum|keys|values|pairs|defined|delete|exists |elems|end|kv|any|all|one|wrap|shape|key|value|name|pop|push |shift|splice|unshift|floor|ceiling|abs|exp|log|log10|rand|sign |sqrt|sin|cos|tan|round|strand|roots|cis|unpolar|polar|atan2 |pick|chop|chomp|lc|lcfirst|uc|ucfirst|capitalize |normalize|pack|unpack|quotemeta|comb|samecase|sameaccent|chars |nfd|nfc|nfkd|nfkc|printf|sprintf|caller|evalfile|run|runinstead |nothing|want|bless|chr|ord|gmtime|time|eof|localtime|gethost |getpw|chroot|getlogin|getpeername|kill|fork|wait|perl|graphs |codes|bytes|clone|print|open|read|write|readline|say|seek|close |opendir|readdir|slurp|spurt|shell|run|pos|fmt|vec|link|unlink |symlink|unique|pair|asin|atan|sec|cosec|cotan|asec|acosec|acotan |sinh|cosh|tanh|asinh|done|acos|acosh|atanh|sech|cosech|cotanh |sech|acosech|acotanh|asech|ok|nok|plan-ok|dies-ok|lives-ok|skip |todo|pass|flunk|force-todo|use-ok|isa-ok|diag|is-deeply|isnt |like|skip-rest|unlike|cmp-ok|eval-dies-ok|nok-error |eval-lives-ok|approx|is-approx|throws-ok|version-lt|plan|EVAL |succ|pred|times|nonce|once|signature|new|connect|operator|undef |undefine|sleep|from|to|infix|postfix|prefix|circumfix |postcircumfix|minmax|lazy|count|unwrap|getc|pi|tau|e|context|void |quasi|body|each|contains|rewinddir|subst|can|isa|flush|arity |assuming|rewind|callwith|callsame|nextwith|nextsame|attr |eval-elsewhere|none|srand|trim|trim-start|trim-end|lastcall |WHAT|WHY|WHERE|HOW|WHICH|VAR|WHO|WHENCE|ACCEPTS|REJECTS|not |iterator|by|re|im|invert|flip|gist|flat|tree|is-prime |throws-like|trans|race|hyper|tap|emit|done-testing|quit|dd|note |starts-with|ends-with|put|append|tail|\\x{03C0}|\\x{03C4}|\\x{212F} )(?!\\-)\\b(?!\\s*=>)",
|
875
908
|
"name": "support.function.perl6fe"
|
876
909
|
},
|
877
910
|
{
|
@@ -932,7 +965,7 @@
|
|
932
965
|
"name": "constant.numeric.radix.perl6fe"
|
933
966
|
},
|
934
967
|
{
|
935
|
-
"match": "(?x) (?<=[
|
968
|
+
"match": "(?x) (?<=[=,:;\\^\\s\\{\\[\\(\\/]|\\.\\.) (?:[\\+\\-])? (?: \\d+ (?:[\\_\\d]+\\d)? ) (?: \\. \\d+ (?:[\\_\\d]+\\d)? )? (?: e \\d+ (?:[\\_\\d]+\\d)? )?",
|
936
969
|
"name": "constant.numeric.perl6fe"
|
937
970
|
}
|
938
971
|
]
|
@@ -14,7 +14,7 @@
|
|
14
14
|
"operatorFun": "(?:\\((?!--+\\))[\\p{S}\\p{P}&&[^(),;\\[\\]`{}_\"']]+\\))",
|
15
15
|
"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@\\[\\]\\\\\\^_]))",
|
16
16
|
"classConstraint": "(?:(?:([\\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+)(?:(?<classConstraint>(?:[\\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}']*)(?:\\s*(?:\\s+)\\s*\\g<classConstraint>)?)))",
|
17
|
-
"functionTypeDeclaration": "(?:(?:(?<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*\\g<functionTypeDeclaration>)?))(?:\\s*(::|∷)))",
|
17
|
+
"functionTypeDeclaration": "(?:(?:(?<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*\\g<functionTypeDeclaration>)?))(?:\\s*(::|∷ )))",
|
18
18
|
"ctorArgs": "(?:[\\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}']*|(?:(?:[\\w()'→⇒\\[\\],]|->|=>)+\\s*)+)",
|
19
19
|
"ctor": "(?:(?:\\b([\\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+)(?:(?<ctorArgs>(?:(?:[\\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}']*|(?:(?:[\\w()'→⇒\\[\\],]|->|=>)+\\s*)+))(?:\\s*(?:\\s+)\\s*\\g<ctorArgs>)?)?))",
|
20
20
|
"typeDecl": ".+?",
|
@@ -132,22 +132,31 @@
|
|
132
132
|
},
|
133
133
|
{
|
134
134
|
"name": "meta.foreign.purescript",
|
135
|
-
"begin": "^(\\s*)(foreign)\\s+(import)\\
|
135
|
+
"begin": "^(\\s*)(foreign)\\s+(import)\\s+(?:(?:(?<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*\\g<functionTypeDeclaration>)?))(?:\\s*(::|∷ )))?",
|
136
136
|
"end": "^(?!\\1[ \\t]|[ \\t]*$)",
|
137
|
+
"contentName": "meta.type-signature.purescript",
|
137
138
|
"beginCaptures": {
|
138
139
|
"2": {
|
139
140
|
"name": "keyword.other.purescript"
|
140
141
|
},
|
141
142
|
"3": {
|
142
143
|
"name": "keyword.other.purescript"
|
144
|
+
},
|
145
|
+
"4": {
|
146
|
+
"patterns": [
|
147
|
+
{
|
148
|
+
"name": "entity.name.function.purescript",
|
149
|
+
"match": "(?:[\\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}']*"
|
150
|
+
}
|
151
|
+
]
|
152
|
+
},
|
153
|
+
"5": {
|
154
|
+
"name": "keyword.other.double-colon.purescript"
|
143
155
|
}
|
144
156
|
},
|
145
157
|
"patterns": [
|
146
158
|
{
|
147
159
|
"include": "#type_signature"
|
148
|
-
},
|
149
|
-
{
|
150
|
-
"include": "$self"
|
151
160
|
}
|
152
161
|
]
|
153
162
|
},
|
@@ -309,7 +318,7 @@
|
|
309
318
|
},
|
310
319
|
{
|
311
320
|
"name": "keyword.control.purescript",
|
312
|
-
"match": "\\b(do|if|then|else|case|of|let|in
|
321
|
+
"match": "\\b(do|if|then|else|case|of|let|in)\\b"
|
313
322
|
},
|
314
323
|
{
|
315
324
|
"name": "constant.numeric.float.purescript",
|
@@ -400,6 +409,45 @@
|
|
400
409
|
{
|
401
410
|
"include": "#function_type_declaration"
|
402
411
|
},
|
412
|
+
{
|
413
|
+
"match": "\\((?<paren>(?:[^()]|\\(\\g<paren>\\))*)(::|∷)(?<paren2>(?:[^()]|\\(\\g<paren2>\\))*)\\)",
|
414
|
+
"captures": {
|
415
|
+
"1": {
|
416
|
+
"patterns": [
|
417
|
+
{
|
418
|
+
"include": "$self"
|
419
|
+
}
|
420
|
+
]
|
421
|
+
},
|
422
|
+
"2": {
|
423
|
+
"name": "keyword.other.double-colon.purescript"
|
424
|
+
},
|
425
|
+
"3": {
|
426
|
+
"name": "meta.type-signature.purescript",
|
427
|
+
"patterns": [
|
428
|
+
{
|
429
|
+
"include": "#type_signature"
|
430
|
+
}
|
431
|
+
]
|
432
|
+
}
|
433
|
+
}
|
434
|
+
},
|
435
|
+
{
|
436
|
+
"match": "(::|∷)((?:[\\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}']*|\\->|=>|[→⇒()\\[\\]]|\\s)*)",
|
437
|
+
"captures": {
|
438
|
+
"1": {
|
439
|
+
"name": "keyword.other.double-colon.purescript"
|
440
|
+
},
|
441
|
+
"2": {
|
442
|
+
"name": "meta.type-signature.purescript",
|
443
|
+
"patterns": [
|
444
|
+
{
|
445
|
+
"include": "#type_signature"
|
446
|
+
}
|
447
|
+
]
|
448
|
+
}
|
449
|
+
}
|
450
|
+
},
|
403
451
|
{
|
404
452
|
"include": "#data_ctor"
|
405
453
|
},
|
@@ -589,7 +637,7 @@
|
|
589
637
|
"patterns": [
|
590
638
|
{
|
591
639
|
"name": "meta.function.type-declaration.purescript",
|
592
|
-
"begin": "(?:(?:^(\\s*))(?:(?:(?:(?<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*\\g<functionTypeDeclaration>)?))(?:\\s*(::|∷)))))",
|
640
|
+
"begin": "(?:(?:^(\\s*))(?:(?:(?:(?<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*\\g<functionTypeDeclaration>)?))(?:\\s*(::|∷ ))))(?:(?!.*<-)))",
|
593
641
|
"end": "^(?!\\1[ \\t]|[ \\t]*$)",
|
594
642
|
"contentName": "meta.type-signature.purescript",
|
595
643
|
"beginCaptures": {
|
@@ -620,8 +668,8 @@
|
|
620
668
|
"patterns": [
|
621
669
|
{
|
622
670
|
"name": "meta.record-field.type-declaration.purescript",
|
623
|
-
"begin": "(?:(?:(?<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*\\g<functionTypeDeclaration>)?))(?:\\s*(::|∷)))",
|
624
|
-
"end": "(?=(?:(?:(?<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*\\g<functionTypeDeclaration>)?))(?:\\s*(::|∷)))|})",
|
671
|
+
"begin": "(?:(?:(?<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*\\g<functionTypeDeclaration>)?))(?:\\s*(::|∷ )))",
|
672
|
+
"end": "(?=(?:(?:(?<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*\\g<functionTypeDeclaration>)?))(?:\\s*(::|∷ )))|})",
|
625
673
|
"contentName": "meta.type-signature.purescript",
|
626
674
|
"beginCaptures": {
|
627
675
|
"1": {
|
@@ -4,6 +4,32 @@
|
|
4
4
|
"fileTypes": [
|
5
5
|
"re"
|
6
6
|
],
|
7
|
+
"patterns": [
|
8
|
+
{
|
9
|
+
"include": "#anchor"
|
10
|
+
},
|
11
|
+
{
|
12
|
+
"include": "#backref"
|
13
|
+
},
|
14
|
+
{
|
15
|
+
"include": "#quantifier"
|
16
|
+
},
|
17
|
+
{
|
18
|
+
"include": "#operator"
|
19
|
+
},
|
20
|
+
{
|
21
|
+
"include": "#group-assertion"
|
22
|
+
},
|
23
|
+
{
|
24
|
+
"include": "#group-definition"
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"include": "#character-class-definition"
|
28
|
+
},
|
29
|
+
{
|
30
|
+
"include": "#character-class"
|
31
|
+
}
|
32
|
+
],
|
7
33
|
"repository": {
|
8
34
|
"character-class-definition": {
|
9
35
|
"patterns": [
|
@@ -25,26 +51,35 @@
|
|
25
51
|
}
|
26
52
|
},
|
27
53
|
"patterns": [
|
28
|
-
{
|
29
|
-
"include": "#character-class"
|
30
|
-
},
|
31
54
|
{
|
32
55
|
"name": "constant.other.character-class.range.regexp",
|
33
|
-
"match": "((\\\\[wWsSdD]|\\.)|(\\\\([trnvf0]|c[A-Z]|x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|.)))\\-((\\\\[wWsSdD]|\\.)|(\\\\([trnvf0]|c[A-Z]|x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|.)))",
|
56
|
+
"match": "((\\\\[wWsSdD]|\\.)|(\\\\([trnvf0]|c[A-Z]|x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|u\\{[\\da-fA-F]+\\}|.)|([^\\]\\s])))(\\-)((\\\\[wWsSdD]|\\.)|(\\\\([trnvf0]|c[A-Z]|x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|u\\{[\\da-fA-F]+\\}|.)|([^\\]\\s])))",
|
34
57
|
"captures": {
|
35
58
|
"2": {
|
36
|
-
"name": "constant.
|
59
|
+
"name": "constant.character.escape.backslash.regexp"
|
37
60
|
},
|
38
61
|
"3": {
|
39
62
|
"name": "constant.character.escape.backslash.regexp"
|
40
63
|
},
|
41
64
|
"5": {
|
42
|
-
"name": "constant.
|
65
|
+
"name": "constant.character.regexp"
|
43
66
|
},
|
44
67
|
"6": {
|
68
|
+
"name": "punctuation.definition.range.regexp"
|
69
|
+
},
|
70
|
+
"8": {
|
45
71
|
"name": "constant.character.escape.backslash.regexp"
|
72
|
+
},
|
73
|
+
"9": {
|
74
|
+
"name": "constant.character.escape.backslash.regexp"
|
75
|
+
},
|
76
|
+
"11": {
|
77
|
+
"name": "constant.character.regexp"
|
46
78
|
}
|
47
79
|
}
|
80
|
+
},
|
81
|
+
{
|
82
|
+
"include": "#character-class"
|
48
83
|
}
|
49
84
|
]
|
50
85
|
}
|
@@ -53,11 +88,6 @@
|
|
53
88
|
"group-assertion": {
|
54
89
|
"patterns": [
|
55
90
|
{
|
56
|
-
"patterns": [
|
57
|
-
{
|
58
|
-
"include": "$self"
|
59
|
-
}
|
60
|
-
],
|
61
91
|
"begin": "(\\()((\\?=)|(\\?!))",
|
62
92
|
"end": "(\\))",
|
63
93
|
"name": "meta.group.assertion.regexp",
|
@@ -79,7 +109,12 @@
|
|
79
109
|
"4": {
|
80
110
|
"name": "meta.assertion.negative-look-ahead.regexp"
|
81
111
|
}
|
82
|
-
}
|
112
|
+
},
|
113
|
+
"patterns": [
|
114
|
+
{
|
115
|
+
"include": "$self"
|
116
|
+
}
|
117
|
+
]
|
83
118
|
}
|
84
119
|
]
|
85
120
|
},
|
@@ -102,11 +137,6 @@
|
|
102
137
|
"group-definition": {
|
103
138
|
"patterns": [
|
104
139
|
{
|
105
|
-
"patterns": [
|
106
|
-
{
|
107
|
-
"include": "$self"
|
108
|
-
}
|
109
|
-
],
|
110
140
|
"begin": "(\\()((\\?:))?",
|
111
141
|
"end": "(\\))",
|
112
142
|
"name": "meta.group.regexp",
|
@@ -128,7 +158,12 @@
|
|
128
158
|
"6": {
|
129
159
|
"name": "punctuation.definition.group.no-capture.regexp"
|
130
160
|
}
|
131
|
-
}
|
161
|
+
},
|
162
|
+
"patterns": [
|
163
|
+
{
|
164
|
+
"include": "$self"
|
165
|
+
}
|
166
|
+
]
|
132
167
|
}
|
133
168
|
]
|
134
169
|
},
|
@@ -151,40 +186,18 @@
|
|
151
186
|
"character-class": {
|
152
187
|
"patterns": [
|
153
188
|
{
|
154
|
-
"name": "constant.
|
155
|
-
"match": "\\\\[wWsSdD]
|
189
|
+
"name": "constant.character.escape.backslash.regexp",
|
190
|
+
"match": "\\\\[wWsSdD]"
|
156
191
|
},
|
157
192
|
{
|
158
|
-
"
|
159
|
-
"
|
193
|
+
"match": "(\\\\([trnvf0\\\\]|c[A-Z]|x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|u\\{[\\da-fA-F]+\\}|.))",
|
194
|
+
"captures": {
|
195
|
+
"1": {
|
196
|
+
"name": "constant.character.escape.backslash.regexp"
|
197
|
+
}
|
198
|
+
}
|
160
199
|
}
|
161
200
|
]
|
162
201
|
}
|
163
|
-
}
|
164
|
-
"patterns": [
|
165
|
-
{
|
166
|
-
"include": "#anchor"
|
167
|
-
},
|
168
|
-
{
|
169
|
-
"include": "#backref"
|
170
|
-
},
|
171
|
-
{
|
172
|
-
"include": "#quantifier"
|
173
|
-
},
|
174
|
-
{
|
175
|
-
"include": "#operator"
|
176
|
-
},
|
177
|
-
{
|
178
|
-
"include": "#group-assertion"
|
179
|
-
},
|
180
|
-
{
|
181
|
-
"include": "#group-definition"
|
182
|
-
},
|
183
|
-
{
|
184
|
-
"include": "#character-class"
|
185
|
-
},
|
186
|
-
{
|
187
|
-
"include": "#character-class-definition"
|
188
|
-
}
|
189
|
-
]
|
202
|
+
}
|
190
203
|
}
|
data/grammars/source.ruby.json
CHANGED
@@ -1428,6 +1428,44 @@
|
|
1428
1428
|
}
|
1429
1429
|
]
|
1430
1430
|
},
|
1431
|
+
{
|
1432
|
+
"begin": "(?=(?><<-(\"?)((?:[_\\w]+_|)GRAPHQL)\\b\\1))",
|
1433
|
+
"comment": "Heredoc with embedded GraphQL",
|
1434
|
+
"end": "(?!\\G)",
|
1435
|
+
"name": "meta.embedded.block.graphql",
|
1436
|
+
"patterns": [
|
1437
|
+
{
|
1438
|
+
"begin": "(?><<-(\"?)((?:[_\\w]+_|)GRAPHQL)\\b\\1)",
|
1439
|
+
"beginCaptures": {
|
1440
|
+
"0": {
|
1441
|
+
"name": "punctuation.definition.string.begin.ruby"
|
1442
|
+
}
|
1443
|
+
},
|
1444
|
+
"contentName": "source.graphql",
|
1445
|
+
"end": "\\s*\\2$\\n?",
|
1446
|
+
"endCaptures": {
|
1447
|
+
"0": {
|
1448
|
+
"name": "punctuation.definition.string.end.ruby"
|
1449
|
+
}
|
1450
|
+
},
|
1451
|
+
"name": "string.unquoted.heredoc.ruby",
|
1452
|
+
"patterns": [
|
1453
|
+
{
|
1454
|
+
"include": "#heredoc"
|
1455
|
+
},
|
1456
|
+
{
|
1457
|
+
"include": "#interpolated_ruby"
|
1458
|
+
},
|
1459
|
+
{
|
1460
|
+
"include": "source.graphql"
|
1461
|
+
},
|
1462
|
+
{
|
1463
|
+
"include": "#escaped_char"
|
1464
|
+
}
|
1465
|
+
]
|
1466
|
+
}
|
1467
|
+
]
|
1468
|
+
},
|
1431
1469
|
{
|
1432
1470
|
"begin": "(?>[=,]\\s*<<(\\w+))",
|
1433
1471
|
"beginCaptures": {
|