github-linguist 4.8.10 → 4.8.11

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,22 +1,381 @@
1
1
  {
2
- "name": "Metadata",
3
- "uuid": "64598216-cf92-4b00-961f-2b1478921c3e",
4
- "scope": "source.elm",
5
- "settings": {
6
- "increaseIndentPattern": "(?x)\n ^.*\n (=\n |[|!%$?~+:\\-.=</>&\\\\*^]+\n |\\bthen\n |\\belse\n |\\bof\n )\n \\s*$",
7
- "shellVariables": [
8
- {
9
- "name": "TM_COMMENT_START",
10
- "value": "--"
11
- },
12
- {
13
- "name": "TM_COMMENT_START_2",
14
- "value": "{-"
15
- },
16
- {
17
- "name": "TM_COMMENT_END_2",
18
- "value": "-}"
19
- }
20
- ]
21
- }
2
+ "fileTypes": [
3
+ "elm"
4
+ ],
5
+ "name": "Elm",
6
+ "patterns": [
7
+ {
8
+ "captures": {
9
+ "1": {
10
+ "name": "punctuation.definition.entity.elm"
11
+ },
12
+ "2": {
13
+ "name": "punctuation.definition.entity.elm"
14
+ }
15
+ },
16
+ "match": "(`)[a-zA-Z_']*?(`)",
17
+ "name": "keyword.operator.function.infix.elm"
18
+ },
19
+ {
20
+ "match": "\\(\\)",
21
+ "name": "constant.language.unit.elm"
22
+ },
23
+ {
24
+ "begin": "^\\b((effect|port)\\s+)?(module)\\s+",
25
+ "beginCaptures": {
26
+ "1": {
27
+ "name": "keyword.other.elm"
28
+ },
29
+ "3": {
30
+ "name": "keyword.other.elm"
31
+ }
32
+ },
33
+ "end": "$|;",
34
+ "endCaptures": {
35
+ "1": {
36
+ "name": "keyword.other.elm"
37
+ }
38
+ },
39
+ "name": "meta.declaration.module.elm",
40
+ "patterns": [
41
+ {
42
+ "include": "#module_name"
43
+ },
44
+ {
45
+ "begin": "(where)\\s*\\{",
46
+ "beginCaptures": {
47
+ "1": {
48
+ "name": "keyword.other.elm"
49
+ }
50
+ },
51
+ "end": "\\}",
52
+ "patterns": [
53
+ {
54
+ "include": "#type_signature"
55
+ }
56
+ ]
57
+ },
58
+ {
59
+ "match": "(exposing)",
60
+ "name": "keyword.other.elm"
61
+ },
62
+ {
63
+ "include": "#module_exports"
64
+ },
65
+ {
66
+ "match": "(where)",
67
+ "name": "keyword.other.elm"
68
+ },
69
+ {
70
+ "match": "[a-z]+",
71
+ "name": "invalid"
72
+ }
73
+ ]
74
+ },
75
+ {
76
+ "begin": "^\\b(import)\\s+((open)\\s+)?",
77
+ "beginCaptures": {
78
+ "1": {
79
+ "name": "keyword.other.elm"
80
+ },
81
+ "3": {
82
+ "name": "invalid"
83
+ }
84
+ },
85
+ "end": "($|;)",
86
+ "name": "meta.import.elm",
87
+ "patterns": [
88
+ {
89
+ "match": "(as|exposing)",
90
+ "name": "keyword.import.elm"
91
+ },
92
+ {
93
+ "include": "#module_name"
94
+ },
95
+ {
96
+ "include": "#module_exports"
97
+ }
98
+ ]
99
+ },
100
+ {
101
+ "begin": "(\\[)(glsl)(\\|)",
102
+ "beginCaptures": {
103
+ "1": {
104
+ "name": "keyword.other.elm"
105
+ },
106
+ "2": {
107
+ "name": "support.function.prelude.elm"
108
+ },
109
+ "3": {
110
+ "name": "keyword.other.elm"
111
+ }
112
+ },
113
+ "end": "(\\|\\])",
114
+ "endCaptures": {
115
+ "1": {
116
+ "name": "keyword.other.elm"
117
+ }
118
+ },
119
+ "name": "entity.glsl.elm",
120
+ "patterns": [
121
+ {
122
+ "include": "source.glsl"
123
+ }
124
+ ]
125
+ },
126
+ {
127
+ "match": "\\b(type alias|type|case|of|let|in|as)\\s+",
128
+ "name": "keyword.other.elm"
129
+ },
130
+ {
131
+ "match": "\\b(if|then|else)\\s+",
132
+ "name": "keyword.control.elm"
133
+ },
134
+ {
135
+ "comment": "Floats are always decimal",
136
+ "match": "\\b([0-9]+\\.[0-9]+([eE][+-]?[0-9]+)?|[0-9]+[eE][+-]?[0-9]+)\\b",
137
+ "name": "constant.numeric.float.elm"
138
+ },
139
+ {
140
+ "match": "\\b([0-9]+)\\b",
141
+ "name": "constant.numeric.elm"
142
+ },
143
+ {
144
+ "begin": "\"\"\"",
145
+ "beginCaptures": {
146
+ "0": {
147
+ "name": "punctuation.definition.string.begin.elm"
148
+ }
149
+ },
150
+ "end": "\"\"\"",
151
+ "endCaptures": {
152
+ "0": {
153
+ "name": "punctuation.definition.string.end.elm"
154
+ }
155
+ },
156
+ "name": "string.quoted.double.elm",
157
+ "patterns": [
158
+ {
159
+ "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\\\\'\\&])",
160
+ "name": "constant.character.escape.elm"
161
+ },
162
+ {
163
+ "match": "\\^[A-Z@\\[\\]\\\\\\^_]",
164
+ "name": "constant.character.escape.control.elm"
165
+ }
166
+ ]
167
+ },
168
+ {
169
+ "begin": "\"",
170
+ "beginCaptures": {
171
+ "0": {
172
+ "name": "punctuation.definition.string.begin.elm"
173
+ }
174
+ },
175
+ "end": "\"",
176
+ "endCaptures": {
177
+ "0": {
178
+ "name": "punctuation.definition.string.end.elm"
179
+ }
180
+ },
181
+ "name": "string.quoted.double.elm",
182
+ "patterns": [
183
+ {
184
+ "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\\\\\\\"'\\&])",
185
+ "name": "constant.character.escape.elm"
186
+ },
187
+ {
188
+ "match": "\\^[A-Z@\\[\\]\\\\\\^_]",
189
+ "name": "constant.character.escape.control.elm"
190
+ }
191
+ ]
192
+ },
193
+ {
194
+ "captures": {
195
+ "1": {
196
+ "name": "punctuation.definition.string.begin.elm"
197
+ },
198
+ "2": {
199
+ "name": "constant.character.escape.elm"
200
+ },
201
+ "3": {
202
+ "name": "punctuation.definition.string.end.elm"
203
+ }
204
+ },
205
+ "match": "(?x)\n(')\n(?:\n\t[\\ -\\[\\]-~]\t\t\t\t\t\t\t\t# Basic Char\n | (\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE\n\t\t|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS\n\t\t|US|SP|DEL|[abfnrtv\\\\\\\"'\\&]))\t\t# Escapes\n | (\\^[A-Z@\\[\\]\\\\\\^_])\t\t\t\t\t\t# Control Chars\n)\n(')",
206
+ "name": "string.quoted.single.elm"
207
+ },
208
+ {
209
+ "begin": "^(port\\s+)?([a-z_][a-zA-Z0-9_']*|\\([|!%$+\\-.,=</>]+\\))\\s*((:)([:]+)?)",
210
+ "beginCaptures": {
211
+ "1": {
212
+ "name": "keyword.other.port.elm"
213
+ },
214
+ "2": {
215
+ "name": "entity.name.function.elm"
216
+ },
217
+ "4": {
218
+ "name": "keyword.other.colon.elm"
219
+ },
220
+ "5": {
221
+ "name": "invalid"
222
+ }
223
+ },
224
+ "end": "$\\n?",
225
+ "name": "meta.function.type-declaration.elm",
226
+ "patterns": [
227
+ {
228
+ "include": "#type_signature"
229
+ }
230
+ ]
231
+ },
232
+ {
233
+ "match": "\\bport\\s+",
234
+ "name": "keyword.other.port.elm"
235
+ },
236
+ {
237
+ "match": "\\b[A-Z]\\w*\\b",
238
+ "name": "constant.other.elm"
239
+ },
240
+ {
241
+ "include": "#comments"
242
+ },
243
+ {
244
+ "match": "^[a-z][A-Za-z0-9_']*\\s+",
245
+ "name": "entity.name.function.elm"
246
+ },
247
+ {
248
+ "include": "#infix_op"
249
+ },
250
+ {
251
+ "match": "[|!%$?~+:\\-.=</>&\\\\*^]+",
252
+ "name": "keyword.operator.elm"
253
+ },
254
+ {
255
+ "captures": {
256
+ "1": {
257
+ "name": "support.function.delimiter.elm"
258
+ }
259
+ },
260
+ "match": "([\\[\\]\\{\\},])",
261
+ "name": "constant.language.delimiter.elm"
262
+ },
263
+ {
264
+ "match": "([\\(\\)])",
265
+ "name": "keyword.other.parenthesis.elm"
266
+ }
267
+ ],
268
+ "repository": {
269
+ "block_comment": {
270
+ "applyEndPatternLast": 1,
271
+ "begin": "\\{-(?!#)",
272
+ "captures": {
273
+ "0": {
274
+ "name": "punctuation.definition.comment.elm"
275
+ }
276
+ },
277
+ "end": "-\\}",
278
+ "name": "comment.block.elm",
279
+ "patterns": [
280
+ {
281
+ "include": "#block_comment"
282
+ }
283
+ ]
284
+ },
285
+ "comments": {
286
+ "patterns": [
287
+ {
288
+ "captures": {
289
+ "1": {
290
+ "name": "punctuation.definition.comment.elm"
291
+ }
292
+ },
293
+ "match": "(--).*$\\n?",
294
+ "name": "comment.line.double-dash.elm"
295
+ },
296
+ {
297
+ "include": "#block_comment"
298
+ }
299
+ ]
300
+ },
301
+ "infix_op": {
302
+ "match": "(\\([|!%$+:\\-.=</>]+\\)|\\(,+\\))",
303
+ "name": "entity.name.function.infix.elm"
304
+ },
305
+ "module_exports": {
306
+ "begin": "\\(",
307
+ "end": "\\)",
308
+ "name": "meta.declaration.exports.elm",
309
+ "patterns": [
310
+ {
311
+ "match": "\\b[a-z][a-zA-Z_'0-9]*",
312
+ "name": "entity.name.function.elm"
313
+ },
314
+ {
315
+ "match": "\\b[A-Z][A-Za-z_'0-9]*",
316
+ "name": "storage.type.elm"
317
+ },
318
+ {
319
+ "match": ",",
320
+ "name": "punctuation.separator.comma.elm"
321
+ },
322
+ {
323
+ "include": "#infix_op"
324
+ },
325
+ {
326
+ "comment": "So named because I don't know what to call this.",
327
+ "match": "\\(.*?\\)",
328
+ "name": "meta.other.unknown.elm"
329
+ }
330
+ ]
331
+ },
332
+ "module_name": {
333
+ "match": "[A-Z][A-Za-z._']*",
334
+ "name": "support.other.module.elm"
335
+ },
336
+ "type_signature": {
337
+ "patterns": [
338
+ {
339
+ "captures": {
340
+ "1": {
341
+ "name": "entity.other.inherited-class.elm"
342
+ },
343
+ "2": {
344
+ "name": "variable.other.generic-type.elm"
345
+ },
346
+ "3": {
347
+ "name": "keyword.other.big-arrow.elm"
348
+ }
349
+ },
350
+ "match": "\\(\\s*([A-Z][A-Za-z]*)\\s+([a-z][A-Za-z_']*)\\)\\s*(=>)",
351
+ "name": "meta.class-constraint.elm"
352
+ },
353
+ {
354
+ "match": "->",
355
+ "name": "keyword.other.arrow.elm"
356
+ },
357
+ {
358
+ "match": "=>",
359
+ "name": "keyword.other.big-arrow.elm"
360
+ },
361
+ {
362
+ "match": "\\b[a-z][a-zA-Z0-9_']*\\b",
363
+ "name": "variable.other.generic-type.elm"
364
+ },
365
+ {
366
+ "match": "\\b[A-Z][a-zA-Z0-9_']*\\b",
367
+ "name": "storage.type.elm"
368
+ },
369
+ {
370
+ "match": "\\(\\)",
371
+ "name": "support.constant.unit.elm"
372
+ },
373
+ {
374
+ "include": "#comments"
375
+ }
376
+ ]
377
+ }
378
+ },
379
+ "scopeName": "source.elm",
380
+ "uuid": "2cb90e5e-6e98-456d-9a8a-b59935dbc4b0"
22
381
  }
@@ -17,7 +17,7 @@
17
17
  "xsjs",
18
18
  "xsjslib"
19
19
  ],
20
- "firstLineMatch": "^#!.*\\b(node|iojs|JavaScript)",
20
+ "firstLineMatch": "(?x)\n# Hashbang\n^\\#!.*(?:\\s|\\/|(?<=!)\\b)\n (?:node|iojs|JavaScript)\n(?:$|\\s)\n|\n# Modeline\n(?i:\n # Emacs\n -\\*-(?:(?:(?!mode\\s*:)[^:;]+:[^:;]+;)*\\s*mode\\s*:)?\\s*\n (?:js|javascript)\n \\s*(?:;[^:;]+:[^:;]+?)*;?\\s*-\\*-\n |\n # Vim\n (?:(?:\\s|^)vi(?:m[<=>]?\\d+|m)?|\\sex)(?=:(?=\\s*set?\\s[^\\n:]+:)|:(?!\\s*set?\\s))(?:(?:\\s|\\s*:\\s*)\\w*(?:\\s*=(?:[^\\n\\\\\\s]|\\\\.)*)?)*[\\s:](?:filetype|ft|syntax)\\s*=\n javascript\n (?=\\s|:|$)\n)",
21
21
  "name": "JavaScript",
22
22
  "patterns": [
23
23
  {
@@ -1,166 +1,158 @@
1
1
  {
2
- "name": "NSIS",
3
- "comment": "todo: - highlight functions",
4
- "file_extensions": [
2
+ "comment": "\n\ttodo: - highlight functions\n\t",
3
+ "fileTypes": [
5
4
  "nsi",
6
5
  "nsh"
7
6
  ],
8
- "scope": "source.nsis",
9
- "contexts": {
10
- "main": [
11
- {
12
- "match": "(\\b|^\\s*)\\!(include|addincludedir|addplugindir|appendfile|cd|delfile|echo|error|execute|packhdr|finalize|getdllversion|system|tempfile|warning|verbose|define|undef|insertmacro|macro|macroend|makensis|searchparse|searchreplace)\\b",
13
- "scope": "keyword.compiler.nsis"
14
- },
15
- {
16
- "match": "(\\b|^\\s*)(Abort|AddBrandingImage|AddSize|AllowRootDirInstall|AllowSkipFiles|AutoCloseWindow|BGFont|BGGradient|BrandingText|BringToFront|Call|CallInstDLL|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|CreateDirectory|CreateFont|CreateShortCut|Delete|DeleteINISec|DeleteINIStr|DeleteRegKey|DeleteRegValue|DetailPrint|DetailsButtonText|DirText|DirVar|DirVerify|EnableWindow|EnumRegKey|EnumRegValue|Exch|Exec|ExecShell|ExecWait|ExpandEnvStrings|File|FileBufSize|FileClose|FileErrorText|FileOpen|FileRead|FileReadByte|FileReadUTF16LE|FileReadWord|FileWriteUTF16LE|FileSeek|FileWrite|FileWriteByte|FileWriteWord|FindClose|FindFirst|FindNext|FindWindow|FlushINI|GetCurInstType|GetCurrentAddress|GetDlgItem|GetDLLVersion|GetDLLVersionLocal|GetErrorLevel|GetFileTime|GetFileTimeLocal|GetFullPathName|GetFunctionAddress|GetInstDirError|GetLabelAddress|GetTempFileName|Goto|HideWindow|Icon|IfAbort|IfErrors|IfFileExists|IfRebootFlag|IfSilent|InitPluginsDir|InstallButtonText|InstallColors|InstallDir|InstallDirRegKey|InstProgressFlags|InstType|InstTypeGetText|InstTypeSetText|IntCmp|IntCmpU|IntFmt|IntOp|IsWindow|LangString|LicenseBkColor|LicenseData|LicenseForceSelection|LicenseLangString|LicenseText|LoadLanguageFile|LockWindow|LogSet|LogText|ManifestDPIAware|ManifestSupportedOS|MessageBox|MiscButtonText|Name|Nop|OutFile|Page|PageCallbacks|Pop|Push|Quit|ReadEnvStr|ReadINIStr|ReadRegDWORD|ReadRegStr|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|SectionGetFlags|SectionGetInstTypes|SectionGetSize|SectionGetText|SectionIn|SectionSetFlags|SectionSetInstTypes|SectionSetSize|SectionSetText|SendMessage|SetAutoClose|SetBrandingImage|SetCompress|SetCompressor|SetCompressorDictSize|SetCtlColors|SetCurInstType|SetDatablockOptimize|SetDateSave|SetDetailsPrint|SetDetailsView|SetErrorLevel|SetErrors|SetFileAttributes|SetFont|SetOutPath|SetOverwrite|SetPluginUnload|SetRebootFlag|SetRegView|SetShellVarContext|SetSilent|ShowInstDetails|ShowUninstDetails|ShowWindow|SilentInstall|SilentUnInstall|Sleep|SpaceTexts|StrCmp|StrCmpS|StrCpy|StrLen|SubCaption|Unicode|UninstallButtonText|UninstallCaption|UninstallIcon|UninstallSubCaption|UninstallText|UninstPage|UnRegDLL|Var|VIAddVersionKey|VIFileVersion|VIProductVersion|WindowIcon|WriteINIStr|WriteRegBin|WriteRegDWORD|WriteRegExpandStr|WriteRegStr|WriteUninstaller|XPStyle)\\b",
17
- "scope": "keyword.command.nsis"
18
- },
19
- {
20
- "match": "(\\b|^\\s*)\\!(ifdef|ifndef|if|ifmacrodef|ifmacrondef|else|endif)\\b",
21
- "scope": "keyword.control.nsis"
22
- },
23
- {
24
- "match": "(\\b|^\\s*)(?i)\\w+\\:\\:\\w+",
25
- "scope": "keyword.plugin.nsis"
26
- },
27
- {
28
- "match": "[!<>]?=|<>|<|>",
29
- "scope": "keyword.operator.comparison.nsis"
30
- },
31
- {
32
- "match": "(\\b|^\\s*)(Function|FunctionEnd|Section|SectionEnd|SectionGroup|SectionGroupEnd|SubSection|SubSectionEnd|PageEx|PageExEnd)\\b",
33
- "scope": "support.function.nsis"
34
- },
35
- {
36
- "match": "(\\b|^\\s*)(?i)(ARCHIVE|FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_OFFLINE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY|HIDDEN|HKCC|HKCR|HKCU|HKDD|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_DYN_DATA|HKEY_LOCAL_MACHINE|HKEY_PERFORMANCE_DATA|HKEY_USERS|HKLM|HKPD|HKU|IDABORT|IDCANCEL|IDD_DIR|IDD_INST|IDD_INSTFILES|IDD_LICENSE|IDD_SELCOM|IDD_UNINST|IDD_VERIFY|IDIGNORE|IDNO|IDOK|IDRETRY|IDYES|MB_ABORTRETRYIGNORE|MB_DEFBUTTON1|MB_DEFBUTTON2|MB_DEFBUTTON3|MB_DEFBUTTON4|MB_ICONEXCLAMATION|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_RIGHT|MB_RTLREADING|MB_SETFOREGROUND|MB_TOPMOST|MB_USERICON|MB_YESNO|MB_YESNOCANCEL|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SW_HIDE|SW_SHOWDEFAULT|SW_SHOWMAXIMIZED|SW_SHOWMINIMIZED|SW_SHOWNORMAL|SYSTEM|TEMPORARY)\\b",
37
- "scope": "support.constant.nsis"
38
- },
39
- {
40
- "match": "\\b(true|on)\\b",
41
- "scope": "constant.language.boolean.true.nsis"
42
- },
43
- {
44
- "match": "\\b(false|off)\\b",
45
- "scope": "constant.language.boolean.false.nsis"
46
- },
47
- {
48
- "match": "(\\b|^\\s*)(?i)((un\\.)?components|(un\\.)?custom|(un\\.)?directory|(un\\.)?instfiles|(un\\.)?license|uninstConfirm|admin|all|auto|both|bottom|bzip2|current|force|hide|highest|ifdiff|ifnewer|lastused|leave|left|listonly|lzma|nevershow|none|normal|notset|right|show|silent|silentlog|textonly|top|try|user|Win10|Win7|Win8|WinVista|zlib)\\b",
49
- "scope": "constant.language.option.nsis"
50
- },
51
- {
52
- "match": "\\/(?i)(a|BRANDING|CENTER|COMPONENTSONLYONCUSTOM|CUSTOMSTRING\\=|date|e|ENABLECANCEL|FILESONLY|file|FINAL|GLOBAL|gray|ifempty|ifndef|ignorecase|IMGID\\=|ITALIC|LANG\\=|NOCUSTOM|noerrors|NONFATAL|nonfatal|oname\\=|o|REBOOTOK|redef|RESIZETOFIT|r|SHORT|SILENT|SOLID|STRIKE|TRIM|UNDERLINE|utcdate|windows|x)\\b",
53
- "scope": "constant.language.slash-option.nsis"
54
- },
55
- {
56
- "match": "\\b((0(x|X)[0-9a-fA-F]+)|([0-9]+(\\.[0-9]+)?))\\b",
57
- "scope": "constant.numeric.nsis"
7
+ "name": "NSIS",
8
+ "patterns": [
9
+ {
10
+ "match": "(\\b|^\\s*)\\!(include|addincludedir|addplugindir|appendfile|cd|delfile|echo|error|execute|packhdr|finalize|getdllversion|system|tempfile|warning|verbose|define|undef|insertmacro|macro|macroend|makensis|searchparse|searchreplace)\\b",
11
+ "name": "keyword.compiler.nsis"
12
+ },
13
+ {
14
+ "match": "(\\b|^\\s*)(Abort|AddBrandingImage|AddSize|AllowRootDirInstall|AllowSkipFiles|AutoCloseWindow|BGFont|BGGradient|BrandingText|BringToFront|Call|CallInstDLL|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|CreateDirectory|CreateFont|CreateShortCut|Delete|DeleteINISec|DeleteINIStr|DeleteRegKey|DeleteRegValue|DetailPrint|DetailsButtonText|DirText|DirVar|DirVerify|EnableWindow|EnumRegKey|EnumRegValue|Exch|Exec|ExecShell|ExecWait|ExpandEnvStrings|File|FileBufSize|FileClose|FileErrorText|FileOpen|FileRead|FileReadByte|FileReadUTF16LE|FileReadWord|FileWriteUTF16LE|FileSeek|FileWrite|FileWriteByte|FileWriteWord|FindClose|FindFirst|FindNext|FindWindow|FlushINI|GetCurInstType|GetCurrentAddress|GetDlgItem|GetDLLVersion|GetDLLVersionLocal|GetErrorLevel|GetFileTime|GetFileTimeLocal|GetFullPathName|GetFunctionAddress|GetInstDirError|GetLabelAddress|GetTempFileName|Goto|HideWindow|Icon|IfAbort|IfErrors|IfFileExists|IfRebootFlag|IfSilent|InitPluginsDir|InstallButtonText|InstallColors|InstallDir|InstallDirRegKey|InstProgressFlags|InstType|InstTypeGetText|InstTypeSetText|IntCmp|IntCmpU|IntFmt|IntOp|IsWindow|LangString|LicenseBkColor|LicenseData|LicenseForceSelection|LicenseLangString|LicenseText|LoadLanguageFile|LockWindow|LogSet|LogText|ManifestDPIAware|ManifestSupportedOS|MessageBox|MiscButtonText|Name|Nop|OutFile|Page|PageCallbacks|Pop|Push|Quit|ReadEnvStr|ReadINIStr|ReadRegDWORD|ReadRegStr|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|SectionGetFlags|SectionGetInstTypes|SectionGetSize|SectionGetText|SectionIn|SectionSetFlags|SectionSetInstTypes|SectionSetSize|SectionSetText|SendMessage|SetAutoClose|SetBrandingImage|SetCompress|SetCompressor|SetCompressorDictSize|SetCtlColors|SetCurInstType|SetDatablockOptimize|SetDateSave|SetDetailsPrint|SetDetailsView|SetErrorLevel|SetErrors|SetFileAttributes|SetFont|SetOutPath|SetOverwrite|SetPluginUnload|SetRebootFlag|SetRegView|SetShellVarContext|SetSilent|ShowInstDetails|ShowUninstDetails|ShowWindow|SilentInstall|SilentUnInstall|Sleep|SpaceTexts|StrCmp|StrCmpS|StrCpy|StrLen|SubCaption|Unicode|UninstallButtonText|UninstallCaption|UninstallIcon|UninstallSubCaption|UninstallText|UninstPage|UnRegDLL|Var|VIAddVersionKey|VIFileVersion|VIProductVersion|WindowIcon|WriteINIStr|WriteRegBin|WriteRegDWORD|WriteRegExpandStr|WriteRegStr|WriteUninstaller|XPStyle)\\b",
15
+ "name": "keyword.command.nsis"
16
+ },
17
+ {
18
+ "match": "(\\b|^\\s*)\\!(ifdef|ifndef|if|ifmacrodef|ifmacrondef|else|endif)\\b",
19
+ "name": "keyword.control.nsis"
20
+ },
21
+ {
22
+ "match": "(\\b|^\\s*)(?i)\\w+\\:\\:\\w+",
23
+ "name": "keyword.plugin.nsis"
24
+ },
25
+ {
26
+ "match": "[!<>]?=|<>|<|>",
27
+ "name": "keyword.operator.comparison.nsis"
28
+ },
29
+ {
30
+ "match": "(\\b|^\\s*)(Function|FunctionEnd|Section|SectionEnd|SectionGroup|SectionGroupEnd|SubSection|SubSectionEnd|PageEx|PageExEnd)\\b",
31
+ "name": "support.function.nsis"
32
+ },
33
+ {
34
+ "match": "(\\b|^\\s*)(?i)(ARCHIVE|FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_OFFLINE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY|HIDDEN|HKCC|HKCR|HKCU|HKDD|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_DYN_DATA|HKEY_LOCAL_MACHINE|HKEY_PERFORMANCE_DATA|HKEY_USERS|HKLM|HKPD|HKU|IDABORT|IDCANCEL|IDD_DIR|IDD_INST|IDD_INSTFILES|IDD_LICENSE|IDD_SELCOM|IDD_UNINST|IDD_VERIFY|IDIGNORE|IDNO|IDOK|IDRETRY|IDYES|MB_ABORTRETRYIGNORE|MB_DEFBUTTON1|MB_DEFBUTTON2|MB_DEFBUTTON3|MB_DEFBUTTON4|MB_ICONEXCLAMATION|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_RIGHT|MB_RTLREADING|MB_SETFOREGROUND|MB_TOPMOST|MB_USERICON|MB_YESNO|MB_YESNOCANCEL|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SW_HIDE|SW_SHOWDEFAULT|SW_SHOWMAXIMIZED|SW_SHOWMINIMIZED|SW_SHOWNORMAL|SYSTEM|TEMPORARY)\\b",
35
+ "name": "support.constant.nsis"
36
+ },
37
+ {
38
+ "match": "\\b(true|on)\\b",
39
+ "name": "constant.language.boolean.true.nsis"
40
+ },
41
+ {
42
+ "match": "\\b(false|off)\\b",
43
+ "name": "constant.language.boolean.false.nsis"
44
+ },
45
+ {
46
+ "match": "(\\b|^\\s*)(?i)((un\\.)?components|(un\\.)?custom|(un\\.)?directory|(un\\.)?instfiles|(un\\.)?license|uninstConfirm|admin|all|auto|both|bottom|bzip2|current|force|hide|highest|ifdiff|ifnewer|lastused|leave|left|listonly|lzma|nevershow|none|normal|notset|right|show|silent|silentlog|textonly|top|try|user|Win10|Win7|Win8|WinVista|zlib)\\b",
47
+ "name": "constant.language.option.nsis"
48
+ },
49
+ {
50
+ "match": "\\/(?i)(a|BRANDING|CENTER|COMPONENTSONLYONCUSTOM|CUSTOMSTRING\\=|date|e|ENABLECANCEL|FILESONLY|file|FINAL|GLOBAL|gray|ifempty|ifndef|ignorecase|IMGID\\=|ITALIC|LANG\\=|NOCUSTOM|noerrors|NONFATAL|nonfatal|oname\\=|o|REBOOTOK|redef|RESIZETOFIT|r|SHORT|SILENT|SOLID|STRIKE|TRIM|UNDERLINE|utcdate|windows|x)\\b",
51
+ "name": "constant.language.slash-option.nsis"
52
+ },
53
+ {
54
+ "match": "\\b((0(x|X)[0-9a-fA-F]+)|([0-9]+(\\.[0-9]+)?))\\b",
55
+ "name": "constant.numeric.nsis"
56
+ },
57
+ {
58
+ "match": "\\${[\\w]+}",
59
+ "name": "entity.name.function.nsis"
60
+ },
61
+ {
62
+ "match": "\\$[\\w]+",
63
+ "name": "storage.type.function.nsis"
64
+ },
65
+ {
66
+ "begin": "`",
67
+ "beginCaptures": {
68
+ "0": {
69
+ "name": "punctuation.definition.string.begin.nsis"
70
+ }
58
71
  },
59
- {
60
- "match": "\\${[\\w]+}",
61
- "scope": "entity.name.function.nsis"
72
+ "end": "`",
73
+ "endCaptures": {
74
+ "0": {
75
+ "name": "punctuation.definition.string.end.nsis"
76
+ }
62
77
  },
63
- {
64
- "match": "\\$[\\w]+",
65
- "scope": "storage.type.function.nsis"
78
+ "name": "string.quoted.back.nsis",
79
+ "patterns": [
80
+ {
81
+ "match": "\\$\\\\.",
82
+ "name": "constant.character.escape.nsis"
83
+ }
84
+ ]
85
+ },
86
+ {
87
+ "begin": "\"",
88
+ "beginCaptures": {
89
+ "0": {
90
+ "name": "punctuation.definition.string.begin.nsis"
91
+ }
66
92
  },
67
- {
68
- "match": "`",
69
- "captures": {
70
- "0": "punctuation.definition.string.begin.nsis"
71
- },
72
- "push": [
73
- {
74
- "meta_scope": "string.quoted.back.nsis"
75
- },
76
- {
77
- "match": "`",
78
- "captures": {
79
- "0": "punctuation.definition.string.end.nsis"
80
- },
81
- "pop": true
82
- },
83
- {
84
- "match": "\\$\\\\.",
85
- "scope": "constant.character.escape.nsis"
86
- }
87
- ]
93
+ "end": "\"",
94
+ "endCaptures": {
95
+ "0": {
96
+ "name": "punctuation.definition.string.end.nsis"
97
+ }
88
98
  },
89
- {
90
- "match": "\"",
91
- "captures": {
92
- "0": "punctuation.definition.string.begin.nsis"
93
- },
94
- "push": [
95
- {
96
- "meta_scope": "string.quoted.double.nsis"
97
- },
98
- {
99
- "match": "\"",
100
- "captures": {
101
- "0": "punctuation.definition.string.end.nsis"
102
- },
103
- "pop": true
104
- },
105
- {
106
- "match": "\\$\\\\.",
107
- "scope": "constant.character.escape.nsis"
108
- }
109
- ]
99
+ "name": "string.quoted.double.nsis",
100
+ "patterns": [
101
+ {
102
+ "match": "\\$\\\\.",
103
+ "name": "constant.character.escape.nsis"
104
+ }
105
+ ]
106
+ },
107
+ {
108
+ "begin": "'",
109
+ "beginCaptures": {
110
+ "0": {
111
+ "name": "punctuation.definition.string.begin.nsis"
112
+ }
110
113
  },
111
- {
112
- "match": "'",
113
- "captures": {
114
- "0": "punctuation.definition.string.begin.nsis"
115
- },
116
- "push": [
117
- {
118
- "meta_scope": "string.quoted.single.nsis"
119
- },
120
- {
121
- "match": "'",
122
- "captures": {
123
- "0": "punctuation.definition.string.end.nsis"
124
- },
125
- "pop": true
126
- },
127
- {
128
- "match": "\\$\\\\.",
129
- "scope": "constant.character.escape.nsis"
130
- }
131
- ]
114
+ "end": "'",
115
+ "endCaptures": {
116
+ "0": {
117
+ "name": "punctuation.definition.string.end.nsis"
118
+ }
132
119
  },
133
- {
134
- "match": "(;|#).*$\\n?",
135
- "scope": "comment.line.nsis",
136
- "captures": {
137
- "1": "punctuation.definition.comment.nsis"
120
+ "name": "string.quoted.single.nsis",
121
+ "patterns": [
122
+ {
123
+ "match": "\\$\\\\.",
124
+ "name": "constant.character.escape.nsis"
125
+ }
126
+ ]
127
+ },
128
+ {
129
+ "captures": {
130
+ "1": {
131
+ "name": "punctuation.definition.comment.nsis"
138
132
  }
139
133
  },
140
- {
141
- "match": "/\\*",
142
- "captures": {
143
- "0": "punctuation.definition.comment.nsis"
144
- },
145
- "push": [
146
- {
147
- "meta_scope": "comment.block.nsis"
148
- },
149
- {
150
- "match": "\\*/",
151
- "captures": {
152
- "0": "punctuation.definition.comment.nsis"
153
- },
154
- "pop": true
155
- }
156
- ]
134
+ "match": "(;|#).*$\\n?",
135
+ "name": "comment.line.nsis"
136
+ },
137
+ {
138
+ "begin": "/\\*",
139
+ "captures": {
140
+ "0": {
141
+ "name": "punctuation.definition.comment.nsis"
142
+ }
157
143
  },
158
- {
159
- "match": "(\\!include|\\!insertmacro)\\b",
160
- "captures": {
161
- "0": "keyword.control.import.nsis"
144
+ "end": "\\*/",
145
+ "name": "comment.block.nsis"
146
+ },
147
+ {
148
+ "captures": {
149
+ "match": {
150
+ "name": "keyword.control.import.nsis"
162
151
  }
163
- }
164
- ]
165
- }
152
+ },
153
+ "match": "(\\!include|\\!insertmacro)\\b"
154
+ }
155
+ ],
156
+ "scopeName": "source.nsis",
157
+ "uuid": "B6872F8A-D31D-11E0-9572-0800200C9A66"
166
158
  }