@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/README.md CHANGED
@@ -7,85 +7,60 @@ The VSCode api is composed of:
7
7
  - A lot of classes and tools, which are exported the same way as in VSCode.
8
8
  - Some features that are supported by Monaco (Language feature registrations...) which are just forwarded to it (with some transformations)
9
9
  - Some features that are not supported by Monaco, and in such case:
10
- - If it's an important feature: we let the user implement it as they wish.
10
+ - If it's an important feature: it requires to use the corresponding service override.
11
11
  - If it's some advanced features that don't make a lot of sense on Monaco (scm, tests...), it just throws an error when you try to use it.
12
12
 
13
- To implement by hands the optional features (file system, workspace folders, file...), you can use the `Services` namespace from `vscode/services`:
14
-
15
- ```typescript
16
- import { Services } from 'vscode/services'
17
- Services.install({
18
- workspace: {
19
- workspaceFolders: ...,
20
- createFileSystemWatcher (documentSelector, provider) {
21
- ...
22
- },
23
- onDidSaveTextDocument
24
- },
25
- window: {
26
- withProgress: ...
27
- }
28
- })
29
- ```
30
-
31
13
  ## Monaco standalone services
32
14
 
33
15
  Also, monaco-editor use `standalone` versions or the vscode services, which are much simpler.
34
16
 
35
- You may want to provide your custom implementations of them, especially for: `textModelService`, `codeEditorService` and `notificationService`. To do so, you can provide them as the third parameter while creating your first editor.
36
- This library allows you to use a more convenient way using `StandaloneServices.initialize`.
17
+ You may want to provide your custom implementations of them. To do so, you can use the `initialize` method from `vscode/services`.
37
18
  Also, monaco-editor doesn't provide good type for them, so this library does it.
38
19
 
39
20
  Example:
40
21
 
41
22
  ```typescript
42
- import { StandaloneServices, INotificationService } from 'vscode/services'
23
+ import { StandaloneServices, INotificationService, initialize } from 'vscode/services'
43
24
 
44
25
  class MyCustomNotificationService implements INotificationService { ... }
45
- StandaloneServices.initialize({
26
+ await initialize({
46
27
  get [INotificationService.toString()] () {
47
28
  return new MyCustomNotificationService(...)
48
29
  }
49
30
  })
50
31
  ```
51
32
 
52
- Additionally, this library exposes 12 modules that include the vscode version of some services (with some glue to make it work with monaco):
33
+ Additionally, this library exposes 11 modules that include the vscode version of some services (with some glue to make it work with monaco):
53
34
 
54
35
  - Notifications: `vscode/service-override/notifications`
55
36
  - Dialogs: `vscode/service-override/dialogs`
56
37
  - Model / Editor: `vscode/service-override/modelEditor`
57
38
  - Configuration: `vscode/service-override/configuration`
58
39
  - Keybindings: `vscode/service-override/keybindings`
59
- - Language configuration: `vscode/service-override/languageConfiguration`
60
40
  - Languages: `vscode/service-override/languages`
61
41
  - Textmate: `vscode/service-override/textmate`
62
42
  - Snippets: `vscode/service-override/snippets`
63
43
  - VSCode themes: `vscode/service-override/theme`
64
- - Token classification: `vscode/service-override/tokenClassification`
65
44
  - Audio cue: `vscode/service-override/audioCue`
66
45
  - Debug: `vscode/service-override/debug`
46
+ - Files: `vscode/service-override/files`
47
+ - Preferences: `vscode/service-override/preferences`
67
48
 
68
49
  Usage:
69
50
 
70
51
  ```typescript
71
- import { StandaloneServices } from 'vscode/services'
52
+ import { initialize } from 'vscode/services'
72
53
  import getModelEditorServiceOverride from 'vscode/service-override/modelEditor'
73
54
  import getConfigurationServiceOverride, { updateUserConfiguration, configurationRegistry } from 'vscode/service-override/configuration'
74
55
 
75
- StandaloneServices.initialize({
56
+ await initialize({
76
57
  ...getModelEditorServiceOverride((model, input, sideBySide) => {
77
58
  // Open a new editor here and return it
78
59
  // It will be called when for instance the user ctrl+click on an import
79
60
  }),
80
- ...getConfigurationServiceOverride()
61
+ ...getConfigurationServiceOverride(monaco.Uri.file('/tmp/'))
81
62
  })
82
63
 
83
- configurationRegistry.registerDefaultConfigurations([{
84
- overrides: {
85
- 'editor.fontSize': 10
86
- }
87
- }])
88
-
89
64
  updateUserConfiguration(`{
90
65
  "editor.fontSize": 12,
91
66
  "[java]": {
@@ -94,38 +69,57 @@ updateUserConfiguration(`{
94
69
  }`)
95
70
  ```
96
71
 
97
- Note: using `vscode/service-override/modelEditor`, you'll be able to use the `vscode.workspace.registerTextDocumentContentProvider` api
98
-
99
72
  ### Troubleshoot
100
73
 
101
- `StandaloneServices.initialize` can only be called once (note that `monaco.editor.create` calls `StandaloneServices.initialize`).
102
-
103
- Also, a service that is used cannot be overriden anymore. So `StandaloneServices.initialize` should be called as soon as possible to prevent most of the issues.
74
+ `initialize` can only be called once ( and it should be called BEFORE creating your first editor).
104
75
 
105
76
  ## Editor configuration
106
77
 
107
78
  The editors created using `monaco.editor.create` don't use the configuration from the configurationService.
108
79
 
109
- This library exposes functions to create editors binded on the configuration:
80
+ This library exposes functions to create editors binded on the configuration service:
110
81
 
111
82
  before:
112
83
 
113
84
  ```typescript
114
85
  import * as monaco from 'monaco-editor'
115
- monaco.editor.create(...)
86
+ const model = monaco.editor.createModel(...)
87
+ const editor = monaco.editor.create({ model, ... })
88
+
89
+ ...
90
+
91
+ model.dispose()
92
+ editor.dispose()
93
+
116
94
  ```
117
95
 
118
96
  after:
119
97
 
120
98
  ```typescript
121
- import { createConfiguredEditor } from 'vscode/monaco'
99
+ import { createConfiguredEditor, createModelReference } from 'vscode/monaco'
100
+
101
+ const modelRef = await createModelReference(...)
102
+
103
+ const editor = createConfiguredEditor({ model: modelRef.object.textEditorModel })
104
+
105
+ ...
106
+
107
+ await modelRef.object.save()
108
+
109
+ ...
110
+
111
+ modelRef.dispose()
112
+ editor.dispose()
113
+
122
114
 
123
- createConfiguredEditor(...)
124
115
  ```
125
116
 
126
117
  `createConfiguredEditor` returns a subclass of what is returned by `monaco.editor.create`, the `updateOptions` method can still be used.
127
118
  The only difference is that is will use the `configurationService` as a default configuration
128
119
 
120
+ `createModelReference` return a reference to a model. The value is fetched from the memory filesystem (which is written if you provide the second argument).
121
+ The reference can then be disposed, the model will only be disposed if there is no remaining references.
122
+
129
123
  ### Installation
130
124
 
131
125
  ```bash
@@ -135,15 +129,62 @@ npm install -D @types/vscode
135
129
 
136
130
  ### Usage
137
131
 
138
- Just import it as if you were in a vscode extension:
132
+ You can just import it as if you were in a vscode extension:
139
133
 
140
134
  ```typescript
141
135
  import * as vscode from 'vscode'
136
+ import { initialize } from 'vscode/extensions'
137
+
138
+ await initialize()
142
139
 
143
140
  const range = new vscode.Range(...)
144
141
  vscode.languages.registerCompletionItemProvider(...)
145
142
  ```
146
143
 
144
+ The api will use the manifest of a default vscode extension, which can be overriden by providing it to the `initialize` function.
145
+
146
+ You can also register a new extension from its manifest:
147
+ ```typescript
148
+ import { registerExtension, initialize as initializeVscodeExtensions } from 'vscode/extensions'
149
+
150
+ await initialize()
151
+
152
+ const { registerFile: registerExtensionFile, api: vscodeApi } = registerExtension(defaultThemesExtensions)
153
+
154
+ registerExtensionFile('/file.json', async () => fileContent)
155
+ vscodeApi.languages.registerCompletionItemProvider(...)
156
+ ```
157
+
158
+ ### Default vscode extensions
159
+
160
+ VSCode uses a bunch of default extensions. Most of them are used to load the default languages and grammars (see https://github.com/microsoft/vscode/tree/main/extensions).
161
+
162
+ This library bundles most of them and allows to import the ones you want:
163
+ ```typescript
164
+ import 'vscode/default-extensions/javascript'
165
+ import 'vscode/default-extensions/json'
166
+ ...
167
+ ```
168
+
169
+ ### Loading vsix file
170
+
171
+ VSCode extension are bundled as vsix files.
172
+ This library exposes a rollup plugin (vite-compatible) that allows to load a vsix file. The code is not used, only the declarative part in the manifest.
173
+
174
+ - rollup/vite config:
175
+ ```typescript
176
+ import vsixPlugin from 'vscode/rollup-vsix-plugin'
177
+ ...
178
+ plugins: [
179
+ ...,
180
+ vsixPlugin()
181
+ ]
182
+ ```
183
+ - code:
184
+ ```typescript
185
+ import './extension.vsix'
186
+ ```
187
+
147
188
  ### Demo
148
189
 
149
190
  Try it out on https://codingame.github.io/monaco-vscode-api/
@@ -152,18 +193,15 @@ There is a demo that showcases the service-override features. It allows to regis
152
193
  It includes:
153
194
 
154
195
  - Languages
155
- - Language configurations
156
196
  - VSCode themes
157
197
  - Textmate grammars (requires vscode themes)
158
198
  - Notifications/Dialogs
159
199
  - Model/Editor services
160
200
  - Configuration service, with user configuration editor
161
201
  - Keybinding service, with user keybindings editor
162
- - Token classification
163
- - Snippets (but not working in monaco 0.34)
164
202
  - Debuggers
165
203
 
166
- It also uses the `getJsonSchemas` function to register them on the monaco json worker and have autocomplete/hover on settings and keybindings.
204
+ It also uses the `synchronizeJsonSchemas` function to register them on the monaco json worker and have autocomplete/hover on settings and keybindings.
167
205
 
168
206
  From CLI run:
169
207
 
@@ -0,0 +1,2 @@
1
+ var Bibtex_tmLanguage = "{\n\t\"information_for_contributors\": [\n\t\t\"This file has been converted from https://github.com/jlelong/vscode-latex-basics/blob/master/syntaxes/Bibtex.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/jlelong/vscode-latex-basics/commit/d80a1a5dcff9b85217e174242dd3d0e2210b94a0\",\n\t\"name\": \"BibTeX\",\n\t\"scopeName\": \"text.bibtex\",\n\t\"comment\": \"Grammar based on description from http://artis.imag.fr/~Xavier.Decoret/resources/xdkbibtex/bibtex_summary.html#comment\\n\\t\\n\\tTODO: Does not support @preamble\\n\\t\",\n\t\"patterns\": [\n\t\t{\n\t\t\t\"begin\": \"@Comment\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.comment.bibtex\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"$\\\\n?\",\n\t\t\t\"name\": \"comment.line.at-sign.bibtex\"\n\t\t},\n\t\t{\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#percentage_comment\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\"begin\": \"((@)(?i:string))\\\\s*(\\\\{)\\\\s*([a-zA-Z]*)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.string-constant.bibtex\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.keyword.bibtex\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"punctuation.section.string-constant.begin.bibtex\"\n\t\t\t\t},\n\t\t\t\t\"4\": {\n\t\t\t\t\t\"name\": \"variable.other.bibtex\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"\\\\}\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.section.string-constant.end.bibtex\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"meta.string-constant.braces.bibtex\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#string_content\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\"begin\": \"((@)(?i:string))\\\\s*(\\\\()\\\\s*([a-zA-Z]*)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.string-constant.bibtex\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.keyword.bibtex\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"punctuation.section.string-constant.begin.bibtex\"\n\t\t\t\t},\n\t\t\t\t\"4\": {\n\t\t\t\t\t\"name\": \"variable.other.bibtex\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"\\\\)\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.section.string-constant.end.bibtex\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"meta.string-constant.parenthesis.bibtex\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#string_content\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\"begin\": \"((@)[a-zA-Z]+)\\\\s*(\\\\{)\\\\s*([^\\\\s,]*)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.entry-type.bibtex\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.keyword.bibtex\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"punctuation.section.entry.begin.bibtex\"\n\t\t\t\t},\n\t\t\t\t\"4\": {\n\t\t\t\t\t\"name\": \"entity.name.type.entry-key.bibtex\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"\\\\}\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.section.entry.end.bibtex\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"meta.entry.braces.bibtex\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#percentage_comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#url_field\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"([a-zA-Z0-9\\\\!\\\\$\\\\&\\\\*\\\\+\\\\-\\\\.\\\\/\\\\:\\\\;\\\\<\\\\>\\\\?\\\\[\\\\]\\\\^\\\\_\\\\`\\\\|]+)\\\\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\": \"support.function.key.bibtex\"\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.key-value.bibtex\"\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\": \"meta.key-assignment.bibtex\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#percentage_comment\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#string_var\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#string_content\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#integer\"\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{\n\t\t\t\"begin\": \"((@)[a-zA-Z]+)\\\\s*(\\\\()\\\\s*([^\\\\s,]*)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.entry-type.bibtex\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.keyword.bibtex\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"punctuation.section.entry.begin.bibtex\"\n\t\t\t\t},\n\t\t\t\t\"4\": {\n\t\t\t\t\t\"name\": \"entity.name.type.entry-key.bibtex\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"\\\\)\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.section.entry.end.bibtex\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"meta.entry.parenthesis.bibtex\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#percentage_comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#url_field\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"([a-zA-Z0-9\\\\!\\\\$\\\\&\\\\*\\\\+\\\\-\\\\.\\\\/\\\\:\\\\;\\\\<\\\\>\\\\?\\\\[\\\\]\\\\^\\\\_\\\\`\\\\|]+)\\\\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\": \"support.function.key.bibtex\"\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.key-value.bibtex\"\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\": \"meta.key-assignment.bibtex\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#percentage_comment\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#string_var\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#string_content\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#integer\"\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{\n\t\t\t\"begin\": \"[^@\\\\n]\",\n\t\t\t\"end\": \"(?=@)\",\n\t\t\t\"name\": \"comment.block.bibtex\"\n\t\t}\n\t],\n\t\"repository\": {\n\t\t\"integer\": {\n\t\t\t\"match\": \"\\\\d+\",\n\t\t\t\"name\": \"constant.numeric.bibtex\"\n\t\t},\n\t\t\"nested_braces\": {\n\t\t\t\"begin\": \"(?<!\\\\\\\\)\\\\{\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.group.begin.bibtex\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?<!\\\\\\\\)\\\\}\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.group.end.bibtex\"\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\": \"#nested_braces\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"string_var\": {\n\t\t\t\"match\": \"(#)?\\\\s*([a-zA-Z]+)\\\\s*(#)?\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.operator.bibtex\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"support.variable.bibtex\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"keyword.operator.bibtex\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"string_content\": {\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.bibtex\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(\\\\})(?=(?:,?\\\\s*\\\\}?\\\\s*\\\\n)|(?:\\\\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.string.end.bibtex\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#url_cmd\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#percentage_comment\"\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\": \"invalid.illegal.at-sign.bibtex\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#nested_braces\"\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.bibtex\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"\\\"(?=(?:,?\\\\s*\\\\}?\\\\s*\\\\n)|(?:\\\\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.string.end.bibtex\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#url_cmd\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#percentage_comment\"\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\": \"invalid.illegal.at-sign.bibtex\"\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_url\": {\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.bibtex\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(\\\\}|\\\")(?=(?:,?\\\\s*\\\\}?\\\\s*\\\\n)|(?:\\\\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.string.end.bibtex\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"contentName\": \"meta.url.bibtex\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#url_cmd\"\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\"percentage_comment\": {\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.bibtex\"\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.bibtex\"\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.percentage.bibtex\"\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\"url_cmd\": {\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"support.function.url.bibtex\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.function.bibtex\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.arguments.begin.bibtex\"\n\t\t\t\t},\n\t\t\t\t\"4\": {\n\t\t\t\t\t\"name\": \"markup.underline.link.bibtex\"\n\t\t\t\t},\n\t\t\t\t\"5\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.arguments.end.bibtex\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"match\": \"(?:\\\\s*)((\\\\\\\\)(?:url|href))(\\\\{)([^}]*)(\\\\})\",\n\t\t\t\"name\": \"meta.function.link.url.bibtex\"\n\t\t},\n\t\t\"url_field\": {\n\t\t\t\"begin\": \"(url)\\\\s*(\\\\=)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"support.function.key.bibtex\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"punctuation.separator.key-value.bibtex\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=[,}])\",\n\t\t\t\"name\": \"meta.key-assignment.url.bibtex\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#string_url\"\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}";
2
+ export { Bibtex_tmLanguage as default };
@@ -0,0 +1,2 @@
1
+ var Handlebars_tmLanguage = "{\n\t\"information_for_contributors\": [\n\t\t\"This file has been converted from https://github.com/daaain/Handlebars/blob/master/grammars/Handlebars.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/daaain/Handlebars/commit/85a153a6f759df4e8da7533e1b3651f007867c51\",\n\t\"name\": \"Handlebars\",\n\t\"scopeName\": \"text.html.handlebars\",\n\t\"patterns\": [\n\t\t{\n\t\t\t\"include\": \"#yfm\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#extends\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#block_comments\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#comments\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#block_helper\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#end_block\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#else_token\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#partial_and_var\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#inline_script\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#html_tags\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"text.html.basic\"\n\t\t}\n\t],\n\t\"repository\": {\n\t\t\"html_tags\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(<)([a-zA-Z0-9:-]+)(?=[^>]*></\\\\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\": \"punctuation.definition.tag.html\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"entity.name.tag.html\"\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\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.tag.html\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"meta.scope.between-tag-pair.html\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\"name\": \"entity.name.tag.html\"\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.definition.tag.html\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.tag.any.html\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#tag-stuff\"\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\": \"(<\\\\?)(xml)\",\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.tag.html\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"entity.name.tag.xml.html\"\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\": \"meta.tag.preprocessor.xml.html\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#tag_generic_attribute\"\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\"captures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.comment.html\"\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\"name\": \"comment.block.html\",\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\": \"invalid.illegal.bad-comments-or-CDATA.html\"\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\"captures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.tag.html\"\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\": \"meta.tag.sgml.html\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"begin\": \"(DOCTYPE|doctype)\",\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\": \"entity.name.tag.doctype.html\"\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\"name\": \"meta.tag.sgml.doctype.html\",\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\": \"string.quoted.double.doctype.identifiers-and-DTDs.html\"\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\": \"\\\\[CDATA\\\\[\",\n\t\t\t\t\t\t\t\"end\": \"]](?=>)\",\n\t\t\t\t\t\t\t\"name\": \"constant.other.inline-data.html\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"(\\\\s*)(?!--|>)\\\\S(\\\\s*)\",\n\t\t\t\t\t\t\t\"name\": \"invalid.illegal.bad-comments-or-CDATA.html\"\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+)?(<)((?i:style))\\\\b(?![^>]*/>)\",\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.tag.html\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"entity.name.tag.style.html\"\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.tag.html\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(</)((?i:style))(>)(?:\\\\s*\\\\n)?\",\n\t\t\t\t\t\"name\": \"source.css.embedded.html\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#tag-stuff\"\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\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.tag.html\"\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\": \"(?=</(?i:style))\",\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\": \"source.css\"\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\"begin\": \"(?:^\\\\s+)?(<)((?i:script))\\\\b(?![^>]*/>)\",\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.tag.html\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"entity.name.tag.script.html\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(?<=</(script|SCRIPT))(>)(?:\\\\s*\\\\n)?\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.tag.html\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"source.js.embedded.html\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#tag-stuff\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"begin\": \"(?<!</(?:script|SCRIPT))(>)\",\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.definition.tag.html\"\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\": \"entity.name.tag.script.html\"\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\": \"(</)((?i:script))\",\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\"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\": \"punctuation.definition.comment.js\"\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\"match\": \"(//).*?((?=</script)|$\\\\n?)\",\n\t\t\t\t\t\t\t\t\t\"name\": \"comment.line.double-slash.js\"\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\": \"/\\\\*\",\n\t\t\t\t\t\t\t\t\t\"captures\": {\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.js\"\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\": \"\\\\*/|(?=</script)\",\n\t\t\t\t\t\t\t\t\t\"name\": \"comment.block.js\"\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\": \"source.js\"\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\"begin\": \"(</?)((?i:body|head|html)\\\\b)\",\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.tag.html\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"entity.name.tag.structure.any.html\"\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\": \"meta.tag.structure.any.html\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#tag-stuff\"\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\": \"(</?)((?i:address|blockquote|dd|div|header|section|footer|aside|nav|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|menu|pre)\\\\b)\",\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.tag.html\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"entity.name.tag.block.any.html\"\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\": \"meta.tag.block.any.html\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#tag-stuff\"\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\": \"(</?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)\\\\b)\",\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.tag.html\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"entity.name.tag.inline.any.html\"\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\": \"meta.tag.inline.any.html\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#tag-stuff\"\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\": \"(</?)([a-zA-Z0-9:-]+)\",\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.tag.html\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"entity.name.tag.other.html\"\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\": \"meta.tag.other.html\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#tag-stuff\"\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\": \"(</?)([a-zA-Z0-9{}:-]+)\",\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.tag.html\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"entity.name.tag.tokenised.html\"\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\": \"meta.tag.tokenised.html\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#tag-stuff\"\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\": \"#entities\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"<>\",\n\t\t\t\t\t\"name\": \"invalid.illegal.incomplete.html\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"<\",\n\t\t\t\t\t\"name\": \"invalid.illegal.bad-angle-bracket.html\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"entities\": {\n\t\t\t\"patterns\": [\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.entity.html\"\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.entity.html\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"constant.character.entity.html\",\n\t\t\t\t\t\"match\": \"(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"invalid.illegal.bad-ampersand.html\",\n\t\t\t\t\t\"match\": \"&\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"end_block\": {\n\t\t\t\"begin\": \"(\\\\{\\\\{)(~?/)([a-zA-Z0-9/_\\\\.-]+)\\\\s*\",\n\t\t\t\"end\": \"(~?\\\\}\\\\})\",\n\t\t\t\"name\": \"meta.function.block.end.handlebars\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"support.constant.handlebars\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"support.constant.handlebars\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"support.constant.handlebars keyword.control\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"support.constant.handlebars keyword.control\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"patterns\": []\n\t\t},\n\t\t\"yfm\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"source.yaml\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t\"begin\": \"(?<!\\\\s)---\\\\n$\",\n\t\t\t\t\t\"end\": \"^---\\\\s\",\n\t\t\t\t\t\"name\": \"markup.raw.yaml.front-matter\"\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\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"name\": \"keyword.annotation.handlebars\",\n\t\t\t\t\t\t\t\"match\": \"@\\\\w*\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#comments\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t\"begin\": \"\\\\{\\\\{!\",\n\t\t\t\t\t\"end\": \"\\\\}\\\\}\",\n\t\t\t\t\t\"name\": \"comment.block.handlebars\"\n\t\t\t\t},\n\t\t\t\t{\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.html\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"begin\": \"<!--\",\n\t\t\t\t\t\"end\": \"-{2,3}\\\\s*>\",\n\t\t\t\t\t\"name\": \"comment.block.html\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"name\": \"invalid.illegal.bad-comments-or-CDATA.html\",\n\t\t\t\t\t\t\t\"match\": \"--\"\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\"block_comments\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"name\": \"keyword.annotation.handlebars\",\n\t\t\t\t\t\t\t\"match\": \"@\\\\w*\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#comments\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t\"begin\": \"\\\\{\\\\{!--\",\n\t\t\t\t\t\"end\": \"--\\\\}\\\\}\",\n\t\t\t\t\t\"name\": \"comment.block.handlebars\"\n\t\t\t\t},\n\t\t\t\t{\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.html\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"begin\": \"<!--\",\n\t\t\t\t\t\"end\": \"-{2,3}\\\\s*>\",\n\t\t\t\t\t\"name\": \"comment.block.html\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"name\": \"invalid.illegal.bad-comments-or-CDATA.html\",\n\t\t\t\t\t\t\t\"match\": \"--\"\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\"block_helper\": {\n\t\t\t\"begin\": \"(\\\\{\\\\{)(~?\\\\#)([-a-zA-Z0-9_\\\\./>]+)\\\\s?(@?[-a-zA-Z0-9_\\\\./]+)*\\\\s?(@?[-a-zA-Z0-9_\\\\./]+)*\\\\s?(@?[-a-zA-Z0-9_\\\\./]+)*\",\n\t\t\t\"end\": \"(~?\\\\}\\\\})\",\n\t\t\t\"name\": \"meta.function.block.start.handlebars\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"support.constant.handlebars\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"support.constant.handlebars\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"support.constant.handlebars keyword.control\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"support.constant.handlebars keyword.control\"\n\t\t\t\t},\n\t\t\t\t\"4\": {\n\t\t\t\t\t\"name\": \"variable.parameter.handlebars\"\n\t\t\t\t},\n\t\t\t\t\"5\": {\n\t\t\t\t\t\"name\": \"support.constant.handlebars\"\n\t\t\t\t},\n\t\t\t\t\"6\": {\n\t\t\t\t\t\"name\": \"variable.parameter.handlebars\"\n\t\t\t\t},\n\t\t\t\t\"7\": {\n\t\t\t\t\t\"name\": \"support.constant.handlebars\"\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\": \"#string\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#handlebars_attribute\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"string-single-quoted\": {\n\t\t\t\"begin\": \"'\",\n\t\t\t\"end\": \"'\",\n\t\t\t\"name\": \"string.quoted.single.handlebars\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.string.end.html\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.string.begin.html\"\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\": \"#escaped-single-quote\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#block_comments\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comments\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#block_helper\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#else_token\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#end_block\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#partial_and_var\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"string\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#string-single-quoted\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#string-double-quoted\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"escaped-single-quote\": {\n\t\t\t\"name\": \"constant.character.escape.js\",\n\t\t\t\"match\": \"\\\\\\\\'\"\n\t\t},\n\t\t\"escaped-double-quote\": {\n\t\t\t\"name\": \"constant.character.escape.js\",\n\t\t\t\"match\": \"\\\\\\\\\\\"\"\n\t\t},\n\t\t\"partial_and_var\": {\n\t\t\t\"begin\": \"(\\\\{\\\\{~?\\\\{*(>|!<)*)\\\\s*(@?[-a-zA-Z0-9$_\\\\./]+)*\",\n\t\t\t\"end\": \"(~?\\\\}\\\\}\\\\}*)\",\n\t\t\t\"name\": \"meta.function.inline.other.handlebars\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"support.constant.handlebars\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"variable.parameter.handlebars\"\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\": \"support.constant.handlebars\"\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\": \"#string\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#handlebars_attribute\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"handlebars_attribute_name\": {\n\t\t\t\"begin\": \"\\\\b([-a-zA-Z0-9_\\\\.]+)\\\\b=\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"variable.parameter.handlebars\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?='|\\\"|)\",\n\t\t\t\"name\": \"entity.other.attribute-name.handlebars\"\n\t\t},\n\t\t\"handlebars_attribute_value\": {\n\t\t\t\"begin\": \"([-a-zA-Z0-9_\\\\./]+)\\\\b\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"variable.parameter.handlebars\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"('|\\\"|)\",\n\t\t\t\"name\": \"entity.other.attribute-value.handlebars\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#string\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"handlebars_attribute\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#handlebars_attribute_name\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#handlebars_attribute_value\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"extends\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"end\": \"(\\\\}\\\\})\",\n\t\t\t\t\t\"begin\": \"(\\\\{\\\\{!<)\\\\s([-a-zA-Z0-9_\\\\./]+)\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"support.function.handlebars\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"support.class.handlebars\"\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\": \"support.function.handlebars\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.preprocessor.handlebars\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"else_token\": {\n\t\t\t\"begin\": \"(\\\\{\\\\{)(~?else)(@?\\\\s(if)\\\\s([-a-zA-Z0-9_\\\\.\\\\(\\\\s\\\\)/]+))?\",\n\t\t\t\"end\": \"(~?\\\\}\\\\}\\\\}*)\",\n\t\t\t\"name\": \"meta.function.inline.else.handlebars\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"support.constant.handlebars\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"support.constant.handlebars keyword.control\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"support.constant.handlebars\"\n\t\t\t\t},\n\t\t\t\t\"4\": {\n\t\t\t\t\t\"name\": \"variable.parameter.handlebars\"\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\": \"support.constant.handlebars\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"string-double-quoted\": {\n\t\t\t\"begin\": \"\\\"\",\n\t\t\t\"end\": \"\\\"\",\n\t\t\t\"name\": \"string.quoted.double.handlebars\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.string.begin.html\"\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.string.end.html\"\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\": \"#escaped-double-quote\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#block_comments\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comments\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#block_helper\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#else_token\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#end_block\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#partial_and_var\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"inline_script\": {\n\t\t\t\"begin\": \"(?:^\\\\s+)?(<)((?i:script))\\\\b(?:.*(type)=([\\\"'](?:text/x-handlebars-template|text/x-handlebars|text/template|x-tmpl-handlebars)[\\\"']))(?![^>]*/>)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.tag.html\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"entity.name.tag.script.html\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"entity.other.attribute-name.html\"\n\t\t\t\t},\n\t\t\t\t\"4\": {\n\t\t\t\t\t\"name\": \"string.quoted.double.html\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?<=</(script|SCRIPT))(>)(?:\\\\s*\\\\n)?\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.tag.html\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"source.handlebars.embedded.html\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#tag-stuff\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(?<!</(?:script|SCRIPT))(>)\",\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.tag.html\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"entity.name.tag.script.html\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(</)((?i:script))\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#block_comments\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#comments\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#block_helper\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#end_block\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#else_token\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#partial_and_var\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#html_tags\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"text.html.basic\"\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\"tag_generic_attribute\": {\n\t\t\t\"begin\": \"\\\\b([a-zA-Z0-9_-]+)\\\\b\\\\s*(=)\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"entity.other.attribute-name.generic.html\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"punctuation.separator.key-value.html\"\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\": \"#string\"\n\t\t\t\t}\n\t\t\t],\n\t\t\t\"name\": \"entity.other.attribute-name.html\",\n\t\t\t\"end\": \"(?<='|\\\"|)\"\n\t\t},\n\t\t\"tag_id_attribute\": {\n\t\t\t\"begin\": \"\\\\b(id)\\\\b\\\\s*(=)\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"entity.other.attribute-name.id.html\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"punctuation.separator.key-value.html\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?<='|\\\"|)\",\n\t\t\t\"name\": \"meta.attribute-with-value.id.html\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#string\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"tag-stuff\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#tag_id_attribute\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#tag_generic_attribute\"\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\": \"#block_comments\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comments\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#block_helper\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#end_block\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#else_token\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#partial_and_var\"\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}";
2
+ export { Handlebars_tmLanguage as default };
@@ -0,0 +1,2 @@
1
+ var JSON_tmLanguage = "{\n\t\"information_for_contributors\": [\n\t\t\"This file has been converted from https://github.com/microsoft/vscode-JSON.tmLanguage/blob/master/JSON.tmLanguage\",\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-JSON.tmLanguage/commit/9bd83f1c252b375e957203f21793316203f61f70\",\n\t\"name\": \"JSON (Javascript Next)\",\n\t\"scopeName\": \"source.json\",\n\t\"patterns\": [\n\t\t{\n\t\t\t\"include\": \"#value\"\n\t\t}\n\t],\n\t\"repository\": {\n\t\t\"array\": {\n\t\t\t\"begin\": \"\\\\[\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.array.begin.json\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"\\\\]\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.array.end.json\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"meta.structure.array.json\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#value\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \",\",\n\t\t\t\t\t\"name\": \"punctuation.separator.array.json\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"[^\\\\s\\\\]]\",\n\t\t\t\t\t\"name\": \"invalid.illegal.expected-array-separator.json\"\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\"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.json\"\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.documentation.json\"\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.json\"\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.json\"\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.comment.json\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"match\": \"(//).*$\\\\n?\",\n\t\t\t\t\t\"name\": \"comment.line.double-slash.js\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"constant\": {\n\t\t\t\"match\": \"\\\\b(?:true|false|null)\\\\b\",\n\t\t\t\"name\": \"constant.language.json\"\n\t\t},\n\t\t\"number\": {\n\t\t\t\"match\": \"(?x) # turn on extended mode\\n -? # an optional minus\\n (?:\\n 0 # a zero\\n | # ...or...\\n [1-9] # a 1-9 character\\n \\\\d* # followed by zero or more digits\\n )\\n (?:\\n (?:\\n \\\\. # a period\\n \\\\d+ # followed by one or more digits\\n )?\\n (?:\\n [eE] # an e character\\n [+-]? # followed by an option +/-\\n \\\\d+ # followed by one or more digits\\n )? # make exponent optional\\n )? # make decimal portion optional\",\n\t\t\t\"name\": \"constant.numeric.json\"\n\t\t},\n\t\t\"object\": {\n\t\t\t\"begin\": \"\\\\{\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.dictionary.begin.json\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"\\\\}\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.dictionary.end.json\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"meta.structure.dictionary.json\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"comment\": \"the JSON object key\",\n\t\t\t\t\t\"include\": \"#objectkey\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comments\"\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.separator.dictionary.key-value.json\"\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\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.separator.dictionary.pair.json\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.structure.dictionary.value.json\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"the JSON object value\",\n\t\t\t\t\t\t\t\"include\": \"#value\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"[^\\\\s,]\",\n\t\t\t\t\t\t\t\"name\": \"invalid.illegal.expected-dictionary-separator.json\"\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\": \"[^\\\\s\\\\}]\",\n\t\t\t\t\t\"name\": \"invalid.illegal.expected-dictionary-separator.json\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"string\": {\n\t\t\t\"begin\": \"\\\"\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.string.begin.json\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"\\\"\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.string.end.json\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"string.quoted.double.json\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#stringcontent\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"objectkey\": {\n\t\t\t\"begin\": \"\\\"\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.support.type.property-name.begin.json\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"\\\"\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.support.type.property-name.end.json\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"string.json support.type.property-name.json\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#stringcontent\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"stringcontent\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?x) # turn on extended mode\\n \\\\\\\\ # a literal backslash\\n (?: # ...followed by...\\n [\\\"\\\\\\\\/bfnrt] # one of these characters\\n | # ...or...\\n u # a u\\n [0-9a-fA-F]{4}) # and four hex digits\",\n\t\t\t\t\t\"name\": \"constant.character.escape.json\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\\\\\.\",\n\t\t\t\t\t\"name\": \"invalid.illegal.unrecognized-string-escape.json\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"value\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#constant\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#number\"\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\": \"#array\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#object\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comments\"\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}";
2
+ export { JSON_tmLanguage as default };
@@ -0,0 +1,2 @@
1
+ var JSONC_tmLanguage = "{\n\t\"information_for_contributors\": [\n\t\t\"This file has been converted from https://github.com/microsoft/vscode-JSON.tmLanguage/blob/master/JSON.tmLanguage\",\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-JSON.tmLanguage/commit/9bd83f1c252b375e957203f21793316203f61f70\",\n\t\"name\": \"JSON with comments\",\n\t\"scopeName\": \"source.json.comments\",\n\t\"patterns\": [\n\t\t{\n\t\t\t\"include\": \"#value\"\n\t\t}\n\t],\n\t\"repository\": {\n\t\t\"array\": {\n\t\t\t\"begin\": \"\\\\[\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.array.begin.json.comments\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"\\\\]\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.array.end.json.comments\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"meta.structure.array.json.comments\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#value\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \",\",\n\t\t\t\t\t\"name\": \"punctuation.separator.array.json.comments\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"[^\\\\s\\\\]]\",\n\t\t\t\t\t\"name\": \"invalid.illegal.expected-array-separator.json.comments\"\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\"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.json.comments\"\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.documentation.json.comments\"\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.json.comments\"\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.json.comments\"\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.comment.json.comments\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"match\": \"(//).*$\\\\n?\",\n\t\t\t\t\t\"name\": \"comment.line.double-slash.js\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"constant\": {\n\t\t\t\"match\": \"\\\\b(?:true|false|null)\\\\b\",\n\t\t\t\"name\": \"constant.language.json.comments\"\n\t\t},\n\t\t\"number\": {\n\t\t\t\"match\": \"(?x) # turn on extended mode\\n -? # an optional minus\\n (?:\\n 0 # a zero\\n | # ...or...\\n [1-9] # a 1-9 character\\n \\\\d* # followed by zero or more digits\\n )\\n (?:\\n (?:\\n \\\\. # a period\\n \\\\d+ # followed by one or more digits\\n )?\\n (?:\\n [eE] # an e character\\n [+-]? # followed by an option +/-\\n \\\\d+ # followed by one or more digits\\n )? # make exponent optional\\n )? # make decimal portion optional\",\n\t\t\t\"name\": \"constant.numeric.json.comments\"\n\t\t},\n\t\t\"object\": {\n\t\t\t\"begin\": \"\\\\{\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.dictionary.begin.json.comments\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"\\\\}\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.dictionary.end.json.comments\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"meta.structure.dictionary.json.comments\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"comment\": \"the JSON object key\",\n\t\t\t\t\t\"include\": \"#objectkey\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comments\"\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.separator.dictionary.key-value.json.comments\"\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\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.separator.dictionary.pair.json.comments\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.structure.dictionary.value.json.comments\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"the JSON object value\",\n\t\t\t\t\t\t\t\"include\": \"#value\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"[^\\\\s,]\",\n\t\t\t\t\t\t\t\"name\": \"invalid.illegal.expected-dictionary-separator.json.comments\"\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\": \"[^\\\\s\\\\}]\",\n\t\t\t\t\t\"name\": \"invalid.illegal.expected-dictionary-separator.json.comments\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"string\": {\n\t\t\t\"begin\": \"\\\"\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.string.begin.json.comments\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"\\\"\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.string.end.json.comments\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"string.quoted.double.json.comments\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#stringcontent\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"objectkey\": {\n\t\t\t\"begin\": \"\\\"\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.support.type.property-name.begin.json.comments\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"\\\"\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.support.type.property-name.end.json.comments\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"string.json.comments support.type.property-name.json.comments\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#stringcontent\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"stringcontent\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?x) # turn on extended mode\\n \\\\\\\\ # a literal backslash\\n (?: # ...followed by...\\n [\\\"\\\\\\\\/bfnrt] # one of these characters\\n | # ...or...\\n u # a u\\n [0-9a-fA-F]{4}) # and four hex digits\",\n\t\t\t\t\t\"name\": \"constant.character.escape.json.comments\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\\\\\.\",\n\t\t\t\t\t\"name\": \"invalid.illegal.unrecognized-string-escape.json.comments\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"value\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#constant\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#number\"\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\": \"#array\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#object\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comments\"\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}";
2
+ export { JSONC_tmLanguage as default };