@codingame/monaco-vscode-api 1.76.8 → 1.78.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) hide show
  1. package/README.md +87 -49
  2. package/dist/Bibtex.tmLanguage.js +2 -0
  3. package/dist/Handlebars.tmLanguage.js +2 -0
  4. package/dist/JSON.tmLanguage.js +2 -0
  5. package/dist/JSONC.tmLanguage.js +2 -0
  6. package/dist/JavaScript.tmLanguage.js +2 -0
  7. package/dist/JavaScriptReact.tmLanguage.js +2 -0
  8. package/dist/LaTeX.tmLanguage.js +2 -0
  9. package/dist/MagicPython.tmLanguage.js +2 -0
  10. package/dist/MagicRegExp.tmLanguage.js +2 -0
  11. package/dist/Red-color-theme.js +2 -0
  12. package/dist/Regular Expressions (JavaScript).js +2 -0
  13. package/dist/TeX.tmLanguage.js +2 -0
  14. package/dist/TypeScript.tmLanguage.js +2 -0
  15. package/dist/TypeScriptReact.tmLanguage.js +2 -0
  16. package/dist/_.contribution.js +1 -1
  17. package/dist/abyss-color-theme.js +2 -0
  18. package/dist/api.js +1 -3
  19. package/dist/api2.js +421 -18091
  20. package/dist/asp-vb-net.tmlanguage.js +2 -0
  21. package/dist/assets/diffLineDeleted.mp3 +0 -0
  22. package/dist/assets/diffLineInserted.mp3 +0 -0
  23. package/dist/assets/diffLineModified.mp3 +0 -0
  24. package/dist/audioCue.js +108 -478
  25. package/dist/bat.js +9 -0
  26. package/dist/batchfile.js +2 -0
  27. package/dist/batchfile.tmLanguage.js +2 -0
  28. package/dist/button.js +35 -8
  29. package/dist/c.js +2 -0
  30. package/dist/c.tmLanguage.js +2 -0
  31. package/dist/clojure.js +8 -0
  32. package/dist/clojure.tmLanguage.js +2 -0
  33. package/dist/coffeescript.js +9 -0
  34. package/dist/coffeescript.tmLanguage.js +2 -0
  35. package/dist/coffeescript2.js +2 -0
  36. package/dist/configuration.d.ts +269 -4
  37. package/dist/configuration.js +4326 -328
  38. package/dist/configuration2.js +14 -324
  39. package/dist/cpp-grammar-bailout.tmLanguage.js +2 -0
  40. package/dist/cpp.embedded.macro.tmLanguage.js +2 -0
  41. package/dist/cpp.js +16 -0
  42. package/dist/cpp.tmLanguage.js +2 -0
  43. package/dist/cpp2.js +2 -0
  44. package/dist/csharp.js +9 -0
  45. package/dist/csharp.tmLanguage.js +2 -0
  46. package/dist/csharp2.js +2 -0
  47. package/dist/cshtml.tmLanguage.js +2 -0
  48. package/dist/css.js +8 -0
  49. package/dist/css.tmLanguage.js +2 -0
  50. package/dist/cuda-cpp.tmLanguage.js +2 -0
  51. package/dist/dark_plus.js +2 -0
  52. package/dist/dark_plus_experimental.js +2 -0
  53. package/dist/dark_vs.js +2 -0
  54. package/dist/dart.js +8 -0
  55. package/dist/dart.tmLanguage.js +2 -0
  56. package/dist/debug.js +12115 -12209
  57. package/dist/default-extensions/bat.js +12 -0
  58. package/dist/default-extensions/clojure.js +11 -0
  59. package/dist/default-extensions/coffeescript.js +12 -0
  60. package/dist/default-extensions/cpp.js +19 -0
  61. package/dist/default-extensions/csharp.js +12 -0
  62. package/dist/default-extensions/css.js +11 -0
  63. package/dist/default-extensions/dart.js +11 -0
  64. package/dist/default-extensions/diff.js +11 -0
  65. package/dist/default-extensions/docker.js +11 -0
  66. package/dist/default-extensions/fsharp.js +12 -0
  67. package/dist/default-extensions/go.js +11 -0
  68. package/dist/default-extensions/groovy.js +12 -0
  69. package/dist/default-extensions/handlebars.js +11 -0
  70. package/dist/default-extensions/hlsl.js +11 -0
  71. package/dist/default-extensions/html.js +13 -0
  72. package/dist/default-extensions/ini.js +13 -0
  73. package/dist/default-extensions/java.js +12 -0
  74. package/dist/default-extensions/javascript.js +17 -0
  75. package/dist/default-extensions/json.js +13 -0
  76. package/dist/default-extensions/julia.js +11 -0
  77. package/dist/default-extensions/latex.js +14 -0
  78. package/dist/default-extensions/less.js +11 -0
  79. package/dist/default-extensions/log.js +10 -0
  80. package/dist/default-extensions/lua.js +11 -0
  81. package/dist/default-extensions/make.js +11 -0
  82. package/dist/default-extensions/markdown-basics.js +12 -0
  83. package/dist/default-extensions/objective-c.js +13 -0
  84. package/dist/default-extensions/perl.js +13 -0
  85. package/dist/default-extensions/php.js +13 -0
  86. package/dist/default-extensions/powershell.js +11 -0
  87. package/dist/default-extensions/pug.js +11 -0
  88. package/dist/default-extensions/python.js +12 -0
  89. package/dist/default-extensions/r.js +11 -0
  90. package/dist/default-extensions/razor.js +11 -0
  91. package/dist/default-extensions/ruby.js +11 -0
  92. package/dist/default-extensions/rust.js +11 -0
  93. package/dist/default-extensions/scss.js +12 -0
  94. package/dist/default-extensions/shaderlab.js +11 -0
  95. package/dist/default-extensions/shellscript.js +11 -0
  96. package/dist/default-extensions/sql.js +11 -0
  97. package/dist/default-extensions/swift.js +12 -0
  98. package/dist/default-extensions/theme-abyss.js +10 -0
  99. package/dist/default-extensions/theme-defaults.js +18 -0
  100. package/dist/default-extensions/theme-kimbie-dark.js +10 -0
  101. package/dist/default-extensions/theme-monokai-dimmed.js +10 -0
  102. package/dist/default-extensions/theme-monokai.js +10 -0
  103. package/dist/default-extensions/theme-quietlight.js +10 -0
  104. package/dist/default-extensions/theme-red.js +10 -0
  105. package/dist/default-extensions/theme-seti.js +10 -0
  106. package/dist/default-extensions/theme-solarized-dark.js +10 -0
  107. package/dist/default-extensions/theme-solarized-light.js +10 -0
  108. package/dist/default-extensions/theme-tomorrow-night-blue.js +10 -0
  109. package/dist/default-extensions/typescript-basics.js +17 -0
  110. package/dist/default-extensions/vb.js +12 -0
  111. package/dist/default-extensions/xml.js +13 -0
  112. package/dist/default-extensions/yaml.js +13 -0
  113. package/dist/dialogs.js +12 -216
  114. package/dist/diff.js +8 -0
  115. package/dist/diff.tmLanguage.js +2 -0
  116. package/dist/dimmed-monokai-color-theme.js +2 -0
  117. package/dist/docker.js +8 -0
  118. package/dist/docker.tmLanguage.js +2 -0
  119. package/dist/dom.js +101 -0
  120. package/dist/extensionManagement.js +4 -0
  121. package/dist/extensions.d.ts +368 -23
  122. package/dist/extensions.js +4 -85
  123. package/dist/extensionsRegistry.js +63 -64
  124. package/dist/files.d.ts +845 -0
  125. package/dist/files.js +1805 -1151
  126. package/dist/files2.js +32 -0
  127. package/dist/fsharp.js +9 -0
  128. package/dist/fsharp.tmLanguage.js +2 -0
  129. package/dist/fsharp2.js +2 -0
  130. package/dist/go.js +8 -0
  131. package/dist/go.tmLanguage.js +2 -0
  132. package/dist/groovy.js +9 -0
  133. package/dist/groovy.tmLanguage.js +2 -0
  134. package/dist/groovy2.js +2 -0
  135. package/dist/handlebars.js +8 -0
  136. package/dist/hc_black.js +2 -0
  137. package/dist/hc_light.js +2 -0
  138. package/dist/hlsl.js +8 -0
  139. package/dist/hlsl.tmLanguage.js +2 -0
  140. package/dist/html-derivative.tmLanguage.js +2 -0
  141. package/dist/html.js +10 -0
  142. package/dist/html.tmLanguage.js +2 -0
  143. package/dist/html.tmLanguage2.js +2 -0
  144. package/dist/html2.js +2 -0
  145. package/dist/ini.js +10 -0
  146. package/dist/ini.language-configuration.js +2 -0
  147. package/dist/ini.tmLanguage.js +2 -0
  148. package/dist/injection.js +1 -1
  149. package/dist/java.js +9 -0
  150. package/dist/java.tmLanguage.js +2 -0
  151. package/dist/java2.js +2 -0
  152. package/dist/javascript-language-configuration.js +2 -0
  153. package/dist/javascript.js +14 -0
  154. package/dist/javascript2.js +2 -0
  155. package/dist/jsdoc.js.injection.tmLanguage.js +2 -0
  156. package/dist/jsdoc.ts.injection.tmLanguage.js +2 -0
  157. package/dist/json.js +10 -0
  158. package/dist/jsonErrorMessages.js +1 -1
  159. package/dist/julia.js +8 -0
  160. package/dist/julia.tmLanguage.js +2 -0
  161. package/dist/keybindings.d.ts +1 -10
  162. package/dist/keybindings.js +291 -353
  163. package/dist/kimbie-dark-color-theme.js +2 -0
  164. package/dist/language-configuration.js +2 -0
  165. package/dist/language-configuration10.js +2 -0
  166. package/dist/language-configuration11.js +2 -0
  167. package/dist/language-configuration12.js +2 -0
  168. package/dist/language-configuration13.js +2 -0
  169. package/dist/language-configuration14.js +2 -0
  170. package/dist/language-configuration15.js +2 -0
  171. package/dist/language-configuration16.js +2 -0
  172. package/dist/language-configuration17.js +2 -0
  173. package/dist/language-configuration18.js +2 -0
  174. package/dist/language-configuration19.js +2 -0
  175. package/dist/language-configuration2.js +2 -0
  176. package/dist/language-configuration20.js +2 -0
  177. package/dist/language-configuration21.js +2 -0
  178. package/dist/language-configuration22.js +2 -0
  179. package/dist/language-configuration23.js +2 -0
  180. package/dist/language-configuration24.js +2 -0
  181. package/dist/language-configuration25.js +2 -0
  182. package/dist/language-configuration26.js +2 -0
  183. package/dist/language-configuration27.js +2 -0
  184. package/dist/language-configuration28.js +2 -0
  185. package/dist/language-configuration29.js +2 -0
  186. package/dist/language-configuration3.js +2 -0
  187. package/dist/language-configuration30.js +2 -0
  188. package/dist/language-configuration31.js +2 -0
  189. package/dist/language-configuration32.js +2 -0
  190. package/dist/language-configuration33.js +2 -0
  191. package/dist/language-configuration34.js +2 -0
  192. package/dist/language-configuration35.js +2 -0
  193. package/dist/language-configuration36.js +2 -0
  194. package/dist/language-configuration37.js +2 -0
  195. package/dist/language-configuration38.js +2 -0
  196. package/dist/language-configuration39.js +2 -0
  197. package/dist/language-configuration4.js +2 -0
  198. package/dist/language-configuration5.js +2 -0
  199. package/dist/language-configuration6.js +2 -0
  200. package/dist/language-configuration7.js +2 -0
  201. package/dist/language-configuration8.js +2 -0
  202. package/dist/language-configuration9.js +2 -0
  203. package/dist/languageService.js +5 -6
  204. package/dist/languages.d.ts +66 -1
  205. package/dist/languages.js +924 -5
  206. package/dist/latex.js +11 -0
  207. package/dist/layout.contribution.darwin.js +1 -1
  208. package/dist/layout.contribution.linux.js +1 -1
  209. package/dist/layout.contribution.win.js +1 -1
  210. package/dist/layout.js +4 -10
  211. package/dist/layoutService.js +10 -2
  212. package/dist/less.js +8 -0
  213. package/dist/less.tmLanguage.js +2 -0
  214. package/dist/light_plus.js +2 -0
  215. package/dist/light_plus_experimental.js +2 -0
  216. package/dist/light_vs.js +2 -0
  217. package/dist/log.js +7 -0
  218. package/dist/log.tmLanguage.js +2 -0
  219. package/dist/lua.js +8 -0
  220. package/dist/lua.tmLanguage.js +2 -0
  221. package/dist/make.js +8 -0
  222. package/dist/make.tmLanguage.js +2 -0
  223. package/dist/markdown-basics.js +9 -0
  224. package/dist/markdown-latex-combined.tmLanguage.js +2 -0
  225. package/dist/markdown.js +2 -0
  226. package/dist/markdown.tmLanguage.js +2 -0
  227. package/dist/memento.js +91 -0
  228. package/dist/modelEditor.d.ts +1480 -138
  229. package/dist/modelEditor.js +8700 -326
  230. package/dist/monaco.d.ts +987 -15
  231. package/dist/monaco.js +40 -10
  232. package/dist/monokai-color-theme.js +2 -0
  233. package/dist/notifications.js +86 -64
  234. package/dist/objective-c.js +10 -0
  235. package/dist/objective-c.tmLanguage.js +2 -0
  236. package/dist/objective-c__.tmLanguage.js +2 -0
  237. package/dist/perl.js +10 -0
  238. package/dist/perl.language-configuration.js +2 -0
  239. package/dist/perl.tmLanguage.js +2 -0
  240. package/dist/perl6.language-configuration.js +2 -0
  241. package/dist/perl6.tmLanguage.js +2 -0
  242. package/dist/php.js +10 -0
  243. package/dist/php.tmLanguage.js +2 -0
  244. package/dist/php2.js +2 -0
  245. package/dist/platform.js +105 -0
  246. package/dist/platform.tmLanguage.js +2 -0
  247. package/dist/polyfill.js +51922 -11067
  248. package/dist/powershell.js +8 -0
  249. package/dist/powershell.tmLanguage.js +2 -0
  250. package/dist/preferences.js +2532 -0
  251. package/dist/properties.language-configuration.js +2 -0
  252. package/dist/pug.js +8 -0
  253. package/dist/pug.tmLanguage.js +2 -0
  254. package/dist/python.js +9 -0
  255. package/dist/quietlight-color-theme.js +2 -0
  256. package/dist/r.js +8 -0
  257. package/dist/r.tmLanguage.js +2 -0
  258. package/dist/razor.js +8 -0
  259. package/dist/rollup-vsix-plugin.d.ts +8 -0
  260. package/dist/rollup-vsix-plugin.js +104 -0
  261. package/dist/ruby.js +8 -0
  262. package/dist/ruby.tmLanguage.js +2 -0
  263. package/dist/rust.js +8 -0
  264. package/dist/rust.tmLanguage.js +2 -0
  265. package/dist/sassdoc.tmLanguage.js +2 -0
  266. package/dist/scss.js +9 -0
  267. package/dist/scss.tmLanguage.js +2 -0
  268. package/dist/services.d.ts +12988 -12840
  269. package/dist/services.js +1 -1
  270. package/dist/shaderlab.js +8 -0
  271. package/dist/shaderlab.tmLanguage.js +2 -0
  272. package/dist/shell-unix-bash.tmLanguage.js +2 -0
  273. package/dist/shellscript.js +8 -0
  274. package/dist/snippets.js +6 -11
  275. package/dist/snippetsService.js +7 -10
  276. package/dist/solarized-dark-color-theme.js +2 -0
  277. package/dist/solarized-light-color-theme.js +2 -0
  278. package/dist/sql.js +8 -0
  279. package/dist/sql.tmLanguage.js +2 -0
  280. package/dist/swift.js +9 -0
  281. package/dist/swift.tmLanguage.js +2 -0
  282. package/dist/swift2.js +2 -0
  283. package/dist/tags-language-configuration.js +2 -0
  284. package/dist/textmate.d.ts +0 -264
  285. package/dist/textmate.js +402 -66
  286. package/dist/theme-abyss.js +7 -0
  287. package/dist/theme-defaults.js +15 -0
  288. package/dist/theme-kimbie-dark.js +7 -0
  289. package/dist/theme-monokai-dimmed.js +7 -0
  290. package/dist/theme-monokai.js +7 -0
  291. package/dist/theme-quietlight.js +7 -0
  292. package/dist/theme-red.js +7 -0
  293. package/dist/theme-seti.js +7 -0
  294. package/dist/theme-solarized-dark.js +7 -0
  295. package/dist/theme-solarized-light.js +7 -0
  296. package/dist/theme-tomorrow-night-blue.js +7 -0
  297. package/dist/theme.js +6 -11
  298. package/dist/{contextkeys.js → theme2.js} +165 -143
  299. package/dist/tokenClassificationRegistry.js +46 -2
  300. package/dist/tomorrow-night-blue-color-theme.js +2 -0
  301. package/dist/typescript-basics.js +14 -0
  302. package/dist/typescript.js +2 -0
  303. package/dist/unboundCommands.js +41 -0
  304. package/dist/utils.js +345 -0
  305. package/dist/vb.js +9 -0
  306. package/dist/vb2.js +2 -0
  307. package/dist/vs-seti-icon-theme.js +2 -0
  308. package/dist/vs_minimal-icon-theme.js +2 -0
  309. package/dist/xml.js +10 -0
  310. package/dist/xml.language-configuration.js +2 -0
  311. package/dist/xml.tmLanguage.js +2 -0
  312. package/dist/xsl.language-configuration.js +2 -0
  313. package/dist/xsl.tmLanguage.js +2 -0
  314. package/dist/yaml.js +10 -0
  315. package/dist/yaml.tmLanguage.js +2 -0
  316. package/package.json +50 -33
  317. package/dist/async.js +0 -301
  318. package/dist/cancellation.js +0 -3
  319. package/dist/configurationRegistry.js +0 -441
  320. package/dist/extensionResourceLoader.js +0 -96
  321. package/dist/labels.js +0 -14
  322. package/dist/languageConfiguration.js +0 -919
  323. package/dist/missing-services.js +0 -5554
  324. package/dist/resources.js +0 -197
  325. package/dist/services2.js +0 -3467
  326. package/dist/textFileEditorModel.js +0 -2985
  327. package/dist/tokenClassification.d.ts +0 -7
  328. package/dist/tokenClassification.js +0 -277
  329. package/dist/variableResolver.js +0 -1711
  330. package/dist/workbenchThemeService.js +0 -46
  331. package/dist/workspaceContext.js +0 -50
  332. /package/dist/{languageConfiguration.d.ts → preferences.d.ts} +0 -0
package/dist/services.js CHANGED
@@ -1,4 +1,4 @@
1
- export { C as ContextKeyExprType, u as IDebugService, d as IEditorGroupsService, I as IEditorService, n as IFileService, t as IHostService, s as ILanguageStatusService, k as IPaneCompositePartService, r as IPathService, e as IProductService, y as ISnippetsService, l as ITextFileService, j as IUriIdentityService, o as IWorkbenchEnvironmentService, q as IWorkingCopyFileService, N as NotificationsFilter, S as Services, z as StorageScope, B as StorageTarget } from './services2.js';
1
+ export { ContextKeyExprType, IDebugService, IEditorGroupsService, IEditorService, IFileService, IHostService, ILanguageStatusService, IPaneCompositePartService, IPathService, IProductService, ISnippetsService, ITextFileService, IUriIdentityService, IWorkbenchEnvironmentService, IWorkingCopyFileService, NotificationsFilter, StorageScope, StorageTarget, initialize, onRenderWorkbench, registerServiceInitializeParticipant } from './polyfill.js';
2
2
  export { StandaloneServices } from 'monaco-editor/esm/vs/editor/standalone/browser/standaloneServices.js';
3
3
  export { ICommandService } from 'monaco-editor/esm/vs/platform/commands/common/commands.js';
4
4
  export { INotificationService } from 'monaco-editor/esm/vs/platform/notification/common/notification.js';
@@ -0,0 +1,8 @@
1
+ import { registerExtension } from './api2.js';
2
+ import { onExtHostInitialized } from './polyfill.js';
3
+ var manifest = {name:"shaderlab",displayName:"%displayName%",description:"%description%",version:"1.0.0",publisher:"vscode",license:"MIT",engines:{vscode:"*"},scripts:{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin tgjones/shaders-tmLanguage grammars/shaderlab.json ./syntaxes/shaderlab.tmLanguage.json"},contributes:{languages:[{id:"shaderlab",extensions:[".shader"],aliases:["ShaderLab","shaderlab"],configuration:"./language-configuration.json"}],grammars:[{language:"shaderlab",path:"./syntaxes/shaderlab.tmLanguage.json",scopeName:"source.shaderlab"}]},repository:{type:"git",url:"https://github.com/microsoft/vscode.git"}};
4
+ onExtHostInitialized(() => {
5
+ const { registerFile } = registerExtension(manifest);
6
+ registerFile('./language-configuration.json', async () => await import('./language-configuration33.js').then(module => module.default ?? module)),
7
+ registerFile('./syntaxes/shaderlab.tmLanguage.json', async () => await import('./shaderlab.tmLanguage.js').then(module => module.default ?? module));
8
+ });
@@ -0,0 +1,2 @@
1
+ var shaderlab_tmLanguage = "{\n\t\"information_for_contributors\": [\n\t\t\"This file has been converted from https://github.com/tgjones/shaders-tmLanguage/blob/master/grammars/shaderlab.json\",\n\t\t\"If you want to provide a fix or improvement, please create a pull request against the original repository.\",\n\t\t\"Once accepted there, we are happy to receive an update request.\"\n\t],\n\t\"version\": \"https://github.com/tgjones/shaders-tmLanguage/commit/c72c8b39380ba5a86c58ceed053b5d965ebf38b3\",\n\t\"name\": \"ShaderLab\",\n\t\"scopeName\": \"source.shaderlab\",\n\t\"patterns\": [\n\t\t{\n\t\t\t\"name\": \"comment.line.double-slash.shaderlab\",\n\t\t\t\"begin\": \"//\",\n\t\t\t\"end\": \"$\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"support.type.basic.shaderlab\",\n\t\t\t\"match\": \"\\\\b(?i:Range|Float|Int|Color|Vector|2D|3D|Cube|Any)\\\\b\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#numbers\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"storage.type.structure.shaderlab\",\n\t\t\t\"match\": \"\\\\b(?i:Shader|Properties|SubShader|Pass|Category)\\\\b\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"support.type.propertyname.shaderlab\",\n\t\t\t\"match\": \"\\\\b(?i:Name|Tags|Fallback|CustomEditor|Cull|ZWrite|ZTest|Offset|Blend|BlendOp|ColorMask|AlphaToMask|LOD|Lighting|Stencil|Ref|ReadMask|WriteMask|Comp|CompBack|CompFront|Fail|ZFail|UsePass|GrabPass|Dependency|Material|Diffuse|Ambient|Shininess|Specular|Emission|Fog|Mode|Density|SeparateSpecular|SetTexture|Combine|ConstantColor|Matrix|AlphaTest|ColorMaterial|BindChannels|Bind)\\\\b\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"support.constant.property-value.shaderlab\",\n\t\t\t\"match\": \"\\\\b(?i:Back|Front|On|Off|[RGBA]{1,3}|AmbientAndDiffuse|Emission)\\\\b\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"support.constant.property-value.comparisonfunction.shaderlab\",\n\t\t\t\"match\": \"\\\\b(?i:Less|Greater|LEqual|GEqual|Equal|NotEqual|Always|Never)\\\\b\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"support.constant.property-value.stenciloperation.shaderlab\",\n\t\t\t\"match\": \"\\\\b(?i:Keep|Zero|Replace|IncrSat|DecrSat|Invert|IncrWrap|DecrWrap)\\\\b\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"support.constant.property-value.texturecombiners.shaderlab\",\n\t\t\t\"match\": \"\\\\b(?i:Previous|Primary|Texture|Constant|Lerp|Double|Quad|Alpha)\\\\b\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"support.constant.property-value.fog.shaderlab\",\n\t\t\t\"match\": \"\\\\b(?i:Global|Linear|Exp2|Exp)\\\\b\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"support.constant.property-value.bindchannels.shaderlab\",\n\t\t\t\"match\": \"\\\\b(?i:Vertex|Normal|Tangent|TexCoord0|TexCoord1)\\\\b\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"support.constant.property-value.blendoperations.shaderlab\",\n\t\t\t\"match\": \"\\\\b(?i:Add|Sub|RevSub|Min|Max|LogicalClear|LogicalSet|LogicalCopyInverted|LogicalCopy|LogicalNoop|LogicalInvert|LogicalAnd|LogicalNand|LogicalOr|LogicalNor|LogicalXor|LogicalEquiv|LogicalAndReverse|LogicalAndInverted|LogicalOrReverse|LogicalOrInverted)\\\\b\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"support.constant.property-value.blendfactors.shaderlab\",\n\t\t\t\"match\": \"\\\\b(?i:One|Zero|SrcColor|SrcAlpha|DstColor|DstAlpha|OneMinusSrcColor|OneMinusSrcAlpha|OneMinusDstColor|OneMinusDstAlpha)\\\\b\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"support.variable.reference.shaderlab\",\n\t\t\t\"match\": \"\\\\[([a-zA-Z_][a-zA-Z0-9_]*)\\\\](?!\\\\s*[a-zA-Z_][a-zA-Z0-9_]*\\\\s*\\\\(\\\")\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"meta.attribute.shaderlab\",\n\t\t\t\"begin\": \"(\\\\[)\",\n\t\t\t\"end\": \"(\\\\])\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"support.type.attributename.shaderlab\",\n\t\t\t\t\t\"match\": \"\\\\G([a-zA-Z]+)\\\\b\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#numbers\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\"name\": \"support.variable.declaration.shaderlab\",\n\t\t\t\"match\": \"\\\\b([a-zA-Z_][a-zA-Z0-9_]*)\\\\s*\\\\(\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"meta.cgblock\",\n\t\t\t\"begin\": \"\\\\b(CGPROGRAM|CGINCLUDE)\\\\b\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"\\\\b(ENDCG)\\\\b\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#hlsl-embedded\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\"name\": \"meta.hlslblock\",\n\t\t\t\"begin\": \"\\\\b(HLSLPROGRAM|HLSLINCLUDE)\\\\b\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"\\\\b(ENDHLSL)\\\\b\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#hlsl-embedded\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\"name\": \"string.quoted.double.shaderlab\",\n\t\t\t\"begin\": \"\\\"\",\n\t\t\t\"end\": \"\\\"\"\n\t\t}\n\t],\n\t\"repository\": {\n\t\t\"numbers\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"constant.numeric.shaderlab\",\n\t\t\t\t\t\"match\": \"\\\\b([0-9]+\\\\.?[0-9]*)\\\\b\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"hlsl-embedded\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"source.hlsl\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"storage.type.basic.shaderlab\",\n\t\t\t\t\t\"match\": \"\\\\b(fixed([1-4](x[1-4])?)?)\\\\b\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"support.variable.transformations.shaderlab\",\n\t\t\t\t\t\"match\": \"\\\\b(UNITY_MATRIX_MVP|UNITY_MATRIX_MV|UNITY_MATRIX_M|UNITY_MATRIX_V|UNITY_MATRIX_P|UNITY_MATRIX_VP|UNITY_MATRIX_T_MV|UNITY_MATRIX_I_V|UNITY_MATRIX_IT_MV|_Object2World|_World2Object|unity_ObjectToWorld|unity_WorldToObject)\\\\b\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"support.variable.camera.shaderlab\",\n\t\t\t\t\t\"match\": \"\\\\b(_WorldSpaceCameraPos|_ProjectionParams|_ScreenParams|_ZBufferParams|unity_OrthoParams|unity_CameraProjection|unity_CameraInvProjection|unity_CameraWorldClipPlanes)\\\\b\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"support.variable.time.shaderlab\",\n\t\t\t\t\t\"match\": \"\\\\b(_Time|_SinTime|_CosTime|unity_DeltaTime)\\\\b\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"support.variable.lighting.shaderlab\",\n\t\t\t\t\t\"match\": \"\\\\b(_LightColor0|_WorldSpaceLightPos0|_LightMatrix0|unity_4LightPosX0|unity_4LightPosY0|unity_4LightPosZ0|unity_4LightAtten0|unity_LightColor|_LightColor|unity_LightPosition|unity_LightAtten|unity_SpotDirection)\\\\b\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"support.variable.fog.shaderlab\",\n\t\t\t\t\t\"match\": \"\\\\b(unity_AmbientSky|unity_AmbientEquator|unity_AmbientGround|UNITY_LIGHTMODEL_AMBIENT|unity_FogColor|unity_FogParams)\\\\b\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"support.variable.various.shaderlab\",\n\t\t\t\t\t\"match\": \"\\\\b(unity_LODFade)\\\\b\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"support.variable.preprocessor.targetplatform.shaderlab\",\n\t\t\t\t\t\"match\": \"\\\\b(SHADER_API_D3D9|SHADER_API_D3D11|SHADER_API_GLCORE|SHADER_API_OPENGL|SHADER_API_GLES|SHADER_API_GLES3|SHADER_API_METAL|SHADER_API_D3D11_9X|SHADER_API_PSSL|SHADER_API_XBOXONE|SHADER_API_PSP2|SHADER_API_WIIU|SHADER_API_MOBILE|SHADER_API_GLSL)\\\\b\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"support.variable.preprocessor.targetmodel.shaderlab\",\n\t\t\t\t\t\"match\": \"\\\\b(SHADER_TARGET)\\\\b\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"support.variable.preprocessor.unityversion.shaderlab\",\n\t\t\t\t\t\"match\": \"\\\\b(UNITY_VERSION)\\\\b\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"support.variable.preprocessor.platformdifference.shaderlab\",\n\t\t\t\t\t\"match\": \"\\\\b(UNITY_BRANCH|UNITY_FLATTEN|UNITY_NO_SCREENSPACE_SHADOWS|UNITY_NO_LINEAR_COLORSPACE|UNITY_NO_RGBM|UNITY_NO_DXT5nm|UNITY_FRAMEBUFFER_FETCH_AVAILABLE|UNITY_USE_RGBA_FOR_POINT_SHADOWS|UNITY_ATTEN_CHANNEL|UNITY_HALF_TEXEL_OFFSET|UNITY_UV_STARTS_AT_TOP|UNITY_MIGHT_NOT_HAVE_DEPTH_Texture|UNITY_NEAR_CLIP_VALUE|UNITY_VPOS_TYPE|UNITY_CAN_COMPILE_TESSELLATION|UNITY_COMPILER_HLSL|UNITY_COMPILER_HLSL2GLSL|UNITY_COMPILER_CG|UNITY_REVERSED_Z)\\\\b\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"support.variable.preprocessor.texture2D.shaderlab\",\n\t\t\t\t\t\"match\": \"\\\\b(UNITY_PASS_FORWARDBASE|UNITY_PASS_FORWARDADD|UNITY_PASS_DEFERRED|UNITY_PASS_SHADOWCASTER|UNITY_PASS_PREPASSBASE|UNITY_PASS_PREPASSFINAL)\\\\b\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"support.class.structures.shaderlab\",\n\t\t\t\t\t\"match\": \"\\\\b(appdata_base|appdata_tan|appdata_full|appdata_img)\\\\b\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"support.class.surface.shaderlab\",\n\t\t\t\t\t\"match\": \"\\\\b(SurfaceOutputStandardSpecular|SurfaceOutputStandard|SurfaceOutput|Input)\\\\b\"\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}";
2
+ export { shaderlab_tmLanguage as default };
@@ -0,0 +1,2 @@
1
+ var shellUnixBash_tmLanguage = "{\n\t\"information_for_contributors\": [\n\t\t\"This file has been converted from https://github.com/jeff-hykin/better-shell-syntax/blob/master/autogenerated/shell.tmLanguage.json\",\n\t\t\"If you want to provide a fix or improvement, please create a pull request against the original repository.\",\n\t\t\"Once accepted there, we are happy to receive an update request.\"\n\t],\n\t\"version\": \"https://github.com/jeff-hykin/better-shell-syntax/commit/f0becead09678ee025faef6bc062b33fab60274b\",\n\t\"name\": \"Shell Script\",\n\t\"scopeName\": \"source.shell\",\n\t\"patterns\": [\n\t\t{\n\t\t\t\"include\": \"#initial_context\"\n\t\t}\n\t],\n\t\"repository\": {\n\t\t\"alias_statement\": {\n\t\t\t\"begin\": \"(alias)[ \\\\t]*+[ \\\\t]*+(?:((?<=^|;|&|[ \\\\t])(?:export|declare|typeset|local|readonly)(?=[ \\\\t]|;|&|$))[ \\\\t]*+)?((?<!\\\\w)[a-zA-Z_0-9-]+(?!\\\\w))(?:(\\\\[)((?:(?:(?:\\\\$)?(?<!\\\\w)[a-zA-Z_0-9-]+(?!\\\\w)|@)|\\\\*))(\\\\]))?(?:(?:(\\\\=)|(\\\\+\\\\=))|(\\\\-\\\\=))\",\n\t\t\t\"end\": \"(?:(?= |\\\\t|$)|(?:(?:(?:(?:(;)|(&&))|(\\\\|\\\\|))|(&))|\\\\n))\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"storage.type.alias.shell\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"storage.modifier.$2.shell\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"variable.other.assignment.shell\"\n\t\t\t\t},\n\t\t\t\t\"4\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.array.access.shell\"\n\t\t\t\t},\n\t\t\t\t\"5\": {\n\t\t\t\t\t\"name\": \"variable.other.assignment.shell\"\n\t\t\t\t},\n\t\t\t\t\"6\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.array.access.shell\"\n\t\t\t\t},\n\t\t\t\t\"7\": {\n\t\t\t\t\t\"name\": \"keyword.operator.assignment.shell\"\n\t\t\t\t},\n\t\t\t\t\"8\": {\n\t\t\t\t\t\"name\": \"keyword.operator.assignment.compound.shell\"\n\t\t\t\t},\n\t\t\t\t\"9\": {\n\t\t\t\t\t\"name\": \"keyword.operator.assignment.compound.shell\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.terminator.statement.semicolon.shell\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"punctuation.separator.statement.and.shell\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"punctuation.separator.statement.or.shell\"\n\t\t\t\t},\n\t\t\t\t\"4\": {\n\t\t\t\t\t\"name\": \"punctuation.separator.statement.background.shell\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"meta.expression.assignment.shell\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#normal_statement_context\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"argument\": {\n\t\t\t\"begin\": \"[ \\\\t]++(?!(?:%|&|\\\\||\\\\(|\\\\[|#|\\\\n|$|;))\",\n\t\t\t\"end\": \"(?= |\\\\t|;|\\\\||&|$|\\\\n|\\\\)|\\\\`)\",\n\t\t\t\"beginCaptures\": {},\n\t\t\t\"endCaptures\": {},\n\t\t\t\"name\": \"meta.argument.shell\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#argument_context\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#line_continuation\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"argument_context\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"[ \\\\t]*+([^ \\t\\n'&;<>\\\\(\\\\)\\\\$`\\\\\\\\\\\"\\\\|]+(?!>))\",\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"string.unquoted.argument.shell\",\n\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"match\": \"\\\\*\",\n\t\t\t\t\t\t\t\t\t\"name\": \"variable.language.special.wildcard.shell\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#variable\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#numeric_literal\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"match\": \"(?<!\\\\w)(\\\\b(?:true|false)\\\\b)(?!\\\\w)\",\n\t\t\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.language.$1.shell\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#normal_statement_context\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"assignment\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"[ \\\\t]*+(?:((?<=^|;|&|[ \\\\t])(?:export|declare|typeset|local|readonly)(?=[ \\\\t]|;|&|$))[ \\\\t]*+)?((?<!\\\\w)[a-zA-Z_0-9-]+(?!\\\\w))(?:(\\\\[)((?:(?:(?:\\\\$)?(?<!\\\\w)[a-zA-Z_0-9-]+(?!\\\\w)|@)|\\\\*))(\\\\]))?(?:(?:(\\\\=)|(\\\\+\\\\=))|(\\\\-\\\\=))[ \\\\t]*+(\\\\()\",\n\t\t\t\t\t\"end\": \"\\\\)\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"storage.modifier.$1.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"variable.other.assignment.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.array.access.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\"name\": \"variable.other.assignment.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"5\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.array.access.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"6\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.assignment.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"7\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.assignment.compound.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"8\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.assignment.compound.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"9\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.expression.assignment.shell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#argument_context\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"[ \\\\t]*+(?:((?<=^|;|&|[ \\\\t])(?:export|declare|typeset|local|readonly)(?=[ \\\\t]|;|&|$))[ \\\\t]*+)?((?<!\\\\w)[a-zA-Z_0-9-]+(?!\\\\w))(?:(\\\\[)((?:(?:(?:\\\\$)?(?<!\\\\w)[a-zA-Z_0-9-]+(?!\\\\w)|@)|\\\\*))(\\\\]))?(?:(?:(\\\\=)|(\\\\+\\\\=))|(\\\\-\\\\=))\",\n\t\t\t\t\t\"end\": \"(?:(?= |\\\\t|$)|(?:(?:(?:(?:(;)|(&&))|(\\\\|\\\\|))|(&))|\\\\n))\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"storage.modifier.$1.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"variable.other.assignment.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.array.access.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\"name\": \"variable.other.assignment.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"5\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.array.access.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"6\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.assignment.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"7\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.assignment.compound.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"8\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.assignment.compound.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.terminator.statement.semicolon.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.separator.statement.and.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.separator.statement.or.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.separator.statement.background.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.expression.assignment.shell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#argument_context\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"basic_command_name\": {\n\t\t\t\"match\": \"(?!(?:!|%|&|\\\\||\\\\(|\\\\)|\\\\{|\\\\[|<|>|#|\\\\n|$|;|[ \\\\t]))(?!foreach\\\\b(?!\\\\/)|select\\\\b(?!\\\\/)|repeat\\\\b(?!\\\\/)|until\\\\b(?!\\\\/)|while\\\\b(?!\\\\/)|case\\\\b(?!\\\\/)|done\\\\b(?!\\\\/)|elif\\\\b(?!\\\\/)|else\\\\b(?!\\\\/)|esac\\\\b(?!\\\\/)|then\\\\b(?!\\\\/)|for\\\\b(?!\\\\/)|end\\\\b(?!\\\\/)|in\\\\b(?!\\\\/)|fi\\\\b(?!\\\\/)|do\\\\b(?!\\\\/)|if\\\\b(?!\\\\/))(?:((?<=^|;|&|[ \\\\t])(?:export|declare|typeset|local|readonly)(?=[ \\\\t]|;|&|$))|((?!\\\"|'|\\\\\\\\\\\\n?$)[^!'\\\" \\\\t\\\\n\\\\r]+?))(?:(?= |\\\\t)|(?=;|\\\\||&|\\\\n|\\\\)|\\\\`|\\\\{|\\\\}|[ \\\\t]*#|\\\\])(?<!\\\\\\\\))\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"storage.modifier.$1.shell\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"entity.name.command.shell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"(?<!\\\\w)(?:return|break)(?!\\\\w)\",\n\t\t\t\t\t\t\t\"name\": \"keyword.control.$0.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"(?<!\\\\w)(?:unfunction|unsetopt|autoload|suspend|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|:|\\\\.)(?!\\\\/)(?!\\\\w)\",\n\t\t\t\t\t\t\t\"name\": \"support.function.builtin.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#variable\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"meta.statement.command.name.basic.shell\"\n\t\t},\n\t\t\"block_comment\": {\n\t\t\t\"begin\": \"\\\\s*+(\\\\/\\\\*)\",\n\t\t\t\"end\": \"\\\\*\\\\/\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.comment.begin.shell\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.comment.end.shell\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"comment.block.shell\"\n\t\t},\n\t\t\"boolean\": {\n\t\t\t\"match\": \"\\\\b(?:true|false)\\\\b\",\n\t\t\t\"name\": \"constant.language.$0.shell\"\n\t\t},\n\t\t\"case-clause\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(?=\\\\S)\",\n\t\t\t\t\t\"end\": \";;\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.terminator.case-clause.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.scope.case-clause.shell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"begin\": \"\\\\(|(?=\\\\S)\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.case-pattern.shell\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"\\\\)\",\n\t\t\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.case-pattern.shell\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"meta.scope.case-pattern.shell\",\n\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"match\": \"\\\\|\",\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.pipe-sign.shell\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#string\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#variable\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#interpolation\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#pathname\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"begin\": \"(?<=\\\\))\",\n\t\t\t\t\t\t\t\"end\": \"(?=;;)\",\n\t\t\t\t\t\t\t\"name\": \"meta.scope.case-clause-body.shell\",\n\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#initial_context\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"comment\": {\n\t\t\t\"match\": \"(?:^|[ \\\\t]++)(?:((#!).*)|((#).*))\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"comment.line.number-sign.shell meta.shebang.shell\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.comment.shebang.shell\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"comment.line.number-sign.shell\"\n\t\t\t\t},\n\t\t\t\t\"4\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.comment.shell\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"comments\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#block_comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#line_comment\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"compound-command\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"\\\\[{1,2}\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.logical-expression.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"\\\\]{1,2}\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.logical-expression.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.scope.logical-expression.shell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#logical-expression\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#initial_context\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"\\\\({2}\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.begin.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"\\\\){2}\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.end.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"string.other.math.shell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#math\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"\\\\(\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.subshell.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"\\\\)\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.subshell.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.scope.subshell.shell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#initial_context\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(?<=\\\\s|^){(?=\\\\s|$)\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.group.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(?<=^|;)\\\\s*(})\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.group.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.scope.group.shell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#initial_context\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"continuation_of_double_quoted_command_name\": {\n\t\t\t\"begin\": \"\\\\G(?<=\\\")\",\n\t\t\t\"end\": \"\\\"\",\n\t\t\t\"beginCaptures\": {},\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"string.quoted.double.shell punctuation.definition.string.end.shell entity.name.command.shell\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"contentName\": \"meta.statement.command.name.continuation string.quoted.double entity.name.command\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\\\\\[\\\\$\\\\n`\\\"\\\\\\\\]\",\n\t\t\t\t\t\"name\": \"constant.character.escape.shell\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#variable\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#interpolation\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"continuation_of_single_quoted_command_name\": {\n\t\t\t\"begin\": \"\\\\G(?<=')\",\n\t\t\t\"end\": \"'\",\n\t\t\t\"beginCaptures\": {},\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"string.quoted.single.shell punctuation.definition.string.end.shell entity.name.command.shell\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"contentName\": \"meta.statement.command.name.continuation string.quoted.single entity.name.command\"\n\t\t},\n\t\t\"custom_command_names\": {\n\t\t\t\"patterns\": []\n\t\t},\n\t\t\"custom_commands\": {\n\t\t\t\"patterns\": []\n\t\t},\n\t\t\"double_quote_context\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\\\\\[\\\\$`\\\"\\\\\\\\\\\\n]\",\n\t\t\t\t\t\"name\": \"constant.character.escape.shell\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#variable\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#interpolation\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"double_quote_escape_char\": {\n\t\t\t\"match\": \"\\\\\\\\[\\\\$`\\\"\\\\\\\\\\\\n]\",\n\t\t\t\"name\": \"constant.character.escape.shell\"\n\t\t},\n\t\t\"function_definition\": {\n\t\t\t\"begin\": \"[ \\\\t]*+(?:(\\\\bfunction\\\\b)[ \\\\t]*+([^ \\\\t\\\\n\\\\r\\\\(\\\\)=]+)(?:(\\\\()[ \\\\t]*+(\\\\)))?|([^ \\\\t\\\\n\\\\r\\\\(\\\\)=]+)[ \\\\t]*+(\\\\()[ \\\\t]*+(\\\\)))\",\n\t\t\t\"end\": \"(?<=\\\\}|\\\\))\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"storage.type.function.shell\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"entity.name.function.shell\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.arguments.shell\"\n\t\t\t\t},\n\t\t\t\t\"4\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.arguments.shell\"\n\t\t\t\t},\n\t\t\t\t\"5\": {\n\t\t\t\t\t\"name\": \"entity.name.function.shell\"\n\t\t\t\t},\n\t\t\t\t\"6\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.arguments.shell\"\n\t\t\t\t},\n\t\t\t\t\"7\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.arguments.shell\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"endCaptures\": {},\n\t\t\t\"name\": \"meta.function.shell\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\G(?:\\\\t| |\\\\n)\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"\\\\{\",\n\t\t\t\t\t\"end\": \"\\\\}\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.group.shell punctuation.section.function.definition.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.group.shell punctuation.section.function.definition.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.function.body.shell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#initial_context\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"\\\\(\",\n\t\t\t\t\t\"end\": \"\\\\)\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.group.shell punctuation.section.function.definition.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.group.shell punctuation.section.function.definition.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.function.body.shell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#initial_context\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t],\n\t\t\t\"applyEndPatternLast\": 1\n\t\t},\n\t\t\"heredoc\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"((?<!<)<<-)[ \\\\t]*+(\\\"|')[ \\\\t]*+((?<!\\\\w)[a-zA-Z_0-9-]+(?!\\\\w))(?=\\\\s|;|&|<|\\\"|')(?:\\\\2)(.*)\",\n\t\t\t\t\t\"end\": \"^\\\\t*(?:\\\\3)(?=\\\\s|;|&|$)\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.heredoc.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {},\n\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.heredoc.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#normal_statement_context\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.heredoc.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"contentName\": \"string.quoted.heredoc.indent\",\n\t\t\t\t\t\"patterns\": []\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"((?<!<)<<(?!<))[ \\\\t]*+(\\\"|')[ \\\\t]*+((?<!\\\\w)[a-zA-Z_0-9-]+(?!\\\\w))(?=\\\\s|;|&|<|\\\"|')(?:\\\\2)(.*)\",\n\t\t\t\t\t\"end\": \"^(?:\\\\3)(?=\\\\s|;|&|$)\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.heredoc.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {},\n\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.heredoc.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#normal_statement_context\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.heredoc.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"contentName\": \"string.quoted.heredoc.no-indent\",\n\t\t\t\t\t\"patterns\": []\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"((?<!<)<<-)[ \\\\t]*+((?<!\\\\w)[a-zA-Z_0-9-]+(?!\\\\w))(?=\\\\s|;|&|<|\\\"|')(.*)\",\n\t\t\t\t\t\"end\": \"^\\\\t*(?:\\\\2)(?=\\\\s|;|&|$)\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.heredoc.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.heredoc.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#normal_statement_context\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.heredoc.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"contentName\": \"string.unquoted.heredoc.indent\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#double_quote_escape_char\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#variable\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#interpolation\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"((?<!<)<<(?!<))[ \\\\t]*+((?<!\\\\w)[a-zA-Z_0-9-]+(?!\\\\w))(?=\\\\s|;|&|<|\\\"|')(.*)\",\n\t\t\t\t\t\"end\": \"^(?:\\\\2)(?=\\\\s|;|&|$)\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.heredoc.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.heredoc.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#normal_statement_context\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.heredoc.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"contentName\": \"string.unquoted.heredoc.no-indent\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#double_quote_escape_char\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#variable\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#interpolation\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"herestring\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(<<<)\\\\s*(('))\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.herestring.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"string.quoted.single.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.begin.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(')\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"string.quoted.single.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.end.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.herestring.shell\",\n\t\t\t\t\t\"contentName\": \"string.quoted.single.shell\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(<<<)\\\\s*((\\\"))\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.herestring.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"string.quoted.double.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.begin.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(\\\")\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"string.quoted.double.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.end.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.herestring.shell\",\n\t\t\t\t\t\"contentName\": \"string.quoted.double.shell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#double_quote_context\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.herestring.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"string.unquoted.herestring.shell\",\n\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#initial_context\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"match\": \"(<<<)\\\\s*(([^\\\\s)\\\\\\\\]|\\\\\\\\.)+)\",\n\t\t\t\t\t\"name\": \"meta.herestring.shell\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"initial_context\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#pipeline\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#normal_statement_seperator\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#logical_expression_double\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#logical_expression_single\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#misc_ranges\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#loop\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#function_definition\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#variable\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#interpolation\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#heredoc\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#herestring\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#redirection\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#pathname\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#keyword\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#alias_statement\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#normal_statement\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#string\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#support\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"inline_comment\": {\n\t\t\t\"match\": \"(\\\\/\\\\*)((?:[^\\\\*]|(?:\\\\*)++[^\\\\/])*+((?:\\\\*)++\\\\/))\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"comment.block.shell punctuation.definition.comment.begin.shell\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"comment.block.shell\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"\\\\*\\\\/\",\n\t\t\t\t\t\t\t\"name\": \"comment.block.shell punctuation.definition.comment.end.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"\\\\*\",\n\t\t\t\t\t\t\t\"name\": \"comment.block.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"interpolation\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"\\\\$\\\\({2}\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.evaluation.arithmetic.begin.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"\\\\)\\\\s*\\\\)\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.evaluation.arithmetic.end.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"string.other.math.shell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#math\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"`\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.evaluation.backticks.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"`\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.evaluation.backticks.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"string.interpolated.backtick.shell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"\\\\\\\\[`\\\\\\\\$]\",\n\t\t\t\t\t\t\t\"name\": \"constant.character.escape.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"begin\": \"(?<=\\\\W)(?=#)(?!#{)\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.whitespace.comment.leading.shell\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"(?!\\\\G)\",\n\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"begin\": \"#\",\n\t\t\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.comment.shell\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"end\": \"(?=`)\",\n\t\t\t\t\t\t\t\t\t\"name\": \"comment.line.number-sign.shell\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#initial_context\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"\\\\$\\\\(\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.evaluation.parens.begin.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"\\\\)\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.evaluation.parens.end.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"string.interpolated.dollar.shell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#initial_context\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"keyword\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?<=^|;|&| |\\\\t)(?:then|else|elif|fi|for|in|do|done|select|case|continue|esac|while|until|return)(?= |\\\\t|;|&|$)\",\n\t\t\t\t\t\"name\": \"keyword.control.$0.shell\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"line_comment\": {\n\t\t\t\"begin\": \"\\\\s*+(\\\\/\\\\/)\",\n\t\t\t\"end\": \"(?<=\\\\n)(?<!\\\\\\\\\\\\n)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.comment.shell\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"endCaptures\": {},\n\t\t\t\"name\": \"comment.line.double-slash.shell\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#line_continuation_character\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"line_continuation\": {\n\t\t\t\"match\": \"\\\\\\\\(?=\\\\n)\",\n\t\t\t\"name\": \"constant.character.escape.line-continuation.shell\"\n\t\t},\n\t\t\"logical-expression\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"comment\": \"do we want a special rule for ( expr )?\",\n\t\t\t\t\t\"match\": \"=[=~]?|!=?|<|>|&&|\\\\|\\\\|\",\n\t\t\t\t\t\"name\": \"keyword.operator.logical.shell\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?<!\\\\S)-(nt|ot|ef|eq|ne|l[te]|g[te]|[a-hknoprstuwxzOGLSN])\\\\b\",\n\t\t\t\t\t\"name\": \"keyword.operator.logical.shell\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"logical_expression_context\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#regex_comparison\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#logical-expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#logical_expression_single\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#logical_expression_double\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#boolean\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#redirect_number\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#numeric_literal\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#pipeline\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#normal_statement_seperator\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#string\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#variable\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#interpolation\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#heredoc\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#herestring\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#pathname\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#keyword\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#support\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"logical_expression_double\": {\n\t\t\t\"begin\": \"\\\\[\\\\[\",\n\t\t\t\"end\": \"\\\\]\\\\]\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.logical-expression.shell\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.logical-expression.shell\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"meta.scope.logical-expression.shell\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#logical_expression_context\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"logical_expression_single\": {\n\t\t\t\"begin\": \"\\\\[\",\n\t\t\t\"end\": \"\\\\]\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.logical-expression.shell\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.logical-expression.shell\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"meta.scope.logical-expression.shell\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#logical_expression_context\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"loop\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(?<=^|;|&|\\\\s)(for)\\\\s+(?=\\\\({2})\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.control.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(?<=^|;|&|\\\\s)done(?=\\\\s|;|&|$|\\\\))\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.control.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.scope.for-loop.shell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#initial_context\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(?<=^|;|&|\\\\s)(for)\\\\s+(.+?)\\\\s+(in)(?=\\\\s|;|&|$)\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.control.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"variable.other.loop.shell\",\n\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#string\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.control.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(?<=^|;|&|\\\\s)done(?=\\\\s|;|&|$|\\\\))\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.control.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.scope.for-in-loop.shell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#initial_context\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(?<=^|;|&|\\\\s)(while|until)(?=\\\\s|;|&|$)\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.control.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(?<=^|;|&|\\\\s)done(?=\\\\s|;|&|$|\\\\))\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.control.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.scope.while-loop.shell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#initial_context\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(?<=^|;|&|\\\\s)(select)\\\\s+((?:[^\\\\s\\\\\\\\]|\\\\\\\\.)+)(?=\\\\s|;|&|$)\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.control.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"variable.other.loop.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(?<=^|;|&|\\\\s)(done)(?=\\\\s|;|&|$|\\\\))\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.control.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.scope.select-block.shell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#initial_context\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(?<=^|;|&|\\\\s)case(?=\\\\s|;|&|$)\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.control.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(?<=^|;|&|\\\\s)esac(?=\\\\s|;|&|$)\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.control.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.scope.case-block.shell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"begin\": \"(?<=^|;|&|\\\\s)in(?=\\\\s|;|&|$)\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"keyword.control.shell\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"(?<=^|;|&|\\\\s)(?=esac(\\\\s|;|&|$))\",\n\t\t\t\t\t\t\t\"name\": \"meta.scope.case-body.shell\",\n\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#case-clause\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#initial_context\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(?<=^|;|&|\\\\s)if(?=\\\\s|;|&|$)\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.control.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(?<=^|;|&|\\\\s)fi(?=\\\\s|;|&|$)\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.control.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.scope.if-block.shell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#initial_context\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"math\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#variable\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\+{1,2}|-{1,2}|!|~|\\\\*{1,2}|/|%|<[<=]?|>[>=]?|==|!=|^|\\\\|{1,2}|&{1,2}|\\\\?|\\\\:|,|=|[*/%+\\\\-&^|]=|<<=|>>=\",\n\t\t\t\t\t\"name\": \"keyword.operator.arithmetic.shell\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"0[xX][0-9A-Fa-f]+\",\n\t\t\t\t\t\"name\": \"constant.numeric.hex.shell\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"0\\\\d+\",\n\t\t\t\t\t\"name\": \"constant.numeric.octal.shell\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\d{1,2}#[0-9a-zA-Z@_]+\",\n\t\t\t\t\t\"name\": \"constant.numeric.other.shell\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\d+\",\n\t\t\t\t\t\"name\": \"constant.numeric.integer.shell\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"misc_ranges\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#logical_expression_single\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#logical_expression_double\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"\\\\(\\\\(\",\n\t\t\t\t\t\"end\": \"\\\\)\\\\)\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.section.arithmetic.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.section.arithmetic.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.arithmetic.shell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#math\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(?<!=)\\\\(\",\n\t\t\t\t\t\"end\": \"\\\\)\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.subshell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.subshell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.scope.subshell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#initial_context\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"{\",\n\t\t\t\t\t\"end\": \"}\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.group.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.group.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.scope.group.shell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#initial_context\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"modifiers\": {\n\t\t\t\"match\": \"(?<=^|;|&|[ \\\\t])(?:export|declare|typeset|local|readonly)(?=[ \\\\t]|;|&|$)\",\n\t\t\t\"name\": \"storage.modifier.$0.shell\"\n\t\t},\n\t\t\"normal_statement\": {\n\t\t\t\"begin\": \"(?!^[ \\\\t]*+$)(?:(?<=^if | if |\\\\tif |^elif | elif |\\\\telif |^then | then |\\\\tthen |^else | else |\\\\telse |^while | while |\\\\twhile |^do | do |\\\\tdo )|(?<=(?:^|;|\\\\||&|!|\\\\(|\\\\{|\\\\`)))[ \\\\t]*+(?!nocorrect\\\\W|nocorrect\\\\$|function\\\\W|function\\\\$|foreach\\\\W|foreach\\\\$|repeat\\\\W|repeat\\\\$|logout\\\\W|logout\\\\$|coproc\\\\W|coproc\\\\$|select\\\\W|select\\\\$|while\\\\W|while\\\\$|pushd\\\\W|pushd\\\\$|until\\\\W|until\\\\$|case\\\\W|case\\\\$|done\\\\W|done\\\\$|elif\\\\W|elif\\\\$|else\\\\W|else\\\\$|esac\\\\W|esac\\\\$|popd\\\\W|popd\\\\$|then\\\\W|then\\\\$|time\\\\W|time\\\\$|for\\\\W|for\\\\$|end\\\\W|end\\\\$|fi\\\\W|fi\\\\$|do\\\\W|do\\\\$|in\\\\W|in\\\\$|if\\\\W|if\\\\$)\",\n\t\t\t\"end\": \"(?=;|\\\\||&|\\\\n|\\\\)|\\\\`|\\\\{|\\\\}|[ \\\\t]*#|\\\\])(?<!\\\\\\\\)\",\n\t\t\t\"beginCaptures\": {},\n\t\t\t\"endCaptures\": {},\n\t\t\t\"name\": \"meta.statement.shell\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#function_definition\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#assignment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"[ \\\\t]*+(?!(?:!|%|&|\\\\||\\\\(|\\\\)|\\\\{|\\\\[|<|>|#|\\\\n|$|;|[ \\\\t]))(?!foreach\\\\b(?!\\\\/)|select\\\\b(?!\\\\/)|repeat\\\\b(?!\\\\/)|until\\\\b(?!\\\\/)|while\\\\b(?!\\\\/)|case\\\\b(?!\\\\/)|done\\\\b(?!\\\\/)|elif\\\\b(?!\\\\/)|else\\\\b(?!\\\\/)|esac\\\\b(?!\\\\/)|then\\\\b(?!\\\\/)|for\\\\b(?!\\\\/)|end\\\\b(?!\\\\/)|in\\\\b(?!\\\\/)|fi\\\\b(?!\\\\/)|do\\\\b(?!\\\\/)|if\\\\b(?!\\\\/))(?!\\\\\\\\\\\\n?$)\",\n\t\t\t\t\t\"end\": \"(?=;|\\\\||&|\\\\n|\\\\)|\\\\`|\\\\{|\\\\}|[ \\\\t]*#|\\\\])(?<!\\\\\\\\)\",\n\t\t\t\t\t\"beginCaptures\": {},\n\t\t\t\t\t\"endCaptures\": {},\n\t\t\t\t\t\"name\": \"meta.statement.command.shell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"begin\": \"\\\\G\",\n\t\t\t\t\t\t\t\"end\": \"(?= |\\\\t|;|\\\\||&|$|\\\\n|\\\\)|\\\\`)\",\n\t\t\t\t\t\t\t\"beginCaptures\": {},\n\t\t\t\t\t\t\t\"endCaptures\": {},\n\t\t\t\t\t\t\t\"name\": \"meta.statement.command.name.shell\",\n\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#modifiers\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"match\": \"(?<!\\\\w)(?:return|break)(?!\\\\w)\",\n\t\t\t\t\t\t\t\t\t\"name\": \"entity.name.command.shell keyword.control.$0.shell\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"match\": \"(?<!\\\\w)(?:unfunction|unsetopt|autoload|suspend|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|:|\\\\.)(?!\\\\/)(?!\\\\w)\",\n\t\t\t\t\t\t\t\t\t\"name\": \"entity.name.command.shell support.function.builtin.shell\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#variable\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"match\": \"(?<=\\\\G|'|\\\"|\\\\}|\\\\))([^ \\\\n\\\\t\\\\r\\\"'=;&\\\\|`\\\\)\\\\{]+)\",\n\t\t\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"entity.name.command.shell\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"begin\": \"(?:\\\\G|(?<! |\\\\t|;|\\\\||&|\\\\n|\\\\{|#))((?:\\\\$)?)((?:(\\\")|(')))\",\n\t\t\t\t\t\t\t\t\t\"end\": \"(?<!\\\\G)(?<=(?:\\\\2))\",\n\t\t\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"meta.statement.command.name.quoted.shell punctuation.definition.string.shell entity.name.command.shell\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"2\": {},\n\t\t\t\t\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"meta.statement.command.name.quoted.shell string.quoted.double.shell punctuation.definition.string.begin.shell entity.name.command.shell\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"meta.statement.command.name.quoted.shell string.quoted.single.shell punctuation.definition.string.begin.shell entity.name.command.shell\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"endCaptures\": {},\n\t\t\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"include\": \"#continuation_of_single_quoted_command_name\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"include\": \"#continuation_of_double_quoted_command_name\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#line_continuation\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#line_continuation\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#option\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#argument\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#statement_context\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#string\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#line_continuation\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#normal_statement_context\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"normal_statement_context\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#pipeline\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#normal_statement_seperator\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#misc_ranges\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#boolean\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#redirect_number\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#numeric_literal\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#string\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#variable\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#interpolation\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#heredoc\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#herestring\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#redirection\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#pathname\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#keyword\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#support\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"normal_statement_seperator\": {\n\t\t\t\"match\": \"(?:(?:(?:(?:(;)|(&&))|(\\\\|\\\\|))|(&))|\\\\n)\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.terminator.statement.semicolon.shell\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"punctuation.separator.statement.and.shell\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"punctuation.separator.statement.or.shell\"\n\t\t\t\t},\n\t\t\t\t\"4\": {\n\t\t\t\t\t\"name\": \"punctuation.separator.statement.background.shell\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"numeric_literal\": {\n\t\t\t\"match\": \"((?<!\\\\w-)(?<!\\\\w)\\\\.?\\\\d(?:(?:[0-9a-zA-Z_\\\\.]|_)|(?<=[eEpP])[+-])*(?=[ \\\\t]|$))\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"begin\": \"(?=.)\",\n\t\t\t\t\t\t\t\"end\": \"$\",\n\t\t\t\t\t\t\t\"beginCaptures\": {},\n\t\t\t\t\t\t\t\"endCaptures\": {},\n\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"match\": \"(\\\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?((?:(?<=[0-9a-fA-F])\\\\.|\\\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?(?:(?<!_)([pP])((?:\\\\+)?)((?:\\\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])_(?=[0-9a-fA-F]))*))?([lLfF](?!\\\\w))?$\",\n\t\t\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.other.unit.hexadecimal.shell\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.hexadecimal.shell\",\n\t\t\t\t\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"match\": \"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.constant.numeric.shell\"\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.constant.numeric.shell\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.hexadecimal.shell\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"5\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.hexadecimal.shell\",\n\t\t\t\t\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"match\": \"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.constant.numeric.shell\"\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"6\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.constant.numeric.shell\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"7\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.other.unit.exponent.hexadecimal.shell\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"8\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.plus.exponent.hexadecimal.shell\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"9\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.minus.exponent.hexadecimal.shell\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"10\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.exponent.hexadecimal.shell\",\n\t\t\t\t\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"match\": \"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.constant.numeric.shell\"\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"11\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.other.unit.suffix.floating-point.shell\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"match\": \"\\\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?((?:(?<=[0-9])\\\\.|\\\\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?(?:(?<!_)([eE])((?:\\\\+)?)((?:\\\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])_(?=[0-9a-fA-F]))*))?([lLfF](?!\\\\w))?$\",\n\t\t\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.decimal.shell\",\n\t\t\t\t\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"match\": \"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.constant.numeric.shell\"\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.constant.numeric.shell\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.decimal.point.shell\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.decimal.shell\",\n\t\t\t\t\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"match\": \"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.constant.numeric.shell\"\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"5\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.constant.numeric.shell\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"6\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.other.unit.exponent.decimal.shell\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"7\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.plus.exponent.decimal.shell\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"8\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.minus.exponent.decimal.shell\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"9\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.exponent.decimal.shell\",\n\t\t\t\t\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"match\": \"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.constant.numeric.shell\"\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"10\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.other.unit.suffix.floating-point.shell\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"match\": \"(\\\\G0[bB])([01](?:[01]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\\\w))?$\",\n\t\t\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.other.unit.binary.shell\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.binary.shell\",\n\t\t\t\t\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"match\": \"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.constant.numeric.shell\"\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.constant.numeric.shell\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.other.unit.suffix.integer.shell\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"match\": \"(\\\\G0)((?:[0-7]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))+)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\\\w))?$\",\n\t\t\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.other.unit.octal.shell\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.octal.shell\",\n\t\t\t\t\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"match\": \"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.constant.numeric.shell\"\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.constant.numeric.shell\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.other.unit.suffix.integer.shell\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"match\": \"(\\\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?:(?<!_)([pP])((?:\\\\+)?)((?:\\\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])_(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\\\w))?$\",\n\t\t\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.other.unit.hexadecimal.shell\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.hexadecimal.shell\",\n\t\t\t\t\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"match\": \"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.constant.numeric.shell\"\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.constant.numeric.shell\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.other.unit.exponent.hexadecimal.shell\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"5\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.plus.exponent.hexadecimal.shell\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"6\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.minus.exponent.hexadecimal.shell\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"7\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.exponent.hexadecimal.shell\",\n\t\t\t\t\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"match\": \"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.constant.numeric.shell\"\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"8\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.other.unit.suffix.integer.shell\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"match\": \"\\\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?:(?<!_)([eE])((?:\\\\+)?)((?:\\\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])_(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\\\w))?$\",\n\t\t\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.decimal.shell\",\n\t\t\t\t\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"match\": \"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.constant.numeric.shell\"\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.constant.numeric.shell\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.other.unit.exponent.decimal.shell\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.plus.exponent.decimal.shell\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"5\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.minus.exponent.decimal.shell\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"6\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.exponent.decimal.shell\",\n\t\t\t\t\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"match\": \"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.constant.numeric.shell\"\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"7\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.other.unit.suffix.integer.shell\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"constant.numeric.shell\"\n\t\t},\n\t\t\"option\": {\n\t\t\t\"begin\": \"[ \\\\t]++(-)((?!(?:!|%|&|\\\\||\\\\(|\\\\)|\\\\{|\\\\[|<|>|#|\\\\n|$|;|[ \\\\t])))\",\n\t\t\t\"end\": \"(?:(?=[ \\\\t])|(?=;|\\\\||&|\\\\n|\\\\)|\\\\`|\\\\{|\\\\}|[ \\\\t]*#|\\\\])(?<!\\\\\\\\))\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"string.unquoted.argument.shell constant.other.option.dash.shell\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"string.unquoted.argument.shell constant.other.option.shell\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"endCaptures\": {},\n\t\t\t\"contentName\": \"string.unquoted.argument constant.other.option\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#option_context\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"option_context\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#misc_ranges\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#string\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#variable\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#interpolation\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#heredoc\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#herestring\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#redirection\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#pathname\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#keyword\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#support\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"pathname\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?<=\\\\s|:|=|^)~\",\n\t\t\t\t\t\"name\": \"keyword.operator.tilde.shell\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\*|\\\\?\",\n\t\t\t\t\t\"name\": \"keyword.operator.glob.shell\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"([?*+@!])(\\\\()\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.extglob.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.extglob.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"\\\\)\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.extglob.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.structure.extglob.shell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#initial_context\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"pipeline\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?<=^|;|&|\\\\s)(time)(?=\\\\s|;|&|$)\",\n\t\t\t\t\t\"name\": \"keyword.other.shell\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"[|!]\",\n\t\t\t\t\t\"name\": \"keyword.operator.pipe.shell\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"redirect_number\": {\n\t\t\t\"match\": \"(?<=[ \\\\t])(?:(1)|(2)|(\\\\d+))(?=>)\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.operator.redirect.stdout.shell\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"keyword.operator.redirect.stderr.shell\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"keyword.operator.redirect.$3.shell\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"redirection\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"[><]\\\\(\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.begin.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"\\\\)\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.end.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"string.interpolated.process-substitution.shell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#initial_context\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?<![<>])(&>|\\\\d*>&\\\\d*|\\\\d*(>>|>|<)|\\\\d*<&|\\\\d*<>)(?![<>])\",\n\t\t\t\t\t\"name\": \"keyword.operator.redirect.shell\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"regex_comparison\": {\n\t\t\t\"match\": \"\\\\=~\",\n\t\t\t\"name\": \"keyword.operator.logical.regex.shell\"\n\t\t},\n\t\t\"regexp\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \".+\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"simple_options\": {\n\t\t\t\"match\": \"(?:[ \\\\t]++\\\\-\\\\w+)*\",\n\t\t\t\"captures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"[ \\\\t]++(\\\\-)(\\\\w+)\",\n\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"string.unquoted.argument.shell constant.other.option.dash.shell\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"string.unquoted.argument.shell constant.other.option.shell\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"start_of_command\": {\n\t\t\t\"match\": \"[ \\\\t]*+(?!(?:!|%|&|\\\\||\\\\(|\\\\)|\\\\{|\\\\[|<|>|#|\\\\n|$|;|[ \\\\t]))(?!foreach\\\\b(?!\\\\/)|select\\\\b(?!\\\\/)|repeat\\\\b(?!\\\\/)|until\\\\b(?!\\\\/)|while\\\\b(?!\\\\/)|case\\\\b(?!\\\\/)|done\\\\b(?!\\\\/)|elif\\\\b(?!\\\\/)|else\\\\b(?!\\\\/)|esac\\\\b(?!\\\\/)|then\\\\b(?!\\\\/)|for\\\\b(?!\\\\/)|end\\\\b(?!\\\\/)|in\\\\b(?!\\\\/)|fi\\\\b(?!\\\\/)|do\\\\b(?!\\\\/)|if\\\\b(?!\\\\/))(?!\\\\\\\\\\\\n?$)\"\n\t\t},\n\t\t\"start_of_double_quoted_command_name\": {\n\t\t\t\"match\": \"(?!(?:!|%|&|\\\\||\\\\(|\\\\)|\\\\{|\\\\[|<|>|#|\\\\n|$|;|[ \\\\t]))(?:[ \\\\t]*+([^ \\t\\n'&;<>\\\\(\\\\)\\\\$`\\\\\\\\\\\"\\\\|]+(?!>)))?(?:(?:\\\\$\\\")|\\\")\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"entity.name.command.shell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"\\\\*\",\n\t\t\t\t\t\t\t\"name\": \"variable.language.special.wildcard.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#variable\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#numeric_literal\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"(?<!\\\\w)(\\\\b(?:true|false)\\\\b)(?!\\\\w)\",\n\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"constant.language.$1.shell\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"meta.statement.command.name.quoted.shell string.quoted.double.shell punctuation.definition.string.begin.shell entity.name.command.shell\"\n\t\t},\n\t\t\"start_of_single_quoted_command_name\": {\n\t\t\t\"match\": \"(?!(?:!|%|&|\\\\||\\\\(|\\\\)|\\\\{|\\\\[|<|>|#|\\\\n|$|;|[ \\\\t]))(?:[ \\\\t]*+([^ \\t\\n'&;<>\\\\(\\\\)\\\\$`\\\\\\\\\\\"\\\\|]+(?!>)))?(?:(?:\\\\$')|')\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"entity.name.command.shell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"\\\\*\",\n\t\t\t\t\t\t\t\"name\": \"variable.language.special.wildcard.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#variable\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#numeric_literal\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"(?<!\\\\w)(\\\\b(?:true|false)\\\\b)(?!\\\\w)\",\n\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"constant.language.$1.shell\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"meta.statement.command.name.quoted.shell string.quoted.single.shell punctuation.definition.string.begin.shell entity.name.command.shell\"\n\t\t},\n\t\t\"string\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\\\\\.\",\n\t\t\t\t\t\"name\": \"constant.character.escape.shell\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"'\",\n\t\t\t\t\t\"end\": \"'\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.begin.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.end.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"string.quoted.single.shell\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"\\\\$?\\\"\",\n\t\t\t\t\t\"end\": \"\\\"\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.begin.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.end.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"string.quoted.double.shell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"\\\\\\\\[\\\\$\\\\n`\\\"\\\\\\\\]\",\n\t\t\t\t\t\t\t\"name\": \"constant.character.escape.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#variable\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#interpolation\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"\\\\$'\",\n\t\t\t\t\t\"end\": \"'\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.begin.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.end.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"string.quoted.single.dollar.shell\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"\\\\\\\\(?:a|b|e|f|n|r|t|v|\\\\\\\\|')\",\n\t\t\t\t\t\t\t\"name\": \"constant.character.escape.ansi-c.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"\\\\\\\\[0-9]{3}\\\"\",\n\t\t\t\t\t\t\t\"name\": \"constant.character.escape.octal.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"\\\\\\\\x[0-9a-fA-F]{2}\\\"\",\n\t\t\t\t\t\t\t\"name\": \"constant.character.escape.hex.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"\\\\\\\\c.\\\"\",\n\t\t\t\t\t\t\t\"name\": \"constant.character.escape.control-char.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"support\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?<=^|;|&|\\\\s)(?::|\\\\.)(?=\\\\s|;|&|$)\",\n\t\t\t\t\t\"name\": \"support.function.builtin.shell\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"variable\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(\\\\$)(\\\\@(?!\\\\w))\",\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.variable.shell variable.parameter.positional.all.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"variable.parameter.positional.all.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(\\\\$)([0-9](?!\\\\w))\",\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.variable.shell variable.parameter.positional.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"variable.parameter.positional.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(\\\\$)([-*#?$!0_](?!\\\\w))\",\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.variable.shell variable.language.special.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"variable.language.special.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(\\\\$)(\\\\{)[ \\\\t]*+(?=\\\\d)\",\n\t\t\t\t\t\"end\": \"\\\\}\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.variable.shell variable.parameter.positional.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell variable.parameter.positional.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell variable.parameter.positional.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"contentName\": \"meta.parameter-expansion\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"!|:[-=?]?|\\\\*|@|##|#|%%|%|\\\\/\",\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.expansion.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"(\\\\[)[^\\\\]]+(\\\\])\",\n\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.section.array.shell\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.section.array.shell\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"[0-9]+\",\n\t\t\t\t\t\t\t\"name\": \"variable.parameter.positional.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"(?<!\\\\w)[a-zA-Z_0-9-]+(?!\\\\w)\",\n\t\t\t\t\t\t\t\"name\": \"variable.other.normal.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#variable\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#string\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(\\\\$)(\\\\{)\",\n\t\t\t\t\t\"end\": \"\\\\}\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.variable.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"contentName\": \"meta.parameter-expansion\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"!|:[-=?]?|\\\\*|@|##|#|%%|%|\\\\/\",\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.expansion.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"(\\\\[)[^\\\\]]+(\\\\])\",\n\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.section.array.shell\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.section.array.shell\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"(?<!\\\\w)[a-zA-Z_0-9-]+(?!\\\\w)\",\n\t\t\t\t\t\t\t\"name\": \"variable.other.normal.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#variable\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#string\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(\\\\$)(\\\\w+(?!\\\\w))\",\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.variable.shell variable.other.normal.shell\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"variable.other.normal.shell\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}";
2
+ export { shellUnixBash_tmLanguage as default };
@@ -0,0 +1,8 @@
1
+ import { registerExtension } from './api2.js';
2
+ import { onExtHostInitialized } from './polyfill.js';
3
+ var manifest = {name:"shellscript",displayName:"%displayName%",description:"%description%",version:"1.0.0",publisher:"vscode",license:"MIT",engines:{vscode:"*"},scripts:{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin jeff-hykin/better-shell-syntax autogenerated/shell.tmLanguage.json ./syntaxes/shell-unix-bash.tmLanguage.json"},contributes:{languages:[{id:"shellscript",aliases:["Shell Script","shellscript","bash","fish","sh","zsh","ksh","csh"],extensions:[".sh",".bash",".bashrc",".bash_aliases",".bash_profile",".bash_login",".ebuild",".profile",".bash_logout",".xprofile",".xsession",".xsessionrc",".Xsession",".zsh",".zshrc",".zprofile",".zlogin",".zlogout",".zshenv",".zsh-theme",".fish",".ksh",".csh",".cshrc",".tcshrc",".yashrc",".yash_profile"],filenames:["APKBUILD","PKGBUILD",".envrc",".hushlogin","zshrc","zshenv","zlogin","zprofile","zlogout","bashrc_Apple_Terminal","zshrc_Apple_Terminal"],filenamePatterns:[".env.*"],firstLine:"^#!.*\\b(bash|fish|zsh|sh|ksh|dtksh|pdksh|mksh|ash|dash|yash|sh|csh|jcsh|tcsh|itcsh).*|^#\\s*-\\*-[^*]*mode:\\s*shell-script[^*]*-\\*-",configuration:"./language-configuration.json",mimetypes:["text/x-shellscript"]}],grammars:[{language:"shellscript",scopeName:"source.shell",path:"./syntaxes/shell-unix-bash.tmLanguage.json",balancedBracketScopes:["*"],unbalancedBracketScopes:["meta.scope.case-pattern.shell"]}],configurationDefaults:{"[shellscript]":{"files.eol":"\n"}}},repository:{type:"git",url:"https://github.com/microsoft/vscode.git"}};
4
+ onExtHostInitialized(() => {
5
+ const { registerFile } = registerExtension(manifest);
6
+ registerFile('./language-configuration.json', async () => await import('./language-configuration34.js').then(module => module.default ?? module)),
7
+ registerFile('./syntaxes/shell-unix-bash.tmLanguage.json', async () => await import('./shell-unix-bash.tmLanguage.js').then(module => module.default ?? module));
8
+ });
package/dist/snippets.js CHANGED
@@ -1,18 +1,13 @@
1
- import { o as onServicesInitialized } from './polyfill.js';
2
- import './missing-services.js';
3
- import { y as ISnippetsService } from './services2.js';
4
- import { S as SnippetsService } from './snippetsService.js';
5
- import { g as getServiceOverride$1 } from './files.js';
6
- import { g as getServiceOverride$2 } from './workspaceContext.js';
1
+ import { ISnippetsService, registerServiceInitializeParticipant } from './polyfill.js';
2
+ import { SnippetsService } from './snippetsService.js';
3
+ import getServiceOverride$1 from './files.js';
7
4
  import { SyncDescriptor } from 'monaco-editor/esm/vs/platform/instantiation/common/descriptors.js';
8
- function initialize(instantiationService) {
9
- instantiationService.invokeFunction((accessor) => accessor.get(ISnippetsService));
10
- }
5
+ registerServiceInitializeParticipant(async (accessor) => {
6
+ accessor.get(ISnippetsService);
7
+ });
11
8
  function getServiceOverride() {
12
- onServicesInitialized(initialize);
13
9
  return {
14
10
  ...getServiceOverride$1(),
15
- ...getServiceOverride$2(),
16
11
  [( ISnippetsService.toString())]: new SyncDescriptor(SnippetsService)
17
12
  };
18
13
  }
@@ -1,7 +1,5 @@
1
- import { y as ISnippetsService, _ as __decorate, a as __param, n as IFileService, l as ITextFileService } from './services2.js';
1
+ import { ISnippetsService, __decorate, __param, isStringArray, IUserDataProfileService, IFileService, ITextFileService, IExtensionResourceLoaderService, ILifecycleService, parse$1, getNodeType, Range$2 } from './polyfill.js';
2
2
  import * as monacoSuggest from 'monaco-editor/esm/vs/editor/contrib/suggest/browser/suggest.js';
3
- import { bU as IUserDataProfileService, bL as ILifecycleService } from './missing-services.js';
4
- import { $ as isStringArray, p as parse, j as getNodeType, R as Range } from './polyfill.js';
5
3
  import { extname as extname$1, basename as basename$1 } from 'monaco-editor/esm/vs/base/common/path.js';
6
4
  import { Iterable } from 'monaco-editor/esm/vs/base/common/iterator.js';
7
5
  import { isEqualOrParent, extname, basename, relativePath, joinPath } from 'monaco-editor/esm/vs/base/common/resources.js';
@@ -11,8 +9,8 @@ import { localize } from 'monaco-editor/esm/vs/nls.js';
11
9
  import { SnippetParser, Placeholder, Variable, Text } from 'monaco-editor/esm/vs/editor/contrib/snippet/browser/snippetParser.js';
12
10
  import { tail, insertInto } from 'monaco-editor/esm/vs/base/common/arrays.js';
13
11
  import { KnownSnippetVariableNames } from 'monaco-editor/esm/vs/editor/contrib/snippet/browser/snippetVariables.js';
14
- import { E as ExtensionsRegistry } from './extensionsRegistry.js';
15
- import { l as languagesExtPoint } from './languageService.js';
12
+ import { ExtensionsRegistry } from './extensionsRegistry.js';
13
+ import { languagesExtPoint } from './languageService.js';
16
14
  import { CommandsRegistry } from 'monaco-editor/esm/vs/platform/commands/common/commands.js';
17
15
  import { getWordAtText } from 'monaco-editor/esm/vs/editor/common/core/wordHelper.js';
18
16
  import { isPatternInWord } from 'monaco-editor/esm/vs/base/common/filters.js';
@@ -21,7 +19,6 @@ import { ILanguageService } from 'monaco-editor/esm/vs/editor/common/languages/l
21
19
  import { ILanguageConfigurationService } from 'monaco-editor/esm/vs/editor/common/languages/languageConfigurationRegistry.js';
22
20
  import { MarkdownString } from 'monaco-editor/esm/vs/base/common/htmlContent.js';
23
21
  import { StopWatch } from 'monaco-editor/esm/vs/base/common/stopwatch.js';
24
- import { I as IExtensionResourceLoaderService } from './extensionResourceLoader.js';
25
22
  import { DisposableStore, combinedDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
26
23
  import { ResourceMap } from 'monaco-editor/esm/vs/base/common/map.js';
27
24
  import { IStorageService } from 'monaco-editor/esm/vs/platform/storage/common/storage.js';
@@ -189,7 +186,7 @@ class SnippetFile {
189
186
  load() {
190
187
  if (!this._loadPromise) {
191
188
  this._loadPromise = Promise.resolve(this._load()).then(content => {
192
- const data = parse(content);
189
+ const data = parse$1(content);
193
190
  if (getNodeType(data) === 'object') {
194
191
  for (const [name, scopeOrTemplate] of Object.entries(data)) {
195
192
  if (isJsonSerializedSnippet(scopeOrTemplate)) {
@@ -349,7 +346,7 @@ let SnippetCompletionProvider = class SnippetCompletionProvider {
349
346
  endColumn++;
350
347
  }
351
348
  }
352
- const replace = Range.fromPositions(startPosition, { lineNumber: position.lineNumber, column: endColumn });
349
+ const replace = Range$2.fromPositions(startPosition, { lineNumber: position.lineNumber, column: endColumn });
353
350
  const insert = replace.setEndPosition(position.lineNumber, position.column);
354
351
  suggestions.push(( (new SnippetCompletion(snippet, { replace, insert }))));
355
352
  snippets.delete(snippet);
@@ -360,7 +357,7 @@ let SnippetCompletionProvider = class SnippetCompletionProvider {
360
357
  const endsInWhitespace = /\s/.test(lineContentLow[position.column - 2]);
361
358
  if (endsInWhitespace || !lineContentLow ) {
362
359
  for (const snippet of snippets) {
363
- const insert = Range.fromPositions(position);
360
+ const insert = Range$2.fromPositions(position);
364
361
  const replace = lineContentLow.indexOf(snippet.prefixLow, columnOffset) === columnOffset ? insert.setEndPosition(position.lineNumber, position.column + snippet.prefixLow.length) : insert;
365
362
  suggestions.push(( (new SnippetCompletion(snippet, { replace, insert }))));
366
363
  }
@@ -865,4 +862,4 @@ function getNonWhitespacePrefix(model, position) {
865
862
  }
866
863
  return '';
867
864
  }
868
- export { SnippetsService as S, SnippetCompletion as a, getNonWhitespacePrefix as g };
865
+ export { SnippetCompletion, SnippetsService, getNonWhitespacePrefix };
@@ -0,0 +1,2 @@
1
+ var solarizedDarkColorTheme = "{\n\t\"name\": \"Solarized (dark)\",\n\t\"tokenColors\": [\n\t\t{\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#839496\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"scope\": [\n\t\t\t\t\"meta.embedded\",\n\t\t\t\t\"source.groovy.embedded\",\n\t\t\t\t\"string meta.image.inline.markdown\"\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#839496\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Comment\",\n\t\t\t\"scope\": \"comment\",\n\t\t\t\"settings\": {\n\t\t\t\t\"fontStyle\": \"italic\",\n\t\t\t\t\"foreground\": \"#586E75\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"String\",\n\t\t\t\"scope\": \"string\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#2AA198\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Regexp\",\n\t\t\t\"scope\": \"string.regexp\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#DC322F\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Number\",\n\t\t\t\"scope\": \"constant.numeric\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#D33682\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Variable\",\n\t\t\t\"scope\": [\n\t\t\t\t\"variable.language\",\n\t\t\t\t\"variable.other\"\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#268BD2\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Keyword\",\n\t\t\t\"scope\": \"keyword\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#859900\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Storage\",\n\t\t\t\"scope\": \"storage\",\n\t\t\t\"settings\": {\n\t\t\t\t\"fontStyle\": \"bold\",\n\t\t\t\t\"foreground\": \"#93A1A1\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Class name\",\n\t\t\t\"scope\": [\n\t\t\t\t\"entity.name.class\",\n\t\t\t\t\"entity.name.type\",\n\t\t\t\t\"entity.name.namespace\",\n\t\t\t\t\"entity.name.scope-resolution\"\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"fontStyle\": \"\",\n\t\t\t\t\"foreground\": \"#CB4B16\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Function name\",\n\t\t\t\"scope\": \"entity.name.function\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#268BD2\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Variable start\",\n\t\t\t\"scope\": \"punctuation.definition.variable\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#859900\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Embedded code markers\",\n\t\t\t\"scope\": [\n\t\t\t\t\"punctuation.section.embedded.begin\",\n\t\t\t\t\"punctuation.section.embedded.end\"\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#DC322F\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Built-in constant\",\n\t\t\t\"scope\": [\n\t\t\t\t\"constant.language\",\n\t\t\t\t\"meta.preprocessor\"\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#B58900\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Support.construct\",\n\t\t\t\"scope\": [\n\t\t\t\t\"support.function.construct\",\n\t\t\t\t\"keyword.other.new\"\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#CB4B16\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"User-defined constant\",\n\t\t\t\"scope\": [\n\t\t\t\t\"constant.character\",\n\t\t\t\t\"constant.other\"\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#CB4B16\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Inherited class\",\n\t\t\t\"scope\": \"entity.other.inherited-class\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#6C71C4\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Function argument\",\n\t\t\t\"scope\": \"variable.parameter\",\n\t\t\t\"settings\": {}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Tag name\",\n\t\t\t\"scope\": \"entity.name.tag\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#268BD2\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Tag start/end\",\n\t\t\t\"scope\": \"punctuation.definition.tag\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#586E75\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Tag attribute\",\n\t\t\t\"scope\": \"entity.other.attribute-name\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#93A1A1\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Library function\",\n\t\t\t\"scope\": \"support.function\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#268BD2\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Continuation\",\n\t\t\t\"scope\": \"punctuation.separator.continuation\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#DC322F\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Library constant\",\n\t\t\t\"scope\": [\n\t\t\t\t\"support.constant\",\n\t\t\t\t\"support.variable\"\n\t\t\t],\n\t\t\t\"settings\": {}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Library class/type\",\n\t\t\t\"scope\": [\n\t\t\t\t\"support.type\",\n\t\t\t\t\"support.class\"\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#859900\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Library Exception\",\n\t\t\t\"scope\": \"support.type.exception\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#CB4B16\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Library variable\",\n\t\t\t\"scope\": \"support.other.variable\",\n\t\t\t\"settings\": {}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Invalid\",\n\t\t\t\"scope\": \"invalid\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#DC322F\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"diff: header\",\n\t\t\t\"scope\": [\n\t\t\t\t\"meta.diff\",\n\t\t\t\t\"meta.diff.header\"\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"fontStyle\": \"italic\",\n\t\t\t\t\"foreground\": \"#268BD2\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"diff: deleted\",\n\t\t\t\"scope\": \"markup.deleted\",\n\t\t\t\"settings\": {\n\t\t\t\t\"fontStyle\": \"\",\n\t\t\t\t\"foreground\": \"#DC322F\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"diff: changed\",\n\t\t\t\"scope\": \"markup.changed\",\n\t\t\t\"settings\": {\n\t\t\t\t\"fontStyle\": \"\",\n\t\t\t\t\"foreground\": \"#CB4B16\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"diff: inserted\",\n\t\t\t\"scope\": \"markup.inserted\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#859900\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Markup Quote\",\n\t\t\t\"scope\": \"markup.quote\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#859900\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Markup Lists\",\n\t\t\t\"scope\": \"markup.list\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#B58900\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Markup Styling\",\n\t\t\t\"scope\": [\n\t\t\t\t\"markup.bold\",\n\t\t\t\t\"markup.italic\"\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#D33682\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Markup: Strong\",\n\t\t\t\"scope\": \"markup.bold\",\n\t\t\t\"settings\": {\n\t\t\t\t\"fontStyle\": \"bold\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Markup: Emphasis\",\n\t\t\t\"scope\": \"markup.italic\",\n\t\t\t\"settings\": {\n\t\t\t\t\"fontStyle\": \"italic\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"scope\": \"markup.strikethrough\",\n\t\t\t\"settings\": {\n\t\t\t\t\"fontStyle\": \"strikethrough\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Markup Inline\",\n\t\t\t\"scope\": \"markup.inline.raw\",\n\t\t\t\"settings\": {\n\t\t\t\t\"fontStyle\": \"\",\n\t\t\t\t\"foreground\": \"#2AA198\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Markup Headings\",\n\t\t\t\"scope\": \"markup.heading\",\n\t\t\t\"settings\": {\n\t\t\t\t\"fontStyle\": \"bold\",\n\t\t\t\t\"foreground\": \"#268BD2\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Markup Setext Header\",\n\t\t\t\"scope\": \"markup.heading.setext\",\n\t\t\t\"settings\": {\n\t\t\t\t\"fontStyle\": \"\",\n\t\t\t\t\"foreground\": \"#268BD2\"\n\t\t\t}\n\t\t}\n\t],\n\t\"colors\": {\n\n\t\t// Base\n\t\t// \"foreground\": \"\",\n\t\t\"focusBorder\": \"#2AA19899\",\n\t\t// \"contrastActiveBorder\": \"\",\n\t\t// \"contrastBorder\": \"\",\n\n\t\t// \"widget.shadow\": \"\",\n\n\t\t\"selection.background\": \"#2AA19899\",\n\n\t\t\"input.background\": \"#003847\",\n\t\t\"input.foreground\": \"#93A1A1\",\n\t\t\"input.placeholderForeground\": \"#93A1A1AA\",\n\t\t// \"input.border\": \"\",\n\n\t\t\"inputOption.activeBorder\": \"#2AA19899\",\n\t\t\"inputValidation.infoBorder\": \"#363b5f\",\n\t\t\"inputValidation.infoBackground\": \"#052730\",\n\t\t\"inputValidation.warningBackground\": \"#5d5938\",\n\t\t\"inputValidation.warningBorder\": \"#9d8a5e\",\n\t\t\"inputValidation.errorBackground\": \"#571b26\",\n\t\t\"inputValidation.errorBorder\": \"#a92049\",\n\n\t\t\"errorForeground\": \"#ffeaea\",\n\n\t\t\"badge.background\": \"#047aa6\",\n\t\t\"progressBar.background\": \"#047aa6\",\n\n\t\t\"dropdown.background\": \"#00212B\",\n\t\t\"dropdown.border\": \"#2AA19899\",\n\t\t// \"dropdown.foreground\": \"\",\n\n\t\t\"button.background\": \"#2AA19899\",\n\t\t// \"button.foreground\": \"\",\n\n\t\t\"list.activeSelectionBackground\": \"#005A6F\",\n\t\t// \"list.activeSelectionForeground\": \"\",\n\t\t\"quickInputList.focusBackground\": \"#005A6F\",\n\t\t\"list.hoverBackground\": \"#004454AA\",\n\t\t\"list.inactiveSelectionBackground\": \"#00445488\",\n\t\t\"list.dropBackground\": \"#00445488\",\n\t\t\"list.highlightForeground\": \"#1ebcc5\",\n\n\t\t// \"scrollbar.shadow\": \"\",\n\t\t// \"scrollbarSlider.activeBackground\": \"\",\n\t\t// \"scrollbarSlider.background\": \"\",\n\t\t// \"scrollbarSlider.hoverBackground\": \"\",\n\n\t\t// Editor\n\t\t\"editor.background\": \"#002B36\",\n\t\t\"editor.foreground\": \"#839496\",\n\t\t\"editorWidget.background\": \"#00212B\",\n\t\t\"editorCursor.foreground\": \"#D30102\",\n\t\t\"editorWhitespace.foreground\": \"#93A1A180\",\n\t\t\"editor.lineHighlightBackground\": \"#073642\",\n\t\t\"editorLineNumber.activeForeground\": \"#949494\",\n\t\t\"editor.selectionBackground\": \"#274642\",\n\t\t\"minimap.selectionHighlight\": \"#274642\",\n\t\t\"editorIndentGuide.background\": \"#93A1A180\",\n\t\t\"editorIndentGuide.activeBackground\": \"#C3E1E180\",\n\t\t\"editorHoverWidget.background\": \"#004052\",\n\t\t// \"editorHoverWidget.border\": \"\",\n\t\t// \"editorLineNumber.foreground\": \"\",\n\t\t// \"editorMarkerNavigation.background\": \"\",\n\t\t\"editorMarkerNavigationError.background\": \"#AB395B\",\n\t\t\"editorMarkerNavigationWarning.background\": \"#5B7E7A\",\n\t\t// \"editorLink.activeForeground\": \"\",\n\t\t// \"editor.findMatchBackground\": \"\",\n\t\t// \"editor.findMatchHighlightBackground\": \"\",\n\t\t// \"editor.findRangeHighlightBackground\": \"\",\n\t\t// \"editor.hoverHighlightBackground\": \"\",\n\t\t// \"editor.inactiveSelectionBackground\": \"\",\n\t\t// \"editor.lineHighlightBorder\": \"\",\n\t\t// \"editor.rangeHighlightBackground\": \"\",\n\t\t\"editor.selectionHighlightBackground\": \"#005A6FAA\",\n\t\t\"editor.wordHighlightBackground\": \"#004454AA\",\n\t\t\"editor.wordHighlightStrongBackground\": \"#005A6FAA\",\n\n\t\t// Editor: Colorized Bracket Highlighting\n\t\t\"editorBracketHighlight.foreground1\": \"#cdcdcdff\",\n\t\t\"editorBracketHighlight.foreground2\": \"#b58900ff\",\n\t\t\"editorBracketHighlight.foreground3\": \"#d33682ff\",\n\n\t\t// Editor: Suggest\n\t\t// \"editorSuggestWidget.background\": \"\",\n\t\t// \"editorSuggestWidget.border\": \"\",\n\t\t// \"editorSuggestWidget.foreground\": \"\",\n\t\t// \"editorSuggestWidget.highlightForeground\": \"\",\n\t\t// \"editorSuggestWidget.selectedBackground\": \"\",\n\n\t\t// Editor: Peek View\n\t\t\"peekViewResult.background\": \"#00212B\",\n\t\t// \"peekViewResult.lineForeground\": \"\",\n\t\t// \"peekViewResult.selectionBackground\": \"\",\n\t\t// \"peekViewResult.selectionForeground\": \"\",\n\t\t\"peekViewEditor.background\": \"#10192c\",\n\t\t\"peekViewTitle.background\": \"#00212B\",\n\t\t\"peekView.border\": \"#2b2b4a\",\n\t\t\"peekViewEditor.matchHighlightBackground\": \"#7744AA40\",\n\t\t// \"peekViewResult.fileForeground\": \"\",\n\t\t// \"peekViewResult.matchHighlightBackground\": \"\",\n\t\t// \"peekViewTitleLabel.foreground\": \"\",\n\t\t// \"peekViewTitleDescription.foreground\": \"\",\n\n\t\t// Editor: Diff\n\t\t// \"diffEditor.insertedTextBackground\": \"\",\n\t\t// \"diffEditor.insertedTextBorder\": \"\",\n\t\t// \"diffEditor.removedTextBackground\": \"\",\n\t\t// \"diffEditor.removedTextBorder\": \"\",\n\n\t\t// Workbench: Title\n\t\t\"titleBar.activeBackground\": \"#002C39\",\n\t\t// \"titleBar.inactiveBackground\": \"\",\n\t\t// \"titleBar.activeForeground\": \"\",\n\t\t// \"titleBar.inactiveForeground\": \"\",\n\n\t\t// Workbench: Editors\n\t\t// \"editorGroupHeader.noTabsBackground\": \"\",\n\t\t\"editorGroup.border\": \"#00212B\",\n\t\t\"editorGroup.dropBackground\": \"#2AA19844\",\n\t\t\"editorGroupHeader.tabsBackground\": \"#004052\",\n\n\t\t// Workbench: Tabs\n\t\t\"tab.activeForeground\": \"#d6dbdb\",\n\t\t\"tab.activeBackground\": \"#002B37\",\n\t\t\"tab.inactiveForeground\": \"#93A1A1\",\n\t\t\"tab.inactiveBackground\": \"#004052\",\n\t\t\"tab.border\": \"#003847\",\n\t\t\"tab.lastPinnedBorder\": \"#2AA19844\",\n\n\t\t// Workbench: Activity Bar\n\t\t\"activityBar.background\": \"#003847\",\n\t\t// \"activityBarBadge.background\": \"\",\n\t\t// \"activityBar.foreground\": \"\",\n\t\t// \"activityBarBadge.foreground\": \"\",\n\n\t\t// Workbench: Panel\n\t\t// \"panel.background\": \"\",\n\t\t\"panel.border\": \"#2b2b4a\",\n\t\t// \"panelTitle.activeBorder\": \"\",\n\t\t// \"panelTitle.activeForeground\": \"\",\n\t\t// \"panelTitle.inactiveForeground\": \"\",\n\n\t\t// Workbench: Side Bar\n\t\t\"sideBar.background\": \"#00212B\",\n\t\t\"sideBarTitle.foreground\": \"#93A1A1\",\n\t\t// \"sideBarSectionHeader.background\": \"\",\n\n\t\t// Workbench: Status Bar\n\t\t\"statusBar.foreground\": \"#93A1A1\",\n\t\t\"statusBar.background\": \"#00212B\",\n\t\t\"statusBar.debuggingBackground\": \"#00212B\",\n\t\t\"statusBar.noFolderBackground\": \"#00212B\",\n\t\t\"statusBarItem.remoteBackground\": \"#2AA19899\",\n\t\t\"ports.iconRunningProcessForeground\": \"#369432\",\n\t\t\"statusBarItem.prominentBackground\": \"#003847\",\n\t\t\"statusBarItem.prominentHoverBackground\": \"#003847\",\n\t\t// \"statusBarItem.activeBackground\": \"\",\n\t\t// \"statusBarItem.hoverBackground\": \"\",\n\n\t\t// Workbench: Debug\n\t\t\"debugToolBar.background\": \"#00212B\",\n\t\t\"debugExceptionWidget.background\": \"#00212B\",\n\t\t\"debugExceptionWidget.border\": \"#AB395B\",\n\n\t\t// Workbench: Quick Open\n\t\t\"pickerGroup.foreground\": \"#2AA19899\",\n\t\t\"pickerGroup.border\": \"#2AA19899\",\n\n\t\t// Workbench: Terminal\n\t\t// Colors sourced from the official palette http://ethanschoonover.com/solarized\n\t\t\"terminal.ansiBlack\": \"#073642\",\n\t\t\"terminal.ansiRed\": \"#dc322f\",\n\t\t\"terminal.ansiGreen\": \"#859900\",\n\t\t\"terminal.ansiYellow\": \"#b58900\",\n\t\t\"terminal.ansiBlue\": \"#268bd2\",\n\t\t\"terminal.ansiMagenta\": \"#d33682\",\n\t\t\"terminal.ansiCyan\": \"#2aa198\",\n\t\t\"terminal.ansiWhite\": \"#eee8d5\",\n\t\t\"terminal.ansiBrightBlack\": \"#002b36\",\n\t\t\"terminal.ansiBrightRed\": \"#cb4b16\",\n\t\t\"terminal.ansiBrightGreen\": \"#586e75\",\n\t\t\"terminal.ansiBrightYellow\": \"#657b83\",\n\t\t\"terminal.ansiBrightBlue\": \"#839496\",\n\t\t\"terminal.ansiBrightMagenta\": \"#6c71c4\",\n\t\t\"terminal.ansiBrightCyan\": \"#93a1a1\",\n\t\t\"terminal.ansiBrightWhite\": \"#fdf6e3\"\n\t},\n\t\"semanticHighlighting\": true\n}\n";
2
+ export { solarizedDarkColorTheme as default };
@@ -0,0 +1,2 @@
1
+ var solarizedLightColorTheme = "{\n\t\"name\": \"Solarized (light)\",\n\t\"tokenColors\": [\n\t\t{\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#657B83\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"scope\": [\n\t\t\t\t\"meta.embedded\",\n\t\t\t\t\"source.groovy.embedded\",\n\t\t\t\t\"string meta.image.inline.markdown\"\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#657B83\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Comment\",\n\t\t\t\"scope\": \"comment\",\n\t\t\t\"settings\": {\n\t\t\t\t\"fontStyle\": \"italic\",\n\t\t\t\t\"foreground\": \"#93A1A1\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"String\",\n\t\t\t\"scope\": \"string\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#2AA198\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Regexp\",\n\t\t\t\"scope\": \"string.regexp\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#DC322F\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Number\",\n\t\t\t\"scope\": \"constant.numeric\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#D33682\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Variable\",\n\t\t\t\"scope\": [\n\t\t\t\t\"variable.language\",\n\t\t\t\t\"variable.other\"\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#268BD2\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Keyword\",\n\t\t\t\"scope\": \"keyword\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#859900\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Storage\",\n\t\t\t\"scope\": \"storage\",\n\t\t\t\"settings\": {\n\t\t\t\t\"fontStyle\": \"bold\",\n\t\t\t\t\"foreground\": \"#586E75\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Class name\",\n\t\t\t\"scope\": [\n\t\t\t\t\"entity.name.class\",\n\t\t\t\t\"entity.name.type\",\n\t\t\t\t\"entity.name.namespace\",\n\t\t\t\t\"entity.name.scope-resolution\"\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"fontStyle\": \"\",\n\t\t\t\t\"foreground\": \"#CB4B16\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Function name\",\n\t\t\t\"scope\": \"entity.name.function\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#268BD2\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Variable start\",\n\t\t\t\"scope\": \"punctuation.definition.variable\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#859900\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Embedded code markers\",\n\t\t\t\"scope\": [\n\t\t\t\t\"punctuation.section.embedded.begin\",\n\t\t\t\t\"punctuation.section.embedded.end\"\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#DC322F\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Built-in constant\",\n\t\t\t\"scope\": [\n\t\t\t\t\"constant.language\",\n\t\t\t\t\"meta.preprocessor\"\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#B58900\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Support.construct\",\n\t\t\t\"scope\": [\n\t\t\t\t\"support.function.construct\",\n\t\t\t\t\"keyword.other.new\"\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#CB4B16\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"User-defined constant\",\n\t\t\t\"scope\": [\n\t\t\t\t\"constant.character\",\n\t\t\t\t\"constant.other\"\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#CB4B16\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Inherited class\",\n\t\t\t\"scope\": \"entity.other.inherited-class\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#6C71C4\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Function argument\",\n\t\t\t\"scope\": \"variable.parameter\",\n\t\t\t\"settings\": {}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Tag name\",\n\t\t\t\"scope\": \"entity.name.tag\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#268BD2\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Tag start/end\",\n\t\t\t\"scope\": \"punctuation.definition.tag\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#93A1A1\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Tag attribute\",\n\t\t\t\"scope\": \"entity.other.attribute-name\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#93A1A1\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Library function\",\n\t\t\t\"scope\": \"support.function\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#268BD2\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Continuation\",\n\t\t\t\"scope\": \"punctuation.separator.continuation\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#DC322F\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Library constant\",\n\t\t\t\"scope\": [\n\t\t\t\t\"support.constant\",\n\t\t\t\t\"support.variable\"\n\t\t\t],\n\t\t\t\"settings\": {}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Library class/type\",\n\t\t\t\"scope\": [\n\t\t\t\t\"support.type\",\n\t\t\t\t\"support.class\"\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#859900\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Library Exception\",\n\t\t\t\"scope\": \"support.type.exception\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#CB4B16\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Library variable\",\n\t\t\t\"scope\": \"support.other.variable\",\n\t\t\t\"settings\": {}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Invalid\",\n\t\t\t\"scope\": \"invalid\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#DC322F\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"diff: header\",\n\t\t\t\"scope\": [\n\t\t\t\t\"meta.diff\",\n\t\t\t\t\"meta.diff.header\"\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"fontStyle\": \"italic\",\n\t\t\t\t\"foreground\": \"#268BD2\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"diff: deleted\",\n\t\t\t\"scope\": \"markup.deleted\",\n\t\t\t\"settings\": {\n\t\t\t\t\"fontStyle\": \"\",\n\t\t\t\t\"foreground\": \"#DC322F\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"diff: changed\",\n\t\t\t\"scope\": \"markup.changed\",\n\t\t\t\"settings\": {\n\t\t\t\t\"fontStyle\": \"\",\n\t\t\t\t\"foreground\": \"#CB4B16\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"diff: inserted\",\n\t\t\t\"scope\": \"markup.inserted\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#859900\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Markup Quote\",\n\t\t\t\"scope\": \"markup.quote\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#859900\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Markup Lists\",\n\t\t\t\"scope\": \"markup.list\",\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#B58900\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Markup Styling\",\n\t\t\t\"scope\": [\n\t\t\t\t\"markup.bold\",\n\t\t\t\t\"markup.italic\"\n\t\t\t],\n\t\t\t\"settings\": {\n\t\t\t\t\"foreground\": \"#D33682\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Markup: Strong\",\n\t\t\t\"scope\": \"markup.bold\",\n\t\t\t\"settings\": {\n\t\t\t\t\"fontStyle\": \"bold\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Markup: Emphasis\",\n\t\t\t\"scope\": \"markup.italic\",\n\t\t\t\"settings\": {\n\t\t\t\t\"fontStyle\": \"italic\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"scope\": \"markup.strikethrough\",\n\t\t\t\"settings\": {\n\t\t\t\t\"fontStyle\": \"strikethrough\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Markup Inline\",\n\t\t\t\"scope\": \"markup.inline.raw\",\n\t\t\t\"settings\": {\n\t\t\t\t\"fontStyle\": \"\",\n\t\t\t\t\"foreground\": \"#2AA198\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Markup Headings\",\n\t\t\t\"scope\": \"markup.heading\",\n\t\t\t\"settings\": {\n\t\t\t\t\"fontStyle\": \"bold\",\n\t\t\t\t\"foreground\": \"#268BD2\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Markup Setext Header\",\n\t\t\t\"scope\": \"markup.heading.setext\",\n\t\t\t\"settings\": {\n\t\t\t\t\"fontStyle\": \"\",\n\t\t\t\t\"foreground\": \"#268BD2\"\n\t\t\t}\n\t\t}\n\t],\n\t\"colors\": {\n\t\t// Base\n\t\t// \"foreground\": \"\",\n\t\t\"focusBorder\": \"#b49471\",\n\t\t// \"contrastActiveBorder\": \"\",\n\t\t// \"contrastBorder\": \"\",\n\t\t// \"widget.shadow\": \"\",\n\t\t\"input.background\": \"#DDD6C1\",\n\t\t// \"input.border\": \"\",\n\t\t\"input.foreground\": \"#586E75\",\n\t\t\"input.placeholderForeground\": \"#586E75AA\",\n\t\t\"inputOption.activeBorder\": \"#D3AF86\",\n\t\t// \"inputValidation.infoBorder\": \"\",\n\t\t// \"inputValidation.infoBackground\": \"\",\n\t\t// \"inputValidation.warningBackground\": \"\",\n\t\t// \"inputValidation.warningBorder\": \"\",\n\t\t// \"inputValidation.errorBackground\": \"\",\n\t\t// \"inputValidation.errorBorder\": \"\",\n\t\t\"badge.background\": \"#B58900AA\",\n\t\t\"progressBar.background\": \"#B58900\",\n\t\t\"dropdown.background\": \"#EEE8D5\",\n\t\t// \"dropdown.foreground\": \"\",\n\t\t\"dropdown.border\": \"#D3AF86\",\n\t\t\"button.background\": \"#AC9D57\",\n\t\t// \"button.foreground\": \"\",\n\t\t\"selection.background\": \"#878b9180\",\n\t\t\"list.activeSelectionBackground\": \"#DFCA88\",\n\t\t\"list.activeSelectionForeground\": \"#6C6C6C\",\n\t\t\"quickInputList.focusBackground\": \"#DFCA8866\",\n\t\t\"list.hoverBackground\": \"#DFCA8844\",\n\t\t\"list.inactiveSelectionBackground\": \"#D1CBB8\",\n\t\t\"list.highlightForeground\": \"#B58900\",\n\t\t// \"scrollbar.shadow\": \"\",\n\t\t// \"scrollbarSlider.activeBackground\": \"\",\n\t\t// \"scrollbarSlider.background\": \"\",\n\t\t// \"scrollbarSlider.hoverBackground\": \"\",\n\t\t// Editor\n\t\t\"editor.background\": \"#FDF6E3\",\n\t\t\"editor.foreground\": \"#657B83\",\n\t\t\"notebook.cellEditorBackground\": \"#F7F0E0\",\n\t\t\"editorWidget.background\": \"#EEE8D5\",\n\t\t\"editorCursor.foreground\": \"#657B83\",\n\t\t\"editorWhitespace.foreground\": \"#586E7580\",\n\t\t\"editor.lineHighlightBackground\": \"#EEE8D5\",\n\t\t\"editor.selectionBackground\": \"#EEE8D5\",\n\t\t\"minimap.selectionHighlight\": \"#EEE8D5\",\n\t\t\"editorIndentGuide.background\": \"#586E7580\",\n\t\t\"editorIndentGuide.activeBackground\": \"#081E2580\",\n\t\t\"editorHoverWidget.background\": \"#CCC4B0\",\n\t\t\"editorLineNumber.activeForeground\": \"#567983\",\n\t\t// \"editorHoverWidget.border\": \"\",\n\t\t// \"editorLineNumber.foreground\": \"\",\n\t\t// \"editorMarkerNavigation.background\": \"\",\n\t\t// \"editorMarkerNavigationError.background\": \"\",\n\t\t// \"editorMarkerNavigationWarning.background\": \"\",\n\t\t// \"editorLink.activeForeground\": \"\",\n\t\t// \"editor.findMatchBackground\": \"\",\n\t\t// \"editor.findMatchHighlightBackground\": \"\",\n\t\t// \"editor.findRangeHighlightBackground\": \"\",\n\t\t// \"editor.hoverHighlightBackground\": \"\",\n\t\t// \"editor.inactiveSelectionBackground\": \"\",\n\t\t// \"editor.lineHighlightBorder\": \"\",\n\t\t// \"editor.rangeHighlightBackground\": \"\",\n\t\t// \"editor.selectionHighlightBackground\": \"\",\n\t\t// \"editor.wordHighlightBackground\": \"\",\n\t\t// \"editor.wordHighlightStrongBackground\": \"\",\n\t\t// Editor: Suggest Widget\n\t\t// \"editorSuggestWidget.background\": \"\",\n\t\t// \"editorSuggestWidget.border\": \"\",\n\t\t// \"editorSuggestWidget.foreground\": \"\",\n\t\t// \"editorSuggestWidget.highlightForeground\": \"\",\n\t\t// \"editorSuggestWidget.selectedBackground\": \"\",\n\t\t// Editor: Peek View\n\t\t\"peekViewResult.background\": \"#EEE8D5\",\n\t\t// \"peekViewResult.lineForeground\": \"\",\n\t\t// \"peekViewResult.selectionBackground\": \"\",\n\t\t// \"peekViewResult.selectionForeground\": \"\",\n\t\t\"peekViewEditor.background\": \"#FFFBF2\",\n\t\t\"peekViewTitle.background\": \"#EEE8D5\",\n\t\t\"peekView.border\": \"#B58900\",\n\t\t\"peekViewEditor.matchHighlightBackground\": \"#7744AA40\",\n\t\t// \"peekViewResult.fileForeground\": \"\",\n\t\t// \"peekViewResult.matchHighlightBackground\": \"\",\n\t\t// \"peekViewTitleLabel.foreground\": \"\",\n\t\t// \"peekViewTitleDescription.foreground\": \"\",\n\t\t// Editor: Diff\n\t\t// \"diffEditor.insertedTextBackground\": \"\",\n\t\t// \"diffEditor.insertedTextBorder\": \"\",\n\t\t// \"diffEditor.removedTextBackground\": \"\",\n\t\t// \"diffEditor.removedTextBorder\": \"\",\n\t\t// Workbench: Title\n\t\t\"titleBar.activeBackground\": \"#EEE8D5\",\n\t\t// \"titleBar.activeForeground\": \"\",\n\t\t// \"titleBar.inactiveBackground\": \"\",\n\t\t// \"titleBar.inactiveForeground\": \"\",\n\t\t// Workbench: Editors\n\t\t// \"editorGroupHeader.noTabsBackground\": \"\",\n\t\t\"editorGroup.border\": \"#DDD6C1\",\n\t\t\"editorGroup.dropBackground\": \"#DDD6C1AA\",\n\t\t\"editorGroupHeader.tabsBackground\": \"#D9D2C2\",\n\t\t// Workbench: Tabs\n\t\t\"tab.border\": \"#DDD6C1\",\n\t\t\"tab.activeBackground\": \"#FDF6E3\",\n\t\t\"tab.inactiveForeground\": \"#586E75\",\n\t\t\"tab.inactiveBackground\": \"#D3CBB7\",\n\t\t\"tab.activeModifiedBorder\": \"#cb4b16\",\n\t\t// \"tab.activeBackground\": \"\",\n\t\t// \"tab.activeForeground\": \"\",\n\t\t// \"tab.inactiveForeground\": \"\",\n\t\t\"tab.lastPinnedBorder\": \"#FDF6E3\",\n\t\t// Workbench: Activity Bar\n\t\t\"activityBar.background\": \"#DDD6C1\",\n\t\t\"activityBar.foreground\": \"#584c27\",\n\t\t\"activityBarBadge.background\": \"#B58900\",\n\t\t// \"activityBarBadge.foreground\": \"\",\n\t\t// Workbench: Panel\n\t\t// \"panel.background\": \"\",\n\t\t\"panel.border\": \"#DDD6C1\",\n\t\t// \"panelTitle.activeBorder\": \"\",\n\t\t// \"panelTitle.activeForeground\": \"\",\n\t\t// \"panelTitle.inactiveForeground\": \"\",\n\t\t// Workbench: Side Bar\n\t\t\"sideBar.background\": \"#EEE8D5\",\n\t\t\"sideBarTitle.foreground\": \"#586E75\",\n\t\t// \"sideBarSectionHeader.background\": \"\",\n\t\t// Workbench: Status Bar\n\t\t\"statusBar.foreground\": \"#586E75\",\n\t\t\"statusBar.background\": \"#EEE8D5\",\n\t\t\"statusBar.debuggingBackground\": \"#EEE8D5\",\n\t\t\"statusBar.noFolderBackground\": \"#EEE8D5\",\n\t\t// \"statusBar.foreground\": \"\",\n\t\t\"statusBarItem.remoteBackground\": \"#AC9D57\",\n\t\t\"ports.iconRunningProcessForeground\": \"#2AA19899\",\n\t\t\"statusBarItem.prominentBackground\": \"#DDD6C1\",\n\t\t\"statusBarItem.prominentHoverBackground\": \"#DDD6C199\",\n\t\t// \"statusBarItem.activeBackground\": \"\",\n\t\t// \"statusBarItem.hoverBackground\": \"\",\n\t\t// Workbench: Debug\n\t\t\"debugToolBar.background\": \"#DDD6C1\",\n\t\t\"debugExceptionWidget.background\": \"#DDD6C1\",\n\t\t\"debugExceptionWidget.border\": \"#AB395B\",\n\t\t// Workbench: Quick Open\n\t\t\"pickerGroup.border\": \"#2AA19899\",\n\t\t\"pickerGroup.foreground\": \"#2AA19899\",\n\t\t// Extensions\n\t\t\"extensionButton.prominentBackground\": \"#b58900\",\n\t\t\"extensionButton.prominentHoverBackground\": \"#584c27aa\",\n\t\t// Workbench: Terminal\n\t\t// Colors sourced from the official palette http://ethanschoonover.com/solarized\n\t\t\"terminal.ansiBlack\": \"#073642\",\n\t\t\"terminal.ansiRed\": \"#dc322f\",\n\t\t\"terminal.ansiGreen\": \"#859900\",\n\t\t\"terminal.ansiYellow\": \"#b58900\",\n\t\t\"terminal.ansiBlue\": \"#268bd2\",\n\t\t\"terminal.ansiMagenta\": \"#d33682\",\n\t\t\"terminal.ansiCyan\": \"#2aa198\",\n\t\t\"terminal.ansiWhite\": \"#eee8d5\",\n\t\t\"terminal.ansiBrightBlack\": \"#002b36\",\n\t\t\"terminal.ansiBrightRed\": \"#cb4b16\",\n\t\t\"terminal.ansiBrightGreen\": \"#586e75\",\n\t\t\"terminal.ansiBrightYellow\": \"#657b83\",\n\t\t\"terminal.ansiBrightBlue\": \"#839496\",\n\t\t\"terminal.ansiBrightMagenta\": \"#6c71c4\",\n\t\t\"terminal.ansiBrightCyan\": \"#93a1a1\",\n\t\t\"terminal.ansiBrightWhite\": \"#fdf6e3\",\n\t\t// Set terminal background explicitly, otherwise selection becomes invisible when the\n\t\t// terminal is in the side bar\n\t\t\"terminal.background\": \"#FDF6E3\",\n\t\t// Interactive Playground\n\t\t\"walkThrough.embeddedEditorBackground\": \"#00000014\"\n\t},\n\t\"semanticHighlighting\": true\n}\n";
2
+ export { solarizedLightColorTheme as default };
package/dist/sql.js ADDED
@@ -0,0 +1,8 @@
1
+ import { registerExtension } from './api2.js';
2
+ import { onExtHostInitialized } from './polyfill.js';
3
+ var manifest = {name:"sql",displayName:"%displayName%",description:"%description%",version:"1.0.0",publisher:"vscode",license:"MIT",engines:{vscode:"*"},scripts:{"update-grammar":"node ./build/update-grammar.mjs"},contributes:{languages:[{id:"sql",extensions:[".sql",".dsql"],aliases:["SQL"],configuration:"./language-configuration.json"}],grammars:[{language:"sql",scopeName:"source.sql",path:"./syntaxes/sql.tmLanguage.json"}]},repository:{type:"git",url:"https://github.com/microsoft/vscode.git"}};
4
+ onExtHostInitialized(() => {
5
+ const { registerFile } = registerExtension(manifest);
6
+ registerFile('./language-configuration.json', async () => await import('./language-configuration35.js').then(module => module.default ?? module)),
7
+ registerFile('./syntaxes/sql.tmLanguage.json', async () => await import('./sql.tmLanguage.js').then(module => module.default ?? module));
8
+ });
@@ -0,0 +1,2 @@
1
+ var sql_tmLanguage = "{\n\t\"information_for_contributors\": [\n\t\t\"This file has been converted from https://github.com/microsoft/vscode-mssql/blob/master/syntaxes/SQL.plist\",\n\t\t\"If you want to provide a fix or improvement, please create a pull request against the original repository.\",\n\t\t\"Once accepted there, we are happy to receive an update request.\"\n\t],\n\t\"version\": \"https://github.com/microsoft/vscode-mssql/commit/3929516cce0a570e91ee1be74b09ed886cb360f4\",\n\t\"name\": \"SQL\",\n\t\"scopeName\": \"source.sql\",\n\t\"patterns\": [\n\t\t{\n\t\t\t\"match\": \"((?<!@)@)\\\\b(\\\\w+)\\\\b\",\n\t\t\t\"name\": \"text.variable\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(\\\\[)[^\\\\]]*(\\\\])\",\n\t\t\t\"name\": \"text.bracketed\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#comments\"\n\t\t},\n\t\t{\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.create.sql\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"keyword.other.sql\"\n\t\t\t\t},\n\t\t\t\t\"5\": {\n\t\t\t\t\t\"name\": \"entity.name.function.sql\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"match\": \"(?i:^\\\\s*(create(?:\\\\s+or\\\\s+replace)?)\\\\s+(aggregate|conversion|database|domain|function|group|(unique\\\\s+)?index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\\\s+)(['\\\"`]?)(\\\\w+)\\\\4\",\n\t\t\t\"name\": \"meta.create.sql\"\n\t\t},\n\t\t{\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.create.sql\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"keyword.other.sql\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"match\": \"(?i:^\\\\s*(drop)\\\\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view))\",\n\t\t\t\"name\": \"meta.drop.sql\"\n\t\t},\n\t\t{\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.create.sql\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"keyword.other.table.sql\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"entity.name.function.sql\"\n\t\t\t\t},\n\t\t\t\t\"4\": {\n\t\t\t\t\t\"name\": \"keyword.other.cascade.sql\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"match\": \"(?i:\\\\s*(drop)\\\\s+(table)\\\\s+(\\\\w+)(\\\\s+cascade)?\\\\b)\",\n\t\t\t\"name\": \"meta.drop.sql\"\n\t\t},\n\t\t{\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.create.sql\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"keyword.other.table.sql\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"match\": \"(?i:^\\\\s*(alter)\\\\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|proc(edure)?|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\\\s+)\",\n\t\t\t\"name\": \"meta.alter.sql\"\n\t\t},\n\t\t{\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"storage.type.sql\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"storage.type.sql\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"constant.numeric.sql\"\n\t\t\t\t},\n\t\t\t\t\"4\": {\n\t\t\t\t\t\"name\": \"storage.type.sql\"\n\t\t\t\t},\n\t\t\t\t\"5\": {\n\t\t\t\t\t\"name\": \"constant.numeric.sql\"\n\t\t\t\t},\n\t\t\t\t\"6\": {\n\t\t\t\t\t\"name\": \"storage.type.sql\"\n\t\t\t\t},\n\t\t\t\t\"7\": {\n\t\t\t\t\t\"name\": \"constant.numeric.sql\"\n\t\t\t\t},\n\t\t\t\t\"8\": {\n\t\t\t\t\t\"name\": \"constant.numeric.sql\"\n\t\t\t\t},\n\t\t\t\t\"9\": {\n\t\t\t\t\t\"name\": \"storage.type.sql\"\n\t\t\t\t},\n\t\t\t\t\"10\": {\n\t\t\t\t\t\"name\": \"constant.numeric.sql\"\n\t\t\t\t},\n\t\t\t\t\"11\": {\n\t\t\t\t\t\"name\": \"storage.type.sql\"\n\t\t\t\t},\n\t\t\t\t\"12\": {\n\t\t\t\t\t\"name\": \"storage.type.sql\"\n\t\t\t\t},\n\t\t\t\t\"13\": {\n\t\t\t\t\t\"name\": \"storage.type.sql\"\n\t\t\t\t},\n\t\t\t\t\"14\": {\n\t\t\t\t\t\"name\": \"constant.numeric.sql\"\n\t\t\t\t},\n\t\t\t\t\"15\": {\n\t\t\t\t\t\"name\": \"storage.type.sql\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"match\": \"(?xi)\\n\\n\\t\\t\\t\\t# normal stuff, capture 1\\n\\t\\t\\t\\t \\\\b(bigint|bigserial|bit|boolean|box|bytea|cidr|circle|date|double\\\\sprecision|inet|int|integer|line|lseg|macaddr|money|oid|path|point|polygon|real|serial|smallint|sysdate|text)\\\\b\\n\\n\\t\\t\\t\\t# numeric suffix, capture 2 + 3i\\n\\t\\t\\t\\t|\\\\b(bit\\\\svarying|character\\\\s(?:varying)?|tinyint|var\\\\schar|float|interval)\\\\((\\\\d+)\\\\)\\n\\n\\t\\t\\t\\t# optional numeric suffix, capture 4 + 5i\\n\\t\\t\\t\\t|\\\\b(char|number|varchar\\\\d?)\\\\b(?:\\\\((\\\\d+)\\\\))?\\n\\n\\t\\t\\t\\t# special case, capture 6 + 7i + 8i\\n\\t\\t\\t\\t|\\\\b(numeric|decimal)\\\\b(?:\\\\((\\\\d+),(\\\\d+)\\\\))?\\n\\n\\t\\t\\t\\t# special case, captures 9, 10i, 11\\n\\t\\t\\t\\t|\\\\b(times?)\\\\b(?:\\\\((\\\\d+)\\\\))?(\\\\swith(?:out)?\\\\stime\\\\szone\\\\b)?\\n\\n\\t\\t\\t\\t# special case, captures 12, 13, 14i, 15\\n\\t\\t\\t\\t|\\\\b(timestamp)(?:(s|tz))?\\\\b(?:\\\\((\\\\d+)\\\\))?(\\\\s(with|without)\\\\stime\\\\szone\\\\b)?\\n\\n\\t\\t\\t\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i:\\\\b((?:primary|foreign)\\\\s+key|references|on\\\\sdelete(\\\\s+cascade)?|nocheck|check|constraint|collate|default)\\\\b)\",\n\t\t\t\"name\": \"storage.modifier.sql\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"\\\\b\\\\d+\\\\b\",\n\t\t\t\"name\": \"constant.numeric.sql\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i:\\\\b(select(\\\\s+(all|distinct))?|insert\\\\s+(ignore\\\\s+)?into|update|delete|from|set|where|group\\\\s+by|or|like|and|union(\\\\s+all)?|having|order\\\\s+by|limit|cross\\\\s+join|join|straight_join|(inner|(left|right|full)(\\\\s+outer)?)\\\\s+join|natural(\\\\s+(inner|(left|right|full)(\\\\s+outer)?))?\\\\s+join)\\\\b)\",\n\t\t\t\"name\": \"keyword.other.DML.sql\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i:\\\\b(on|off|((is\\\\s+)?not\\\\s+)?null)\\\\b)\",\n\t\t\t\"name\": \"keyword.other.DDL.create.II.sql\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i:\\\\bvalues\\\\b)\",\n\t\t\t\"name\": \"keyword.other.DML.II.sql\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i:\\\\b(begin(\\\\s+work)?|start\\\\s+transaction|commit(\\\\s+work)?|rollback(\\\\s+work)?)\\\\b)\",\n\t\t\t\"name\": \"keyword.other.LUW.sql\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i:\\\\b(grant(\\\\swith\\\\sgrant\\\\soption)?|revoke)\\\\b)\",\n\t\t\t\"name\": \"keyword.other.authorization.sql\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i:\\\\bin\\\\b)\",\n\t\t\t\"name\": \"keyword.other.data-integrity.sql\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i:^\\\\s*(comment\\\\s+on\\\\s+(table|column|aggregate|constraint|database|domain|function|index|operator|rule|schema|sequence|trigger|type|view))\\\\s+.*?\\\\s+(is)\\\\s+)\",\n\t\t\t\"name\": \"keyword.other.object-comments.sql\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i)\\\\bAS\\\\b\",\n\t\t\t\"name\": \"keyword.other.alias.sql\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i)\\\\b(DESC|ASC)\\\\b\",\n\t\t\t\"name\": \"keyword.other.order.sql\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"\\\\*\",\n\t\t\t\"name\": \"keyword.operator.star.sql\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"[!<>]?=|<>|<|>\",\n\t\t\t\"name\": \"keyword.operator.comparison.sql\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"-|\\\\+|/\",\n\t\t\t\"name\": \"keyword.operator.math.sql\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"\\\\|\\\\|\",\n\t\t\t\"name\": \"keyword.operator.concatenator.sql\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i)\\\\b(approx_count_distinct|approx_percentile_cont|approx_percentile_disc|avg|checksum_agg|count|count_big|group|grouping|grouping_id|max|min|sum|stdev|stdevp|var|varp)\\\\b\\\\s*\\\\(\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"support.function.aggregate.sql\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i)\\\\b(cume_dist|first_value|lag|last_value|lead|percent_rank|percentile_cont|percentile_disc)\\\\b\\\\s*\\\\(\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"support.function.analytic.sql\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i)\\\\b(bit_count|get_bit|left_shift|right_shift|set_bit)\\\\b\\\\s*\\\\(\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"support.function.bitmanipulation.sql\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i)\\\\b(cast|convert|parse|try_cast|try_convert|try_parse)\\\\b\\\\s*\\\\(\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"support.function.conversion.sql\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i)\\\\b(collationproperty|tertiary_weights)\\\\b\\\\s*\\\\(\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"support.function.collation.sql\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i)\\\\b(asymkey_id|asymkeyproperty|certproperty|cert_id|crypt_gen_random|decryptbyasymkey|decryptbycert|decryptbykey|decryptbykeyautoasymkey|decryptbykeyautocert|decryptbypassphrase|encryptbyasymkey|encryptbycert|encryptbykey|encryptbypassphrase|hashbytes|is_objectsigned|key_guid|key_id|key_name|signbyasymkey|signbycert|symkeyproperty|verifysignedbycert|verifysignedbyasymkey)\\\\b\\\\s*\\\\(\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"support.function.cryptographic.sql\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i)\\\\b(cursor_status)\\\\b\\\\s*\\\\(\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"support.function.cursor.sql\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i)\\\\b(sysdatetime|sysdatetimeoffset|sysutcdatetime|current_time(stamp)?|getdate|getutcdate|datename|datepart|day|month|year|datefromparts|datetime2fromparts|datetimefromparts|datetimeoffsetfromparts|smalldatetimefromparts|timefromparts|datediff|dateadd|datetrunc|eomonth|switchoffset|todatetimeoffset|isdate|date_bucket)\\\\b\\\\s*\\\\(\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"support.function.datetime.sql\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i)\\\\b(datalength|ident_current|ident_incr|ident_seed|identity|sql_variant_property)\\\\b\\\\s*\\\\(\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"support.function.datatype.sql\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i)\\\\b(coalesce|nullif)\\\\b\\\\s*\\\\(\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"support.function.expression.sql\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?<!@)@@(?i)\\\\b(cursor_rows|connections|cpu_busy|datefirst|dbts|error|fetch_status|identity|idle|io_busy|langid|language|lock_timeout|max_connections|max_precision|nestlevel|options|packet_errors|pack_received|pack_sent|procid|remserver|rowcount|servername|servicename|spid|textsize|timeticks|total_errors|total_read|total_write|trancount|version)\\\\b\\\\s*\\\\(\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"support.function.globalvar.sql\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i)\\\\b(json|isjson|json_object|json_array|json_value|json_query|json_modify|json_path_exists)\\\\b\\\\s*\\\\(\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"support.function.json.sql\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i)\\\\b(choose|iif|greatest|least)\\\\b\\\\s*\\\\(\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"support.function.logical.sql\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i)\\\\b(abs|acos|asin|atan|atn2|ceiling|cos|cot|degrees|exp|floor|log|log10|pi|power|radians|rand|round|sign|sin|sqrt|square|tan)\\\\b\\\\s*\\\\(\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"support.function.mathematical.sql\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i)\\\\b(app_name|applock_mode|applock_test|assemblyproperty|col_length|col_name|columnproperty|database_principal_id|databasepropertyex|db_id|db_name|file_id|file_idex|file_name|filegroup_id|filegroup_name|filegroupproperty|fileproperty|fulltextcatalogproperty|fulltextserviceproperty|index_col|indexkey_property|indexproperty|object_definition|object_id|object_name|object_schema_name|objectproperty|objectpropertyex|original_db_name|parsename|schema_id|schema_name|scope_identity|serverproperty|stats_date|type_id|type_name|typeproperty)\\\\b\\\\s*\\\\(\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"support.function.metadata.sql\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i)\\\\b(rank|dense_rank|ntile|row_number)\\\\b\\\\s*\\\\(\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"support.function.ranking.sql\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i)\\\\b(generate_series|opendatasource|openjson|openrowset|openquery|openxml|predict|string_split)\\\\b\\\\s*\\\\(\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"support.function.rowset.sql\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i)\\\\b(certencoded|certprivatekey|current_user|database_principal_id|has_perms_by_name|is_member|is_rolemember|is_srvrolemember|original_login|permissions|pwdcompare|pwdencrypt|schema_id|schema_name|session_user|suser_id|suser_sid|suser_sname|system_user|suser_name|user_id|user_name)\\\\b\\\\s*\\\\(\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"support.function.security.sql\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i)\\\\b(ascii|char|charindex|concat|difference|format|left|len|lower|ltrim|nchar|nodes|patindex|quotename|replace|replicate|reverse|right|rtrim|soundex|space|str|string_agg|string_escape|string_split|stuff|substring|translate|trim|unicode|upper)\\\\b\\\\s*\\\\(\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"support.function.string.sql\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i)\\\\b(binary_checksum|checksum|compress|connectionproperty|context_info|current_request_id|current_transaction_id|decompress|error_line|error_message|error_number|error_procedure|error_severity|error_state|formatmessage|get_filestream_transaction_context|getansinull|host_id|host_name|isnull|isnumeric|min_active_rowversion|newid|newsequentialid|rowcount_big|session_context|session_id|xact_state)\\\\b\\\\s*\\\\(\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"support.function.system.sql\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?i)\\\\b(patindex|textptr|textvalid)\\\\b\\\\s*\\\\(\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"support.function.textimage.sql\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"constant.other.database-name.sql\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"constant.other.table-name.sql\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"match\": \"(\\\\w+?)\\\\.(\\\\w+)\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#strings\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#regexps\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"\\\\b(?i)(abort|abort_after_wait|absent|absolute|accent_sensitivity|acceptable_cursopt|acp|action|activation|add|address|admin|aes_128|aes_192|aes_256|affinity|after|aggregate|algorithm|all_constraints|all_errormsgs|all_indexes|all_levels|all_results|allow_connections|allow_dup_row|allow_encrypted_value_modifications|allow_page_locks|allow_row_locks|allow_snapshot_isolation|alter|altercolumn|always|anonymous|ansi_defaults|ansi_null_default|ansi_null_dflt_off|ansi_null_dflt_on|ansi_nulls|ansi_padding|ansi_warnings|appdomain|append|application|apply|arithabort|arithignore|array|assembly|asymmetric|asynchronous_commit|at|atan2|atomic|attach|attach_force_rebuild_log|attach_rebuild_log|audit|auth_realm|authentication|auto|auto_cleanup|auto_close|auto_create_statistics|auto_drop|auto_shrink|auto_update_statistics|auto_update_statistics_async|automated_backup_preference|automatic|autopilot|availability|availability_mode|backup|backup_priority|base64|basic|batches|batchsize|before|between|bigint|binary|binding|bit|block|blockers|blocksize|bmk|both|break|broker|broker_instance|bucket_count|buffer|buffercount|bulk_logged|by|call|caller|card|case|catalog|catch|cert|certificate|change_retention|change_tracking|change_tracking_context|changes|char|character|character_set|check_expiration|check_policy|checkconstraints|checkindex|checkpoint|checksum|cleanup_policy|clear|clear_port|close|clustered|codepage|collection|column_encryption_key|column_master_key|columnstore|columnstore_archive|colv_80_to_100|colv_100_to_80|commit_differential_base|committed|compatibility_level|compress_all_row_groups|compression|compression_delay|concat_null_yields_null|concatenate|configuration|connect|continue|continue_after_error|contract|contract_name|control|conversation|conversation_group_id|conversation_handle|copy|copy_only|count_rows|counter|create(\\\\\\\\s+or\\\\\\\\s+alter)?|credential|cross|cryptographic|cryptographic_provider|cube|cursor|cursor_close_on_commit|cursor_default|data|data_compression|data_flush_interval_seconds|data_mirroring|data_purity|data_source|database|database_name|database_snapshot|datafiletype|date_correlation_optimization|date|datefirst|dateformat|date_format|datetime|datetime2|datetimeoffset|day(s)?|db_chaining|dbid|dbidexec|dbo_only|deadlock_priority|deallocate|dec|decimal|declare|decrypt|decrypt_a|decryption|default_database|default_language|default_logon_domain|default_schema|definition|delay|delayed_durability|delimitedtext|density_vector|dependent|des|description|desired_state|desx|differential|digest|disable|disable_broker|disable_def_cnst_chk|disabled|disk|distinct|distributed|distribution|drop|drop_existing|dts_buffers|dump|durability|dynamic|edition|elements|else|emergency|empty|enable|enable_broker|enabled|encoding|encrypted|encrypted_value|encryption|encryption_type|end|endpoint|endpoint_url|enhancedintegrity|entry|error_broker_conversations|errorfile|estimateonly|event|except|exec|executable|execute|exists|expand|expiredate|expiry_date|explicit|external|external_access|failover|failover_mode|failure_condition_level|fast|fast_forward|fastfirstrow|federated_service_account|fetch|field_terminator|fieldterminator|file|filelistonly|filegroup|filename|filestream|filestream_log|filestream_on|filetable|file_format|filter|first_row|fips_flagger|fire_triggers|first|firstrow|float|flush_interval_seconds|fmtonly|following|force|force_failover_allow_data_loss|force_service_allow_data_loss|forced|forceplan|formatfile|format_options|format_type|formsof|forward_only|free_cursors|free_exec_context|fullscan|fulltext|fulltextall|fulltextkey|function|generated|get|geography|geometry|global|go|goto|governor|guid|hadoop|hardening|hash|hashed|header_limit|headeronly|health_check_timeout|hidden|hierarchyid|histogram|histogram_steps|hits_cursors|hits_exec_context|hour(s)?|http|identity|identity_value|if|ifnull|ignore|ignore_constraints|ignore_dup_key|ignore_dup_row|ignore_triggers|image|immediate|implicit_transactions|include|include_null_values|index|inflectional|init|initiator|insensitive|insert|instead|int|integer|integrated|intersect|intermediate|interval_length_minutes|into|inuse_cursors|inuse_exec_context|io|is|isabout|iso_week|isolation|job_tracker_location|json|keep|keep_nulls|keep_replication|keepdefaults|keepfixed|keepidentity|keepnulls|kerberos|key|key_path|key_source|key_store_provider_name|keyset|kill|kilobytes_per_batch|labelonly|langid|language|last|lastrow|leading|legacy_cardinality_estimation|length|level|lifetime|lineage_80_to_100|lineage_100_to_80|listener_ip|listener_port|load|loadhistory|lob_compaction|local|local_service_name|locate|location|lock_escalation|lock_timeout|lockres|log|login|login_type|loop|manual|mark_in_use_for_removal|masked|master|matched|max_queue_readers|max_duration|max_outstanding_io_per_volume|maxdop|maxerrors|maxlength|maxtransfersize|max_plans_per_query|max_storage_size_mb|mediadescription|medianame|mediapassword|memogroup|memory_optimized|merge|message|message_forward_size|message_forwarding|microsecond|millisecond|minute(s)?|mirror_address|misses_cursors|misses_exec_context|mixed|modify|money|month|move|multi_user|must_change|name|namespace|nanosecond|native|native_compilation|nchar|ncharacter|never|new_account|new_broker|newname|next|no|no_browsetable|no_checksum|no_compression|no_infomsgs|no_triggers|no_truncate|nocount|noexec|noexpand|noformat|noinit|nolock|nonatomic|nonclustered|nondurable|none|norecompute|norecovery|noreset|norewind|noskip|not|notification|nounload|now|nowait|ntext|ntlm|nulls|numeric|numeric_roundabort|nvarchar|object|objid|oem|offline|old_account|online|operation_mode|open|openjson|optimistic|option|orc|out|outer|output|over|override|owner|ownership|pad_index|page|page_checksum|page_verify|pagecount|paglock|param|parameter_sniffing|parameter_type_expansion|parameterization|parquet|parseonly|partial|partition|partner|password|path|pause|percentage|permission_set|persisted|period|physical_only|plan_forcing_mode|policy|pool|population|ports|preceding|precision|predicate|presume_abort|primary|primary_role|print|prior|priority |priority_level|private|proc(edure)?|procedure_name|profile|provider|quarter|query_capture_mode|query_governor_cost_limit|query_optimizer_hotfixes|query_store|queue|quoted_identifier|raiserror|range|raw|rcfile|rc2|rc4|rc4_128|rdbms|read_committed_snapshot|read|read_only|read_write|readcommitted|readcommittedlock|readonly|readpast|readuncommitted|readwrite|real|rebuild|receive|recmodel_70backcomp|recompile|reconfigure|recovery|recursive|recursive_triggers|redo_queue|reject_sample_value|reject_type|reject_value|relative|remote|remote_data_archive|remote_proc_transactions|remote_service_name|remove|removed_cursors|removed_exec_context|reorganize|repeat|repeatable|repeatableread|replace|replica|replicated|replnick_100_to_80|replnickarray_80_to_100|replnickarray_100_to_80|required|required_cursopt|resample|reset|resource|resource_manager_location|respect|restart|restore|restricted_user|resume|retaindays|retention|return|revert|rewind|rewindonly|returns|robust|role|rollup|root|round_robin|route|row|rowdump|rowguidcol|rowlock|row_terminator|rows|rows_per_batch|rowsets_only|rowterminator|rowversion|rsa_1024|rsa_2048|rsa_3072|rsa_4096|rsa_512|safe|safety|sample|save|scalar|schema|schemabinding|scoped|scroll|scroll_locks|sddl|second|secexpr|secondary|secondary_only|secondary_role|secret|security|securityaudit|selective|self|send|sent|sequence|serde_method|serializable|server|service|service_broker|service_name|service_objective|session_timeout|session|sessions|seterror|setopts|sets|shard_map_manager|shard_map_name|sharded|shared_memory|show_statistics|showplan_all|showplan_text|showplan_xml|showplan_xml_with_recompile|shrinkdb|shutdown|sid|signature|simple|single_blob|single_clob|single_nclob|single_user|singleton|site|size_based_cleanup_mode|skip|smalldatetime|smallint|smallmoney|snapshot|snapshot_import|snapshotrestorephase|soap|softnuma|sort_in_tempdb|sorted_data|sorted_data_reorg|spatial|sql|sql_bigint|sql_binary|sql_bit|sql_char|sql_date|sql_decimal|sql_double|sql_float|sql_guid|sql_handle|sql_longvarbinary|sql_longvarchar|sql_numeric|sql_real|sql_smallint|sql_time|sql_timestamp|sql_tinyint|sql_tsi_day|sql_tsi_frac_second|sql_tsi_hour|sql_tsi_minute|sql_tsi_month|sql_tsi_quarter|sql_tsi_second|sql_tsi_week|sql_tsi_year|sql_type_date|sql_type_time|sql_type_timestamp|sql_varbinary|sql_varchar|sql_variant|sql_wchar|sql_wlongvarchar|ssl|ssl_port|standard|standby|start|start_date|started|stat_header|state|statement|static|statistics|statistics_incremental|statistics_norecompute|statistics_only|statman|stats|stats_stream|status|stop|stop_on_error|stopat|stopatmark|stopbeforemark|stoplist|stopped|string_delimiter|subject|supplemental_logging|supported|suspend|symmetric|synchronous_commit|synonym|sysname|system|system_time|system_versioning|table|tableresults|tablock|tablockx|take|tape|target|target_index|target_partition|tcp|temporal_history_retention|text|textimage_on|then|thesaurus|throw|time|timeout|timestamp|tinyint|to|top|torn_page_detection|track_columns_updated|trailing|tran|transaction|transfer|triple_des|triple_des_3key|truncate|trustworthy|try|tsql|type|type_desc|type_warning|tzoffset|uid|unbounded|uncommitted|unique|uniqueidentifier|unlimited|unload|unlock|unsafe|updlock|url|use|useplan|useroptions|use_type_default|using|utcdatetime|valid_xml|validation|value|values|varbinary|varchar|verbose|verifyonly|version|view_metadata|virtual_device|visiblity|wait_at_low_priority|waitfor|webmethod|week|weekday|weight|well_formed_xml|when|while|widechar|widechar_ansi|widenative|window|windows|with|within|within group|witness|without|without_array_wrapper|workload|wsdl|xact_abort|xlock|xml|xmlschema|xquery|xsinil|year|zone)\\\\b\",\n\t\t\t\"name\": \"keyword.other.sql\"\n\t\t},\n\t\t{\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.section.scope.begin.sql\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"punctuation.section.scope.end.sql\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"comment\": \"Allow for special ↩ behavior\",\n\t\t\t\"match\": \"(\\\\()(\\\\))\",\n\t\t\t\"name\": \"meta.block.sql\"\n\t\t}\n\t],\n\t\"repository\": {\n\t\t\"comments\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(^[ \\\\t]+)?(?=--)\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.whitespace.comment.leading.sql\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(?!\\\\G)\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"begin\": \"--\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.comment.sql\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"\\\\n\",\n\t\t\t\t\t\t\t\"name\": \"comment.line.double-dash.sql\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(^[ \\\\t]+)?(?=#)\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.whitespace.comment.leading.sql\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(?!\\\\G)\",\n\t\t\t\t\t\"patterns\": []\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"/\\\\*\",\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.comment.sql\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"\\\\*/\",\n\t\t\t\t\t\"name\": \"comment.block.c\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"regexps\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"/(?=\\\\S.*/)\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.begin.sql\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"/\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.end.sql\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"string.regexp.sql\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#string_interpolation\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"\\\\\\\\/\",\n\t\t\t\t\t\t\t\"name\": \"constant.character.escape.slash.sql\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"%r\\\\{\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.begin.sql\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"comment\": \"We should probably handle nested bracket pairs!?! -- Allan\",\n\t\t\t\t\t\"end\": \"\\\\}\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.end.sql\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"string.regexp.modr.sql\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#string_interpolation\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"string_escape\": {\n\t\t\t\"match\": \"\\\\\\\\.\",\n\t\t\t\"name\": \"constant.character.escape.sql\"\n\t\t},\n\t\t\"string_interpolation\": {\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.string.begin.sql\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.string.end.sql\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"match\": \"(#\\\\{)([^\\\\}]*)(\\\\})\",\n\t\t\t\"name\": \"string.interpolated.sql\"\n\t\t},\n\t\t\"strings\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.begin.sql\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.end.sql\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"comment\": \"this is faster than the next begin/end rule since sub-pattern will match till end-of-line and SQL files tend to have very long lines.\",\n\t\t\t\t\t\"match\": \"(N)?(')[^']*(')\",\n\t\t\t\t\t\"name\": \"string.quoted.single.sql\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"'\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.begin.sql\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"'\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.end.sql\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"string.quoted.single.sql\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#string_escape\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.begin.sql\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.end.sql\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"comment\": \"this is faster than the next begin/end rule since sub-pattern will match till end-of-line and SQL files tend to have very long lines.\",\n\t\t\t\t\t\"match\": \"(`)[^`\\\\\\\\]*(`)\",\n\t\t\t\t\t\"name\": \"string.quoted.other.backtick.sql\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"`\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.begin.sql\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"`\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.end.sql\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"string.quoted.other.backtick.sql\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#string_escape\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.begin.sql\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.end.sql\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"comment\": \"this is faster than the next begin/end rule since sub-pattern will match till end-of-line and SQL files tend to have very long lines.\",\n\t\t\t\t\t\"match\": \"(\\\")[^\\\"#]*(\\\")\",\n\t\t\t\t\t\"name\": \"string.quoted.double.sql\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"\\\"\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.begin.sql\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"\\\"\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.end.sql\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"string.quoted.double.sql\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#string_interpolation\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"%\\\\{\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.begin.sql\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"\\\\}\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.end.sql\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"string.other.quoted.brackets.sql\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#string_interpolation\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}";
2
+ export { sql_tmLanguage as default };
package/dist/swift.js ADDED
@@ -0,0 +1,9 @@
1
+ import { registerExtension } from './api2.js';
2
+ import { onExtHostInitialized } from './polyfill.js';
3
+ var manifest = {name:"swift",displayName:"%displayName%",description:"%description%",version:"1.0.0",publisher:"vscode",license:"MIT",engines:{vscode:"*"},scripts:{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin textmate/swift.tmbundle Syntaxes/Swift.tmLanguage ./syntaxes/swift.tmLanguage.json"},contributes:{languages:[{id:"swift",aliases:["Swift","swift"],extensions:[".swift"],configuration:"./language-configuration.json"}],grammars:[{language:"swift",scopeName:"source.swift",path:"./syntaxes/swift.tmLanguage.json"}],snippets:[{language:"swift",path:"./snippets/swift.code-snippets"}]},repository:{type:"git",url:"https://github.com/microsoft/vscode.git"}};
4
+ onExtHostInitialized(() => {
5
+ const { registerFile } = registerExtension(manifest);
6
+ registerFile('./language-configuration.json', async () => await import('./language-configuration36.js').then(module => module.default ?? module)),
7
+ registerFile('./syntaxes/swift.tmLanguage.json', async () => await import('./swift.tmLanguage.js').then(module => module.default ?? module)),
8
+ registerFile('./snippets/swift.code-snippets', async () => await import('./swift2.js').then(module => module.default ?? module));
9
+ });