@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
@@ -0,0 +1,2 @@
1
+ var clojure_tmLanguage = "{\n\t\"information_for_contributors\": [\n\t\t\"This file has been converted from https://github.com/atom/language-clojure/blob/master/grammars/clojure.cson\",\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/atom/language-clojure/commit/45bdb881501d0b8f8b707ca1d3fcc8b4b99fca03\",\n\t\"name\": \"Clojure\",\n\t\"scopeName\": \"source.clojure\",\n\t\"patterns\": [\n\t\t{\n\t\t\t\"include\": \"#comment\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#shebang-comment\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#quoted-sexp\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#sexp\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#keyfn\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#string\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#vector\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#set\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#map\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#regexp\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#var\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#constants\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#dynamic-variables\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#metadata\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#namespace-symbol\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#symbol\"\n\t\t}\n\t],\n\t\"repository\": {\n\t\t\"comment\": {\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.comment.clojure\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"$\",\n\t\t\t\"name\": \"comment.line.semicolon.clojure\"\n\t\t},\n\t\t\"constants\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(nil)(?=(\\\\s|\\\\)|\\\\]|\\\\}))\",\n\t\t\t\t\t\"name\": \"constant.language.nil.clojure\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(true|false)\",\n\t\t\t\t\t\"name\": \"constant.language.boolean.clojure\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(##(?:Inf|-Inf|NaN))\",\n\t\t\t\t\t\"name\": \"constant.numeric.symbol.clojure\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"([-+]?\\\\d+/\\\\d+)\",\n\t\t\t\t\t\"name\": \"constant.numeric.ratio.clojure\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"([-+]?(?:(?:3[0-6])|(?:[12]\\\\d)|[2-9])[rR][0-9A-Za-z]+N?)\",\n\t\t\t\t\t\"name\": \"constant.numeric.arbitrary-radix.clojure\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"([-+]?0[xX][0-9a-fA-F]+N?)\",\n\t\t\t\t\t\"name\": \"constant.numeric.hexadecimal.clojure\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"([-+]?0[0-7]+N?)\",\n\t\t\t\t\t\"name\": \"constant.numeric.octal.clojure\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"([-+]?[0-9]+(?:(\\\\.|(?=[eEM]))[0-9]*([eE][-+]?[0-9]+)?)M?)\",\n\t\t\t\t\t\"name\": \"constant.numeric.double.clojure\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"([-+]?\\\\d+N?)\",\n\t\t\t\t\t\"name\": \"constant.numeric.long.clojure\"\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]\n\t\t},\n\t\t\"keyword\": {\n\t\t\t\"match\": \"(?<=(\\\\s|\\\\(|\\\\[|\\\\{)):[\\\\w\\\\#\\\\.\\\\-\\\\_\\\\:\\\\+\\\\=\\\\>\\\\<\\\\/\\\\!\\\\?\\\\*]+(?=(\\\\s|\\\\)|\\\\]|\\\\}|\\\\,))\",\n\t\t\t\"name\": \"constant.keyword.clojure\"\n\t\t},\n\t\t\"keyfn\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?<=(\\\\s|\\\\(|\\\\[|\\\\{))(if(-[-\\\\p{Ll}\\\\?]*)?|when(-[-\\\\p{Ll}]*)?|for(-[-\\\\p{Ll}]*)?|cond|do|let(-[-\\\\p{Ll}\\\\?]*)?|binding|loop|recur|fn|throw[\\\\p{Ll}\\\\-]*|try|catch|finally|([\\\\p{Ll}]*case))(?=(\\\\s|\\\\)|\\\\]|\\\\}))\",\n\t\t\t\t\t\"name\": \"storage.control.clojure\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?<=(\\\\s|\\\\(|\\\\[|\\\\{))(declare-?|(in-)?ns|import|use|require|load|compile|(def[\\\\p{Ll}\\\\-]*))(?=(\\\\s|\\\\)|\\\\]|\\\\}))\",\n\t\t\t\t\t\"name\": \"keyword.control.clojure\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"dynamic-variables\": {\n\t\t\t\"match\": \"\\\\*[\\\\w\\\\.\\\\-\\\\_\\\\:\\\\+\\\\=\\\\>\\\\<\\\\!\\\\?\\\\d]+\\\\*\",\n\t\t\t\"name\": \"meta.symbol.dynamic.clojure\"\n\t\t},\n\t\t\"map\": {\n\t\t\t\"begin\": \"(\\\\{)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.section.map.begin.clojure\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(\\\\}(?=[\\\\}\\\\]\\\\)\\\\s]*(?:;|$)))|(\\\\})\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.section.map.end.trailing.clojure\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"punctuation.section.map.end.clojure\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"meta.map.clojure\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"$self\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"metadata\": {\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\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.section.metadata.map.begin.clojure\"\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.section.metadata.map.end.trailing.clojure\"\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.metadata.map.end.clojure\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.metadata.map.clojure\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"$self\"\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\": \"(\\\\s)\",\n\t\t\t\t\t\"name\": \"meta.metadata.simple.clojure\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#keyword\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"$self\"\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\"quoted-sexp\": {\n\t\t\t\"begin\": \"(['``]\\\\()\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.section.expression.begin.clojure\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(\\\\))$|(\\\\)(?=[\\\\}\\\\]\\\\)\\\\s]*(?:;|$)))|(\\\\))\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.section.expression.end.trailing.clojure\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"punctuation.section.expression.end.trailing.clojure\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"punctuation.section.expression.end.clojure\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"meta.quoted-expression.clojure\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"$self\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"regexp\": {\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.regexp.begin.clojure\"\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.regexp.end.clojure\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"string.regexp.clojure\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#regexp_escaped_char\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"regexp_escaped_char\": {\n\t\t\t\"match\": \"\\\\\\\\.\",\n\t\t\t\"name\": \"constant.character.escape.clojure\"\n\t\t},\n\t\t\"set\": {\n\t\t\t\"begin\": \"(\\\\#\\\\{)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.section.set.begin.clojure\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(\\\\}(?=[\\\\}\\\\]\\\\)\\\\s]*(?:;|$)))|(\\\\})\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.section.set.end.trailing.clojure\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"punctuation.section.set.end.clojure\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"meta.set.clojure\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"$self\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"sexp\": {\n\t\t\t\"begin\": \"(\\\\()\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.section.expression.begin.clojure\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(\\\\))$|(\\\\)(?=[\\\\}\\\\]\\\\)\\\\s]*(?:;|$)))|(\\\\))\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.section.expression.end.trailing.clojure\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"punctuation.section.expression.end.trailing.clojure\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"punctuation.section.expression.end.clojure\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"meta.expression.clojure\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(?<=\\\\()(ns|declare|def[\\\\w\\\\d._:+=><!?*-]*|[\\\\w._:+=><!?*-][\\\\w\\\\d._:+=><!?*-]*/def[\\\\w\\\\d._:+=><!?*-]*)\\\\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.clojure\"\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.definition.global.clojure\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#metadata\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#dynamic-variables\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"([\\\\p{L}\\\\.\\\\-\\\\_\\\\+\\\\=\\\\>\\\\<\\\\!\\\\?\\\\*][\\\\w\\\\.\\\\-\\\\_\\\\:\\\\+\\\\=\\\\>\\\\<\\\\!\\\\?\\\\*\\\\d]*)\",\n\t\t\t\t\t\t\t\"name\": \"entity.global.clojure\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"$self\"\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\": \"#keyfn\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#constants\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#vector\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#map\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#set\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#sexp\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?<=\\\\()(.+?)(?=\\\\s|\\\\))\",\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"entity.name.function.clojure\"\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\": \"$self\"\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\": \"$self\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"shebang-comment\": {\n\t\t\t\"begin\": \"^(#!)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.comment.shebang.clojure\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"$\",\n\t\t\t\"name\": \"comment.line.shebang.clojure\"\n\t\t},\n\t\t\"string\": {\n\t\t\t\"begin\": \"(?<!\\\\\\\\)(\\\")\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.string.begin.clojure\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(\\\")\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.string.end.clojure\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"string.quoted.double.clojure\",\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.clojure\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"namespace-symbol\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"([\\\\p{L}\\\\.\\\\-\\\\_\\\\+\\\\=\\\\>\\\\<\\\\!\\\\?\\\\*][\\\\w\\\\.\\\\-\\\\_\\\\:\\\\+\\\\=\\\\>\\\\<\\\\!\\\\?\\\\*\\\\d]*)/\",\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"meta.symbol.namespace.clojure\"\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\"symbol\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"([\\\\p{L}\\\\.\\\\-\\\\_\\\\+\\\\=\\\\>\\\\<\\\\!\\\\?\\\\*][\\\\w\\\\.\\\\-\\\\_\\\\:\\\\+\\\\=\\\\>\\\\<\\\\!\\\\?\\\\*\\\\d]*)\",\n\t\t\t\t\t\"name\": \"meta.symbol.clojure\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"var\": {\n\t\t\t\"match\": \"(?<=(\\\\s|\\\\(|\\\\[|\\\\{)\\\\#)'[\\\\w\\\\.\\\\-\\\\_\\\\:\\\\+\\\\=\\\\>\\\\<\\\\/\\\\!\\\\?\\\\*]+(?=(\\\\s|\\\\)|\\\\]|\\\\}))\",\n\t\t\t\"name\": \"meta.var.clojure\"\n\t\t},\n\t\t\"vector\": {\n\t\t\t\"begin\": \"(\\\\[)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.section.vector.begin.clojure\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(\\\\](?=[\\\\}\\\\]\\\\)\\\\s]*(?:;|$)))|(\\\\])\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.section.vector.end.trailing.clojure\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"punctuation.section.vector.end.clojure\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"meta.vector.clojure\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"$self\"\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}";
2
+ export { clojure_tmLanguage as default };
@@ -0,0 +1,9 @@
1
+ import { registerExtension } from './api2.js';
2
+ import { onExtHostInitialized } from './polyfill.js';
3
+ var manifest = {name:"coffeescript",displayName:"%displayName%",description:"%description%",version:"1.0.0",publisher:"vscode",license:"MIT",engines:{vscode:"*"},scripts:{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin atom/language-coffee-script grammars/coffeescript.cson ./syntaxes/coffeescript.tmLanguage.json"},contributes:{languages:[{id:"coffeescript",extensions:[".coffee",".cson",".iced"],aliases:["CoffeeScript","coffeescript","coffee"],configuration:"./language-configuration.json"}],grammars:[{language:"coffeescript",scopeName:"source.coffee",path:"./syntaxes/coffeescript.tmLanguage.json"}],breakpoints:[{language:"coffeescript"}],snippets:[{language:"coffeescript",path:"./snippets/coffeescript.code-snippets"}],configurationDefaults:{"[coffeescript]":{"diffEditor.ignoreTrimWhitespace":false}}},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-configuration3.js').then(module => module.default ?? module)),
7
+ registerFile('./syntaxes/coffeescript.tmLanguage.json', async () => await import('./coffeescript.tmLanguage.js').then(module => module.default ?? module)),
8
+ registerFile('./snippets/coffeescript.code-snippets', async () => await import('./coffeescript2.js').then(module => module.default ?? module));
9
+ });
@@ -0,0 +1,2 @@
1
+ var coffeescript_tmLanguage = "{\n\t\"information_for_contributors\": [\n\t\t\"This file has been converted from https://github.com/atom/language-coffee-script/blob/master/grammars/coffeescript.cson\",\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/atom/language-coffee-script/commit/0f6db9143663e18b1ad00667820f46747dba495e\",\n\t\"name\": \"CoffeeScript\",\n\t\"scopeName\": \"source.coffee\",\n\t\"patterns\": [\n\t\t{\n\t\t\t\"include\": \"#jsx\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(new)\\\\s+(?:(?:(class)\\\\s+(\\\\w+(?:\\\\.\\\\w*)*)?)|(\\\\w+(?:\\\\.\\\\w*)*))\",\n\t\t\t\"name\": \"meta.class.instance.constructor.coffee\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.operator.new.coffee\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"storage.type.class.coffee\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"entity.name.type.instance.coffee\"\n\t\t\t\t},\n\t\t\t\t\"4\": {\n\t\t\t\t\t\"name\": \"entity.name.type.instance.coffee\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\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.coffee\"\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.coffee\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"string.quoted.single.heredoc.coffee\",\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.escape.backslash.coffee\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"match\": \"(\\\\\\\\).\",\n\t\t\t\t\t\"name\": \"constant.character.escape.backslash.coffee\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\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.coffee\"\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.coffee\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"string.quoted.double.heredoc.coffee\",\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.escape.backslash.coffee\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"match\": \"(\\\\\\\\).\",\n\t\t\t\t\t\"name\": \"constant.character.escape.backslash.coffee\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#interpolated_coffee\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(`)(.*)(`)\",\n\t\t\t\"name\": \"string.quoted.script.coffee\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.string.begin.coffee\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"source.js.embedded.coffee\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"source.js\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.string.end.coffee\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\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.comment.coffee\"\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.comment.coffee\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"comment.block.coffee\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?<=^|\\\\s)@\\\\w*(?=\\\\s)\",\n\t\t\t\t\t\"name\": \"storage.type.annotation.coffee\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\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.comment.coffee\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"$\",\n\t\t\t\"name\": \"comment.line.number-sign.coffee\"\n\t\t},\n\t\t{\n\t\t\t\"begin\": \"///\",\n\t\t\t\"end\": \"(///)[gimuy]*\",\n\t\t\t\"name\": \"string.regexp.multiline.coffee\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.string.begin.coffee\"\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.definition.string.end.coffee\"\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\": \"#heregexp\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\"begin\": \"(?<![\\\\w$])(/)(?=(?![/*+?])(.+)(/)[gimuy]*(?!\\\\s*[\\\\w$/(]))\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.string.begin.coffee\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(/)[gimuy]*(?!\\\\s*[\\\\w$/(])\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.string.end.coffee\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"string.regexp.coffee\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"source.js.regexp\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\"match\": \"\\\\b(?<![\\\\.\\\\$])(break|by|catch|continue|else|finally|for|in|of|if|return|switch|then|throw|try|unless|when|while|until|loop|do|export|import|default|from|as|yield|async|await|(?<=for)\\\\s+own)(?!\\\\s*:)\\\\b\",\n\t\t\t\"name\": \"keyword.control.coffee\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"\\\\b(?<![\\\\.\\\\$])(delete|instanceof|new|typeof)(?!\\\\s*:)\\\\b\",\n\t\t\t\"name\": \"keyword.operator.$1.coffee\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"\\\\b(?<![\\\\.\\\\$])(case|function|var|void|with|const|let|enum|native|__hasProp|__extends|__slice|__bind|__indexOf|implements|interface|package|private|protected|public|static)(?!\\\\s*:)\\\\b\",\n\t\t\t\"name\": \"keyword.reserved.coffee\"\n\t\t},\n\t\t{\n\t\t\t\"begin\": \"(?x)\\n(?<=\\\\s|^)((@)?[a-zA-Z_$][\\\\w$]*)\\n\\\\s*([:=])\\\\s*\\n(?=(\\\\([^\\\\(\\\\)]*\\\\)\\\\s*)?[=-]>)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"entity.name.function.coffee\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"variable.other.readwrite.instance.coffee\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"keyword.operator.assignment.coffee\"\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\": \"storage.type.function.coffee\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"meta.function.coffee\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#function_params\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\"begin\": \"(?x)\\n(?<=\\\\s|^)(?:((')([^']*?)('))|((\\\")([^\\\"]*?)(\\\")))\\n\\\\s*([:=])\\\\s*\\n(?=(\\\\([^\\\\(\\\\)]*\\\\)\\\\s*)?[=-]>)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"string.quoted.single.coffee\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.string.begin.coffee\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"entity.name.function.coffee\"\n\t\t\t\t},\n\t\t\t\t\"4\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.string.end.coffee\"\n\t\t\t\t},\n\t\t\t\t\"5\": {\n\t\t\t\t\t\"name\": \"string.quoted.double.coffee\"\n\t\t\t\t},\n\t\t\t\t\"6\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.string.begin.coffee\"\n\t\t\t\t},\n\t\t\t\t\"7\": {\n\t\t\t\t\t\"name\": \"entity.name.function.coffee\"\n\t\t\t\t},\n\t\t\t\t\"8\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.string.end.coffee\"\n\t\t\t\t},\n\t\t\t\t\"9\": {\n\t\t\t\t\t\"name\": \"keyword.operator.assignment.coffee\"\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\": \"storage.type.function.coffee\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"meta.function.coffee\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#function_params\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\"begin\": \"(?=(\\\\([^\\\\(\\\\)]*\\\\)\\\\s*)?[=-]>)\",\n\t\t\t\"end\": \"[=-]>\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"storage.type.function.coffee\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"meta.function.inline.coffee\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#function_params\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\"begin\": \"(?<=\\\\s|^)({)(?=[^'\\\"#]+?}[\\\\s\\\\]}]*=)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.destructuring.begin.bracket.curly.coffee\"\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.destructuring.end.bracket.curly.coffee\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"meta.variable.assignment.destructured.object.coffee\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"$self\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"[a-zA-Z$_]\\\\w*\",\n\t\t\t\t\t\"name\": \"variable.assignment.coffee\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\"begin\": \"(?<=\\\\s|^)(\\\\[)(?=[^'\\\"#]+?\\\\][\\\\s\\\\]}]*=)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.destructuring.begin.bracket.square.coffee\"\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.destructuring.end.bracket.square.coffee\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"name\": \"meta.variable.assignment.destructured.array.coffee\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"$self\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"[a-zA-Z$_]\\\\w*\",\n\t\t\t\t\t\"name\": \"variable.assignment.coffee\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\"match\": \"\\\\b(?<!\\\\.|::)(true|on|yes)(?!\\\\s*[:=][^=])\\\\b\",\n\t\t\t\"name\": \"constant.language.boolean.true.coffee\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"\\\\b(?<!\\\\.|::)(false|off|no)(?!\\\\s*[:=][^=])\\\\b\",\n\t\t\t\"name\": \"constant.language.boolean.false.coffee\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"\\\\b(?<!\\\\.|::)null(?!\\\\s*[:=][^=])\\\\b\",\n\t\t\t\"name\": \"constant.language.null.coffee\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"\\\\b(?<!\\\\.|::)extends(?!\\\\s*[:=])\\\\b\",\n\t\t\t\"name\": \"variable.language.coffee\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?<!\\\\.)\\\\b(?<!\\\\$)(super|this|arguments)(?!\\\\s*[:=][^=]|\\\\$)\\\\b\",\n\t\t\t\"name\": \"variable.language.$1.coffee\"\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.class.coffee\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"keyword.control.inheritance.coffee\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"entity.other.inherited-class.coffee\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"match\": \"(?<=\\\\s|^|\\\\[|\\\\()(class)\\\\s+(extends)\\\\s+(@?[a-zA-Z\\\\$\\\\._][\\\\w\\\\.]*)\",\n\t\t\t\"name\": \"meta.class.coffee\"\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.class.coffee\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"entity.name.type.class.coffee\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"keyword.control.inheritance.coffee\"\n\t\t\t\t},\n\t\t\t\t\"4\": {\n\t\t\t\t\t\"name\": \"entity.other.inherited-class.coffee\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"match\": \"(?<=\\\\s|^|\\\\[|\\\\()(class\\\\b)\\\\s+(@?[a-zA-Z\\\\$_][\\\\w\\\\.]*)?(?:\\\\s+(extends)\\\\s+(@?[a-zA-Z\\\\$\\\\._][\\\\w\\\\.]*))?\",\n\t\t\t\"name\": \"meta.class.coffee\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"\\\\b(debugger|\\\\\\\\)\\\\b\",\n\t\t\t\"name\": \"keyword.other.coffee\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"\\\\b(Array|ArrayBuffer|Blob|Boolean|Date|document|Function|Int(8|16|32|64)Array|Math|Map|Number|Object|Proxy|RegExp|Set|String|WeakMap|window|Uint(8|16|32|64)Array|XMLHttpRequest)\\\\b\",\n\t\t\t\"name\": \"support.class.coffee\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"\\\\b(console)\\\\b\",\n\t\t\t\"name\": \"entity.name.type.object.coffee\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"((?<=console\\\\.)(debug|warn|info|log|error|time|timeEnd|assert))\\\\b\",\n\t\t\t\"name\": \"support.function.console.coffee\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"((?<=\\\\.)(apply|call|concat|every|filter|forEach|from|hasOwnProperty|indexOf|isPrototypeOf|join|lastIndexOf|map|of|pop|propertyIsEnumerable|push|reduce(Right)?|reverse|shift|slice|some|sort|splice|to(Locale)?String|unshift|valueOf))\\\\b\",\n\t\t\t\"name\": \"support.function.method.array.coffee\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"((?<=Array\\\\.)(isArray))\\\\b\",\n\t\t\t\"name\": \"support.function.static.array.coffee\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"((?<=Object\\\\.)(create|definePropert(ies|y)|freeze|getOwnProperty(Descriptors?|Names)|getProperty(Descriptor|Names)|getPrototypeOf|is(Extensible|Frozen|Sealed)?|isnt|keys|preventExtensions|seal))\\\\b\",\n\t\t\t\"name\": \"support.function.static.object.coffee\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"((?<=Math\\\\.)(abs|acos|acosh|asin|asinh|atan|atan2|atanh|ceil|cos|cosh|exp|expm1|floor|hypot|log|log10|log1p|log2|max|min|pow|random|round|sign|sin|sinh|sqrt|tan|tanh|trunc))\\\\b\",\n\t\t\t\"name\": \"support.function.static.math.coffee\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"((?<=Number\\\\.)(is(Finite|Integer|NaN)|toInteger))\\\\b\",\n\t\t\t\"name\": \"support.function.static.number.coffee\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?<!\\\\.)\\\\b(module|exports|__filename|__dirname|global|process)(?!\\\\s*:)\\\\b\",\n\t\t\t\"name\": \"support.variable.coffee\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"\\\\b(Infinity|NaN|undefined)\\\\b\",\n\t\t\t\"name\": \"constant.language.coffee\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#operators\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#method_calls\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#function_calls\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#numbers\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#objects\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#properties\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"::\",\n\t\t\t\"name\": \"keyword.operator.prototype.coffee\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \"(?<!\\\\$)\\\\b[0-9]+[\\\\w$]*\",\n\t\t\t\"name\": \"invalid.illegal.identifier.coffee\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \";\",\n\t\t\t\"name\": \"punctuation.terminator.statement.coffee\"\n\t\t},\n\t\t{\n\t\t\t\"match\": \",\",\n\t\t\t\"name\": \"punctuation.separator.delimiter.coffee\"\n\t\t},\n\t\t{\n\t\t\t\"begin\": \"{\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"meta.brace.curly.coffee\"\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\": \"meta.brace.curly.coffee\"\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\": \"$self\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\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.bracket.square.coffee\"\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.bracket.square.coffee\"\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\"match\": \"(?<!\\\\.)\\\\.{3}\",\n\t\t\t\t\t\"name\": \"keyword.operator.slice.exclusive.coffee\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?<!\\\\.)\\\\.{2}\",\n\t\t\t\t\t\"name\": \"keyword.operator.slice.inclusive.coffee\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"$self\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\"begin\": \"\\\\(\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"meta.brace.round.coffee\"\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\": \"meta.brace.round.coffee\"\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\": \"$self\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#instance_variable\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#single_quoted_string\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#double_quoted_string\"\n\t\t}\n\t],\n\t\"repository\": {\n\t\t\"arguments\": {\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.arguments.begin.bracket.round.coffee\"\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.arguments.end.bracket.round.coffee\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.arguments.coffee\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"$self\"\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\": \"(?=(@|@?[\\\\w$]+|[=-]>|\\\\-\\\\d|\\\\[|{|\\\"|'))\",\n\t\t\t\t\t\"end\": \"(?=\\\\s*(?<![\\\\w$])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![\\\\w$]))|(?=\\\\s*(}|\\\\]|\\\\)|#|$))\",\n\t\t\t\t\t\"name\": \"meta.arguments.coffee\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"$self\"\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\"double_quoted_string\": {\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.coffee\"\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.coffee\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"string.quoted.double.coffee\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\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.escape.backslash.coffee\"\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\"match\": \"(\\\\\\\\)(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)\",\n\t\t\t\t\t\t\t\"name\": \"constant.character.escape.backslash.coffee\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#interpolated_coffee\"\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\"function_calls\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(@)?([\\\\w$]+)(?=\\\\()\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"variable.other.readwrite.instance.coffee\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\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\": \"#function_names\"\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\"end\": \"(?<=\\\\))\",\n\t\t\t\t\t\"name\": \"meta.function-call.coffee\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#arguments\"\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\": \"(?x)\\n(@)?([\\\\w$]+)\\n\\\\s*\\n(?=\\\\s+(?!(?<![\\\\w$])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![\\\\w$]))(?=(@?[\\\\w$]+|[=-]>|\\\\-\\\\d|\\\\[|{|\\\"|')))\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"variable.other.readwrite.instance.coffee\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\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\": \"#function_names\"\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\"end\": \"(?=\\\\s*(?<![\\\\w$])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![\\\\w$]))|(?=\\\\s*(}|\\\\]|\\\\)|#|$))\",\n\t\t\t\t\t\"name\": \"meta.function-call.coffee\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#arguments\"\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\"function_names\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?x)\\n\\\\b(isNaN|isFinite|eval|uneval|parseInt|parseFloat|decodeURI|\\ndecodeURIComponent|encodeURI|encodeURIComponent|escape|unescape|\\nrequire|set(Interval|Timeout)|clear(Interval|Timeout))\\\\b\",\n\t\t\t\t\t\"name\": \"support.function.coffee\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"[a-zA-Z_$][\\\\w$]*\",\n\t\t\t\t\t\"name\": \"entity.name.function.coffee\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\d[\\\\w$]*\",\n\t\t\t\t\t\"name\": \"invalid.illegal.identifier.coffee\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"function_params\": {\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.parameters.begin.bracket.round.coffee\"\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.parameters.end.bracket.round.coffee\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.parameters.coffee\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"([a-zA-Z_$][\\\\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\": \"variable.parameter.function.coffee\"\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\": \"keyword.operator.splat.coffee\"\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\": \"(@(?:[a-zA-Z_$][\\\\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\": \"variable.parameter.function.readwrite.instance.coffee\"\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\": \"keyword.operator.splat.coffee\"\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\": \"$self\"\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\"embedded_comment\": {\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.comment.coffee\"\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.number-sign.coffee\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"instance_variable\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(@)([a-zA-Z_\\\\$]\\\\w*)?\",\n\t\t\t\t\t\"name\": \"variable.other.readwrite.instance.coffee\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"interpolated_coffee\": {\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.section.embedded.coffee\"\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\": \"source.coffee.embedded.source\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"$self\"\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\"method_calls\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(?:(\\\\.)|(::))\\\\s*([\\\\w$]+)\\\\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\": \"punctuation.separator.method.period.coffee\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.prototype.coffee\"\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\": \"#method_names\"\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\"end\": \"(?<=\\\\))\",\n\t\t\t\t\t\"name\": \"meta.method-call.coffee\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#arguments\"\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*([\\\\w$]+)\\\\s*(?=\\\\s+(?!(?<![\\\\w$])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![\\\\w$]))(?=(@|@?[\\\\w$]+|[=-]>|\\\\-\\\\d|\\\\[|{|\\\"|')))\",\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.separator.method.period.coffee\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.prototype.coffee\"\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\": \"#method_names\"\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\"end\": \"(?=\\\\s*(?<![\\\\w$])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![\\\\w$]))|(?=\\\\s*(}|\\\\]|\\\\)|#|$))\",\n\t\t\t\t\t\"name\": \"meta.method-call.coffee\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#arguments\"\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\"method_names\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?x)\\n\\\\bon(Rowsinserted|Rowsdelete|Rowenter|Rowexit|Resize|Resizestart|Resizeend|Reset|\\nReadystatechange|Mouseout|Mouseover|Mousedown|Mouseup|Mousemove|\\nBefore(cut|deactivate|unload|update|paste|print|editfocus|activate)|\\nBlur|Scrolltop|Submit|Select|Selectstart|Selectionchange|Hover|Help|\\nChange|Contextmenu|Controlselect|Cut|Cellchange|Clock|Close|Deactivate|\\nDatasetchanged|Datasetcomplete|Dataavailable|Drop|Drag|Dragstart|Dragover|\\nDragdrop|Dragenter|Dragend|Dragleave|Dblclick|Unload|Paste|Propertychange|Error|\\nErrorupdate|Keydown|Keyup|Keypress|Focus|Load|Activate|Afterupdate|Afterprint|Abort)\\\\b\",\n\t\t\t\t\t\"name\": \"support.function.event-handler.coffee\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?x)\\n\\\\b(shift|showModelessDialog|showModalDialog|showHelp|scroll|scrollX|scrollByPages|\\nscrollByLines|scrollY|scrollTo|stop|strike|sizeToContent|sidebar|signText|sort|\\nsup|sub|substr|substring|splice|split|send|set(Milliseconds|Seconds|Minutes|Hours|\\nMonth|Year|FullYear|Date|UTC(Milliseconds|Seconds|Minutes|Hours|Month|FullYear|Date)|\\nTime|Hotkeys|Cursor|ZOptions|Active|Resizable|RequestHeader)|search|slice|\\nsavePreferences|small|home|handleEvent|navigate|char|charCodeAt|charAt|concat|\\ncontextual|confirm|compile|clear|captureEvents|call|createStyleSheet|createPopup|\\ncreateEventObject|to(GMTString|UTCString|String|Source|UpperCase|LowerCase|LocaleString)|\\ntest|taint|taintEnabled|indexOf|italics|disableExternalCapture|dump|detachEvent|unshift|\\nuntaint|unwatch|updateCommands|join|javaEnabled|pop|push|plugins.refresh|paddings|parse|\\nprint|prompt|preference|enableExternalCapture|exec|execScript|valueOf|UTC|find|file|\\nfileModifiedDate|fileSize|fileCreatedDate|fileUpdatedDate|fixed|fontsize|fontcolor|\\nforward|fromCharCode|watch|link|load|lastIndexOf|anchor|attachEvent|atob|apply|alert|\\nabort|routeEvents|resize|resizeBy|resizeTo|recalc|returnValue|replace|reverse|reload|\\nreleaseCapture|releaseEvents|go|get(Milliseconds|Seconds|Minutes|Hours|Month|Day|Year|FullYear|\\nTime|Date|TimezoneOffset|UTC(Milliseconds|Seconds|Minutes|Hours|Day|Month|FullYear|Date)|\\nAttention|Selection|ResponseHeader|AllResponseHeaders)|moveBy|moveBelow|moveTo|\\nmoveToAbsolute|moveAbove|mergeAttributes|match|margins|btoa|big|bold|borderWidths|blink|back)\\\\b\",\n\t\t\t\t\t\"name\": \"support.function.coffee\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?x)\\n\\\\b(acceptNode|add|addEventListener|addTextTrack|adoptNode|after|animate|append|\\nappendChild|appendData|before|blur|canPlayType|captureStream|\\ncaretPositionFromPoint|caretRangeFromPoint|checkValidity|clear|click|\\ncloneContents|cloneNode|cloneRange|close|closest|collapse|\\ncompareBoundaryPoints|compareDocumentPosition|comparePoint|contains|\\nconvertPointFromNode|convertQuadFromNode|convertRectFromNode|createAttribute|\\ncreateAttributeNS|createCaption|createCDATASection|createComment|\\ncreateContextualFragment|createDocument|createDocumentFragment|\\ncreateDocumentType|createElement|createElementNS|createEntityReference|\\ncreateEvent|createExpression|createHTMLDocument|createNodeIterator|\\ncreateNSResolver|createProcessingInstruction|createRange|createShadowRoot|\\ncreateTBody|createTextNode|createTFoot|createTHead|createTreeWalker|delete|\\ndeleteCaption|deleteCell|deleteContents|deleteData|deleteRow|deleteTFoot|\\ndeleteTHead|detach|disconnect|dispatchEvent|elementFromPoint|elementsFromPoint|\\nenableStyleSheetsForSet|entries|evaluate|execCommand|exitFullscreen|\\nexitPointerLock|expand|extractContents|fastSeek|firstChild|focus|forEach|get|\\ngetAll|getAnimations|getAttribute|getAttributeNames|getAttributeNode|\\ngetAttributeNodeNS|getAttributeNS|getBoundingClientRect|getBoxQuads|\\ngetClientRects|getContext|getDestinationInsertionPoints|getElementById|\\ngetElementsByClassName|getElementsByName|getElementsByTagName|\\ngetElementsByTagNameNS|getItem|getNamedItem|getSelection|getStartDate|\\ngetVideoPlaybackQuality|has|hasAttribute|hasAttributeNS|hasAttributes|\\nhasChildNodes|hasFeature|hasFocus|importNode|initEvent|insertAdjacentElement|\\ninsertAdjacentHTML|insertAdjacentText|insertBefore|insertCell|insertData|\\ninsertNode|insertRow|intersectsNode|isDefaultNamespace|isEqualNode|\\nisPointInRange|isSameNode|item|key|keys|lastChild|load|lookupNamespaceURI|\\nlookupPrefix|matches|move|moveAttribute|moveAttributeNode|moveChild|\\nmoveNamedItem|namedItem|nextNode|nextSibling|normalize|observe|open|\\nparentNode|pause|play|postMessage|prepend|preventDefault|previousNode|\\npreviousSibling|probablySupportsContext|queryCommandEnabled|\\nqueryCommandIndeterm|queryCommandState|queryCommandSupported|queryCommandValue|\\nquerySelector|querySelectorAll|registerContentHandler|registerElement|\\nregisterProtocolHandler|releaseCapture|releaseEvents|remove|removeAttribute|\\nremoveAttributeNode|removeAttributeNS|removeChild|removeEventListener|\\nremoveItem|replace|replaceChild|replaceData|replaceWith|reportValidity|\\nrequestFullscreen|requestPointerLock|reset|scroll|scrollBy|scrollIntoView|\\nscrollTo|seekToNextFrame|select|selectNode|selectNodeContents|set|setAttribute|\\nsetAttributeNode|setAttributeNodeNS|setAttributeNS|setCapture|\\nsetCustomValidity|setEnd|setEndAfter|setEndBefore|setItem|setNamedItem|\\nsetRangeText|setSelectionRange|setSinkId|setStart|setStartAfter|setStartBefore|\\nslice|splitText|stepDown|stepUp|stopImmediatePropagation|stopPropagation|\\nsubmit|substringData|supports|surroundContents|takeRecords|terminate|toBlob|\\ntoDataURL|toggle|toString|values|write|writeln)\\\\b\",\n\t\t\t\t\t\"name\": \"support.function.dom.coffee\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"[a-zA-Z_$][\\\\w$]*\",\n\t\t\t\t\t\"name\": \"entity.name.function.coffee\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\d[\\\\w$]*\",\n\t\t\t\t\t\"name\": \"invalid.illegal.identifier.coffee\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"numbers\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\b(?<!\\\\$)0(x|X)[0-9a-fA-F]+\\\\b(?!\\\\$)\",\n\t\t\t\t\t\"name\": \"constant.numeric.hex.coffee\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\b(?<!\\\\$)0(b|B)[01]+\\\\b(?!\\\\$)\",\n\t\t\t\t\t\"name\": \"constant.numeric.binary.coffee\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\b(?<!\\\\$)0(o|O)?[0-7]+\\\\b(?!\\\\$)\",\n\t\t\t\t\t\"name\": \"constant.numeric.octal.coffee\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?x)\\n(?<!\\\\$)(?:\\n (?:\\\\b[0-9]+(\\\\.)[0-9]+[eE][+-]?[0-9]+\\\\b)| # 1.1E+3\\n (?:\\\\b[0-9]+(\\\\.)[eE][+-]?[0-9]+\\\\b)| # 1.E+3\\n (?:\\\\B(\\\\.)[0-9]+[eE][+-]?[0-9]+\\\\b)| # .1E+3\\n (?:\\\\b[0-9]+[eE][+-]?[0-9]+\\\\b)| # 1E+3\\n (?:\\\\b[0-9]+(\\\\.)[0-9]+\\\\b)| # 1.1\\n (?:\\\\b[0-9]+(?=\\\\.{2,3}))| # 1 followed by a slice\\n (?:\\\\b[0-9]+(\\\\.)\\\\B)| # 1.\\n (?:\\\\B(\\\\.)[0-9]+\\\\b)| # .1\\n (?:\\\\b[0-9]+\\\\b(?!\\\\.)) # 1\\n)(?!\\\\$)\",\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"constant.numeric.decimal.coffee\"\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.separator.decimal.period.coffee\"\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.decimal.period.coffee\"\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.decimal.period.coffee\"\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.decimal.period.coffee\"\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.separator.decimal.period.coffee\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"6\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.separator.decimal.period.coffee\"\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\"objects\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"[A-Z][A-Z0-9_$]*(?=\\\\s*\\\\??(\\\\.\\\\s*[a-zA-Z_$]\\\\w*|::))\",\n\t\t\t\t\t\"name\": \"constant.other.object.coffee\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"[a-zA-Z_$][\\\\w$]*(?=\\\\s*\\\\??(\\\\.\\\\s*[a-zA-Z_$]\\\\w*|::))\",\n\t\t\t\t\t\"name\": \"variable.other.object.coffee\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"operators\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?:([a-zA-Z$_][\\\\w$]*)?\\\\s+|(?<![\\\\w$]))(and=|or=)\",\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"variable.assignment.coffee\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.assignment.compound.coffee\"\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\": \"([a-zA-Z$_][\\\\w$]*)?\\\\s*(%=|\\\\+=|-=|\\\\*=|&&=|\\\\|\\\\|=|\\\\?=|(?<!\\\\()/=)\",\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"variable.assignment.coffee\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.assignment.compound.coffee\"\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\": \"([a-zA-Z$_][\\\\w$]*)?\\\\s*(&=|\\\\^=|<<=|>>=|>>>=|\\\\|=)\",\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"variable.assignment.coffee\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.assignment.compound.bitwise.coffee\"\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\": \"<<|>>>|>>\",\n\t\t\t\t\t\"name\": \"keyword.operator.bitwise.shift.coffee\"\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.comparison.coffee\"\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.logical.coffee\"\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.bitwise.coffee\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"([a-zA-Z$_][\\\\w$]*)?\\\\s*(=|:(?!:))(?![>=])\",\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"variable.assignment.coffee\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.assignment.coffee\"\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\": \"--\",\n\t\t\t\t\t\"name\": \"keyword.operator.decrement.coffee\"\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.increment.coffee\"\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.splat.coffee\"\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.existential.coffee\"\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.coffee\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?x)\\n\\\\b(?<![\\\\.\\\\$])\\n(?:\\n (and|or|not) # logical\\n |\\n (is|isnt) # comparison\\n)\\n(?!\\\\s*:)\\\\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\": \"keyword.operator.logical.coffee\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.comparison.coffee\"\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\"properties\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?:(\\\\.)|(::))\\\\s*([A-Z][A-Z0-9_$]*\\\\b\\\\$*)(?=\\\\s*\\\\??(\\\\.\\\\s*[a-zA-Z_$]\\\\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.separator.property.period.coffee\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.prototype.coffee\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\"name\": \"constant.other.object.property.coffee\"\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*(\\\\$*[a-zA-Z_$][\\\\w$]*)(?=\\\\s*\\\\??(\\\\.\\\\s*[a-zA-Z_$]\\\\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.separator.property.period.coffee\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.prototype.coffee\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\"name\": \"variable.other.object.property.coffee\"\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*([A-Z][A-Z0-9_$]*\\\\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.separator.property.period.coffee\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.prototype.coffee\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\"name\": \"constant.other.property.coffee\"\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*(\\\\$*[a-zA-Z_$][\\\\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.separator.property.period.coffee\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.prototype.coffee\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\"name\": \"variable.other.property.coffee\"\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*([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.separator.property.period.coffee\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.prototype.coffee\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\"name\": \"invalid.illegal.identifier.coffee\"\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\"single_quoted_string\": {\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.coffee\"\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.coffee\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"string.quoted.single.coffee\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\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.escape.backslash.coffee\"\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\"match\": \"(\\\\\\\\)(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)\",\n\t\t\t\t\t\t\t\"name\": \"constant.character.escape.backslash.coffee\"\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\"regex-character-class\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\\\\\[wWsSdD]|\\\\.\",\n\t\t\t\t\t\"name\": \"constant.character.character-class.regexp\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\\\\\([0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4})\",\n\t\t\t\t\t\"name\": \"constant.character.numeric.regexp\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\\\\\c[A-Z]\",\n\t\t\t\t\t\"name\": \"constant.character.control.regexp\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\\\\\.\",\n\t\t\t\t\t\"name\": \"constant.character.escape.backslash.regexp\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"heregexp\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\\\\\[bB]|\\\\^|\\\\$\",\n\t\t\t\t\t\"name\": \"keyword.control.anchor.regexp\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\\\\\[1-9]\\\\d*\",\n\t\t\t\t\t\"name\": \"keyword.other.back-reference.regexp\"\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.quantifier.regexp\"\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.or.regexp\"\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\": \"punctuation.definition.group.regexp\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\"name\": \"meta.assertion.look-ahead.regexp\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\"name\": \"meta.assertion.negative-look-ahead.regexp\"\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.definition.group.regexp\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.group.assertion.regexp\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#heregexp\"\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.group.regexp\"\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.group.regexp\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.group.regexp\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#heregexp\"\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\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.character-class.regexp\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.negation.regexp\"\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.definition.character-class.regexp\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"constant.other.character-class.set.regexp\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\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.character.numeric.regexp\"\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\": \"constant.character.control.regexp\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"constant.character.escape.backslash.regexp\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"constant.character.numeric.regexp\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"5\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"constant.character.control.regexp\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"6\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"constant.character.escape.backslash.regexp\"\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\"match\": \"(?:.|(\\\\\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))\\\\-(?:[^\\\\]\\\\\\\\]|(\\\\\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))\",\n\t\t\t\t\t\t\t\"name\": \"constant.other.character-class.range.regexp\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#regex-character-class\"\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\": \"#regex-character-class\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#interpolated_coffee\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#embedded_comment\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"jsx\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#jsx-tag\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#jsx-end-tag\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"jsx-expression\": {\n\t\t\t\"begin\": \"{\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"meta.brace.curly.coffee\"\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\": \"meta.brace.curly.coffee\"\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\": \"#double_quoted_string\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"$self\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"jsx-attribute\": {\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\": \"entity.other.attribute-name.coffee\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.assignment.coffee\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"match\": \"(?:^|\\\\s+)([-\\\\w.]+)\\\\s*(=)\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#double_quoted_string\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#single_quoted_string\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#jsx-expression\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"jsx-tag\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(<)([-\\\\w\\\\.]+)\",\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.coffee\"\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.coffee\"\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.coffee\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#jsx-attribute\"\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\"jsx-end-tag\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(</)([-\\\\w\\\\.]+)\",\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.coffee\"\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.coffee\"\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.coffee\"\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}";
2
+ export { coffeescript_tmLanguage as default };
@@ -0,0 +1,2 @@
1
+ var coffeescript = "{\n\t\"Region Start\": {\n\t\t\"prefix\": \"#region\",\n\t\t\"body\": [\n\t\t\t\"#region\"\n\t\t],\n\t\t\"description\": \"Folding Region Start\"\n\t},\n\t\"Region End\": {\n\t\t\"prefix\": \"#endregion\",\n\t\t\"body\": [\n\t\t\t\"#endregion\"\n\t\t],\n\t\t\"description\": \"Folding Region End\"\n\t}\n}\n";
2
+ export { coffeescript as default };
@@ -146,15 +146,28 @@ declare namespace Event {
146
146
  */
147
147
  function map<I, O>(event: Event<I>, map: (i: I) => O, disposable?: DisposableStore): Event<O>;
148
148
  /**
149
+ * Wraps an event in another event that performs some function on the event object before firing.
150
+ *
149
151
  * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned
150
152
  * event is accessible to "third parties", e.g the event is a public property. Otherwise a leaked listener on the
151
153
  * returned event causes this utility to leak a listener on the original event.
154
+ *
155
+ * @param event The event source for the new event.
156
+ * @param each The function to perform on the event object.
157
+ * @param disposable A disposable store to add the new EventEmitter to.
152
158
  */
153
159
  function forEach<I>(event: Event<I>, each: (i: I) => void, disposable?: DisposableStore): Event<I>;
154
160
  /**
161
+ * Wraps an event in another event that fires only when some condition is met.
162
+ *
155
163
  * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned
156
164
  * event is accessible to "third parties", e.g the event is a public property. Otherwise a leaked listener on the
157
165
  * returned event causes this utility to leak a listener on the original event.
166
+ *
167
+ * @param event The event source for the new event.
168
+ * @param filter The filter function that defines the condition. The event will fire for the object if this function
169
+ * returns true.
170
+ * @param disposable A disposable store to add the new EventEmitter to.
158
171
  */
159
172
  function filter<T, U>(event: Event<T | U>, filter: (e: T | U) => e is T, disposable?: DisposableStore): Event<T>;
160
173
  function filter<T>(event: Event<T>, filter: (e: T) => boolean, disposable?: DisposableStore): Event<T>;
@@ -164,8 +177,7 @@ declare namespace Event {
164
177
  */
165
178
  function signal<T>(event: Event<T>): Event<void>;
166
179
  /**
167
- * Given a collection of events, returns a single event which emits
168
- * whenever any of the provided events emit.
180
+ * Given a collection of events, returns a single event which emits whenever any of the provided events emit.
169
181
  */
170
182
  function any<T>(...events: Event<T>[]): Event<T>;
171
183
  function any(...events: Event<any>[]): Event<void>;
@@ -204,9 +216,22 @@ declare namespace Event {
204
216
  */
205
217
  function accumulate<T>(event: Event<T>, delay?: number, disposable?: DisposableStore): Event<T[]>;
206
218
  /**
219
+ * Filters an event such that some condition is _not_ met more than once in a row, effectively ensuring duplicate
220
+ * event objects from different sources do not fire the same event object.
221
+ *
207
222
  * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned
208
223
  * event is accessible to "third parties", e.g the event is a public property. Otherwise a leaked listener on the
209
224
  * returned event causes this utility to leak a listener on the original event.
225
+ *
226
+ * @param event The event source for the new event.
227
+ * @param equals The equality condition.
228
+ * @param disposable A disposable store to add the new EventEmitter to.
229
+ *
230
+ * @example
231
+ * ```
232
+ * // Fire only one time when a single window is opened or focused
233
+ * Event.latch(Event.any(onDidOpenWindow, onDidFocusWindow))
234
+ * ```
210
235
  */
211
236
  function latch<T>(event: Event<T>, equals?: (a: T, b: T) => boolean, disposable?: DisposableStore): Event<T>;
212
237
  /**
@@ -228,9 +253,24 @@ declare namespace Event {
228
253
  */
229
254
  function split<T, U>(event: Event<T | U>, isT: (e: T | U) => e is T, disposable?: DisposableStore): [Event<T>, Event<U>];
230
255
  /**
256
+ * Buffers an event until it has a listener attached.
257
+ *
231
258
  * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned
232
259
  * event is accessible to "third parties", e.g the event is a public property. Otherwise a leaked listener on the
233
260
  * returned event causes this utility to leak a listener on the original event.
261
+ *
262
+ * @param event The event source for the new event.
263
+ * @param flushAfterTimeout Determines whether to flush the buffer after a timeout immediately or after a
264
+ * `setTimeout` when the first event listener is added.
265
+ * @param _buffer Internal: A source event array used for tests.
266
+ *
267
+ * @example
268
+ * ```
269
+ * // Start accumulating events, when the first listener is attached, flush
270
+ * // the event after a timeout such that multiple listeners attached before
271
+ * // the timeout would receive the event
272
+ * this.onInstallExtension = Event.buffer(service.onInstallExtension, true);
273
+ * ```
234
274
  */
235
275
  function buffer<T>(event: Event<T>, flushAfterTimeout?: boolean, _buffer?: T[]): Event<T>;
236
276
  interface IChainableEvent<T> extends IDisposable {
@@ -246,23 +286,213 @@ declare namespace Event {
246
286
  on(listener: (e: T) => any, thisArgs?: any, disposables?: IDisposable[] | DisposableStore): IDisposable;
247
287
  once(listener: (e: T) => any, thisArgs?: any, disposables?: IDisposable[]): IDisposable;
248
288
  }
289
+ /**
290
+ * Wraps the event in an {@link IChainableEvent}, allowing a more functional programming style.
291
+ *
292
+ * @example
293
+ * ```
294
+ * // Normal
295
+ * const onEnterPressNormal = Event.filter(
296
+ * Event.map(onKeyPress.event, e => new StandardKeyboardEvent(e)),
297
+ * e.keyCode === KeyCode.Enter
298
+ * ).event;
299
+ *
300
+ * // Using chain
301
+ * const onEnterPressChain = Event.chain(onKeyPress.event)
302
+ * .map(e => new StandardKeyboardEvent(e))
303
+ * .filter(e => e.keyCode === KeyCode.Enter)
304
+ * .event;
305
+ * ```
306
+ */
249
307
  function chain<T>(event: Event<T>): IChainableEvent<T>;
250
308
  interface NodeEventEmitter {
251
309
  on(event: string | symbol, listener: Function): unknown;
252
310
  removeListener(event: string | symbol, listener: Function): unknown;
253
311
  }
312
+ /**
313
+ * Creates an {@link Event} from a node event emitter.
314
+ */
254
315
  function fromNodeEventEmitter<T>(emitter: NodeEventEmitter, eventName: string, map?: (...args: any[]) => T): Event<T>;
255
316
  interface DOMEventEmitter {
256
317
  addEventListener(event: string | symbol, listener: Function): void;
257
318
  removeEventListener(event: string | symbol, listener: Function): void;
258
319
  }
320
+ /**
321
+ * Creates an {@link Event} from a DOM event emitter.
322
+ */
259
323
  function fromDOMEventEmitter<T>(emitter: DOMEventEmitter, eventName: string, map?: (...args: any[]) => T): Event<T>;
324
+ /**
325
+ * Creates a promise out of an event, using the {@link Event.once} helper.
326
+ */
260
327
  function toPromise<T>(event: Event<T>): Promise<T>;
328
+ /**
329
+ * Adds a listener to an event and calls the listener immediately with undefined as the event object.
330
+ *
331
+ * @example
332
+ * ```
333
+ * // Initialize the UI and update it when dataChangeEvent fires
334
+ * runAndSubscribe(dataChangeEvent, () => this._updateUI());
335
+ * ```
336
+ */
261
337
  function runAndSubscribe<T>(event: Event<T>, handler: (e: T | undefined) => any): IDisposable;
338
+ /**
339
+ * Adds a listener to an event and calls the listener immediately with undefined as the event object. A new
340
+ * {@link DisposableStore} is passed to the listener which is disposed when the returned disposable is disposed.
341
+ */
262
342
  function runAndSubscribeWithStore<T>(event: Event<T>, handler: (e: T | undefined, disposableStore: DisposableStore) => any): IDisposable;
263
343
  function fromObservable<T>(obs: IObservable<T, any>, store?: DisposableStore): Event<T>;
264
344
  }
265
345
 
346
+ /**
347
+ * Uniform Resource Identifier (URI) http://tools.ietf.org/html/rfc3986.
348
+ * This class is a simple parser which creates the basic component parts
349
+ * (http://tools.ietf.org/html/rfc3986#section-3) with minimal validation
350
+ * and encoding.
351
+ *
352
+ * ```txt
353
+ * foo://example.com:8042/over/there?name=ferret#nose
354
+ * \_/ \______________/\_________/ \_________/ \__/
355
+ * | | | | |
356
+ * scheme authority path query fragment
357
+ * | _____________________|__
358
+ * / \ / \
359
+ * urn:example:animal:ferret:nose
360
+ * ```
361
+ */
362
+ declare class URI implements UriComponents {
363
+ static isUri(thing: any): thing is URI;
364
+ /**
365
+ * scheme is the 'http' part of 'http://www.example.com/some/path?query#fragment'.
366
+ * The part before the first colon.
367
+ */
368
+ readonly scheme: string;
369
+ /**
370
+ * authority is the 'www.example.com' part of 'http://www.example.com/some/path?query#fragment'.
371
+ * The part between the first double slashes and the next slash.
372
+ */
373
+ readonly authority: string;
374
+ /**
375
+ * path is the '/some/path' part of 'http://www.example.com/some/path?query#fragment'.
376
+ */
377
+ readonly path: string;
378
+ /**
379
+ * query is the 'query' part of 'http://www.example.com/some/path?query#fragment'.
380
+ */
381
+ readonly query: string;
382
+ /**
383
+ * fragment is the 'fragment' part of 'http://www.example.com/some/path?query#fragment'.
384
+ */
385
+ readonly fragment: string;
386
+ /**
387
+ * @internal
388
+ */
389
+ protected constructor(scheme: string, authority?: string, path?: string, query?: string, fragment?: string, _strict?: boolean);
390
+ /**
391
+ * @internal
392
+ */
393
+ protected constructor(components: UriComponents);
394
+ /**
395
+ * Returns a string representing the corresponding file system path of this URI.
396
+ * Will handle UNC paths, normalizes windows drive letters to lower-case, and uses the
397
+ * platform specific path separator.
398
+ *
399
+ * * Will *not* validate the path for invalid characters and semantics.
400
+ * * Will *not* look at the scheme of this URI.
401
+ * * The result shall *not* be used for display purposes but for accessing a file on disk.
402
+ *
403
+ *
404
+ * The *difference* to `URI#path` is the use of the platform specific separator and the handling
405
+ * of UNC paths. See the below sample of a file-uri with an authority (UNC path).
406
+ *
407
+ * ```ts
408
+ const u = URI.parse('file://server/c$/folder/file.txt')
409
+ u.authority === 'server'
410
+ u.path === '/shares/c$/file.txt'
411
+ u.fsPath === '\\server\c$\folder\file.txt'
412
+ ```
413
+ *
414
+ * Using `URI#path` to read a file (using fs-apis) would not be enough because parts of the path,
415
+ * namely the server name, would be missing. Therefore `URI#fsPath` exists - it's sugar to ease working
416
+ * with URIs that represent files on disk (`file` scheme).
417
+ */
418
+ get fsPath(): string;
419
+ with(change: {
420
+ scheme?: string;
421
+ authority?: string | null;
422
+ path?: string | null;
423
+ query?: string | null;
424
+ fragment?: string | null;
425
+ }): URI;
426
+ /**
427
+ * Creates a new URI from a string, e.g. `http://www.example.com/some/path`,
428
+ * `file:///usr/home`, or `scheme:with/path`.
429
+ *
430
+ * @param value A string which represents an URI (see `URI#toString`).
431
+ */
432
+ static parse(value: string, _strict?: boolean): URI;
433
+ /**
434
+ * Creates a new URI from a file system path, e.g. `c:\my\files`,
435
+ * `/usr/home`, or `\\server\share\some\path`.
436
+ *
437
+ * The *difference* between `URI#parse` and `URI#file` is that the latter treats the argument
438
+ * as path, not as stringified-uri. E.g. `URI.file(path)` is **not the same as**
439
+ * `URI.parse('file://' + path)` because the path might contain characters that are
440
+ * interpreted (# and ?). See the following sample:
441
+ * ```ts
442
+ const good = URI.file('/coding/c#/project1');
443
+ good.scheme === 'file';
444
+ good.path === '/coding/c#/project1';
445
+ good.fragment === '';
446
+ const bad = URI.parse('file://' + '/coding/c#/project1');
447
+ bad.scheme === 'file';
448
+ bad.path === '/coding/c'; // path is now broken
449
+ bad.fragment === '/project1';
450
+ ```
451
+ *
452
+ * @param path A file system path (see `URI#fsPath`)
453
+ */
454
+ static file(path: string): URI;
455
+ static from(components: {
456
+ scheme: string;
457
+ authority?: string;
458
+ path?: string;
459
+ query?: string;
460
+ fragment?: string;
461
+ }): URI;
462
+ /**
463
+ * Join a URI path with path fragments and normalizes the resulting path.
464
+ *
465
+ * @param uri The input URI.
466
+ * @param pathFragment The path fragment to add to the URI path.
467
+ * @returns The resulting URI.
468
+ */
469
+ static joinPath(uri: URI, ...pathFragment: string[]): URI;
470
+ /**
471
+ * Creates a string representation for this URI. It's guaranteed that calling
472
+ * `URI.parse` with the result of this function creates an URI which is equal
473
+ * to this URI.
474
+ *
475
+ * * The result shall *not* be used for display purposes but for externalization or transport.
476
+ * * The result will be encoded using the percentage encoding and encoding happens mostly
477
+ * ignore the scheme-specific encoding rules.
478
+ *
479
+ * @param skipEncoding Do not encode the result, default is `false`
480
+ */
481
+ toString(skipEncoding?: boolean): string;
482
+ toJSON(): UriComponents;
483
+ static revive(data: UriComponents | URI): URI;
484
+ static revive(data: UriComponents | URI | undefined): URI | undefined;
485
+ static revive(data: UriComponents | URI | null): URI | null;
486
+ static revive(data: UriComponents | URI | undefined | null): URI | undefined | null;
487
+ }
488
+ interface UriComponents {
489
+ scheme: string;
490
+ authority: string;
491
+ path: string;
492
+ query: string;
493
+ fragment: string;
494
+ }
495
+
266
496
  /**
267
497
  * An interface for a JavaScript object that
268
498
  * acts a dictionary. The keys are strings.
@@ -560,6 +790,36 @@ type IConfigurationDefaultOverride = {
560
790
  readonly valuesSources?: Map<string, IExtensionInfo | string>;
561
791
  };
562
792
 
793
+ interface IBaseWorkspaceIdentifier {
794
+ /**
795
+ * Every workspace (multi-root, single folder or empty)
796
+ * has a unique identifier. It is not possible to open
797
+ * a workspace with the same `id` in multiple windows
798
+ */
799
+ readonly id: string;
800
+ }
801
+ /**
802
+ * A single folder workspace identifier is a path to a folder + id.
803
+ */
804
+ interface ISingleFolderWorkspaceIdentifier extends IBaseWorkspaceIdentifier {
805
+ /**
806
+ * Folder path as `URI`.
807
+ */
808
+ readonly uri: URI;
809
+ }
810
+ /**
811
+ * A multi-root workspace identifier is a path to a workspace file + id.
812
+ */
813
+ interface IWorkspaceIdentifier extends IBaseWorkspaceIdentifier {
814
+ /**
815
+ * Workspace config file path as `URI`.
816
+ */
817
+ configPath: URI;
818
+ }
819
+ interface IEmptyWorkspaceIdentifier extends IBaseWorkspaceIdentifier {
820
+ }
821
+ type IAnyWorkspaceIdentifier = IWorkspaceIdentifier | ISingleFolderWorkspaceIdentifier | IEmptyWorkspaceIdentifier;
822
+
563
823
  type IEditorOverrideServices = monaco.editor.IEditorOverrideServices
564
824
 
565
825
  interface IThemeScopedColorCustomizations {
@@ -569,10 +829,15 @@ interface IColorCustomizations {
569
829
  [colorIdOrThemeScope: string]: IThemeScopedColorCustomizations | string;
570
830
  }
571
831
 
832
+ interface IWorkspaceFolderCreationData {
833
+ readonly uri: URI;
834
+ readonly name?: string;
835
+ }
836
+
572
837
  declare function updateUserConfiguration(configurationJson: string): Promise<void>;
573
838
  declare function getUserConfiguration(): Promise<string>;
574
839
  declare function onUserConfigurationChange(callback: () => void): vscode.Disposable;
575
840
  declare const configurationRegistry: IConfigurationRegistry;
576
- declare function getServiceOverride(): IEditorOverrideServices;
841
+ declare function getServiceOverride(defaultWorkspaceUri: URI): IEditorOverrideServices;
577
842
 
578
- export { ConfigurationScope, IColorCustomizations, IConfigurationDefaults, IConfigurationNode, IThemeScopedColorCustomizations, configurationRegistry, getServiceOverride as default, getUserConfiguration, onUserConfigurationChange, updateUserConfiguration };
843
+ export { ConfigurationScope, IAnyWorkspaceIdentifier, IColorCustomizations, IConfigurationDefaults, IConfigurationNode, IThemeScopedColorCustomizations, IWorkspaceFolderCreationData, configurationRegistry, getServiceOverride as default, getUserConfiguration, onUserConfigurationChange, updateUserConfiguration };