github-linguist 7.3.1 → 7.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/grammars/etc.json +14 -0
- data/grammars/source.abap.json +13 -2
- data/grammars/source.ats.json +87 -17
- data/grammars/source.ballerina.json +5 -1
- data/grammars/source.clojure.json +8 -8
- data/grammars/source.css.json +39 -0
- data/grammars/source.dosbox-conf.json +97 -0
- data/grammars/source.js.json +0 -8
- data/grammars/source.julia.json +36 -4
- data/grammars/source.matlab.json +26 -15
- data/grammars/source.mcfunction-snapshot.json +600 -0
- data/grammars/source.mcfunction.json +24 -24
- data/grammars/source.sas.json +1 -1
- data/grammars/source.scala.json +12 -1
- data/grammars/source.sqf.json +1 -2
- data/grammars/source.ts.json +122 -19
- data/grammars/source.tsx.json +122 -19
- data/grammars/source.zap.json +260 -0
- data/grammars/source.zil.json +750 -0
- data/grammars/text.html.handlebars.json +1 -1
- data/grammars/text.rtf.json +7 -2
- data/grammars/version +1 -1
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/heuristics.yml +1 -1
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +20 -0
- data/lib/linguist/linguist.bundle +0 -0
- data/lib/linguist/repository.rb +1 -1
- data/lib/linguist/samples.json +561 -32
- data/lib/linguist/shebang.rb +1 -1
- data/lib/linguist/vendor.yml +5 -2
- metadata +6 -3
data/grammars/source.tsx.json
CHANGED
@@ -391,6 +391,15 @@
|
|
391
391
|
{
|
392
392
|
"include": "#decorator"
|
393
393
|
},
|
394
|
+
{
|
395
|
+
"begin": "(?\u003c=:)\\s*",
|
396
|
+
"end": "(?=\\s|[;),}\\]:\\-\\+]|;|(?:^\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|type|var)\\b))",
|
397
|
+
"patterns": [
|
398
|
+
{
|
399
|
+
"include": "#expression"
|
400
|
+
}
|
401
|
+
]
|
402
|
+
},
|
394
403
|
{
|
395
404
|
"include": "#method-declaration"
|
396
405
|
},
|
@@ -595,6 +604,9 @@
|
|
595
604
|
"name": "keyword.control.switch.tsx",
|
596
605
|
"match": "(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(case|default|switch)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"
|
597
606
|
},
|
607
|
+
{
|
608
|
+
"include": "#if-statement"
|
609
|
+
},
|
598
610
|
{
|
599
611
|
"name": "keyword.control.conditional.tsx",
|
600
612
|
"match": "(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(else|if)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"
|
@@ -1807,20 +1819,7 @@
|
|
1807
1819
|
"end": "(?=\\s*(\\?\\.\\s*)?(\u003c\\s*(((keyof|infer|typeof)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\])|(\\'[^\\']*\\')|(\\\"[^\\\"]*\\\")|(\\`[^\\`]*\\`))(?=\\s*([\\\u003c\\\u003e\\,\\.\\[]|=\u003e|\u0026(?!\u0026)|\\|(?!\\|)))))([^\u003c\u003e\\(]|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(?\u003c==)\\\u003e|\\\u003c\\s*(((keyof|infer|typeof)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\])|(\\'[^\\']*\\')|(\\\"[^\\\"]*\\\")|(\\`[^\\`]*\\`))(?=\\s*([\\\u003c\\\u003e\\,\\.\\[]|=\u003e|\u0026(?!\u0026)|\\|(?!\\|)))))(([^\u003c\u003e\\(]|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(?\u003c==)\\\u003e|\\\u003c\\s*(((keyof|infer|typeof)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\])|(\\'[^\\']*\\')|(\\\"[^\\\"]*\\\")|(\\`[^\\`]*\\`))(?=\\s*([\\\u003c\\\u003e\\,\\.\\[]|=\u003e|\u0026(?!\u0026)|\\|(?!\\|)))))([^\u003c\u003e\\(]|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(?\u003c==)\\\u003e)*(?\u003c!=)\\\u003e))*(?\u003c!=)\\\u003e)*(?\u003c!=)\u003e\\s*)?\\()",
|
1808
1820
|
"patterns": [
|
1809
1821
|
{
|
1810
|
-
"include": "#
|
1811
|
-
},
|
1812
|
-
{
|
1813
|
-
"include": "#support-objects"
|
1814
|
-
},
|
1815
|
-
{
|
1816
|
-
"include": "#object-identifiers"
|
1817
|
-
},
|
1818
|
-
{
|
1819
|
-
"include": "#punctuation-accessor"
|
1820
|
-
},
|
1821
|
-
{
|
1822
|
-
"name": "keyword.operator.expression.import.tsx",
|
1823
|
-
"match": "(?:(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))import(?=\\s*[\\(]\\s*[\\\"\\'\\`]))"
|
1822
|
+
"include": "#support-function-call-identifiers"
|
1824
1823
|
},
|
1825
1824
|
{
|
1826
1825
|
"name": "entity.name.function.tsx",
|
@@ -2016,6 +2015,67 @@
|
|
2016
2015
|
}
|
2017
2016
|
]
|
2018
2017
|
},
|
2018
|
+
"if-statement": {
|
2019
|
+
"patterns": [
|
2020
|
+
{
|
2021
|
+
"begin": "(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(?=\\bif\\s*(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))\\s*(?!\\{))",
|
2022
|
+
"end": "(?=;|$)",
|
2023
|
+
"patterns": [
|
2024
|
+
{
|
2025
|
+
"include": "#comment"
|
2026
|
+
},
|
2027
|
+
{
|
2028
|
+
"begin": "(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(if)\\s*(\\()",
|
2029
|
+
"end": "\\)",
|
2030
|
+
"patterns": [
|
2031
|
+
{
|
2032
|
+
"include": "#expression"
|
2033
|
+
}
|
2034
|
+
],
|
2035
|
+
"beginCaptures": {
|
2036
|
+
"1": {
|
2037
|
+
"name": "keyword.control.conditional.tsx"
|
2038
|
+
},
|
2039
|
+
"2": {
|
2040
|
+
"name": "meta.brace.round.tsx"
|
2041
|
+
}
|
2042
|
+
},
|
2043
|
+
"endCaptures": {
|
2044
|
+
"0": {
|
2045
|
+
"name": "meta.brace.round.tsx"
|
2046
|
+
}
|
2047
|
+
}
|
2048
|
+
},
|
2049
|
+
{
|
2050
|
+
"name": "string.regexp.tsx",
|
2051
|
+
"begin": "(?\u003c=\\))\\s*\\/(?![\\/*])(?=(?:[^\\/\\\\\\[]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\])+\\/[gimsuy]*(?!\\s*[a-zA-Z0-9_$]))",
|
2052
|
+
"end": "(/)([gimsuy]*)",
|
2053
|
+
"patterns": [
|
2054
|
+
{
|
2055
|
+
"include": "#regexp"
|
2056
|
+
}
|
2057
|
+
],
|
2058
|
+
"beginCaptures": {
|
2059
|
+
"0": {
|
2060
|
+
"name": "punctuation.definition.string.begin.tsx"
|
2061
|
+
}
|
2062
|
+
},
|
2063
|
+
"endCaptures": {
|
2064
|
+
"1": {
|
2065
|
+
"name": "punctuation.definition.string.end.tsx"
|
2066
|
+
},
|
2067
|
+
"2": {
|
2068
|
+
"name": "keyword.other.tsx"
|
2069
|
+
}
|
2070
|
+
}
|
2071
|
+
},
|
2072
|
+
{
|
2073
|
+
"include": "#statements"
|
2074
|
+
}
|
2075
|
+
]
|
2076
|
+
}
|
2077
|
+
]
|
2078
|
+
},
|
2019
2079
|
"import-declaration": {
|
2020
2080
|
"name": "meta.import.tsx",
|
2021
2081
|
"begin": "(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(?:(\\bexport)\\s+)?(?:(\\bdeclare)\\s+)?\\b(import)(?!\\s*[:\\(])(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))",
|
@@ -2842,7 +2902,7 @@
|
|
2842
2902
|
},
|
2843
2903
|
{
|
2844
2904
|
"name": "meta.method.declaration.tsx",
|
2845
|
-
"begin": "(?x)(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(?:\\b(public|private|protected)\\s+)?(?:\\b(abstract)\\s+)?(?:\\b(async)\\s+)?(?:(?:\\s*\\b(new)\\b(?!:)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|(?:(\\*)\\s*)?)(?=\\s*[\\(
|
2905
|
+
"begin": "(?x)(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(?:\\b(public|private|protected)\\s+)?(?:\\b(abstract)\\s+)?(?:\\b(async)\\s+)?(?:(?:\\s*\\b(new)\\b(?!:)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.)))|(?:(\\*)\\s*)?)(?=\\s*((\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c]|\\\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c])*\\\u003e)*\u003e\\s*))?[\\(])",
|
2846
2906
|
"end": "(?=\\}|;|,|$)|(?\u003c=\\})",
|
2847
2907
|
"patterns": [
|
2848
2908
|
{
|
@@ -2872,7 +2932,7 @@
|
|
2872
2932
|
},
|
2873
2933
|
{
|
2874
2934
|
"name": "meta.method.declaration.tsx",
|
2875
|
-
"begin": "(?x)(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(?:\\b(public|private|protected)\\s+)?(?:\\b(abstract)\\s+)?(?:\\b(async)\\s+)?(?:\\b(get|set)\\s+)?(?:(\\*)\\s*)?(?=\\s*(((\\b(?\u003c!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?\u003c!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?\u003c!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?\u003c!\\$)(?:\n (?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1.1E+3\n (?:\\b[0-9][0-9_]*(\\.)[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1.E+3\n (?:\\B(\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # .1E+3\n (?:\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1E+3\n (?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b)| # 1.1\n (?:\\b[0-9][0-9_]*(\\.)(n)?\\B)| # 1.\n (?:\\B(\\.)[0-9][0-9_]*(n)?\\b)| # .1\n (?:\\b[0-9][0-9_]*(n)?\\b(?!\\.)) # 1\n)(?!\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\'([^\\'\\\\]|\\\\\\'|\\\\)*\\')|(\\\"([^\\\"\\\\]|\\\\\\\"|\\\\)*\\\")|(\\`([^\\`\\\\]|\\\\\\`|\\\\)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??))\\s*[\\(
|
2935
|
+
"begin": "(?x)(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(?:\\b(public|private|protected)\\s+)?(?:\\b(abstract)\\s+)?(?:\\b(async)\\s+)?(?:\\b(get|set)\\s+)?(?:(\\*)\\s*)?(?=\\s*(((\\b(?\u003c!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?\u003c!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?\u003c!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?\u003c!\\$)(?:\n (?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1.1E+3\n (?:\\b[0-9][0-9_]*(\\.)[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1.E+3\n (?:\\B(\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # .1E+3\n (?:\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1E+3\n (?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b)| # 1.1\n (?:\\b[0-9][0-9_]*(\\.)(n)?\\B)| # 1.\n (?:\\B(\\.)[0-9][0-9_]*(n)?\\b)| # .1\n (?:\\b[0-9][0-9_]*(n)?\\b(?!\\.)) # 1\n)(?!\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\'([^\\'\\\\]|\\\\\\'|\\\\)*\\')|(\\\"([^\\\"\\\\]|\\\\\\\"|\\\\)*\\\")|(\\`([^\\`\\\\]|\\\\\\`|\\\\)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??))\\s*((\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c]|\\\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c])*\\\u003e)*\u003e\\s*))?[\\(])",
|
2876
2936
|
"end": "(?=\\}|;|,|$)|(?\u003c=\\})",
|
2877
2937
|
"patterns": [
|
2878
2938
|
{
|
@@ -3265,7 +3325,7 @@
|
|
3265
3325
|
},
|
3266
3326
|
"object-literal-method-declaration": {
|
3267
3327
|
"name": "meta.method.declaration.tsx",
|
3268
|
-
"begin": "(?x)(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(?:\\b(async)\\s+)?(?:\\b(get|set)\\s+)?(?:(\\*)\\s*)?(?=\\s*(((\\b(?\u003c!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?\u003c!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?\u003c!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?\u003c!\\$)(?:\n (?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1.1E+3\n (?:\\b[0-9][0-9_]*(\\.)[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1.E+3\n (?:\\B(\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # .1E+3\n (?:\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1E+3\n (?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b)| # 1.1\n (?:\\b[0-9][0-9_]*(\\.)(n)?\\B)| # 1.\n (?:\\B(\\.)[0-9][0-9_]*(n)?\\b)| # .1\n (?:\\b[0-9][0-9_]*(n)?\\b(?!\\.)) # 1\n)(?!\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\'([^\\'\\\\]|\\\\\\'|\\\\)*\\')|(\\\"([^\\\"\\\\]|\\\\\\\"|\\\\)*\\\")|(\\`([^\\`\\\\]|\\\\\\`|\\\\)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??))\\s*[\\(
|
3328
|
+
"begin": "(?x)(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(?:\\b(async)\\s+)?(?:\\b(get|set)\\s+)?(?:(\\*)\\s*)?(?=\\s*(((\\b(?\u003c!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?\u003c!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?\u003c!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?\u003c!\\$)(?:\n (?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1.1E+3\n (?:\\b[0-9][0-9_]*(\\.)[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1.E+3\n (?:\\B(\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # .1E+3\n (?:\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1E+3\n (?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b)| # 1.1\n (?:\\b[0-9][0-9_]*(\\.)(n)?\\B)| # 1.\n (?:\\B(\\.)[0-9][0-9_]*(n)?\\b)| # .1\n (?:\\b[0-9][0-9_]*(n)?\\b(?!\\.)) # 1\n)(?!\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\'([^\\'\\\\]|\\\\\\'|\\\\)*\\')|(\\\"([^\\\"\\\\]|\\\\\\\"|\\\\)*\\\")|(\\`([^\\`\\\\]|\\\\\\`|\\\\)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??))\\s*((\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c]|\\\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c])*\\\u003e)*\u003e\\s*))?[\\(])",
|
3269
3329
|
"end": "(?=\\}|;|,)|(?\u003c=\\})",
|
3270
3330
|
"patterns": [
|
3271
3331
|
{
|
@@ -3275,7 +3335,7 @@
|
|
3275
3335
|
"include": "#function-body"
|
3276
3336
|
},
|
3277
3337
|
{
|
3278
|
-
"begin": "(?x)(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(?:\\b(async)\\s+)?(?:\\b(get|set)\\s+)?(?:(\\*)\\s*)?(?=\\s*(((\\b(?\u003c!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?\u003c!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?\u003c!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?\u003c!\\$)(?:\n (?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1.1E+3\n (?:\\b[0-9][0-9_]*(\\.)[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1.E+3\n (?:\\B(\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # .1E+3\n (?:\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1E+3\n (?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b)| # 1.1\n (?:\\b[0-9][0-9_]*(\\.)(n)?\\B)| # 1.\n (?:\\B(\\.)[0-9][0-9_]*(n)?\\b)| # .1\n (?:\\b[0-9][0-9_]*(n)?\\b(?!\\.)) # 1\n)(?!\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\'([^\\'\\\\]|\\\\\\'|\\\\)*\\')|(\\\"([^\\\"\\\\]|\\\\\\\"|\\\\)*\\\")|(\\`([^\\`\\\\]|\\\\\\`|\\\\)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??))\\s*[\\(
|
3338
|
+
"begin": "(?x)(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(?:\\b(async)\\s+)?(?:\\b(get|set)\\s+)?(?:(\\*)\\s*)?(?=\\s*(((\\b(?\u003c!\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\b(?!\\$))|(\\b(?\u003c!\\$)0(?:b|B)[01][01_]*(n)?\\b(?!\\$))|(\\b(?\u003c!\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\b(?!\\$))|((?\u003c!\\$)(?:\n (?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1.1E+3\n (?:\\b[0-9][0-9_]*(\\.)[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1.E+3\n (?:\\B(\\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # .1E+3\n (?:\\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)?\\b)| # 1E+3\n (?:\\b[0-9][0-9_]*(\\.)[0-9][0-9_]*(n)?\\b)| # 1.1\n (?:\\b[0-9][0-9_]*(\\.)(n)?\\B)| # 1.\n (?:\\B(\\.)[0-9][0-9_]*(n)?\\b)| # .1\n (?:\\b[0-9][0-9_]*(n)?\\b(?!\\.)) # 1\n)(?!\\$))|([_$[:alpha:]][_$[:alnum:]]*)|(\\'([^\\'\\\\]|\\\\\\'|\\\\)*\\')|(\\\"([^\\\"\\\\]|\\\\\\\"|\\\\)*\\\")|(\\`([^\\`\\\\]|\\\\\\`|\\\\)*\\`)|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??))\\s*((\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c]|\\\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c])*\\\u003e)*\u003e\\s*))?[\\(])",
|
3279
3339
|
"end": "(?=\\(|\\\u003c)",
|
3280
3340
|
"patterns": [
|
3281
3341
|
{
|
@@ -4212,6 +4272,26 @@
|
|
4212
4272
|
"name": "variable.language.super.tsx",
|
4213
4273
|
"match": "(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))super\\b(?!\\$)"
|
4214
4274
|
},
|
4275
|
+
"support-function-call-identifiers": {
|
4276
|
+
"patterns": [
|
4277
|
+
{
|
4278
|
+
"include": "#literal"
|
4279
|
+
},
|
4280
|
+
{
|
4281
|
+
"include": "#support-objects"
|
4282
|
+
},
|
4283
|
+
{
|
4284
|
+
"include": "#object-identifiers"
|
4285
|
+
},
|
4286
|
+
{
|
4287
|
+
"include": "#punctuation-accessor"
|
4288
|
+
},
|
4289
|
+
{
|
4290
|
+
"name": "keyword.operator.expression.import.tsx",
|
4291
|
+
"match": "(?:(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))import(?=\\s*[\\(]\\s*[\\\"\\'\\`]))"
|
4292
|
+
}
|
4293
|
+
]
|
4294
|
+
},
|
4215
4295
|
"support-objects": {
|
4216
4296
|
"patterns": [
|
4217
4297
|
{
|
@@ -4323,7 +4403,7 @@
|
|
4323
4403
|
}
|
4324
4404
|
},
|
4325
4405
|
{
|
4326
|
-
"match": "(?x) (?:(\\.)|(\\?\\.(?!\\s*[[:digit:]]))) \\s* (?:\n (constructor|length|prototype|__proto__)\n |\n (EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)
|
4406
|
+
"match": "(?x) (?:(\\.)|(\\?\\.(?!\\s*[[:digit:]]))) \\s* (?:\n (?:(constructor|length|prototype|__proto__)\\b(?!\\$|\\s*(\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c]|\\\u003c\\s*([_$[:alpha:]]|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\]))([^=\u003c\u003e]|=[^\u003c])*\\\u003e)*\u003e\\s*)?\\())\n |\n (?:(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\b(?!\\$)))",
|
4327
4407
|
"captures": {
|
4328
4408
|
"1": {
|
4329
4409
|
"name": "punctuation.accessor.tsx"
|
@@ -4541,6 +4621,29 @@
|
|
4541
4621
|
},
|
4542
4622
|
"template": {
|
4543
4623
|
"patterns": [
|
4624
|
+
{
|
4625
|
+
"name": "string.template.tsx",
|
4626
|
+
"begin": "(?=(([_$[:alpha:]][_$[:alnum:]]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([_$[:alpha:]][_$[:alnum:]]*)(\u003c\\s*(((keyof|infer|typeof)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\])|(\\'[^\\']*\\')|(\\\"[^\\\"]*\\\")|(\\`[^\\`]*\\`))(?=\\s*([\\\u003c\\\u003e\\,\\.\\[]|=\u003e|\u0026(?!\u0026)|\\|(?!\\|)))))([^\u003c\u003e\\(]|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(?\u003c==)\\\u003e|\\\u003c\\s*(((keyof|infer|typeof)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\])|(\\'[^\\']*\\')|(\\\"[^\\\"]*\\\")|(\\`[^\\`]*\\`))(?=\\s*([\\\u003c\\\u003e\\,\\.\\[]|=\u003e|\u0026(?!\u0026)|\\|(?!\\|)))))(([^\u003c\u003e\\(]|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(?\u003c==)\\\u003e|\\\u003c\\s*(((keyof|infer|typeof)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\])|(\\'[^\\']*\\')|(\\\"[^\\\"]*\\\")|(\\`[^\\`]*\\`))(?=\\s*([\\\u003c\\\u003e\\,\\.\\[]|=\u003e|\u0026(?!\u0026)|\\|(?!\\|)))))([^\u003c\u003e\\(]|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(?\u003c==)\\\u003e)*(?\u003c!=)\\\u003e))*(?\u003c!=)\\\u003e)*(?\u003c!=)\u003e\\s*)?`)",
|
4627
|
+
"end": "(?=`)",
|
4628
|
+
"patterns": [
|
4629
|
+
{
|
4630
|
+
"begin": "(?=(([_$[:alpha:]][_$[:alnum:]]*\\s*\\??\\.\\s*)*|(\\??\\.\\s*)?)([_$[:alpha:]][_$[:alnum:]]*))",
|
4631
|
+
"end": "(?=(\u003c\\s*(((keyof|infer|typeof)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\])|(\\'[^\\']*\\')|(\\\"[^\\\"]*\\\")|(\\`[^\\`]*\\`))(?=\\s*([\\\u003c\\\u003e\\,\\.\\[]|=\u003e|\u0026(?!\u0026)|\\|(?!\\|)))))([^\u003c\u003e\\(]|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(?\u003c==)\\\u003e|\\\u003c\\s*(((keyof|infer|typeof)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\])|(\\'[^\\']*\\')|(\\\"[^\\\"]*\\\")|(\\`[^\\`]*\\`))(?=\\s*([\\\u003c\\\u003e\\,\\.\\[]|=\u003e|\u0026(?!\u0026)|\\|(?!\\|)))))(([^\u003c\u003e\\(]|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(?\u003c==)\\\u003e|\\\u003c\\s*(((keyof|infer|typeof)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\])|(\\'[^\\']*\\')|(\\\"[^\\\"]*\\\")|(\\`[^\\`]*\\`))(?=\\s*([\\\u003c\\\u003e\\,\\.\\[]|=\u003e|\u0026(?!\u0026)|\\|(?!\\|)))))([^\u003c\u003e\\(]|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(?\u003c==)\\\u003e)*(?\u003c!=)\\\u003e))*(?\u003c!=)\\\u003e)*(?\u003c!=)\u003e\\s*)?`)",
|
4632
|
+
"patterns": [
|
4633
|
+
{
|
4634
|
+
"include": "#support-function-call-identifiers"
|
4635
|
+
},
|
4636
|
+
{
|
4637
|
+
"name": "entity.name.function.tagged-template.tsx",
|
4638
|
+
"match": "([_$[:alpha:]][_$[:alnum:]]*)"
|
4639
|
+
}
|
4640
|
+
]
|
4641
|
+
},
|
4642
|
+
{
|
4643
|
+
"include": "#type-arguments"
|
4644
|
+
}
|
4645
|
+
]
|
4646
|
+
},
|
4544
4647
|
{
|
4545
4648
|
"name": "string.template.tsx",
|
4546
4649
|
"begin": "([_$[:alpha:]][_$[:alnum:]]*)\\s*(?=(\u003c\\s*(((keyof|infer|typeof)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\])|(\\'[^\\']*\\')|(\\\"[^\\\"]*\\\")|(\\`[^\\`]*\\`))(?=\\s*([\\\u003c\\\u003e\\,\\.\\[]|=\u003e|\u0026(?!\u0026)|\\|(?!\\|)))))([^\u003c\u003e\\(]|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(?\u003c==)\\\u003e|\\\u003c\\s*(((keyof|infer|typeof)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\])|(\\'[^\\']*\\')|(\\\"[^\\\"]*\\\")|(\\`[^\\`]*\\`))(?=\\s*([\\\u003c\\\u003e\\,\\.\\[]|=\u003e|\u0026(?!\u0026)|\\|(?!\\|)))))(([^\u003c\u003e\\(]|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(?\u003c==)\\\u003e|\\\u003c\\s*(((keyof|infer|typeof)\\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\\{([^\\{\\}]|(\\{[^\\{\\}]*\\}))*\\})|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(\\[([^\\[\\]]|(\\[[^\\[\\]]*\\]))*\\])|(\\'[^\\']*\\')|(\\\"[^\\\"]*\\\")|(\\`[^\\`]*\\`))(?=\\s*([\\\u003c\\\u003e\\,\\.\\[]|=\u003e|\u0026(?!\u0026)|\\|(?!\\|)))))([^\u003c\u003e\\(]|(\\(([^\\(\\)]|(\\([^\\(\\)]*\\)))*\\))|(?\u003c==)\\\u003e)*(?\u003c!=)\\\u003e))*(?\u003c!=)\\\u003e)*(?\u003c!=)\u003e\\s*)`)",
|
@@ -0,0 +1,260 @@
|
|
1
|
+
{
|
2
|
+
"name": "ZAP",
|
3
|
+
"scopeName": "source.zap",
|
4
|
+
"patterns": [
|
5
|
+
{
|
6
|
+
"include": "#whitespace"
|
7
|
+
},
|
8
|
+
{
|
9
|
+
"include": "#comment"
|
10
|
+
},
|
11
|
+
{
|
12
|
+
"include": "#number"
|
13
|
+
},
|
14
|
+
{
|
15
|
+
"include": "#string"
|
16
|
+
},
|
17
|
+
{
|
18
|
+
"include": "#labels"
|
19
|
+
},
|
20
|
+
{
|
21
|
+
"include": "#instruction"
|
22
|
+
},
|
23
|
+
{
|
24
|
+
"include": "#debug_directive"
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"include": "#directive"
|
28
|
+
}
|
29
|
+
],
|
30
|
+
"repository": {
|
31
|
+
"branch": {
|
32
|
+
"name": "meta.branch.zap",
|
33
|
+
"match": "(?x)\n(?: (/) | (\\\\) )\n\\s*\n(?:\n (TRUE | FALSE)\n| ( [A-Za-z?$#\u0026] [A-Za-z0-9\\-?$#\u0026.]* )\n)",
|
34
|
+
"captures": {
|
35
|
+
"1": {
|
36
|
+
"name": "keyword.control.branch.positive.zap"
|
37
|
+
},
|
38
|
+
"2": {
|
39
|
+
"name": "keyword.control.branch.negative.zap"
|
40
|
+
},
|
41
|
+
"3": {
|
42
|
+
"name": "keyword.control.branch.${3:/downcase}.zap"
|
43
|
+
},
|
44
|
+
"4": {
|
45
|
+
"name": "keyword.control.branch.label.name.zap"
|
46
|
+
}
|
47
|
+
}
|
48
|
+
},
|
49
|
+
"comment": {
|
50
|
+
"name": "comment.line.zap",
|
51
|
+
"match": "(;).*$",
|
52
|
+
"captures": {
|
53
|
+
"1": {
|
54
|
+
"name": "punctuation.definition.comment.line.zap"
|
55
|
+
}
|
56
|
+
}
|
57
|
+
},
|
58
|
+
"debug_directive": {
|
59
|
+
"name": "meta.directive.debug.zap",
|
60
|
+
"begin": "(?x)\n(?\u003c=\\s|:|^)\n(\\.)(DEBUG-[-A-Z]+)\n(?= \\s | ; | $)",
|
61
|
+
"end": "(?=;|$)",
|
62
|
+
"patterns": [
|
63
|
+
{
|
64
|
+
"include": "#operands"
|
65
|
+
}
|
66
|
+
],
|
67
|
+
"beginCaptures": {
|
68
|
+
"0": {
|
69
|
+
"name": "keyword.directive.debug.${2:/downcase}.zap"
|
70
|
+
},
|
71
|
+
"1": {
|
72
|
+
"name": "punctuation.directive.debug.zap"
|
73
|
+
}
|
74
|
+
}
|
75
|
+
},
|
76
|
+
"directive": {
|
77
|
+
"name": "meta.directive.zap",
|
78
|
+
"begin": "(?x)\n(?\u003c=\\s|:|^)\n(?!\\.DEBUG-)\n(?:\n ((\\.)(FUNCT))\n \\s+\n ([A-Za-z?$#\u0026][A-Za-z0-9\\-?$#\u0026.]*)\n (?= \\s | [,;] | $)\n|\n ((\\.)([A-Z]+))\n (?= \\s | ; | $)\n)",
|
79
|
+
"end": "(?=;|$)",
|
80
|
+
"patterns": [
|
81
|
+
{
|
82
|
+
"include": "#operands"
|
83
|
+
}
|
84
|
+
],
|
85
|
+
"beginCaptures": {
|
86
|
+
"1": {
|
87
|
+
"name": "keyword.directive.${3:/downcase}.zap"
|
88
|
+
},
|
89
|
+
"2": {
|
90
|
+
"name": "punctuation.directive.zap"
|
91
|
+
},
|
92
|
+
"4": {
|
93
|
+
"name": "entity.name.function.zap"
|
94
|
+
},
|
95
|
+
"5": {
|
96
|
+
"name": "keyword.directive.${7:/downcase}.zap"
|
97
|
+
},
|
98
|
+
"6": {
|
99
|
+
"name": "punctuation.directive.zap"
|
100
|
+
}
|
101
|
+
}
|
102
|
+
},
|
103
|
+
"global_label": {
|
104
|
+
"name": "meta.label.global.zap",
|
105
|
+
"match": "([A-Za-z?$#\u0026][A-Za-z0-9\\-?$#\u0026.]*)(::)",
|
106
|
+
"captures": {
|
107
|
+
"1": {
|
108
|
+
"name": "keyword.control.definition.label.global.name.zap"
|
109
|
+
},
|
110
|
+
"2": {
|
111
|
+
"name": "punctuation.definition.label.global.zap"
|
112
|
+
}
|
113
|
+
}
|
114
|
+
},
|
115
|
+
"identifier": {
|
116
|
+
"name": "meta.variable.zap",
|
117
|
+
"match": "(STACK\\b)|([A-Za-z?$#\u0026][A-Za-z0-9\\-?$#\u0026.]*)",
|
118
|
+
"captures": {
|
119
|
+
"1": {
|
120
|
+
"name": "variable.language.stack.zap"
|
121
|
+
},
|
122
|
+
"2": {
|
123
|
+
"name": "variable.zap"
|
124
|
+
}
|
125
|
+
}
|
126
|
+
},
|
127
|
+
"instruction": {
|
128
|
+
"name": "meta.instruction.zap",
|
129
|
+
"begin": "(?x)\n\\b\n(?:\n (JUMP)\n \\s+\n ([A-Za-z?$#\u0026][A-Za-z0-9\\-?$#\u0026.]*)\n (?= \\s* (?: ; | $ ) )\n|\n (\n ADD | ASHIFT | ASSIGNED\\? | BAND | BCOM | BOR | BTST | BUFOUT | CALL | CALL1 | CALL2 |\n CATCH | CHECKU | CLEAR | COLOR | COPYT | CRLF | CURGET | CURSET | DCLEAR | DEC |\n DIRIN | DIROUT | DISPLAY | DIV | DLESS\\? | EQUAL\\? | ERASE | FCLEAR | FIRST\\? | FONT |\n FSET\\?? | FSTACK | GET | GETB | GETP | GETPT | GRTR\\? | HLIGHT | ICALL | ICALL1 |\n ICALL2 | IGRTR\\? | IN\\? | INC | INPUT | INTBL\\? | IRESTORE | ISAVE | IXCALL | JUMP |\n LESS\\? | LEX | LOC | MARGIN | MENU | MOD | MOUSE-INFO | MOUSE-LIMIT | MOVE | MUL |\n NEXT\\? | NEXTP | NOOP | ORIGINAL\\? | PICINF | PICSET | POP | PRINT | PRINTB | PRINTC |\n PRINTD | PRINTF | PRINTI | PRINTN | PRINTR | PRINTT | PRINTU | PTSIZE | PUSH | PUT |\n PUTB | PUTP | QUIT | RANDOM | READ | REMOVE | RESTART | RESTORE | RETURN | RFALSE |\n RSTACK | RTRUE | SAVE | SCREEN | SCROLL | SET | SHIFT | SOUND | SPLIT | SUB | THROW |\n USL | VALUE | VERIFY | WINATTR | WINGET | WINPOS | WINPUT | WINSIZE | XCALL | XPUSH |\n ZERO\\? | XWSTR\n )\n (?= \\s | ; | $)\n)",
|
130
|
+
"end": "(?=;|$)",
|
131
|
+
"patterns": [
|
132
|
+
{
|
133
|
+
"include": "#opcode"
|
134
|
+
},
|
135
|
+
{
|
136
|
+
"include": "#operands"
|
137
|
+
},
|
138
|
+
{
|
139
|
+
"include": "#store"
|
140
|
+
},
|
141
|
+
{
|
142
|
+
"include": "#branch"
|
143
|
+
}
|
144
|
+
],
|
145
|
+
"beginCaptures": {
|
146
|
+
"1": {
|
147
|
+
"name": "keyword.opcode.zap"
|
148
|
+
},
|
149
|
+
"2": {
|
150
|
+
"name": "keyword.control.branch.label.name.zap"
|
151
|
+
},
|
152
|
+
"3": {
|
153
|
+
"name": "keyword.opcode.zap"
|
154
|
+
}
|
155
|
+
}
|
156
|
+
},
|
157
|
+
"labels": {
|
158
|
+
"patterns": [
|
159
|
+
{
|
160
|
+
"include": "#global_label"
|
161
|
+
},
|
162
|
+
{
|
163
|
+
"include": "#local_label"
|
164
|
+
}
|
165
|
+
]
|
166
|
+
},
|
167
|
+
"local_label": {
|
168
|
+
"name": "meta.label.local.zap",
|
169
|
+
"match": "([A-Za-z?$#\u0026][A-Za-z0-9\\-?$#\u0026.]*)(:)(?!:)",
|
170
|
+
"captures": {
|
171
|
+
"1": {
|
172
|
+
"name": "keyword.control.definition.label.local.name.zap"
|
173
|
+
},
|
174
|
+
"2": {
|
175
|
+
"name": "punctuation.definition.label.local.zap"
|
176
|
+
}
|
177
|
+
}
|
178
|
+
},
|
179
|
+
"number": {
|
180
|
+
"name": "constant.numeric.decimal.zap",
|
181
|
+
"match": "[0-9]+"
|
182
|
+
},
|
183
|
+
"operands": {
|
184
|
+
"patterns": [
|
185
|
+
{
|
186
|
+
"include": "#summation"
|
187
|
+
},
|
188
|
+
{
|
189
|
+
"include": "#number"
|
190
|
+
},
|
191
|
+
{
|
192
|
+
"include": "#identifier"
|
193
|
+
},
|
194
|
+
{
|
195
|
+
"include": "#string"
|
196
|
+
}
|
197
|
+
]
|
198
|
+
},
|
199
|
+
"store": {
|
200
|
+
"name": "meta.store.zap",
|
201
|
+
"match": "(\u003e)\\s*(?:(STACK)|([A-Za-z?$#\u0026][A-Za-z0-9\\-?$#\u0026.]*))",
|
202
|
+
"captures": {
|
203
|
+
"1": {
|
204
|
+
"name": "punctuation.definition.storage.zap"
|
205
|
+
},
|
206
|
+
"2": {
|
207
|
+
"name": "storage.stack.zap"
|
208
|
+
},
|
209
|
+
"3": {
|
210
|
+
"name": "entity.name.variable.zap"
|
211
|
+
}
|
212
|
+
}
|
213
|
+
},
|
214
|
+
"string": {
|
215
|
+
"name": "string.quoted.double.zap",
|
216
|
+
"begin": "\"",
|
217
|
+
"end": "\"",
|
218
|
+
"patterns": [
|
219
|
+
{
|
220
|
+
"name": "constant.character.escape.zap",
|
221
|
+
"match": "\\\\."
|
222
|
+
}
|
223
|
+
],
|
224
|
+
"beginCaptures": {
|
225
|
+
"0": {
|
226
|
+
"name": "punctuation.definition.string.begin.zap"
|
227
|
+
}
|
228
|
+
},
|
229
|
+
"endCaptures": {
|
230
|
+
"0": {
|
231
|
+
"name": "punctuation.definition.string.end.zap"
|
232
|
+
}
|
233
|
+
}
|
234
|
+
},
|
235
|
+
"summation": {
|
236
|
+
"name": "meta.operand.summation.zap",
|
237
|
+
"match": "(?:([0-9]+)|([A-Za-z?$#\u0026][A-Za-z0-9\\-?$#\u0026.]*))(?:\\s*(\\+)\\s*(?:([0-9]+)|([A-Za-z?$#\u0026][A-Za-z0-9\\-?$#\u0026.]*)))+",
|
238
|
+
"captures": {
|
239
|
+
"1": {
|
240
|
+
"name": "constant.numeric.decimal.zap"
|
241
|
+
},
|
242
|
+
"2": {
|
243
|
+
"name": "entity.name.variable.zap"
|
244
|
+
},
|
245
|
+
"3": {
|
246
|
+
"name": "keyword.operator.plus.zap"
|
247
|
+
},
|
248
|
+
"4": {
|
249
|
+
"name": "constant.numeric.decimal.zap"
|
250
|
+
},
|
251
|
+
"5": {
|
252
|
+
"name": "entity.name.variable.zap"
|
253
|
+
}
|
254
|
+
}
|
255
|
+
},
|
256
|
+
"whitespace": {
|
257
|
+
"match": "\\s+"
|
258
|
+
}
|
259
|
+
}
|
260
|
+
}
|