github-linguist 7.7.0 → 7.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/hidden.manref.json +1 -1
  3. data/grammars/source.4dm.json +1029 -0
  4. data/grammars/source.agda.json +32 -202
  5. data/grammars/source.clarion.json +6 -6
  6. data/grammars/source.dircolors.json +101 -3
  7. data/grammars/source.editorconfig.json +23 -5
  8. data/grammars/source.elm.json +1 -1
  9. data/grammars/source.emacs.lisp.json +10 -0
  10. data/grammars/source.faust.json +119 -0
  11. data/grammars/source.gcode.json +170 -8
  12. data/grammars/source.hlsl.json +9 -5
  13. data/grammars/source.hx.json +4 -0
  14. data/grammars/source.igor.json +44 -0
  15. data/grammars/source.julia.json +8 -4
  16. data/grammars/source.mcfunction-snapshot.json +1 -1
  17. data/grammars/source.meson.json +1 -1
  18. data/grammars/source.odin-ehr.json +806 -0
  19. data/grammars/source.odin.json +402 -0
  20. data/grammars/source.p4.json +5 -21
  21. data/grammars/source.scala.json +27 -3
  22. data/grammars/source.sy.json +2088 -183
  23. data/grammars/source.terraform.json +576 -132
  24. data/grammars/source.ts.json +89 -30
  25. data/grammars/source.tsx.json +89 -30
  26. data/grammars/source.v.json +541 -788
  27. data/grammars/source.viml.json +2 -2
  28. data/grammars/source.webassembly.json +10 -0
  29. data/grammars/version +1 -1
  30. data/lib/linguist/VERSION +1 -1
  31. data/lib/linguist/generated.rb +10 -1
  32. data/lib/linguist/heuristics.yml +41 -3
  33. data/lib/linguist/languages.json +1 -1
  34. data/lib/linguist/languages.yml +117 -34
  35. data/lib/linguist/lazy_blob.rb +10 -10
  36. data/lib/linguist/linguist.bundle +0 -0
  37. data/lib/linguist/samples.json +6577 -1979
  38. data/lib/linguist/vendor.yml +3 -0
  39. metadata +6 -6
  40. data/grammars/source.LS.json +0 -85
  41. data/grammars/source.MCPOST.json +0 -54
  42. data/grammars/source.MOD.json +0 -55
  43. data/grammars/source.apt.json +0 -18
@@ -3,240 +3,70 @@
3
3
  "scopeName": "source.agda",
4
4
  "patterns": [
5
5
  {
6
- "name": "meta.declaration.module.agda",
7
- "begin": "\\b(module)\\s+([^\\(\\)\\{\\}[:space:]=→λ∀?][^\\(\\)\\{\\}[:space:]]*)\\b",
8
- "end": "(\\bwhere\\b|=)",
9
- "patterns": [
10
- {
11
- "include": "#module_param"
12
- },
13
- {
14
- "include": "#module_params"
15
- },
16
- {
17
- "include": "#module_params_implicit"
18
- }
19
- ],
20
- "beginCaptures": {
21
- "1": {
22
- "name": "keyword.other.agda"
23
- },
24
- "2": {
25
- "name": "storage.module.agda"
26
- }
27
- },
28
- "endCaptures": {
29
- "1": {
30
- "name": "keyword.other.agda"
31
- }
32
- }
33
- },
34
- {
35
- "name": "meta.import.agda",
36
- "begin": "^\\s*(import|open(\\s+import)?)\\b",
37
- "end": "$",
38
- "patterns": [
39
- {
40
- "name": "keyword.other.agda",
41
- "match": "\\b(as|using|renaming|hiding|public)\\b"
42
- }
43
- ],
44
- "beginCaptures": {
45
- "1": {
46
- "name": "keyword.other.agda"
47
- }
48
- }
6
+ "name": "comment.line.double-dash.agda",
7
+ "begin": "--",
8
+ "end": "$"
49
9
  },
50
10
  {
51
- "name": "meta.declaration.record.agda",
52
- "begin": "^\\s*(record)\\s+([^\\(\\)\\{\\}[:space:]=→λ∀?][^\\(\\)\\{\\}[:space:]]*)\\b",
53
- "end": "\\b(where)\\b",
54
- "beginCaptures": {
55
- "1": {
56
- "name": "keyword.other.agda"
57
- },
58
- "2": {
59
- "name": "storage.record.agda"
60
- }
61
- },
62
- "endCaptures": {
63
- "1": {
64
- "name": "keyword.other.agda"
65
- }
66
- }
11
+ "name": "comment.block.agda",
12
+ "begin": "{-[^#]",
13
+ "end": "-}"
67
14
  },
68
15
  {
69
- "name": "meta.declaration.record.agda",
70
- "begin": "\\b(data)\\s+([^\\(\\)\\{\\}[:space:]=→λ∀?][^\\(\\)\\{\\}[:space:]]*)\\b",
71
- "end": "\\b(where)\\b",
72
- "beginCaptures": {
73
- "1": {
74
- "name": "keyword.other.agda"
75
- },
76
- "2": {
77
- "name": "storage.data.agda"
78
- }
79
- },
80
- "endCaptures": {
81
- "1": {
82
- "name": "keyword.other.agda"
83
- }
84
- }
16
+ "name": "support.other.agda",
17
+ "begin": "{-#",
18
+ "end": "#-}"
85
19
  },
86
20
  {
87
21
  "name": "string.quoted.double.agda",
88
22
  "begin": "\"",
89
- "end": "\"",
90
- "patterns": [
91
- {
92
- "name": "constant.character.escape.agda",
93
- "match": "\\\\."
94
- }
95
- ]
23
+ "end": "\""
96
24
  },
97
25
  {
98
- "name": "keyword.operator.agda",
99
- "match": "\\binfix[lr]\\b"
26
+ "name": "constant.char.agda",
27
+ "match": "'([^\\\\']|\\\\['\\\\\"[:alnum:]]+)'"
100
28
  },
101
29
  {
102
- "name": "keyword.other.agda",
103
- "match": "\\b(where|as|case|field|constructor|record|private|public|abstract|mutual)\\b"
104
- },
105
- {
106
- "name": "keyword.operator.agda",
107
- "match": "(?\u003c=\\s)[=→λ∀?]"
30
+ "name": "constant.numeric.agda",
31
+ "match": "(?\u003c=^|[[:space:]\\(\\){}])(-?\\d+|0x[0-9A-F]+|-?\\d+\\.\\d+((e|E)(\\+|-)?\\d+)?|-?\\d+(e|E)(\\+|-)?\\d+)(?=[[:space:]\\(\\){}])"
108
32
  },
109
33
  {
110
- "name": "meta.function.type-declaration.agda",
111
- "match": "^\\s*([^\\(\\)\\{\\}[:space:]=→λ∀?][^\\(\\)\\{\\}[:space:]]*)\\s*(:)(?=\\s|$)",
34
+ "match": "\\b(data|record|module|constructor|open *import|open|import)[[:space:]]+([^;\\(\\){}@\"[:space:]]+)",
112
35
  "captures": {
113
36
  "1": {
114
- "name": "entity.name.function.agda"
37
+ "name": "keyword.other.agda"
115
38
  },
116
39
  "2": {
117
- "name": "keyword.other.colon.agda"
40
+ "name": "entity.name.type.agda"
118
41
  }
119
42
  }
120
43
  },
121
44
  {
122
- "name": "string.quoted.double.agda",
123
- "begin": "\"",
124
- "end": "\"",
125
- "patterns": [
126
- {
127
- "name": "constant.character.escape.agda",
128
- "match": "\\\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\\u0026])"
129
- },
130
- {
131
- "name": "constant.character.escape.octal.agda",
132
- "match": "\\\\o[0-7]+|\\\\x[0-9A-Fa-f]+|\\\\[0-9]+"
133
- },
134
- {
135
- "name": "constant.character.escape.control.agda",
136
- "match": "\\^[A-Z@\\[\\]\\\\\\^_]"
137
- }
138
- ],
139
- "beginCaptures": {
140
- "0": {
141
- "name": "punctuation.definition.string.begin.agda"
142
- }
143
- },
144
- "endCaptures": {
145
- "0": {
146
- "name": "punctuation.definition.string.end.agda"
147
- }
148
- }
45
+ "name": "entity.name.tag.agda",
46
+ "match": "((?\u003c=^|[.;\\(\\){}@\"[:space:]])\\?(?=[.;\\(\\){}@\"[:space:]])|{!.*!})"
149
47
  },
150
48
  {
151
- "name": "constant.numeric.agda",
152
- "match": "\\b([0-9]+|0([xX][0-9a-fA-F]+))\\b"
49
+ "name": "keyword.other.agda",
50
+ "match": "\\b(abstract|constructor|data|do|eta-equality|field|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|let|macro|module|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|public|quote|quoteContext|quoteGoal|quoteTerm|record|renaming|rewrite|syntax|tactic|unquote|unquoteDecl|unquoteDef|using|variable|where|with)\\b"
153
51
  },
154
52
  {
155
- "include": "#dashComment"
53
+ "name": "constant.language.agda",
54
+ "match": "\\b(Set|Prop)[0123456789₀₁₂₃₄₅₆₇₈₉]*(?=[[:space:]\\(\\)\\{\\}])"
156
55
  },
157
56
  {
158
- "include": "#pragma"
57
+ "name": "keyword.other.agda",
58
+ "match": "(?\u003c=^|[[:space:]\\(\\)\\{\\}])(λ|→|-\u003e|∀|=|←|:)(?=[[:space:]\\(\\)\\{\\}])"
159
59
  },
160
60
  {
161
- "include": "#blockComment"
162
- }
163
- ],
164
- "repository": {
165
- "blockComment": {
166
- "name": "comment.block.agda",
167
- "begin": "{-",
168
- "end": "-}",
61
+ "match": "^(([[:space:]]+|abstract|instance|macro|pattern|postulate|primitive|private|syntax|variable|where|let)*)([^;\\(\\){}@\"[:space:]]+)[[:space:]]+(?=:)",
169
62
  "captures": {
170
- "0": {
171
- "name": "punctuation.definition.comment.agda"
172
- }
173
- }
174
- },
175
- "dashComment": {
176
- "name": "comment.line.double-dash.agda",
177
- "begin": "(--) ",
178
- "end": "$",
179
- "beginCaptures": {
180
- "0": {
181
- "name": "punctuation.definition.comment.agda"
182
- }
183
- }
184
- },
185
- "identifier": {
186
- "name": "entity.name.function.agda",
187
- "match": "\\b[^\\(\\)\\{\\}[:space:]=→λ∀?][^\\(\\)\\{\\}[:space:]]*"
188
- },
189
- "module_param": {
190
- "name": "entity.name.parameter.agda",
191
- "match": "\\b[^\\(\\)\\{\\}[:space:]=→λ∀?][^\\(\\)\\{\\}[:space:]]*"
192
- },
193
- "module_params": {
194
- "name": "meta.declaration.module.params.agda",
195
- "begin": "\\(",
196
- "end": "\\)",
197
- "patterns": [
198
- {
199
- "include": "#module_param"
200
- },
201
- {
202
- "include": "#type_sig_rhs"
203
- }
204
- ]
205
- },
206
- "module_params_implicit": {
207
- "name": "meta.declaration.module.params.agda",
208
- "begin": "\\{",
209
- "end": "\\}",
210
- "patterns": [
211
- {
212
- "include": "#module_param"
63
+ "1": {
64
+ "name": "keyword.other.agda"
213
65
  },
214
- {
215
- "include": "#type_sig_rhs"
66
+ "3": {
67
+ "name": "entity.name.agda"
216
68
  }
217
- ]
218
- },
219
- "pragma": {
220
- "name": "support.pragma.block.agda",
221
- "begin": "\\{-#",
222
- "end": "#-\\}",
223
- "captures": {
224
- "0": {
225
- "name": "punctuation.definition.pragma.agda"
226
- }
227
- },
228
- "applyEndPatternLast": true
229
- },
230
- "type_sig_rhs": {
231
- "name": "meta.declaration.module.params.typesig.agda",
232
- "begin": ":",
233
- "end": "(?=[\\)\\}])",
234
- "patterns": [
235
- {
236
- "name": "storage.type.agda",
237
- "match": "\\b[^\\(\\)\\{\\}[:space:]=→λ∀?][^\\(\\)\\{\\}[:space:]]*"
238
- }
239
- ]
69
+ }
240
70
  }
241
- }
71
+ ]
242
72
  }
@@ -60,11 +60,11 @@
60
60
  "repository": {
61
61
  "attributes": {
62
62
  "name": "entity.other.attribute-name.clarion",
63
- "match": "\\b(?i:ABOVE|ABSOLUTE|ALONE|ALRT|ANGLE|AT|AUTO|AUTOSIZE|AVE|BELOW|BEVEL|BINARY|BINDABLE|BITMAP|BOXED|C|CAP|CENTER|CENTERED|CNT|COLOR|COLUMN|COM|COMPATIBILITY|CONST|CURSOR|DEFAULT|DELAY|DERIVED|DIM|DLL|DOCUMENT|DOCK|DOCKED|DOWN|DRAGID|DRIVER|DROP|DROPID|DUP|ENCRYPT|EXPAND|EXTEND|EXTERNAL|FILL|FILTER|FIRST|FIX|FIXED|FLAT|FONT|FROM|FULL|GLOBALCLASS|GRAY|GRID|HIDE|HLP|HSCROLL|HVSCROLL|ICON|ICONIZE|IMM|IMPLEMENTS|INNER|INS|LANDSCAPE|LAST|LATE|LAYOUT|LENGTH|LFT|LINEWIDTH|LINK|LOCATE|MARK|MASK|MAX|MAXIMIZE|MDI|META|MIN|MM|MODAL|MSG|NAME|NOBAR|NOCASE|NOFRAME|NOMEMO|NOMERGE|NOSHEET|OEM|OPT|ORDER|OUTER|OVER|OVR|OWNER|PAGE|PAGEAFTER|PAGEBEFORE|PALETTE|PAPER|PASCAL|PASSWORD|POINTS|PRE|PREVIEW|PRIMARY|PRIVATE|PROC|PROTECTED|RANGE|RAW|READONLY|RECLAIM|REPEAT|REPLACE|REQ|RESIZE|SCROLL|SINGLE|SMOOTH|SPREAD|STATIC|STD|STEP|STRETCH|SUM|SUPPRESS|TALLY|TARGET|THOUS|TILED|TIMER|TIP|TOGETHER|TOOLBOX|TRN|UP|UPR|USE|VALUE|VERTICAL|VCR|VIRTUAL|VSCROLL|WALLPAPER|WIDTH|WITHNEXT|WITHPRIOR|WIZARD|WRAP|ZOOM|CHECK|DOUBLE|SEPARATOR|PAGENO|RTF|SYSTEM|TYPE|COM|)\\b"
63
+ "match": "\\b(?i:ABOVE|ABSOLUTE|ALONE|ALRT|ANGLE|AT|AUTO|AUTOSIZE|AVE|BELOW|BEVEL|BINARY|BINDABLE|BITMAP|BOXED|C|CAP|CENTER|CENTERED|CNT|COLOR|COLUMN|COM|COMPATIBILITY|CONST|CURSOR|DEFAULT|DELAY|DERIVED|DIM|DLL|COM|DOCUMENT|DOCK|DOCKED|DOWN|DRAGID|DRIVER|DROP|DROPID|DUP|ENCRYPT|EXPAND|EXTEND|EXTERNAL|FILL|FILTER|FIRST|FIX|FIXED|FLAT|FONT|FROM|FULL|GLOBALCLASS|GRAY|GRID|HIDE|HLP|HSCROLL|HVSCROLL|ICON|ICONIZE|IMM|IMPLEMENTS|INNER|INS|LANDSCAPE|LAST|LATE|LAYOUT|LENGTH|LFT|LINEWIDTH|LINK|LOCATE|MARK|MASK|MAX|MAXIMIZE|MDI|META|MIN|MM|MODAL|MSG|NAME|NOBAR|NOCASE|NOFRAME|NOMEMO|NOMERGE|NOSHEET|OEM|OPT|ORDER|OUTER|OVER|OVR|OWNER|PAGE|PAGEAFTER|PAGEBEFORE|PALETTE|PAPER|PASCAL|PASSWORD|POINTS|PRE|PREVIEW|PRIMARY|PRIVATE|PROC|PROTECTED|RANGE|RAW|READONLY|RECLAIM|REPEAT|REPLACE|REQ|RESIZE|SCROLL|SINGLE|SMOOTH|SPREAD|STATIC|STD|STEP|STRETCH|SUM|SUPPRESS|TALLY|TARGET|THOUS|TILED|TIMER|TIP|TOGETHER|TOOLBOX|TRN|UP|UPR|USE|VALUE|VERTICAL|VCR|VIRTUAL|VSCROLL|WALLPAPER|WIDTH|WITHNEXT|WITHPRIOR|WIZARD|WRAP|ZOOM|CHECK|DOUBLE|SEPARATOR|PAGENO|RTF|SYSTEM|TYPE)\\b"
64
64
  },
65
65
  "baseTypes": {
66
66
  "name": "storage.type.base-types.clarion",
67
- "match": "\\b(?i:ANY|ASTRING|BFLOAT4|BFLOAT8|BLOB|MEMO|BOOL|BSTRING|BYTE|CSTRING|DATE|DECIMAL|DOUBLE|FLOAT4|LONG|LIKE|PDECIMAL|PSTRING|REAL|SHORT|SIGNED|SREAL|STRING|TIME|ULONG|UNSIGNED|USHORT|VARIANT)\\b"
67
+ "match": "\\b(?i:ANY|ASTRING|BFLOAT4|BFLOAT8|BLOB|MEMO|BOOL|BSTRING|BYTE|CSTRING|DATE|DECIMAL|DOUBLE|FLOAT4|LONG|PDECIMAL|PSTRING|REAL|SHORT|SIGNED|SREAL|STRING|TIME|ULONG|UNSIGNED|USHORT|VARIANT)\\b"
68
68
  },
69
69
  "classLabels": {
70
70
  "name": "entity.name.class.clarion",
@@ -90,7 +90,7 @@
90
90
  },
91
91
  "hardReservedKeywords": {
92
92
  "name": "keyword.clarion",
93
- "match": "\\b(?i:ACCEPT|AND|BREAK|BY|CASE|CHOOSE|CYCLE|DO|ELSE|ELSIF|END|EXECUTE|EXIT|FUNCTION|GOTO|IF|LOOP|MEMBER|NEW|NOT|OF|OR|OROF|PARENT|PROCEDURE|PROGRAM|RETURN|ROUTINE|SELF|THEN|TIMES|TO|UNTIL|WHILE)\\b"
93
+ "match": "\\b(?i:ACCEPT|BREAK|BY|CASE|CHOOSE|CYCLE|DO|ELSE|ELSIF|END|EXECUTE|EXIT|FUNCTION|GOTO|IF|LOOP|MEMBER|NEW|OF|OROF|PARENT|PROCEDURE|PROGRAM|RETURN|ROUTINE|SELF|THEN|TIMES|TO|UNTIL|WHILE)\\b"
94
94
  },
95
95
  "implicits": {
96
96
  "name": "keyword.implicit.clarion",
@@ -107,15 +107,15 @@
107
107
  },
108
108
  "langConstants": {
109
109
  "name": "support.constant.clarion",
110
- "match": "\\b(?i:TRUE|FALSE|NULL)\\b"
110
+ "match": "\\b(?i:TRUE|FALSE)\\b"
111
111
  },
112
112
  "langFunctions": {
113
113
  "name": "support.function.clarion",
114
- "match": "\\b(?i:ADD|DISPOSE|ADDRESS|GET|BAND|BUILD|CLEAR|CLOSE|DELETE|DUPLICATE|FIXFORMAT|FREESTATE|GETNULLS|GETSTATE|HOLD|LOCK|OPEN|POINTER|POSITION|PUT|RECORDS|REGET|RESET|RESTORESTATE|SET|SETNULLS|STATUS|UNBIND|UNFIXFORMAT|_PROC|_PROC1|_PROC2|_PROC3|ACCEPTED|ACOS|ALERT|ALIAS|ALL|ARC|ASIN|ASK|ATAN|BEEP|BINDEXPRESSION |BLANK|BOF|BOX|BUFFER|BYTES|CALL|CENTER|CHAIN|CHANGE|CHANGES|CHOICE|CHORD|CLIP|CLIPBOARD|CLOCK|CLONE|COLORDIALOG|COMMAND|COMMIT|COMPRESS |CONVERTANSITOOEM|CONVERTOEMTOANSI|CONTENTS|COPY|COS|DATE|DAY|DEBUGHOOK|DECOMPRESS |DELETEREG|DESTROY|DIRECTORY|DIRECTORY|DISABLE|DISPLAY|DRAGID|DROPID|ELLIPSE|EMPTY|ENABLE|ENDPAGE|EOF|ERASE|ERROR|ERRORCODE|ERRORFILE|EVALUATE|EXISTS|FIELD|FILEDIALOG|FILEDIALOGA|FILEERROR|FILEERRORCODE|FIRSTFIELD|FLUSH|FOCUS|FONTDIALOG|FONTDIALOGA|FORWARDKEY|FREE|FREEZE|GETEXITCODE|GETFONT|GETGROUP|GETREG|GETREGSUBKEYS|GETREGVALUES|GETINI|GETPOSITION|HALT|HELP|HIDE|HOWMANY|IDLE|IMAGE|INCOMPLETE|INSTANCE|INSTRING|ISALPHA|ISGROUP|ISLOWER|ISUPPER|ISSTRING|KEYBOARD|KEYCHAR|KEYCODE|KEYSTATE|LASTFIELD|LEFT|LEN|LINE|LOCALE|LOCKTHREAD|LOG10|LOGE|LONGPATH|LOWER|MATCH|MESSAGE|MONTH|MOUSEX|MOUSEY|NAME|NEXT|NOMEMO|NOTIFICATION|NOTIFY|NUMERIC|PACK|PATH|PENCOLOR|PENWIDTH|PENSTYLE|PIE|POLYGON|POPBIND|POPERRORS|POPUP|POST|PRESS|PRESSKEY|PREVIOUS|PRINTERDIALOG|PRINTERDIALOGA|PUSHBIND|PUSHERRORS|PUTREG|PUTINI|QUOTE|RANDOM|REGISTER|REGISTEREVENT|EVENT|RELEASE|REMOVE|RESUME|RIGHT|ROLLBACK|ROUNDBOX|RUN|RUNCODE|REJECTCODE|SELECT|SELECTED|SEND|SET3DLOOK|SETCLIPBOARD|SETCLOCK|SETCOMMAND|SETCURSOR|SETDROPID|SETEXITCODE|SETFONT|SETFONT|SETKEYCHAR|SETKEYCODE|SETLAYOUT|SETPATH|SETPENWIDTH|SETPENSTYLE|SETPENCOLOR|SETPOSITION|SETPOSITION|SETTARGET|SETTODAY|SHARE|SHORTPATH|SHOW|SHUTDOWN|SIN|SKIP|SQRT|START|STATUS|STOP|STREAM|STRPOS|SUB|SUSPEND|TAN|THREAD|THREADLOCKED|TIE|TIED|TODAY|TYPE|UNFREEZE|UNHIDE|UNLOAD|UNLOCK|UNLOCKTHREAD|UNQUOTE|UNREGISTER|UNREGISTEREVENT|UNTIE|UPDATE|UPPER|WATCH|WHAT|WHAT|WHERE|WHERE|WHO|WHO|YEAR|YIELD|ABS|AFTER|AGE|APPEND|BEFORE|BIND|BINDEXPRESSION|BOR|BSHIFT|BXOR|CHR|COMPRESS|CREATE|DDEACKNOWLEDGE|DDEAPP|DDECHANNEL|DDECLIENT|DDECLOSE|DDEEXECUTE|DDEITEM|DDEPOKE|DDEQUERY|DDEREAD|DDESERVER|DDETOPIC|DDEVALUE|DDEWRITE|DECOMPRESS|DEFORMAT|FILEEXISTS|FORMAT|FULLNAME|INLIST|INRANGE|INT|LOGOUT|OCXLOADIMAGE|OCXREGISTEREVENTPROC|OCXREGISTERPROPCHANGE|OCXREGISTERPROPEDIT|OCXSETPARAM|OCXUNREGISTEREVENTPROC|OCXUNREGISTERPROPCHANGE|OCXUNREGISTERPROPEDIT|OLEDIRECTORY|OMITTED|PEEK|POKE|PRAGMA|PRINT|PRINTER|RENAME|ROUND|SAVEDIALOG|SETNONULL|SETNULL|SHIFT|SORT|VAL|XOR)\\b"
114
+ "match": "\\b(?i:ADD|DISPOSE|ADDRESS|GET|BAND|BUILD|CLEAR|CLOSE|DELETE|DUPLICATE|FIXFORMAT|FREESTATE|GETNULLS|GETSTATE|HOLD|LOCK|OPEN|POINTER|POSITION|RECORDS|REGET|RESET|RESTORESTATE|SET|SETNULLS|STATUS|UNBIND|UNFIXFORMAT|_PROC|_PROC1|_PROC2|_PROC3|ACCEPTED|ACOS|ALERT|ALIAS|ALL|ARC|ASIN|ASK|ATAN|BEEP|BINDEXPRESSION |BLANK|BOF|BOX|BUFFER|BYTES|CALL|CENTER|CHAIN|CHANGE|CHANGES|CHOICE|CHORD|CLIP|CLIPBOARD|CLOCK|CLONE|COLORDIALOG|COMMAND|COMMIT|COMPRESS |CONVERTANSITOOEM|CONVERTOEMTOANSI|CONTENTS|COPY|COS|DATE|DAY|DEBUGHOOK|DECOMPRESS |DELETEREG|DESTROY|DIRECTORY|DIRECTORY|DISABLE|DISPLAY|DRAGID|DROPID|ELLIPSE|EMPTY|ENABLE|ENDPAGE|EOF|ERASE|ERROR|ERRORCODE|ERRORFILE|EVALUATE|EXISTS|FIELD|FILEDIALOG|FILEDIALOGA|FILEERROR|FILEERRORCODE|FIRSTFIELD|FLUSH|FOCUS|FONTDIALOG|FONTDIALOGA|FORWARDKEY|FREE|FREEZE|GETEXITCODE|GETFONT|GETGROUP|GETREG|GETREGSUBKEYS|GETREGVALUES|GETINI|GETPOSITION|HALT|HELP|HIDE|HOWMANY|IDLE|IMAGE|INCOMPLETE|INSTANCE|INSTRING|ISALPHA|ISGROUP|ISLOWER|ISUPPER|ISSTRING|KEYBOARD|KEYCHAR|KEYCODE|KEYSTATE|LASTFIELD|LEFT|LEN|LINE|LOCALE|LOCKTHREAD|LOG10|LOGE|LONGPATH|LOWER|MATCH|MESSAGE|MONTH|MOUSEX|MOUSEY|NAME|NEXT|NOMEMO|NOTIFICATION|NOTIFY|NUMERIC|PACK|PATH|PENCOLOR|PENWIDTH|PENSTYLE|PIE|POLYGON|POPBIND|POPERRORS|POPUP|POST|PRESS|PRESSKEY|PREVIOUS|PRINTERDIALOG|PRINTERDIALOGA|PUSHBIND|PUSHERRORS|PUT|PUTREG|PUTINI|QUOTE|RANDOM|REGISTER|REGISTEREVENT|EVENT|RELEASE|REMOVE|RESUME|RIGHT|ROLLBACK|ROUNDBOX|RUN|RUNCODE|REJECTCODE|SELECT|SELECTED|SEND|SET3DLOOK|SETCLIPBOARD|SETCLOCK|SETCOMMAND|SETCURSOR|SETDROPID|SETEXITCODE|SETFONT|SETFONT|SETKEYCHAR|SETKEYCODE|SETLAYOUT|SETPATH|SETPENWIDTH|SETPENSTYLE|SETPENCOLOR|SETPOSITION|SETPOSITION|SETTARGET|SETTODAY|SHARE|SHORTPATH|SHOW|SHUTDOWN|SIN|SKIP|SQRT|START|STATUS|STOP|STREAM|STRPOS|SUB|SUSPEND|TAN|THREAD|THREADLOCKED|TIE|TIED|TODAY|TYPE|UNFREEZE|UNHIDE|UNLOAD|UNLOCK|UNLOCKTHREAD|UNQUOTE|UNREGISTER|UNREGISTEREVENT|UNTIE|UPDATE|UPPER|WATCH|WHAT|WHAT|WHERE|WHERE|WHO|WHO|YEAR|YIELD|ABS|AFTER|AGE|APPEND|BEFORE|BIND|BINDEXPRESSION|BOR|BSHIFT|BXOR|CHR|COMPRESS|CREATE|DDEACKNOWLEDGE|DDEAPP|DDECHANNEL|DDECLIENT|DDECLOSE|DDEEXECUTE|DDEITEM|DDEPOKE|DDEQUERY|DDEREAD|DDESERVER|DDETOPIC|DDEVALUE|DDEWRITE|DECOMPRESS|DEFORMAT|FILEEXISTS|FORMAT|FULLNAME|INLIST|INRANGE|INT|LOGOUT|OCXLOADIMAGE|OCXREGISTEREVENTPROC|OCXREGISTERPROPCHANGE|OCXREGISTERPROPEDIT|OCXSETPARAM|OCXUNREGISTEREVENTPROC|OCXUNREGISTERPROPCHANGE|OCXUNREGISTERPROPEDIT|OLEDIRECTORY|OMITTED|PEEK|POKE|PRAGMA|PRINT|PRINTER|RENAME|ROUND|SAVEDIALOG|SETNONULL|SETNULL|SHIFT|SORT|VAL|XOR)\\b"
115
115
  },
116
116
  "langProps": {
117
117
  "name": "support.constant.clarion",
118
- "match": "\\b(?i:PROP|PROPLIST|EVENT|COLOR|CREATE|BRUSH|FILE|LEVEL|STD|CURSOR|ICON|BEEP|REJECT|FONT|CHARSET|PEN|LISTZONE|BUTTON|MSGMODE|WINDOW|TEXT|FREEZE|DDE|FF_|OCX|DOCK|MATCH|PAPER|DRIVEROP|DATATYPE|GradientTypes):\\w*\\b"
118
+ "match": "\\b(?i:PROP|EVENT|COLOR|CREATE|BRUSH|FILE|LEVEL|STD|CURSOR|ICON|BEEP|REJECT|FONT|CHARSET|PEN|LISTZONE|BUTTON|MSGMODE|WINDOW|TEXT|FREEZE|DDE|FF_|OCX|DOCK|MATCH|PAPER|DRIVEROP|DATATYPE|GradientTypes):\\w*\\b"
119
119
  },
120
120
  "numericConstants": {
121
121
  "name": "constant.numeric.clarion",
@@ -32,8 +32,106 @@
32
32
  "match": "\\b\\d+?\\b"
33
33
  },
34
34
  {
35
- "name": "keyword.other.dircolors",
36
- "match": "\\b(TERM|COLOR|EIGHTBIT|OPTION|NORMAL|NORM|FILE|RESET|DIR|LNK|LINK|SYMLINK|ORPHAN|MISSING|FIFO|PIPE|SOCK|BLK|BLOCK|CHR|CHAR|DOOR|EXEC|LEFT|LEFTCODE|RIGHT|RIGHTCODE|END|ENDCODE|SUID|SETUID|SGID|SETGID|STICKY|OTHER_WRITABLE|OWR|STICKY_OTHER_WRITABLE|OWT|CAPABILITY|MULTIHARDLINK|CLRTOEOL)\\b"
35
+ "name": "punctuation.delimiter.semicolon.dircolors",
36
+ "match": ";"
37
+ },
38
+ {
39
+ "match": "(?i)^(\\s*)(TERM)\\s+((?:[^\\s#\\\\]|\\\\.)+)",
40
+ "captures": {
41
+ "1": {
42
+ "name": "punctuation.whitespace.comment.leading.dircolors"
43
+ },
44
+ "2": {
45
+ "name": "keyword.other.dircolors"
46
+ },
47
+ "3": {
48
+ "name": "variable.parameter.function.terminal-type.dircolors"
49
+ }
50
+ }
51
+ },
52
+ {
53
+ "match": "(?i)^(\\s*)(COLOR|EIGHTBIT)\\s+(all|none|no|tty|yes)\\b",
54
+ "captures": {
55
+ "1": {
56
+ "name": "punctuation.whitespace.comment.leading.dircolors"
57
+ },
58
+ "2": {
59
+ "name": "keyword.other.dircolors"
60
+ },
61
+ "3": {
62
+ "name": "constant.language.${3:/downcase}.dircolors"
63
+ }
64
+ }
65
+ },
66
+ {
67
+ "match": "(?i)^(\\s*)(OPTIONS)\\s+((?:[^\\s#\\\\]|\\\\.)+)",
68
+ "captures": {
69
+ "1": {
70
+ "name": "punctuation.whitespace.comment.leading.dircolors"
71
+ },
72
+ "2": {
73
+ "name": "keyword.other.dircolors"
74
+ },
75
+ "3": {
76
+ "patterns": [
77
+ {
78
+ "include": "source.opts"
79
+ }
80
+ ]
81
+ }
82
+ }
83
+ },
84
+ {
85
+ "match": "(?ix)\n^ (\\s*)\n(TERM|COLOR|EIGHTBIT|OPTION|NORMAL|NORM|FILE|RESET|DIR|LNK|LINK|SYMLINK|ORPHAN|MISSING\n|FIFO|PIPE|SOCK|BLK|BLOCK|CHR|CHAR|DOOR|EXEC|LEFT|LEFTCODE|RIGHT|RIGHTCODE|END|ENDCODE\n|SUID|SETUID|SGID|SETGID|STICKY|OTHER_WRITABLE|OWR|STICKY_OTHER_WRITABLE|OWT|CAPABILITY\n|MULTIHARDLINK|CLRTOEOL)\n(?=\\s|\\#|$)",
86
+ "captures": {
87
+ "1": {
88
+ "name": "punctuation.whitespace.comment.leading.dircolors"
89
+ },
90
+ "2": {
91
+ "name": "keyword.other.dircolors"
92
+ }
93
+ }
94
+ },
95
+ {
96
+ "match": "^(\\s*)((?:[^\\s#\\\\]|\\\\.)+)",
97
+ "captures": {
98
+ "1": {
99
+ "name": "punctuation.whitespace.comment.leading.dircolors"
100
+ },
101
+ "2": {
102
+ "name": "keyword.other.extension.dircolors",
103
+ "patterns": [
104
+ {
105
+ "include": "#escape"
106
+ }
107
+ ]
108
+ }
109
+ }
110
+ },
111
+ {
112
+ "include": "#escape"
113
+ }
114
+ ],
115
+ "repository": {
116
+ "escape": {
117
+ "patterns": [
118
+ {
119
+ "name": "constant.character.escape.caret-notation.dircolors",
120
+ "match": "\\^[?@A-Za-z\\[\\\\\\]^_]"
121
+ },
122
+ {
123
+ "name": "constant.character.escape.codepoint.hexadecimal.dircolors",
124
+ "match": "\\\\x[0-9A-Fa-f]{1,3}"
125
+ },
126
+ {
127
+ "name": "constant.character.escape.codepoint.octal.dircolors",
128
+ "match": "\\\\[0-7]{1,3}"
129
+ },
130
+ {
131
+ "name": "constant.character.escape.dircolors",
132
+ "match": "(?i)\\\\[abefnrtv?\\_^#]"
133
+ }
134
+ ]
37
135
  }
38
- ]
136
+ }
39
137
  }
@@ -51,10 +51,6 @@
51
51
  "name": "constant.language.boolean.${1:/downcase}.editorconfig",
52
52
  "match": "(?i)(?\u003c=\\s|=)(true|false|on|off|yes|no)(?=$|\\s)"
53
53
  },
54
- {
55
- "name": "constant.language.charset.encoding.${1:/downcase}.editorconfig",
56
- "match": "(?i)(?\u003c=\\s|=)(latin1|utf-8(?:-bom)?|utf-16[bl]e)(?=$|\\s)"
57
- },
58
54
  {
59
55
  "name": "constant.language.${1:/downcase}.editorconfig",
60
56
  "match": "(?i)(?\u003c=\\s|=)(CRLF|CR|LF|tab|space|unset)(?=$|\\s)"
@@ -200,9 +196,31 @@
200
196
  },
201
197
  {
202
198
  "name": "meta.rule.${1:/downcase}.editorconfig",
203
- "begin": "(?ix)\n^ \\s*\n( charset\n| end_of_line\n| indent_size\n| indent_style\n| insert_final_newline\n| max_line_length\n| root\n| tab_width\n| trim_trailing_whitespace\n) \\s* (=)",
199
+ "begin": "(?ix)\n^ \\s*\n( end_of_line\n| indent_size\n| indent_style\n| insert_final_newline\n| max_line_length\n| root\n| tab_width\n| trim_trailing_whitespace\n) \\s* (=)",
200
+ "end": "$",
201
+ "patterns": [
202
+ {
203
+ "include": "#value"
204
+ }
205
+ ],
206
+ "beginCaptures": {
207
+ "1": {
208
+ "name": "keyword.other.definition.${1:/downcase}.editorconfig"
209
+ },
210
+ "2": {
211
+ "name": "punctuation.separator.key-value.editorconfig"
212
+ }
213
+ }
214
+ },
215
+ {
216
+ "name": "meta.rule.charset.editorconfig",
217
+ "begin": "^\\s*(charset)\\s*(=)",
204
218
  "end": "$",
205
219
  "patterns": [
220
+ {
221
+ "name": "constant.language.charset.encoding.${1:/downcase}.editorconfig",
222
+ "match": "(?i)(?\u003c=\\s|=)([-\\w]+)(?=$|\\s)"
223
+ },
206
224
  {
207
225
  "include": "#value"
208
226
  }