@codingame/monaco-vscode-api 1.78.6-next.0 → 1.78.7

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 (558) hide show
  1. package/README.md +1 -2
  2. package/dist/api.js +4 -5
  3. package/dist/assets/{compositepart.css → sidebysideeditor.css} +2 -10
  4. package/dist/default-extensions/bat.js +4 -5
  5. package/dist/default-extensions/clojure.js +3 -4
  6. package/dist/default-extensions/coffeescript.js +4 -5
  7. package/dist/default-extensions/cpp.js +9 -10
  8. package/dist/default-extensions/csharp.js +4 -5
  9. package/dist/default-extensions/css.js +3 -4
  10. package/dist/default-extensions/dart.js +3 -4
  11. package/dist/default-extensions/diff.js +3 -4
  12. package/dist/default-extensions/docker.js +3 -4
  13. package/dist/default-extensions/fsharp.js +4 -5
  14. package/dist/default-extensions/go.js +3 -4
  15. package/dist/default-extensions/groovy.js +4 -5
  16. package/dist/default-extensions/handlebars.js +3 -4
  17. package/dist/default-extensions/hlsl.js +3 -4
  18. package/dist/default-extensions/html.js +5 -6
  19. package/dist/default-extensions/ini.js +4 -5
  20. package/dist/default-extensions/java.js +4 -5
  21. package/dist/default-extensions/javascript.js +7 -8
  22. package/dist/default-extensions/json.js +4 -5
  23. package/dist/default-extensions/julia.js +3 -4
  24. package/dist/default-extensions/latex.js +9 -10
  25. package/dist/default-extensions/less.js +3 -4
  26. package/dist/default-extensions/log.js +2 -3
  27. package/dist/default-extensions/lua.js +3 -4
  28. package/dist/default-extensions/make.js +3 -4
  29. package/dist/default-extensions/markdown-basics.js +4 -5
  30. package/dist/default-extensions/objective-c.js +4 -5
  31. package/dist/default-extensions/perl.js +5 -6
  32. package/dist/default-extensions/php.js +5 -6
  33. package/dist/default-extensions/powershell.js +3 -4
  34. package/dist/default-extensions/pug.js +3 -4
  35. package/dist/default-extensions/python.js +4 -5
  36. package/dist/default-extensions/r.js +3 -4
  37. package/dist/default-extensions/razor.js +3 -4
  38. package/dist/default-extensions/ruby.js +3 -4
  39. package/dist/default-extensions/rust.js +3 -4
  40. package/dist/default-extensions/scss.js +4 -5
  41. package/dist/default-extensions/shaderlab.js +3 -4
  42. package/dist/default-extensions/shellscript.js +3 -4
  43. package/dist/default-extensions/sql.js +3 -4
  44. package/dist/default-extensions/swift.js +4 -5
  45. package/dist/default-extensions/theme-abyss.js +2 -3
  46. package/dist/default-extensions/theme-defaults.js +10 -31
  47. package/dist/default-extensions/theme-kimbie-dark.js +2 -3
  48. package/dist/default-extensions/theme-monokai-dimmed.js +2 -3
  49. package/dist/default-extensions/theme-monokai.js +2 -3
  50. package/dist/default-extensions/theme-quietlight.js +2 -3
  51. package/dist/default-extensions/theme-red.js +2 -3
  52. package/dist/default-extensions/theme-seti.js +2 -5
  53. package/dist/default-extensions/theme-solarized-dark.js +2 -3
  54. package/dist/default-extensions/theme-solarized-light.js +2 -3
  55. package/dist/default-extensions/theme-tomorrow-night-blue.js +2 -3
  56. package/dist/default-extensions/typescript-basics.js +7 -8
  57. package/dist/default-extensions/typescript-language-features.js +6 -0
  58. package/dist/default-extensions/vb.js +4 -5
  59. package/dist/default-extensions/xml.js +5 -6
  60. package/dist/default-extensions/yaml.js +3 -4
  61. package/dist/extension-tools-b68a64de.js +1024 -0
  62. package/dist/extensions.d.ts +2 -18
  63. package/dist/extensions.js +4 -99
  64. package/dist/monaco-treemending.js +27 -5
  65. package/dist/rollup-extension-directory-plugin.d.ts +2 -5
  66. package/dist/rollup-extension-directory-plugin.js +46 -74
  67. package/dist/rollup-vsix-plugin.d.ts +2 -4
  68. package/dist/rollup-vsix-plugin.js +19 -57
  69. package/dist/service-override/configuration.js +4 -16
  70. package/dist/service-override/files.d.ts +3 -90
  71. package/dist/service-override/files.js +15 -37
  72. package/dist/service-override/layout.js +6 -80
  73. package/dist/service-override/modelEditor.js +1 -3
  74. package/dist/services.d.ts +1 -25
  75. package/dist/services.js +0 -3
  76. package/dist/vscode/vs/base/browser/ui/splitview/paneview.js +2 -151
  77. package/dist/vscode/vs/platform/extensionManagement/common/extensionManagementUtil.js +1 -4
  78. package/dist/vscode/vs/platform/remote/common/remoteAuthorityResolver.js +1 -3
  79. package/dist/vscode/vs/platform/tunnel/common/tunnel.js +1 -29
  80. package/dist/vscode/vs/workbench/api/common/extHostExtensionService.js +4 -4
  81. package/dist/vscode/vs/workbench/api/common/extHostTypeConverters.js +2 -15
  82. package/dist/vscode/vs/workbench/api/common/extHostTypes.js +1 -17
  83. package/dist/vscode/vs/workbench/api/common/extHostVariableResolverService.js +3 -3
  84. package/dist/vscode/vs/workbench/browser/composite.js +1 -49
  85. package/dist/vscode/vs/workbench/browser/parts/editor/editorCommands.js +1121 -4
  86. package/dist/vscode/vs/workbench/browser/parts/editor/editorPane.js +242 -0
  87. package/dist/vscode/vs/workbench/browser/parts/editor/editorWithViewState.js +139 -0
  88. package/dist/vscode/vs/workbench/browser/parts/editor/sideBySideEditor.js +387 -0
  89. package/dist/vscode/vs/workbench/browser/parts/editor/textDiffEditor.js +289 -0
  90. package/dist/vscode/vs/workbench/browser/parts/views/viewPane.js +2 -50
  91. package/dist/vscode/vs/workbench/common/contextkeys.js +9 -31
  92. package/dist/vscode/vs/workbench/common/editor.js +47 -1
  93. package/dist/vscode/vs/workbench/common/theme.js +25 -25
  94. package/dist/vscode/vs/workbench/common/views.js +1 -276
  95. package/dist/vscode/vs/workbench/contrib/bulkEdit/browser/bulkCellEdits.js +1 -62
  96. package/dist/vscode/vs/workbench/contrib/debug/browser/baseDebugView.js +2 -8
  97. package/dist/vscode/vs/workbench/contrib/debug/browser/breakpointsView.js +8 -585
  98. package/dist/vscode/vs/workbench/contrib/debug/browser/debug.contribution.js +145 -151
  99. package/dist/vscode/vs/workbench/contrib/debug/browser/debugCommands.js +3 -79
  100. package/dist/vscode/vs/workbench/contrib/debug/browser/debugIcons.js +1 -28
  101. package/dist/vscode/vs/workbench/contrib/debug/browser/linkDetector.js +10 -10
  102. package/dist/vscode/vs/workbench/contrib/debug/browser/variablesView.js +10 -295
  103. package/dist/vscode/vs/workbench/contrib/debug/common/debug.js +1 -98
  104. package/dist/vscode/vs/workbench/contrib/debug/common/debugModel.js +1 -10
  105. package/dist/vscode/vs/workbench/contrib/debug/common/replModel.js +1 -51
  106. package/dist/vscode/vs/workbench/contrib/files/browser/files.contribution.js +3 -368
  107. package/dist/vscode/vs/workbench/contrib/files/browser/files.js +1 -88
  108. package/dist/vscode/vs/workbench/contrib/files/common/files.js +3 -194
  109. package/dist/vscode/vs/workbench/contrib/notebook/common/notebookCommon.js +1 -79
  110. package/dist/vscode/vs/workbench/services/actions/common/menusExtensionPoint.js +1 -179
  111. package/dist/vscode/vs/workbench/services/activity/common/activity.js +1 -15
  112. package/dist/vscode/vs/workbench/services/configurationResolver/common/variableResolver.js +13 -13
  113. package/dist/vscode/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +3 -3
  114. package/dist/vscode/vs/workbench/services/layout/browser/layoutService.js +1 -9
  115. package/dist/vscode/vs/workbench/services/search/common/queryBuilder.js +7 -7
  116. package/dist/vscode/vs/workbench/services/search/common/search.js +2 -2
  117. package/dist/vscode/vs/workbench/services/themes/browser/fileIconThemeData.js +2 -2
  118. package/dist/vscode/vs/workbench/services/themes/browser/productIconThemeData.js +2 -2
  119. package/dist/vscode-default-extensions/bat/language-configuration.json.js +2 -0
  120. package/dist/vscode-default-extensions/bat/snippets/batchfile.code-snippets.js +2 -0
  121. package/dist/vscode-default-extensions/bat/syntaxes/batchfile.tmLanguage.json.js +2 -0
  122. package/dist/vscode-default-extensions/clojure/language-configuration.json.js +2 -0
  123. package/dist/vscode-default-extensions/clojure/syntaxes/clojure.tmLanguage.json.js +2 -0
  124. package/dist/vscode-default-extensions/coffeescript/language-configuration.json.js +2 -0
  125. package/dist/vscode-default-extensions/coffeescript/snippets/coffeescript.code-snippets.js +2 -0
  126. package/dist/vscode-default-extensions/coffeescript/syntaxes/coffeescript.tmLanguage.json.js +2 -0
  127. package/dist/vscode-default-extensions/cpp/language-configuration.json.js +2 -0
  128. package/dist/vscode-default-extensions/cpp/snippets/c.code-snippets.js +2 -0
  129. package/dist/vscode-default-extensions/cpp/snippets/cpp.code-snippets.js +2 -0
  130. package/dist/vscode-default-extensions/cpp/syntaxes/c.tmLanguage.json.js +2 -0
  131. package/dist/vscode-default-extensions/cpp/syntaxes/cpp.embedded.macro.tmLanguage.json.js +2 -0
  132. package/dist/vscode-default-extensions/cpp/syntaxes/cpp.tmLanguage.json.js +2 -0
  133. package/dist/vscode-default-extensions/cpp/syntaxes/cuda-cpp.tmLanguage.json.js +2 -0
  134. package/dist/vscode-default-extensions/cpp/syntaxes/{platform.tmLanguage.json.extensionResource.js → platform.tmLanguage.json.js} +2 -2
  135. package/dist/vscode-default-extensions/csharp/language-configuration.json.js +2 -0
  136. package/dist/vscode-default-extensions/csharp/snippets/csharp.code-snippets.js +2 -0
  137. package/dist/vscode-default-extensions/csharp/syntaxes/csharp.tmLanguage.json.js +2 -0
  138. package/dist/vscode-default-extensions/css/language-configuration.json.js +2 -0
  139. package/dist/vscode-default-extensions/css/syntaxes/css.tmLanguage.json.js +2 -0
  140. package/dist/vscode-default-extensions/dart/language-configuration.json.js +2 -0
  141. package/dist/vscode-default-extensions/dart/syntaxes/dart.tmLanguage.json.js +2 -0
  142. package/dist/vscode-default-extensions/diff/language-configuration.json.js +2 -0
  143. package/dist/vscode-default-extensions/diff/syntaxes/diff.tmLanguage.json.js +2 -0
  144. package/dist/vscode-default-extensions/docker/language-configuration.json.js +2 -0
  145. package/dist/vscode-default-extensions/docker/syntaxes/docker.tmLanguage.json.js +2 -0
  146. package/dist/vscode-default-extensions/fsharp/language-configuration.json.js +2 -0
  147. package/dist/vscode-default-extensions/fsharp/snippets/fsharp.code-snippets.js +2 -0
  148. package/dist/vscode-default-extensions/fsharp/syntaxes/fsharp.tmLanguage.json.js +2 -0
  149. package/dist/vscode-default-extensions/go/language-configuration.json.js +2 -0
  150. package/dist/vscode-default-extensions/go/syntaxes/go.tmLanguage.json.js +2 -0
  151. package/dist/vscode-default-extensions/groovy/language-configuration.json.js +2 -0
  152. package/dist/vscode-default-extensions/groovy/snippets/groovy.code-snippets.js +2 -0
  153. package/dist/vscode-default-extensions/groovy/syntaxes/groovy.tmLanguage.json.js +2 -0
  154. package/dist/vscode-default-extensions/handlebars/language-configuration.json.js +2 -0
  155. package/dist/vscode-default-extensions/handlebars/syntaxes/Handlebars.tmLanguage.json.js +2 -0
  156. package/dist/vscode-default-extensions/hlsl/language-configuration.json.js +2 -0
  157. package/dist/vscode-default-extensions/hlsl/syntaxes/hlsl.tmLanguage.json.js +2 -0
  158. package/dist/vscode-default-extensions/html/language-configuration.json.js +2 -0
  159. package/dist/vscode-default-extensions/html/snippets/html.code-snippets.js +2 -0
  160. package/dist/vscode-default-extensions/html/syntaxes/html-derivative.tmLanguage.json.js +2 -0
  161. package/dist/vscode-default-extensions/html/syntaxes/html.tmLanguage.json.js +2 -0
  162. package/dist/vscode-default-extensions/ini/ini.language-configuration.json.js +2 -0
  163. package/dist/vscode-default-extensions/ini/properties.language-configuration.json.js +2 -0
  164. package/dist/vscode-default-extensions/ini/syntaxes/ini.tmLanguage.json.js +2 -0
  165. package/dist/vscode-default-extensions/java/language-configuration.json.js +2 -0
  166. package/dist/vscode-default-extensions/java/snippets/java.code-snippets.js +2 -0
  167. package/dist/vscode-default-extensions/java/syntaxes/java.tmLanguage.json.js +2 -0
  168. package/dist/vscode-default-extensions/javascript/javascript-language-configuration.json.js +2 -0
  169. package/dist/vscode-default-extensions/javascript/snippets/javascript.code-snippets.js +2 -0
  170. package/dist/vscode-default-extensions/javascript/syntaxes/JavaScript.tmLanguage.json.js +2 -0
  171. package/dist/vscode-default-extensions/javascript/syntaxes/JavaScriptReact.tmLanguage.json.js +2 -0
  172. package/dist/vscode-default-extensions/javascript/syntaxes/Regular Expressions (JavaScript).tmLanguage.js +2 -0
  173. package/dist/vscode-default-extensions/javascript/tags-language-configuration.json.js +2 -0
  174. package/dist/vscode-default-extensions/json/language-configuration.json.js +2 -0
  175. package/dist/vscode-default-extensions/json/syntaxes/JSON.tmLanguage.json.js +2 -0
  176. package/dist/vscode-default-extensions/json/syntaxes/JSONC.tmLanguage.json.js +2 -0
  177. package/dist/vscode-default-extensions/julia/language-configuration.json.js +2 -0
  178. package/dist/vscode-default-extensions/julia/syntaxes/julia.tmLanguage.json.js +2 -0
  179. package/dist/vscode-default-extensions/latex/latex-cpp-embedded-language-configuration.json.js +2 -0
  180. package/dist/vscode-default-extensions/latex/latex-language-configuration.json.js +2 -0
  181. package/dist/vscode-default-extensions/latex/markdown-latex-combined-language-configuration.json.js +2 -0
  182. package/dist/vscode-default-extensions/latex/syntaxes/Bibtex.tmLanguage.json.js +2 -0
  183. package/dist/vscode-default-extensions/latex/syntaxes/LaTeX.tmLanguage.json.js +2 -0
  184. package/dist/vscode-default-extensions/latex/syntaxes/TeX.tmLanguage.json.js +2 -0
  185. package/dist/vscode-default-extensions/latex/syntaxes/cpp-grammar-bailout.tmLanguage.json.js +2 -0
  186. package/dist/vscode-default-extensions/latex/syntaxes/markdown-latex-combined.tmLanguage.json.js +2 -0
  187. package/dist/vscode-default-extensions/less/language-configuration.json.js +2 -0
  188. package/dist/vscode-default-extensions/less/syntaxes/less.tmLanguage.json.js +2 -0
  189. package/dist/vscode-default-extensions/log/syntaxes/log.tmLanguage.json.js +2 -0
  190. package/dist/vscode-default-extensions/lua/language-configuration.json.js +2 -0
  191. package/dist/vscode-default-extensions/lua/syntaxes/lua.tmLanguage.json.js +2 -0
  192. package/dist/vscode-default-extensions/make/language-configuration.json.js +2 -0
  193. package/dist/vscode-default-extensions/make/syntaxes/make.tmLanguage.json.js +2 -0
  194. package/dist/vscode-default-extensions/markdown-basics/language-configuration.json.js +2 -0
  195. package/dist/vscode-default-extensions/markdown-basics/snippets/markdown.code-snippets.js +2 -0
  196. package/dist/vscode-default-extensions/markdown-basics/syntaxes/markdown.tmLanguage.json.js +2 -0
  197. package/dist/vscode-default-extensions/objective-c/language-configuration.json.js +2 -0
  198. package/dist/vscode-default-extensions/objective-c/syntaxes/objective-c.tmLanguage.json.js +2 -0
  199. package/dist/vscode-default-extensions/objective-c/syntaxes/objective-c__.tmLanguage.json.js +2 -0
  200. package/dist/vscode-default-extensions/perl/perl.language-configuration.json.js +2 -0
  201. package/dist/vscode-default-extensions/perl/perl6.language-configuration.json.js +2 -0
  202. package/dist/vscode-default-extensions/perl/syntaxes/perl.tmLanguage.json.js +2 -0
  203. package/dist/vscode-default-extensions/perl/syntaxes/perl6.tmLanguage.json.js +2 -0
  204. package/dist/vscode-default-extensions/php/language-configuration.json.js +2 -0
  205. package/dist/vscode-default-extensions/php/snippets/php.code-snippets.js +2 -0
  206. package/dist/vscode-default-extensions/php/syntaxes/html.tmLanguage.json.js +2 -0
  207. package/dist/vscode-default-extensions/php/syntaxes/php.tmLanguage.json.js +2 -0
  208. package/dist/vscode-default-extensions/powershell/language-configuration.json.js +2 -0
  209. package/dist/vscode-default-extensions/powershell/syntaxes/powershell.tmLanguage.json.js +2 -0
  210. package/dist/vscode-default-extensions/pug/language-configuration.json.js +2 -0
  211. package/dist/vscode-default-extensions/pug/syntaxes/pug.tmLanguage.json.js +2 -0
  212. package/dist/vscode-default-extensions/python/language-configuration.json.js +2 -0
  213. package/dist/vscode-default-extensions/python/syntaxes/MagicPython.tmLanguage.json.js +2 -0
  214. package/dist/vscode-default-extensions/python/syntaxes/MagicRegExp.tmLanguage.json.js +2 -0
  215. package/dist/vscode-default-extensions/r/language-configuration.json.js +2 -0
  216. package/dist/vscode-default-extensions/r/syntaxes/r.tmLanguage.json.js +2 -0
  217. package/dist/vscode-default-extensions/razor/language-configuration.json.js +2 -0
  218. package/dist/vscode-default-extensions/razor/syntaxes/cshtml.tmLanguage.json.js +2 -0
  219. package/dist/vscode-default-extensions/ruby/language-configuration.json.js +2 -0
  220. package/dist/vscode-default-extensions/ruby/syntaxes/ruby.tmLanguage.json.js +2 -0
  221. package/dist/vscode-default-extensions/rust/language-configuration.json.js +2 -0
  222. package/dist/vscode-default-extensions/rust/syntaxes/rust.tmLanguage.json.js +2 -0
  223. package/dist/vscode-default-extensions/scss/language-configuration.json.js +2 -0
  224. package/dist/vscode-default-extensions/scss/syntaxes/sassdoc.tmLanguage.json.js +2 -0
  225. package/dist/vscode-default-extensions/scss/syntaxes/scss.tmLanguage.json.js +2 -0
  226. package/dist/vscode-default-extensions/shaderlab/language-configuration.json.js +2 -0
  227. package/dist/vscode-default-extensions/shaderlab/syntaxes/shaderlab.tmLanguage.json.js +2 -0
  228. package/dist/vscode-default-extensions/shellscript/language-configuration.json.js +2 -0
  229. package/dist/vscode-default-extensions/shellscript/syntaxes/shell-unix-bash.tmLanguage.json.js +2 -0
  230. package/dist/vscode-default-extensions/sql/language-configuration.json.js +2 -0
  231. package/dist/vscode-default-extensions/sql/syntaxes/sql.tmLanguage.json.js +2 -0
  232. package/dist/vscode-default-extensions/swift/language-configuration.json.js +2 -0
  233. package/dist/vscode-default-extensions/swift/snippets/swift.code-snippets.js +2 -0
  234. package/dist/vscode-default-extensions/swift/syntaxes/swift.tmLanguage.json.js +2 -0
  235. package/dist/vscode-default-extensions/theme-abyss/themes/abyss-color-theme.json.js +2 -0
  236. package/dist/vscode-default-extensions/theme-defaults/fileicons/vs_minimal-icon-theme.json.js +2 -0
  237. package/dist/vscode-default-extensions/theme-defaults/themes/dark_plus.json.js +2 -0
  238. package/dist/vscode-default-extensions/theme-defaults/themes/dark_plus_experimental.json.js +2 -0
  239. package/dist/vscode-default-extensions/theme-defaults/themes/dark_vs.json.js +2 -0
  240. package/dist/vscode-default-extensions/theme-defaults/themes/hc_black.json.js +2 -0
  241. package/dist/vscode-default-extensions/theme-defaults/themes/hc_light.json.js +2 -0
  242. package/dist/vscode-default-extensions/theme-defaults/themes/light_plus.json.js +2 -0
  243. package/dist/vscode-default-extensions/theme-defaults/themes/light_plus_experimental.json.js +2 -0
  244. package/dist/vscode-default-extensions/theme-defaults/themes/light_vs.json.js +2 -0
  245. package/dist/vscode-default-extensions/theme-kimbie-dark/themes/kimbie-dark-color-theme.json.js +2 -0
  246. package/dist/vscode-default-extensions/theme-monokai/themes/monokai-color-theme.json.js +2 -0
  247. package/dist/vscode-default-extensions/theme-monokai-dimmed/themes/dimmed-monokai-color-theme.json.js +2 -0
  248. package/dist/vscode-default-extensions/theme-quietlight/themes/quietlight-color-theme.json.js +2 -0
  249. package/dist/vscode-default-extensions/theme-red/themes/Red-color-theme.json.js +2 -0
  250. package/dist/vscode-default-extensions/theme-seti/icons/vs-seti-icon-theme.json.js +2 -0
  251. package/dist/vscode-default-extensions/theme-solarized-dark/themes/solarized-dark-color-theme.json.js +2 -0
  252. package/dist/vscode-default-extensions/theme-solarized-light/themes/solarized-light-color-theme.json.js +2 -0
  253. package/dist/vscode-default-extensions/theme-tomorrow-night-blue/themes/tomorrow-night-blue-color-theme.json.js +2 -0
  254. package/dist/vscode-default-extensions/typescript-basics/language-configuration.json.js +2 -0
  255. package/dist/vscode-default-extensions/typescript-basics/snippets/typescript.code-snippets.js +2 -0
  256. package/dist/vscode-default-extensions/typescript-basics/syntaxes/TypeScript.tmLanguage.json.js +2 -0
  257. package/dist/vscode-default-extensions/typescript-basics/syntaxes/TypeScriptReact.tmLanguage.json.js +2 -0
  258. package/dist/vscode-default-extensions/typescript-basics/syntaxes/jsdoc.js.injection.tmLanguage.json.js +2 -0
  259. package/dist/vscode-default-extensions/typescript-basics/syntaxes/jsdoc.ts.injection.tmLanguage.json.js +2 -0
  260. package/dist/vscode-default-extensions/typescript-language-features/package.json.js +2 -0
  261. package/dist/vscode-default-extensions/vb/language-configuration.json.js +2 -0
  262. package/dist/vscode-default-extensions/vb/snippets/vb.code-snippets.js +2 -0
  263. package/dist/vscode-default-extensions/vb/syntaxes/asp-vb-net.tmlanguage.json.js +2 -0
  264. package/dist/vscode-default-extensions/xml/syntaxes/xml.tmLanguage.json.js +2 -0
  265. package/dist/vscode-default-extensions/xml/syntaxes/xsl.tmLanguage.json.js +2 -0
  266. package/dist/vscode-default-extensions/xml/xml.language-configuration.json.js +2 -0
  267. package/dist/vscode-default-extensions/xml/xsl.language-configuration.json.js +2 -0
  268. package/dist/vscode-default-extensions/yaml/language-configuration.json.js +2 -0
  269. package/dist/vscode-default-extensions/yaml/syntaxes/yaml.tmLanguage.json.js +2 -0
  270. package/dist/vscode-services/extHost.js +5 -28
  271. package/dist/vscode-services/missing-services.js +9 -60
  272. package/dist/vscode-services/window.js +5 -23
  273. package/monaco-editor-treemending.patch +819 -819
  274. package/package.json +2 -13
  275. package/dist/assets/activityaction.css +0 -228
  276. package/dist/assets/activitybarpart.css +0 -65
  277. package/dist/assets/basepanelpart.css +0 -221
  278. package/dist/assets/callHierarchy.css +0 -62
  279. package/dist/assets/debugViewlet.css +0 -336
  280. package/dist/assets/explorerviewlet.css +0 -129
  281. package/dist/assets/hover.css +0 -127
  282. package/dist/assets/menubar.css +0 -111
  283. package/dist/assets/menubarControl.css +0 -61
  284. package/dist/assets/panelpart.css +0 -75
  285. package/dist/assets/part.css +0 -109
  286. package/dist/assets/repl.css +0 -145
  287. package/dist/assets/sidebarpart.css +0 -61
  288. package/dist/assets/tunnelView.css +0 -107
  289. package/dist/assets/typeHierarchy.css +0 -62
  290. package/dist/assets/views.css +0 -297
  291. package/dist/default-extensions/references-view.js +0 -8
  292. package/dist/extension-tools-40a69515.js +0 -27412
  293. package/dist/override/vs/workbench/contrib/files/browser/views/openEditorsView.js +0 -2
  294. package/dist/service-override/views.d.ts +0 -6641
  295. package/dist/service-override/views.js +0 -177
  296. package/dist/vscode/vs/base/browser/ui/menu/menubar.js +0 -831
  297. package/dist/vscode/vs/base/browser/ui/tree/treeDefaults.js +0 -14
  298. package/dist/vscode/vs/editor/common/services/treeViewsDnd.js +0 -17
  299. package/dist/vscode/vs/editor/common/services/treeViewsDndService.js +0 -3
  300. package/dist/vscode/vs/platform/backup/common/backup.js +0 -7
  301. package/dist/vscode/vs/platform/configuration/common/configurationRegistry.js +0 -10
  302. package/dist/vscode/vs/platform/credentials/common/credentials.js +0 -3
  303. package/dist/vscode/vs/platform/extensionManagement/common/extensionStorage.js +0 -174
  304. package/dist/vscode/vs/platform/files/common/files.js +0 -28
  305. package/dist/vscode/vs/platform/languagePacks/common/languagePacks.js +0 -3
  306. package/dist/vscode/vs/platform/storage/common/storage.js +0 -332
  307. package/dist/vscode/vs/platform/update/common/update.js +0 -3
  308. package/dist/vscode/vs/platform/window/common/window.js +0 -33
  309. package/dist/vscode/vs/workbench/api/browser/mainThreadLocalization.js +0 -33
  310. package/dist/vscode/vs/workbench/api/browser/mainThreadStorage.js +0 -69
  311. package/dist/vscode/vs/workbench/api/browser/mainThreadTreeViews.js +0 -298
  312. package/dist/vscode/vs/workbench/api/browser/viewsExtensionPoint.js +0 -699
  313. package/dist/vscode/vs/workbench/api/common/extHostTreeViews.js +0 -823
  314. package/dist/vscode/vs/workbench/browser/actions/layoutActions.js +0 -318
  315. package/dist/vscode/vs/workbench/browser/actions/listCommands.js +0 -602
  316. package/dist/vscode/vs/workbench/browser/actions/windowActions.js +0 -271
  317. package/dist/vscode/vs/workbench/browser/actions/workspaceActions.js +0 -250
  318. package/dist/vscode/vs/workbench/browser/actions/workspaceCommands.js +0 -6
  319. package/dist/vscode/vs/workbench/browser/dnd.js +0 -429
  320. package/dist/vscode/vs/workbench/browser/labels.js +0 -426
  321. package/dist/vscode/vs/workbench/browser/panecomposite.js +0 -158
  322. package/dist/vscode/vs/workbench/browser/part.js +0 -84
  323. package/dist/vscode/vs/workbench/browser/parts/activitybar/activitybarActions.js +0 -575
  324. package/dist/vscode/vs/workbench/browser/parts/activitybar/activitybarPart.js +0 -784
  325. package/dist/vscode/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +0 -146
  326. package/dist/vscode/vs/workbench/browser/parts/compositeBar.js +0 -687
  327. package/dist/vscode/vs/workbench/browser/parts/compositeBarActions.js +0 -578
  328. package/dist/vscode/vs/workbench/browser/parts/compositePart.js +0 -319
  329. package/dist/vscode/vs/workbench/browser/parts/panel/panelActions.js +0 -381
  330. package/dist/vscode/vs/workbench/browser/parts/panel/panelPart.js +0 -753
  331. package/dist/vscode/vs/workbench/browser/parts/sidebar/sidebarPart.js +0 -217
  332. package/dist/vscode/vs/workbench/browser/parts/titlebar/menubarControl.js +0 -600
  333. package/dist/vscode/vs/workbench/browser/parts/views/checkbox.js +0 -80
  334. package/dist/vscode/vs/workbench/browser/parts/views/treeView.js +0 -1486
  335. package/dist/vscode/vs/workbench/browser/parts/views/viewFilter.js +0 -181
  336. package/dist/vscode/vs/workbench/browser/parts/views/viewPaneContainer.js +0 -1020
  337. package/dist/vscode/vs/workbench/browser/parts/views/viewsService.js +0 -562
  338. package/dist/vscode/vs/workbench/browser/parts/views/viewsViewlet.js +0 -109
  339. package/dist/vscode/vs/workbench/common/activity.js +0 -3
  340. package/dist/vscode/vs/workbench/contrib/bulkEdit/browser/bulkEditService.js +0 -305
  341. package/dist/vscode/vs/workbench/contrib/bulkEdit/browser/bulkFileEdits.js +0 -378
  342. package/dist/vscode/vs/workbench/contrib/bulkEdit/browser/bulkTextEdits.js +0 -257
  343. package/dist/vscode/vs/workbench/contrib/callHierarchy/browser/callHierarchy.contribution.js +0 -259
  344. package/dist/vscode/vs/workbench/contrib/callHierarchy/browser/callHierarchyPeek.js +0 -337
  345. package/dist/vscode/vs/workbench/contrib/callHierarchy/browser/callHierarchyTree.js +0 -119
  346. package/dist/vscode/vs/workbench/contrib/debug/browser/callStackView.js +0 -954
  347. package/dist/vscode/vs/workbench/contrib/debug/browser/debugANSIHandling.js +0 -345
  348. package/dist/vscode/vs/workbench/contrib/debug/browser/debugEditorActions.js +0 -522
  349. package/dist/vscode/vs/workbench/contrib/debug/browser/debugViewlet.js +0 -166
  350. package/dist/vscode/vs/workbench/contrib/debug/browser/loadedScriptsView.js +0 -629
  351. package/dist/vscode/vs/workbench/contrib/debug/browser/repl.js +0 -908
  352. package/dist/vscode/vs/workbench/contrib/debug/browser/replFilter.js +0 -46
  353. package/dist/vscode/vs/workbench/contrib/debug/browser/replViewer.js +0 -330
  354. package/dist/vscode/vs/workbench/contrib/debug/browser/watchExpressionsView.js +0 -411
  355. package/dist/vscode/vs/workbench/contrib/debug/browser/welcomeView.js +0 -85
  356. package/dist/vscode/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +0 -3
  357. package/dist/vscode/vs/workbench/contrib/files/browser/explorerViewlet.js +0 -254
  358. package/dist/vscode/vs/workbench/contrib/files/browser/fileActions.contribution.js +0 -207
  359. package/dist/vscode/vs/workbench/contrib/files/browser/fileActions.js +0 -1119
  360. package/dist/vscode/vs/workbench/contrib/files/browser/fileCommands.js +0 -594
  361. package/dist/vscode/vs/workbench/contrib/files/browser/fileConstants.js +0 -26
  362. package/dist/vscode/vs/workbench/contrib/files/browser/fileImportExport.js +0 -708
  363. package/dist/vscode/vs/workbench/contrib/files/browser/views/emptyView.js +0 -88
  364. package/dist/vscode/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +0 -73
  365. package/dist/vscode/vs/workbench/contrib/files/browser/views/explorerView.js +0 -793
  366. package/dist/vscode/vs/workbench/contrib/files/browser/views/explorerViewer.js +0 -1209
  367. package/dist/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser.js +0 -27
  368. package/dist/vscode/vs/workbench/contrib/notebook/common/notebookEditorInput.js +0 -249
  369. package/dist/vscode/vs/workbench/contrib/notebook/common/notebookEditorModelResolverService.js +0 -3
  370. package/dist/vscode/vs/workbench/contrib/notebook/common/notebookService.js +0 -10
  371. package/dist/vscode/vs/workbench/contrib/remote/browser/remoteExplorer.js +0 -186
  372. package/dist/vscode/vs/workbench/contrib/remote/browser/remoteIcons.js +0 -23
  373. package/dist/vscode/vs/workbench/contrib/remote/browser/tunnelView.js +0 -1636
  374. package/dist/vscode/vs/workbench/contrib/scm/common/scm.js +0 -2
  375. package/dist/vscode/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +0 -167
  376. package/dist/vscode/vs/workbench/contrib/typeHierarchy/browser/typeHierarchy.contribution.js +0 -244
  377. package/dist/vscode/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyPeek.js +0 -332
  378. package/dist/vscode/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyTree.js +0 -117
  379. package/dist/vscode/vs/workbench/contrib/webview/browser/webview.js +0 -41
  380. package/dist/vscode/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +0 -20
  381. package/dist/vscode/vs/workbench/contrib/webviewView/browser/webviewViewPane.js +0 -231
  382. package/dist/vscode/vs/workbench/contrib/webviewView/browser/webviewViewService.js +0 -3
  383. package/dist/vscode/vs/workbench/services/activity/browser/activityService.js +0 -94
  384. package/dist/vscode/vs/workbench/services/authentication/browser/authenticationService.js +0 -35
  385. package/dist/vscode/vs/workbench/services/authentication/common/authentication.js +0 -3
  386. package/dist/vscode/vs/workbench/services/extensions/common/extensionStorageMigration.js +0 -56
  387. package/dist/vscode/vs/workbench/services/hover/browser/hover.js +0 -3
  388. package/dist/vscode/vs/workbench/services/hover/browser/hoverService.js +0 -149
  389. package/dist/vscode/vs/workbench/services/hover/browser/hoverWidget.js +0 -514
  390. package/dist/vscode/vs/workbench/services/remote/common/remoteExplorerService.js +0 -764
  391. package/dist/vscode/vs/workbench/services/search/common/ignoreFile.js +0 -102
  392. package/dist/vscode/vs/workbench/services/views/browser/treeViewsService.js +0 -3
  393. package/dist/vscode/vs/workbench/services/views/browser/viewDescriptorService.js +0 -688
  394. package/dist/vscode/vs/workbench/services/views/common/treeViewsService.js +0 -20
  395. package/dist/vscode/vs/workbench/services/views/common/viewContainerModel.js +0 -613
  396. package/dist/vscode-default-extensions/bat/language-configuration.json.extensionResource.js +0 -2
  397. package/dist/vscode-default-extensions/bat/snippets/batchfile.code-snippets.extensionResource.js +0 -2
  398. package/dist/vscode-default-extensions/bat/syntaxes/batchfile.tmLanguage.json.extensionResource.js +0 -2
  399. package/dist/vscode-default-extensions/clojure/language-configuration.json.extensionResource.js +0 -2
  400. package/dist/vscode-default-extensions/clojure/syntaxes/clojure.tmLanguage.json.extensionResource.js +0 -2
  401. package/dist/vscode-default-extensions/coffeescript/language-configuration.json.extensionResource.js +0 -2
  402. package/dist/vscode-default-extensions/coffeescript/snippets/coffeescript.code-snippets.extensionResource.js +0 -2
  403. package/dist/vscode-default-extensions/coffeescript/syntaxes/coffeescript.tmLanguage.json.extensionResource.js +0 -2
  404. package/dist/vscode-default-extensions/cpp/language-configuration.json.extensionResource.js +0 -2
  405. package/dist/vscode-default-extensions/cpp/snippets/c.code-snippets.extensionResource.js +0 -2
  406. package/dist/vscode-default-extensions/cpp/snippets/cpp.code-snippets.extensionResource.js +0 -2
  407. package/dist/vscode-default-extensions/cpp/syntaxes/c.tmLanguage.json.extensionResource.js +0 -2
  408. package/dist/vscode-default-extensions/cpp/syntaxes/cpp.embedded.macro.tmLanguage.json.extensionResource.js +0 -2
  409. package/dist/vscode-default-extensions/cpp/syntaxes/cpp.tmLanguage.json.extensionResource.js +0 -2
  410. package/dist/vscode-default-extensions/cpp/syntaxes/cuda-cpp.tmLanguage.json.extensionResource.js +0 -2
  411. package/dist/vscode-default-extensions/csharp/language-configuration.json.extensionResource.js +0 -2
  412. package/dist/vscode-default-extensions/csharp/snippets/csharp.code-snippets.extensionResource.js +0 -2
  413. package/dist/vscode-default-extensions/csharp/syntaxes/csharp.tmLanguage.json.extensionResource.js +0 -2
  414. package/dist/vscode-default-extensions/css/language-configuration.json.extensionResource.js +0 -2
  415. package/dist/vscode-default-extensions/css/syntaxes/css.tmLanguage.json.extensionResource.js +0 -2
  416. package/dist/vscode-default-extensions/dart/language-configuration.json.extensionResource.js +0 -2
  417. package/dist/vscode-default-extensions/dart/syntaxes/dart.tmLanguage.json.extensionResource.js +0 -2
  418. package/dist/vscode-default-extensions/diff/language-configuration.json.extensionResource.js +0 -2
  419. package/dist/vscode-default-extensions/diff/syntaxes/diff.tmLanguage.json.extensionResource.js +0 -2
  420. package/dist/vscode-default-extensions/docker/language-configuration.json.extensionResource.js +0 -2
  421. package/dist/vscode-default-extensions/docker/syntaxes/docker.tmLanguage.json.extensionResource.js +0 -2
  422. package/dist/vscode-default-extensions/fsharp/language-configuration.json.extensionResource.js +0 -2
  423. package/dist/vscode-default-extensions/fsharp/snippets/fsharp.code-snippets.extensionResource.js +0 -2
  424. package/dist/vscode-default-extensions/fsharp/syntaxes/fsharp.tmLanguage.json.extensionResource.js +0 -2
  425. package/dist/vscode-default-extensions/go/language-configuration.json.extensionResource.js +0 -2
  426. package/dist/vscode-default-extensions/go/syntaxes/go.tmLanguage.json.extensionResource.js +0 -2
  427. package/dist/vscode-default-extensions/groovy/language-configuration.json.extensionResource.js +0 -2
  428. package/dist/vscode-default-extensions/groovy/snippets/groovy.code-snippets.extensionResource.js +0 -2
  429. package/dist/vscode-default-extensions/groovy/syntaxes/groovy.tmLanguage.json.extensionResource.js +0 -2
  430. package/dist/vscode-default-extensions/handlebars/language-configuration.json.extensionResource.js +0 -2
  431. package/dist/vscode-default-extensions/handlebars/syntaxes/Handlebars.tmLanguage.json.extensionResource.js +0 -2
  432. package/dist/vscode-default-extensions/hlsl/language-configuration.json.extensionResource.js +0 -2
  433. package/dist/vscode-default-extensions/hlsl/syntaxes/hlsl.tmLanguage.json.extensionResource.js +0 -2
  434. package/dist/vscode-default-extensions/html/language-configuration.json.extensionResource.js +0 -2
  435. package/dist/vscode-default-extensions/html/snippets/html.code-snippets.extensionResource.js +0 -2
  436. package/dist/vscode-default-extensions/html/syntaxes/html-derivative.tmLanguage.json.extensionResource.js +0 -2
  437. package/dist/vscode-default-extensions/html/syntaxes/html.tmLanguage.json.extensionResource.js +0 -2
  438. package/dist/vscode-default-extensions/ini/ini.language-configuration.json.extensionResource.js +0 -2
  439. package/dist/vscode-default-extensions/ini/properties.language-configuration.json.extensionResource.js +0 -2
  440. package/dist/vscode-default-extensions/ini/syntaxes/ini.tmLanguage.json.extensionResource.js +0 -2
  441. package/dist/vscode-default-extensions/java/language-configuration.json.extensionResource.js +0 -2
  442. package/dist/vscode-default-extensions/java/snippets/java.code-snippets.extensionResource.js +0 -2
  443. package/dist/vscode-default-extensions/java/syntaxes/java.tmLanguage.json.extensionResource.js +0 -2
  444. package/dist/vscode-default-extensions/javascript/javascript-language-configuration.json.extensionResource.js +0 -2
  445. package/dist/vscode-default-extensions/javascript/snippets/javascript.code-snippets.extensionResource.js +0 -2
  446. package/dist/vscode-default-extensions/javascript/syntaxes/JavaScript.tmLanguage.json.extensionResource.js +0 -2
  447. package/dist/vscode-default-extensions/javascript/syntaxes/JavaScriptReact.tmLanguage.json.extensionResource.js +0 -2
  448. package/dist/vscode-default-extensions/javascript/syntaxes/Regular Expressions (JavaScript).tmLanguage.extensionResource.js +0 -2
  449. package/dist/vscode-default-extensions/javascript/tags-language-configuration.json.extensionResource.js +0 -2
  450. package/dist/vscode-default-extensions/json/language-configuration.json.extensionResource.js +0 -2
  451. package/dist/vscode-default-extensions/json/syntaxes/JSON.tmLanguage.json.extensionResource.js +0 -2
  452. package/dist/vscode-default-extensions/json/syntaxes/JSONC.tmLanguage.json.extensionResource.js +0 -2
  453. package/dist/vscode-default-extensions/julia/language-configuration.json.extensionResource.js +0 -2
  454. package/dist/vscode-default-extensions/julia/syntaxes/julia.tmLanguage.json.extensionResource.js +0 -2
  455. package/dist/vscode-default-extensions/latex/latex-cpp-embedded-language-configuration.json.extensionResource.js +0 -2
  456. package/dist/vscode-default-extensions/latex/latex-language-configuration.json.extensionResource.js +0 -2
  457. package/dist/vscode-default-extensions/latex/markdown-latex-combined-language-configuration.json.extensionResource.js +0 -2
  458. package/dist/vscode-default-extensions/latex/syntaxes/Bibtex.tmLanguage.json.extensionResource.js +0 -2
  459. package/dist/vscode-default-extensions/latex/syntaxes/LaTeX.tmLanguage.json.extensionResource.js +0 -2
  460. package/dist/vscode-default-extensions/latex/syntaxes/TeX.tmLanguage.json.extensionResource.js +0 -2
  461. package/dist/vscode-default-extensions/latex/syntaxes/cpp-grammar-bailout.tmLanguage.json.extensionResource.js +0 -2
  462. package/dist/vscode-default-extensions/latex/syntaxes/markdown-latex-combined.tmLanguage.json.extensionResource.js +0 -2
  463. package/dist/vscode-default-extensions/less/language-configuration.json.extensionResource.js +0 -2
  464. package/dist/vscode-default-extensions/less/syntaxes/less.tmLanguage.json.extensionResource.js +0 -2
  465. package/dist/vscode-default-extensions/log/syntaxes/log.tmLanguage.json.extensionResource.js +0 -2
  466. package/dist/vscode-default-extensions/lua/language-configuration.json.extensionResource.js +0 -2
  467. package/dist/vscode-default-extensions/lua/syntaxes/lua.tmLanguage.json.extensionResource.js +0 -2
  468. package/dist/vscode-default-extensions/make/language-configuration.json.extensionResource.js +0 -2
  469. package/dist/vscode-default-extensions/make/syntaxes/make.tmLanguage.json.extensionResource.js +0 -2
  470. package/dist/vscode-default-extensions/markdown-basics/language-configuration.json.extensionResource.js +0 -2
  471. package/dist/vscode-default-extensions/markdown-basics/snippets/markdown.code-snippets.extensionResource.js +0 -2
  472. package/dist/vscode-default-extensions/markdown-basics/syntaxes/markdown.tmLanguage.json.extensionResource.js +0 -2
  473. package/dist/vscode-default-extensions/objective-c/language-configuration.json.extensionResource.js +0 -2
  474. package/dist/vscode-default-extensions/objective-c/syntaxes/objective-c.tmLanguage.json.extensionResource.js +0 -2
  475. package/dist/vscode-default-extensions/objective-c/syntaxes/objective-c__.tmLanguage.json.extensionResource.js +0 -2
  476. package/dist/vscode-default-extensions/perl/perl.language-configuration.json.extensionResource.js +0 -2
  477. package/dist/vscode-default-extensions/perl/perl6.language-configuration.json.extensionResource.js +0 -2
  478. package/dist/vscode-default-extensions/perl/syntaxes/perl.tmLanguage.json.extensionResource.js +0 -2
  479. package/dist/vscode-default-extensions/perl/syntaxes/perl6.tmLanguage.json.extensionResource.js +0 -2
  480. package/dist/vscode-default-extensions/php/language-configuration.json.extensionResource.js +0 -2
  481. package/dist/vscode-default-extensions/php/snippets/php.code-snippets.extensionResource.js +0 -2
  482. package/dist/vscode-default-extensions/php/syntaxes/html.tmLanguage.json.extensionResource.js +0 -2
  483. package/dist/vscode-default-extensions/php/syntaxes/php.tmLanguage.json.extensionResource.js +0 -2
  484. package/dist/vscode-default-extensions/powershell/language-configuration.json.extensionResource.js +0 -2
  485. package/dist/vscode-default-extensions/powershell/syntaxes/powershell.tmLanguage.json.extensionResource.js +0 -2
  486. package/dist/vscode-default-extensions/pug/language-configuration.json.extensionResource.js +0 -2
  487. package/dist/vscode-default-extensions/pug/syntaxes/pug.tmLanguage.json.extensionResource.js +0 -2
  488. package/dist/vscode-default-extensions/python/language-configuration.json.extensionResource.js +0 -2
  489. package/dist/vscode-default-extensions/python/syntaxes/MagicPython.tmLanguage.json.extensionResource.js +0 -2
  490. package/dist/vscode-default-extensions/python/syntaxes/MagicRegExp.tmLanguage.json.extensionResource.js +0 -2
  491. package/dist/vscode-default-extensions/r/language-configuration.json.extensionResource.js +0 -2
  492. package/dist/vscode-default-extensions/r/syntaxes/r.tmLanguage.json.extensionResource.js +0 -2
  493. package/dist/vscode-default-extensions/razor/language-configuration.json.extensionResource.js +0 -2
  494. package/dist/vscode-default-extensions/razor/syntaxes/cshtml.tmLanguage.json.extensionResource.js +0 -2
  495. package/dist/vscode-default-extensions/references-view/dist/extension.js.extensionResource.js +0 -2
  496. package/dist/vscode-default-extensions/references-view/package.json.js +0 -2
  497. package/dist/vscode-default-extensions/ruby/language-configuration.json.extensionResource.js +0 -2
  498. package/dist/vscode-default-extensions/ruby/syntaxes/ruby.tmLanguage.json.extensionResource.js +0 -2
  499. package/dist/vscode-default-extensions/rust/language-configuration.json.extensionResource.js +0 -2
  500. package/dist/vscode-default-extensions/rust/syntaxes/rust.tmLanguage.json.extensionResource.js +0 -2
  501. package/dist/vscode-default-extensions/scss/language-configuration.json.extensionResource.js +0 -2
  502. package/dist/vscode-default-extensions/scss/syntaxes/sassdoc.tmLanguage.json.extensionResource.js +0 -2
  503. package/dist/vscode-default-extensions/scss/syntaxes/scss.tmLanguage.json.extensionResource.js +0 -2
  504. package/dist/vscode-default-extensions/shaderlab/language-configuration.json.extensionResource.js +0 -2
  505. package/dist/vscode-default-extensions/shaderlab/syntaxes/shaderlab.tmLanguage.json.extensionResource.js +0 -2
  506. package/dist/vscode-default-extensions/shellscript/language-configuration.json.extensionResource.js +0 -2
  507. package/dist/vscode-default-extensions/shellscript/syntaxes/shell-unix-bash.tmLanguage.json.extensionResource.js +0 -2
  508. package/dist/vscode-default-extensions/sql/language-configuration.json.extensionResource.js +0 -2
  509. package/dist/vscode-default-extensions/sql/syntaxes/sql.tmLanguage.json.extensionResource.js +0 -2
  510. package/dist/vscode-default-extensions/swift/language-configuration.json.extensionResource.js +0 -2
  511. package/dist/vscode-default-extensions/swift/snippets/swift.code-snippets.extensionResource.js +0 -2
  512. package/dist/vscode-default-extensions/swift/syntaxes/swift.tmLanguage.json.extensionResource.js +0 -2
  513. package/dist/vscode-default-extensions/theme-abyss/themes/abyss-color-theme.json.extensionResource.js +0 -2
  514. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/document-dark.svg.extensionResource.js +0 -2
  515. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/document-light.svg.extensionResource.js +0 -2
  516. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/folder-dark.svg.extensionResource.js +0 -2
  517. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/folder-light.svg.extensionResource.js +0 -2
  518. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/folder-open-dark.svg.extensionResource.js +0 -2
  519. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/folder-open-light.svg.extensionResource.js +0 -2
  520. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/root-folder-dark.svg.extensionResource.js +0 -2
  521. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/root-folder-light.svg.extensionResource.js +0 -2
  522. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/root-folder-open-dark.svg.extensionResource.js +0 -2
  523. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/root-folder-open-light.svg.extensionResource.js +0 -2
  524. package/dist/vscode-default-extensions/theme-defaults/fileicons/vs_minimal-icon-theme.json.extensionResource.js +0 -2
  525. package/dist/vscode-default-extensions/theme-defaults/themes/dark_plus.json.extensionResource.js +0 -2
  526. package/dist/vscode-default-extensions/theme-defaults/themes/dark_plus_experimental.json.extensionResource.js +0 -2
  527. package/dist/vscode-default-extensions/theme-defaults/themes/dark_vs.json.extensionResource.js +0 -2
  528. package/dist/vscode-default-extensions/theme-defaults/themes/hc_black.json.extensionResource.js +0 -2
  529. package/dist/vscode-default-extensions/theme-defaults/themes/hc_light.json.extensionResource.js +0 -2
  530. package/dist/vscode-default-extensions/theme-defaults/themes/light_plus.json.extensionResource.js +0 -2
  531. package/dist/vscode-default-extensions/theme-defaults/themes/light_plus_experimental.json.extensionResource.js +0 -2
  532. package/dist/vscode-default-extensions/theme-defaults/themes/light_vs.json.extensionResource.js +0 -2
  533. package/dist/vscode-default-extensions/theme-kimbie-dark/themes/kimbie-dark-color-theme.json.extensionResource.js +0 -2
  534. package/dist/vscode-default-extensions/theme-monokai/themes/monokai-color-theme.json.extensionResource.js +0 -2
  535. package/dist/vscode-default-extensions/theme-monokai-dimmed/themes/dimmed-monokai-color-theme.json.extensionResource.js +0 -2
  536. package/dist/vscode-default-extensions/theme-quietlight/themes/quietlight-color-theme.json.extensionResource.js +0 -2
  537. package/dist/vscode-default-extensions/theme-red/themes/Red-color-theme.json.extensionResource.js +0 -2
  538. package/dist/vscode-default-extensions/theme-seti/icons/seti.woff.extensionResource.js +0 -2
  539. package/dist/vscode-default-extensions/theme-seti/icons/vs-seti-icon-theme.json.extensionResource.js +0 -2
  540. package/dist/vscode-default-extensions/theme-solarized-dark/themes/solarized-dark-color-theme.json.extensionResource.js +0 -2
  541. package/dist/vscode-default-extensions/theme-solarized-light/themes/solarized-light-color-theme.json.extensionResource.js +0 -2
  542. package/dist/vscode-default-extensions/theme-tomorrow-night-blue/themes/tomorrow-night-blue-color-theme.json.extensionResource.js +0 -2
  543. package/dist/vscode-default-extensions/typescript-basics/language-configuration.json.extensionResource.js +0 -2
  544. package/dist/vscode-default-extensions/typescript-basics/snippets/typescript.code-snippets.extensionResource.js +0 -2
  545. package/dist/vscode-default-extensions/typescript-basics/syntaxes/TypeScript.tmLanguage.json.extensionResource.js +0 -2
  546. package/dist/vscode-default-extensions/typescript-basics/syntaxes/TypeScriptReact.tmLanguage.json.extensionResource.js +0 -2
  547. package/dist/vscode-default-extensions/typescript-basics/syntaxes/jsdoc.js.injection.tmLanguage.json.extensionResource.js +0 -2
  548. package/dist/vscode-default-extensions/typescript-basics/syntaxes/jsdoc.ts.injection.tmLanguage.json.extensionResource.js +0 -2
  549. package/dist/vscode-default-extensions/vb/language-configuration.json.extensionResource.js +0 -2
  550. package/dist/vscode-default-extensions/vb/snippets/vb.code-snippets.extensionResource.js +0 -2
  551. package/dist/vscode-default-extensions/vb/syntaxes/asp-vb-net.tmlanguage.json.extensionResource.js +0 -2
  552. package/dist/vscode-default-extensions/xml/syntaxes/xml.tmLanguage.json.extensionResource.js +0 -2
  553. package/dist/vscode-default-extensions/xml/syntaxes/xsl.tmLanguage.json.extensionResource.js +0 -2
  554. package/dist/vscode-default-extensions/xml/xml.language-configuration.json.extensionResource.js +0 -2
  555. package/dist/vscode-default-extensions/xml/xsl.language-configuration.json.extensionResource.js +0 -2
  556. package/dist/vscode-default-extensions/yaml/language-configuration.json.extensionResource.js +0 -2
  557. package/dist/vscode-default-extensions/yaml/syntaxes/yaml.tmLanguage.json.extensionResource.js +0 -2
  558. package/dist/vscode-services/l10n.js +0 -26
@@ -0,0 +1,2 @@
1
+ var languageConfiguration = "{\n\t\"comments\": {\n\t\t\"lineComment\": \"//\",\n\t\t\"blockComment\": [\"/*\", \"*/\"]\n\t},\n\t\"brackets\": [\n\t\t[\"{\", \"}\"],\n\t\t[\"[\", \"]\"],\n\t\t[\"(\", \")\"]\n\t],\n\t\"autoClosingPairs\": [\n\t\t[\"{\", \"}\"],\n\t\t[\"[\", \"]\"],\n\t\t[\"(\", \")\"],\n\t\t{ \"open\": \"'\", \"close\": \"'\", \"notIn\": [\"string\", \"comment\"] },\n\t\t{ \"open\": \"\\\"\", \"close\": \"\\\"\", \"notIn\": [\"string\", \"comment\"] }\n\t],\n\t\"surroundingPairs\": [\n\t\t[\"{\", \"}\"],\n\t\t[\"[\", \"]\"],\n\t\t[\"(\", \")\"],\n\t\t[\"<\", \">\"],\n\t\t[\"'\", \"'\"],\n\t\t[\"\\\"\", \"\\\"\"]\n\t],\n\t\"folding\": {\n\t\t\"markers\": {\n\t\t\t\"start\": \"^\\\\s*#region\\\\b\",\n\t\t\t\"end\": \"^\\\\s*#endregion\\\\b\"\n\t\t}\n\t}\n}\n";
2
+ export { languageConfiguration as default };
@@ -0,0 +1,2 @@
1
+ var csharp = "{\n\t\"Region Start\": {\n\t\t\"prefix\": \"#region\",\n\t\t\"body\": [\n\t\t\t\"#region $0\"\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 { csharp as default };
@@ -0,0 +1,2 @@
1
+ var csharp_tmLanguage = "{\n\t\"information_for_contributors\": [\n\t\t\"This file has been converted from https://github.com/dotnet/csharp-tmLanguage/blob/master/grammars/csharp.tmLanguage\",\n\t\t\"If you want to provide a fix or improvement, please create a pull request against the original repository.\",\n\t\t\"Once accepted there, we are happy to receive an update request.\"\n\t],\n\t\"version\": \"https://github.com/dotnet/csharp-tmLanguage/commit/5e7dd90d2af9817b0dfb614b21c79a3e81882d9f\",\n\t\"name\": \"C#\",\n\t\"scopeName\": \"source.cs\",\n\t\"patterns\": [\n\t\t{\n\t\t\t\"include\": \"#preprocessor\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#comment\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#directives\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#declarations\"\n\t\t},\n\t\t{\n\t\t\t\"include\": \"#script-top-level\"\n\t\t}\n\t],\n\t\"repository\": {\n\t\t\"directives\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#extern-alias-directive\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#using-directive\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#attribute-section\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-semicolon\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"declarations\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#namespace-declaration\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#type-declarations\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-semicolon\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"script-top-level\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#method-declaration\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#statement\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-semicolon\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"type-declarations\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#preprocessor\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#storage-modifier\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#class-declaration\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#delegate-declaration\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#enum-declaration\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#interface-declaration\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#record-declaration\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#struct-declaration\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#attribute-section\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-semicolon\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"class-or-struct-members\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#preprocessor\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#storage-modifier\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#type-declarations\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#property-declaration\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#field-declaration\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#event-declaration\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#indexer-declaration\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#variable-initializer\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#constructor-declaration\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#destructor-declaration\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#operator-declaration\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#conversion-operator-declaration\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#method-declaration\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#attribute-section\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-semicolon\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"interface-members\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#preprocessor\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#property-declaration\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#event-declaration\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#indexer-declaration\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#method-declaration\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#attribute-section\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-semicolon\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"statement\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#preprocessor\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#while-statement\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#do-statement\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#for-statement\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#foreach-statement\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#if-statement\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#else-part\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#switch-statement\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#goto-statement\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#return-statement\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#break-or-continue-statement\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#throw-statement\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#yield-statement\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#await-statement\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#try-statement\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#checked-unchecked-statement\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#lock-statement\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#using-statement\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#labeled-statement\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#object-creation-expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#array-creation-expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#anonymous-object-creation-expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#local-declaration\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#block\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-semicolon\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"expression\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#preprocessor\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#checked-unchecked-expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#typeof-or-default-expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#nameof-expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#throw-expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#raw-interpolated-string\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#interpolated-string\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#verbatim-interpolated-string\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#this-or-base-expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#switch-expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#conditional-operator\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expression-operators\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#await-expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#query-expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#as-expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#is-expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#anonymous-method-expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#object-creation-expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#array-creation-expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#anonymous-object-creation-expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#invocation-expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#member-access-expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#element-access-expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#cast-expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#literal\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#parenthesized-expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#tuple-deconstruction-assignment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#initializer-expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#identifier\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"extern-alias-directive\": {\n\t\t\t\"begin\": \"\\\\s*(extern)\\\\b\\\\s*(alias)\\\\b\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.extern.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"keyword.other.alias.cs\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"variable.other.alias.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=;)\"\n\t\t},\n\t\t\"using-directive\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"\\\\b(using)\\\\b\\\\s+(static)\\\\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.other.using.cs\"\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.other.static.cs\"\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\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\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\": \"\\\\b(using)\\\\s+(?=(@?[_[:alpha:]][_[:alnum:]]*)\\\\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.other.using.cs\"\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.type.alias.cs\"\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\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#operator-assignment\"\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\": \"\\\\b(using)\\\\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.other.using.cs\"\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\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"name\": \"entity.name.type.namespace.cs\",\n\t\t\t\t\t\t\t\"match\": \"@?[_[:alpha:]][_[:alnum:]]*\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#operator-assignment\"\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\"attribute-section\": {\n\t\t\t\"begin\": \"(\\\\[)(assembly|module|field|event|method|param|property|return|type)?(\\\\:)?\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.squarebracket.open.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"keyword.other.attribute-specifier.cs\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"punctuation.separator.colon.cs\"\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.squarebracket.close.cs\"\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\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#attribute\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-comma\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"attribute\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#type-name\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#attribute-arguments\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"attribute-arguments\": {\n\t\t\t\"begin\": \"(\\\\()\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.parenthesis.open.cs\"\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.parenthesis.close.cs\"\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\": \"#attribute-named-argument\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-comma\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"attribute-named-argument\": {\n\t\t\t\"begin\": \"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(?==)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"entity.name.variable.property.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=(,|\\\\)))\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#operator-assignment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expression\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"namespace-declaration\": {\n\t\t\t\"begin\": \"\\\\b(namespace)\\\\s+\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.namespace.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?<=\\\\})|(?=;)\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"entity.name.type.namespace.cs\",\n\t\t\t\t\t\"match\": \"@?[_[:alpha:]][_[:alnum:]]*\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-accessor\"\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.curlybrace.open.cs\"\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.curlybrace.close.cs\"\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\": \"#declarations\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#using-directive\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#punctuation-semicolon\"\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\"storage-modifier\": {\n\t\t\t\"name\": \"storage.modifier.cs\",\n\t\t\t\"match\": \"(?<!\\\\.)\\\\b(new|public|protected|internal|private|abstract|virtual|override|sealed|static|partial|readonly|volatile|const|extern|async|unsafe|ref|required)\\\\b\"\n\t\t},\n\t\t\"class-declaration\": {\n\t\t\t\"begin\": \"(?=\\\\bclass\\\\b)\",\n\t\t\t\"end\": \"(?<=\\\\})\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(?x)\\n\\\\b(class)\\\\b\\\\s+\\n(@?[_[:alpha:]][_[:alnum:]]*)\\\\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.other.class.cs\"\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.type.class.cs\"\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\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type-parameter-list\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#base-types\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#generic-constraints\"\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.curlybrace.open.cs\"\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.curlybrace.close.cs\"\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\": \"#class-or-struct-members\"\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\": \"#preprocessor\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"delegate-declaration\": {\n\t\t\t\"begin\": \"(?x)\\n(?:\\\\b(delegate)\\\\b)\\\\s+\\n(?<type_name>\\n (?:\\n (?:ref\\\\s+(?:readonly\\\\s+)?)? # ref return\\n (?:\\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\:\\\\:\\\\s*)? # alias-qualification\\n (?<name_and_type_args> # identifier + type arguments (if any)\\n \\\\g<identifier>\\\\s*\\n (?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?\\n )\\n (?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)* | # Are there any more names being dotted into?\\n (?<tuple>\\\\s*\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\n )\\n (?:\\\\s*\\\\?\\\\s*)? # nullable suffix?\\n (?:\\\\s* # array suffix?\\n \\\\[\\n (?:\\\\s*,\\\\s*)* # commata for multi-dimensional arrays\\n \\\\]\\n \\\\s*\\n (?:\\\\?)? # arrays can be nullable reference types\\n \\\\s*\\n )*\\n )\\n)\\\\s+\\n(\\\\g<identifier>)\\\\s*\\n(<([^<>]+)>)?\\\\s*\\n(?=\\\\()\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.delegate.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"7\": {\n\t\t\t\t\t\"name\": \"entity.name.type.delegate.cs\"\n\t\t\t\t},\n\t\t\t\t\"8\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type-parameter-list\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=;)\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#parenthesized-parameter-list\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#generic-constraints\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"enum-declaration\": {\n\t\t\t\"begin\": \"(?=\\\\benum\\\\b)\",\n\t\t\t\"end\": \"(?<=\\\\})\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(?=enum)\",\n\t\t\t\t\t\"end\": \"(?=\\\\{)\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"(enum)\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)\",\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\": \"keyword.other.enum.cs\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"entity.name.type.enum.cs\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"begin\": \":\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.colon.cs\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"(?=\\\\{)\",\n\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"\\\\{\",\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.curlybrace.open.cs\"\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.curlybrace.close.cs\"\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\": \"#preprocessor\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#attribute-section\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#punctuation-comma\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"begin\": \"@?[_[:alpha:]][_[:alnum:]]*\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"entity.name.variable.enum-member.cs\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"(?=(,|\\\\}))\",\n\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#variable-initializer\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#preprocessor\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"interface-declaration\": {\n\t\t\t\"begin\": \"(?=\\\\binterface\\\\b)\",\n\t\t\t\"end\": \"(?<=\\\\})\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(?x)\\n(interface)\\\\b\\\\s+\\n(@?[_[:alpha:]][_[:alnum:]]*)\",\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.other.interface.cs\"\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.type.interface.cs\"\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\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type-parameter-list\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#base-types\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#generic-constraints\"\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.curlybrace.open.cs\"\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.curlybrace.close.cs\"\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\": \"#interface-members\"\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\": \"#preprocessor\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"record-declaration\": {\n\t\t\t\"begin\": \"(?=\\\\brecord\\\\b)\",\n\t\t\t\"end\": \"(?<=\\\\})\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(?x)\\n(record)\\\\b\\\\s+\\n(@?[_[:alpha:]][_[:alnum:]]*)\",\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.other.record.cs\"\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.type.record.cs\"\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\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type-parameter-list\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#base-types\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#generic-constraints\"\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.curlybrace.open.cs\"\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.curlybrace.close.cs\"\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\": \"#class-or-struct-members\"\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\": \"#preprocessor\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"struct-declaration\": {\n\t\t\t\"begin\": \"(?=\\\\bstruct\\\\b)\",\n\t\t\t\"end\": \"(?<=\\\\})\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(?x)\\n(struct)\\\\b\\\\s+\\n(@?[_[:alpha:]][_[:alnum:]]*)\",\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.other.struct.cs\"\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.type.struct.cs\"\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\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type-parameter-list\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#base-types\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#generic-constraints\"\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.curlybrace.open.cs\"\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.curlybrace.close.cs\"\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\": \"#class-or-struct-members\"\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\": \"#preprocessor\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"type-parameter-list\": {\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.typeparameters.begin.cs\"\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.typeparameters.end.cs\"\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\": \"\\\\b(in|out)\\\\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\": \"storage.modifier.cs\"\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\": \"(@?[_[:alpha:]][_[:alnum:]]*)\\\\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\": \"entity.name.type.type-parameter.cs\"\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\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-comma\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#attribute-section\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"base-types\": {\n\t\t\t\"begin\": \":\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.separator.colon.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=\\\\{|where)\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-comma\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#preprocessor\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"generic-constraints\": {\n\t\t\t\"begin\": \"(where)\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(:)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.where.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"entity.name.type.type-parameter.cs\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"punctuation.separator.colon.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=\\\\{|where|;|=>)\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"keyword.other.class.cs\",\n\t\t\t\t\t\"match\": \"\\\\bclass\\\\b\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"keyword.other.struct.cs\",\n\t\t\t\t\t\"match\": \"\\\\bstruct\\\\b\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(new)\\\\s*(\\\\()\\\\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\": \"keyword.other.new.cs\"\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.parenthesis.open.cs\"\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.parenthesis.close.cs\"\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\": \"#type\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-comma\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#generic-constraints\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"field-declaration\": {\n\t\t\t\"begin\": \"(?x)\\n(?<type_name>\\n (?:\\n (?:\\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\:\\\\:\\\\s*)? # alias-qualification\\n (?<name_and_type_args> # identifier + type arguments (if any)\\n \\\\g<identifier>\\\\s*\\n (?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?\\n )\\n (?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)* | # Are there any more names being dotted into?\\n (?<tuple>\\\\s*\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\n )\\n (?:\\\\s*\\\\?\\\\s*)? # nullable suffix?\\n (?:\\\\s* # array suffix?\\n \\\\[\\n (?:\\\\s*,\\\\s*)* # commata for multi-dimensional arrays\\n \\\\]\\n \\\\s*\\n (?:\\\\?)? # arrays can be nullable reference types\\n \\\\s*\\n )*\\n )\\n)\\\\s+\\n(\\\\g<identifier>)\\\\s* # first field name\\n(?!=>|==)(?=,|;|=|$)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"6\": {\n\t\t\t\t\t\"name\": \"entity.name.variable.field.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=;)\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"entity.name.variable.field.cs\",\n\t\t\t\t\t\"match\": \"@?[_[:alpha:]][_[:alnum:]]*\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-comma\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#variable-initializer\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#class-or-struct-members\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"property-declaration\": {\n\t\t\t\"begin\": \"(?x)\\n\\n# The negative lookahead below ensures that we don't match nested types\\n# or other declarations as properties.\\n(?![[:word:][:space:]]*\\\\b(?:class|interface|struct|enum|event)\\\\b)\\n\\n(?<return_type>\\n (?<type_name>\\n (?:\\n (?:ref\\\\s+(?:readonly\\\\s+)?)? # ref return\\n (?:\\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\:\\\\:\\\\s*)? # alias-qualification\\n (?<name_and_type_args> # identifier + type arguments (if any)\\n \\\\g<identifier>\\\\s*\\n (?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?\\n )\\n (?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)* | # Are there any more names being dotted into?\\n (?<tuple>\\\\s*\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\n )\\n (?:\\\\s*\\\\?\\\\s*)? # nullable suffix?\\n (?:\\\\s* # array suffix?\\n \\\\[\\n (?:\\\\s*,\\\\s*)* # commata for multi-dimensional arrays\\n \\\\]\\n \\\\s*\\n (?:\\\\?)? # arrays can be nullable reference types\\n \\\\s*\\n )*\\n )\\n )\\\\s+\\n)\\n(?<interface_name>\\\\g<type_name>\\\\s*\\\\.\\\\s*)?\\n(?<property_name>\\\\g<identifier>)\\\\s*\\n(?=\\\\{|=>|$)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"7\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#punctuation-accessor\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"8\": {\n\t\t\t\t\t\"name\": \"entity.name.variable.property.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?<=\\\\})|(?=;)\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#property-accessors\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expression-body\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#variable-initializer\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#class-or-struct-members\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"indexer-declaration\": {\n\t\t\t\"begin\": \"(?x)\\n(?<return_type>\\n (?<type_name>\\n (?:\\n (?:ref\\\\s+(?:readonly\\\\s+)?)? # ref return\\n (?:\\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\:\\\\:\\\\s*)? # alias-qualification\\n (?<name_and_type_args> # identifier + type arguments (if any)\\n \\\\g<identifier>\\\\s*\\n (?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?\\n )\\n (?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)* | # Are there any more names being dotted into?\\n (?<tuple>\\\\s*\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\n )\\n (?:\\\\s*\\\\?\\\\s*)? # nullable suffix?\\n (?:\\\\s* # array suffix?\\n \\\\[\\n (?:\\\\s*,\\\\s*)* # commata for multi-dimensional arrays\\n \\\\]\\n \\\\s*\\n (?:\\\\?)? # arrays can be nullable reference types\\n \\\\s*\\n )*\\n )\\n )\\\\s+\\n)\\n(?<interface_name>\\\\g<type_name>\\\\s*\\\\.\\\\s*)?\\n(?<indexer_name>this)\\\\s*\\n(?=\\\\[)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"7\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#punctuation-accessor\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"8\": {\n\t\t\t\t\t\"name\": \"keyword.other.this.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?<=\\\\})|(?=;)\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#bracketed-parameter-list\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#property-accessors\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expression-body\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#variable-initializer\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"event-declaration\": {\n\t\t\t\"begin\": \"(?x)\\n\\\\b(event)\\\\b\\\\s*\\n(?<return_type>\\n (?<type_name>\\n (?:\\n (?:\\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\:\\\\:\\\\s*)? # alias-qualification\\n (?<name_and_type_args> # identifier + type arguments (if any)\\n \\\\g<identifier>\\\\s*\\n (?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?\\n )\\n (?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)* | # Are there any more names being dotted into?\\n (?<tuple>\\\\s*\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\n )\\n (?:\\\\s*\\\\?\\\\s*)? # nullable suffix?\\n (?:\\\\s* # array suffix?\\n \\\\[\\n (?:\\\\s*,\\\\s*)* # commata for multi-dimensional arrays\\n \\\\]\\n \\\\s*\\n (?:\\\\?)? # arrays can be nullable reference types\\n \\\\s*\\n )*\\n )\\n )\\\\s+\\n)\\n(?<interface_name>\\\\g<type_name>\\\\s*\\\\.\\\\s*)?\\n(?<event_names>\\\\g<identifier>(?:\\\\s*,\\\\s*\\\\g<identifier>)*)\\\\s*\\n(?=\\\\{|;|$)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.event.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"8\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#punctuation-accessor\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"9\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"name\": \"entity.name.variable.event.cs\",\n\t\t\t\t\t\t\t\"match\": \"@?[_[:alpha:]][_[:alnum:]]*\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#punctuation-comma\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?<=\\\\})|(?=;)\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#event-accessors\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-comma\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"property-accessors\": {\n\t\t\t\"begin\": \"\\\\{\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.curlybrace.open.cs\"\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.curlybrace.close.cs\"\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\"name\": \"storage.modifier.cs\",\n\t\t\t\t\t\"match\": \"\\\\b(private|protected|internal)\\\\b\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"keyword.other.get.cs\",\n\t\t\t\t\t\"match\": \"\\\\b(get)\\\\b\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"keyword.other.set.cs\",\n\t\t\t\t\t\"match\": \"\\\\b(set)\\\\b\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"keyword.other.init.cs\",\n\t\t\t\t\t\"match\": \"\\\\b(init)\\\\b\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#attribute-section\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expression-body\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#block\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-semicolon\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"event-accessors\": {\n\t\t\t\"begin\": \"\\\\{\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.curlybrace.open.cs\"\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.curlybrace.close.cs\"\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\"name\": \"keyword.other.add.cs\",\n\t\t\t\t\t\"match\": \"\\\\b(add)\\\\b\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"keyword.other.remove.cs\",\n\t\t\t\t\t\"match\": \"\\\\b(remove)\\\\b\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#attribute-section\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expression-body\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#block\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-semicolon\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"method-declaration\": {\n\t\t\t\"begin\": \"(?x)\\n(?<return_type>\\n (?<type_name>\\n (?:\\n (?:ref\\\\s+(?:readonly\\\\s+)?)? # ref return\\n (?:\\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\:\\\\:\\\\s*)? # alias-qualification\\n (?<name_and_type_args> # identifier + type arguments (if any)\\n \\\\g<identifier>\\\\s*\\n (?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?\\n )\\n (?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)* | # Are there any more names being dotted into?\\n (?<tuple>\\\\s*\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\n )\\n (?:\\\\s*\\\\?\\\\s*)? # nullable suffix?\\n (?:\\\\s* # array suffix?\\n \\\\[\\n (?:\\\\s*,\\\\s*)* # commata for multi-dimensional arrays\\n \\\\]\\n \\\\s*\\n (?:\\\\?)? # arrays can be nullable reference types\\n \\\\s*\\n )*\\n )\\n )\\\\s+\\n)\\n(?<interface_name>\\\\g<type_name>\\\\s*\\\\.\\\\s*)?\\n(\\\\g<identifier>)\\\\s*\\n(<([^<>]+)>)?\\\\s*\\n(?=\\\\()\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"7\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#punctuation-accessor\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"8\": {\n\t\t\t\t\t\"name\": \"entity.name.function.cs\"\n\t\t\t\t},\n\t\t\t\t\"9\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type-parameter-list\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?<=\\\\})|(?=;)\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#parenthesized-parameter-list\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#generic-constraints\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expression-body\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#block\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"constructor-declaration\": {\n\t\t\t\"begin\": \"(?=@?[_[:alpha:]][_[:alnum:]]*\\\\s*\\\\()\",\n\t\t\t\"end\": \"(?<=\\\\})|(?=;)\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(@?[_[:alpha:]][_[:alnum:]]*)\\\\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\": \"entity.name.function.cs\"\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.separator.colon.cs\"\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\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#constructor-initializer\"\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\": \"#parenthesized-parameter-list\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#preprocessor\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expression-body\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#block\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"constructor-initializer\": {\n\t\t\t\"begin\": \"\\\\b(?:(base)|(this))\\\\b\\\\s*(?=\\\\()\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.base.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"keyword.other.this.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?<=\\\\))\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#argument-list\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"destructor-declaration\": {\n\t\t\t\"begin\": \"(~)(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(?=\\\\()\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.tilde.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"entity.name.function.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?<=\\\\})|(?=;)\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#parenthesized-parameter-list\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expression-body\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#block\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"operator-declaration\": {\n\t\t\t\"begin\": \"(?x)\\n(?<type_name>\\n (?:\\n (?:ref\\\\s+(?:readonly\\\\s+)?)? # ref return\\n (?:\\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\:\\\\:\\\\s*)? # alias-qualification\\n (?<name_and_type_args> # identifier + type arguments (if any)\\n \\\\g<identifier>\\\\s*\\n (?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?\\n )\\n (?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)* | # Are there any more names being dotted into?\\n (?<tuple>\\\\s*\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\n )\\n (?:\\\\s*\\\\?\\\\s*)? # nullable suffix?\\n (?:\\\\s* # array suffix?\\n \\\\[\\n (?:\\\\s*,\\\\s*)* # commata for multi-dimensional arrays\\n \\\\]\\n \\\\s*\\n (?:\\\\?)? # arrays can be nullable reference types\\n \\\\s*\\n )*\\n )\\n)\\\\s*\\n(?<operator_keyword>(?:\\\\b(?:operator)))\\\\s*\\n(?<operator>(?:\\\\+|-|\\\\*|/|%|&|\\\\||\\\\^|\\\\<\\\\<|\\\\>\\\\>|==|!=|\\\\>|\\\\<|\\\\>=|\\\\<=|!|~|\\\\+\\\\+|--|true|false))\\\\s*\\n(?=\\\\()\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"6\": {\n\t\t\t\t\t\"name\": \"keyword.other.operator-decl.cs\"\n\t\t\t\t},\n\t\t\t\t\"7\": {\n\t\t\t\t\t\"name\": \"entity.name.function.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?<=\\\\})|(?=;)\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#parenthesized-parameter-list\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expression-body\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#block\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"conversion-operator-declaration\": {\n\t\t\t\"begin\": \"(?x)\\n(?<explicit_or_implicit_keyword>(?:\\\\b(?:explicit|implicit)))\\\\s*\\n(?<operator_keyword>(?:\\\\b(?:operator)))\\\\s*\\n(?<type_name>\\n (?:\\n (?:ref\\\\s+(?:readonly\\\\s+)?)? # ref return\\n (?:\\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\:\\\\:\\\\s*)? # alias-qualification\\n (?<name_and_type_args> # identifier + type arguments (if any)\\n \\\\g<identifier>\\\\s*\\n (?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?\\n )\\n (?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)* | # Are there any more names being dotted into?\\n (?<tuple>\\\\s*\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\n )\\n (?:\\\\s*\\\\?\\\\s*)? # nullable suffix?\\n (?:\\\\s* # array suffix?\\n \\\\[\\n (?:\\\\s*,\\\\s*)* # commata for multi-dimensional arrays\\n \\\\]\\n \\\\s*\\n (?:\\\\?)? # arrays can be nullable reference types\\n \\\\s*\\n )*\\n )\\n)\\\\s*\\n(?=\\\\()\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"\\\\b(explicit)\\\\b\",\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\": \"keyword.other.explicit.cs\"\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\": \"\\\\b(implicit)\\\\b\",\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\": \"keyword.other.implicit.cs\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"keyword.other.operator-decl.cs\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?<=\\\\})|(?=;)\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#parenthesized-parameter-list\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expression-body\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#block\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"block\": {\n\t\t\t\"begin\": \"\\\\{\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.curlybrace.open.cs\"\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.curlybrace.close.cs\"\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\": \"#statement\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"variable-initializer\": {\n\t\t\t\"begin\": \"(?<!=|!)(=)(?!=|>)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.operator.assignment.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=[,\\\\)\\\\];}])\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#ref-modifier\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expression\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"expression-body\": {\n\t\t\t\"begin\": \"=>\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"keyword.operator.arrow.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=[,\\\\);}])\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#ref-modifier\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expression\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"goto-statement\": {\n\t\t\t\"begin\": \"(?<!\\\\.)\\\\b(goto)\\\\b\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.control.goto.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=;)\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"\\\\b(case)\\\\b\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.control.case.cs\"\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\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#expression\"\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\": \"\\\\b(default)\\\\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.control.default.cs\"\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\"name\": \"entity.name.label.cs\",\n\t\t\t\t\t\"match\": \"@?[_[:alpha:]][_[:alnum:]]*\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"return-statement\": {\n\t\t\t\"begin\": \"(?<!\\\\.)\\\\b(return)\\\\b\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.control.flow.return.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=;)\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#ref-modifier\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expression\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"break-or-continue-statement\": {\n\t\t\t\"match\": \"(?<!\\\\.)\\\\b(?:(break)|(continue))\\\\b\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.control.flow.break.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"keyword.control.flow.continue.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"throw-statement\": {\n\t\t\t\"begin\": \"(?<!\\\\.)\\\\b(throw)\\\\b\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.control.flow.throw.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=;)\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expression\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"yield-statement\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#yield-return-statement\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#yield-break-statement\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"yield-return-statement\": {\n\t\t\t\"begin\": \"(?<!\\\\.)\\\\b(yield)\\\\b\\\\s*\\\\b(return)\\\\b\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.control.flow.yield.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"keyword.control.flow.return.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=;)\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expression\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"yield-break-statement\": {\n\t\t\t\"match\": \"(?<!\\\\.)\\\\b(yield)\\\\b\\\\s*\\\\b(break)\\\\b\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.control.flow.yield.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"keyword.control.flow.break.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"await-statement\": {\n\t\t\t\"begin\": \"(?<!\\\\.)\\\\b(await)\\\\b\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.await.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=;)\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#statement\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"if-statement\": {\n\t\t\t\"begin\": \"(?<!\\\\.)\\\\b(if)\\\\b\\\\s*(?=\\\\()\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.control.conditional.if.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?<=\\\\})|(?=;)\",\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.parenthesis.open.cs\"\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.parenthesis.close.cs\"\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\": \"#expression\"\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\": \"#statement\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"else-part\": {\n\t\t\t\"begin\": \"(?<!\\\\.)\\\\b(else)\\\\b\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.control.conditional.else.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?<=\\\\})|(?=;)\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#statement\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"switch-statement\": {\n\t\t\t\"begin\": \"(?<!\\\\.)\\\\b(switch)\\\\b\\\\s*(?=\\\\()\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.control.switch.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?<=\\\\})\",\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.parenthesis.open.cs\"\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.parenthesis.close.cs\"\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\": \"#expression\"\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.curlybrace.open.cs\"\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.curlybrace.close.cs\"\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\": \"#switch-label\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#statement\"\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\"switch-expression\": {\n\t\t\t\"begin\": \"(?x) (?<!\\\\.)\\\\b(switch)\\\\b\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.control.switch.cs\"\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.curlybrace.close.cs\"\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\"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.curlybrace.open.cs\"\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.curlybrace.close.cs\"\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\": \"#comment\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#literal\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#switch-var-pattern\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#switch-property-expression\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#member-access-expression\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#switch-pattern\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#expression-body\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#punctuation-comma\"\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\"switch-pattern\": {\n\t\t\t\"begin\": \"(?x) # e.g. int x OR var x\\n(?<type_name>\\n (?:\\n (?:\\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\:\\\\:\\\\s*)? # alias-qualification\\n (?<name_and_type_args> # identifier + type arguments (if any)\\n \\\\g<identifier>\\\\s*\\n (?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?\\n )\\n (?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)* | # Are there any more names being dotted into?\\n (?<tuple>\\\\s*\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\n )\\n (?:\\\\s*\\\\?\\\\s*)? # nullable suffix?\\n (?:\\\\s* # array suffix?\\n \\\\[\\n (?:\\\\s*,\\\\s*)* # commata for multi-dimensional arrays\\n \\\\]\\n \\\\s*\\n (?:\\\\?)? # arrays can be nullable reference types\\n \\\\s*\\n )*\\n )\\n)\\\\s+\\n(\\\\g<identifier>)\\\\b\\\\s*\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"entity.name.variable.local.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?==>)\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#switch-when-clause\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"switch-property-expression\": {\n\t\t\t\"begin\": \"(?x) # e.g. int x OR var x\\n(?<type_name>\\n (?:\\n (?:\\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\:\\\\:\\\\s*)? # alias-qualification\\n (?<name_and_type_args> # identifier + type arguments (if any)\\n \\\\g<identifier>\\\\s*\\n (?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?\\n )\\n (?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)* | # Are there any more names being dotted into?\\n (?<tuple>\\\\s*\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\n )\\n (?:\\\\s*\\\\?\\\\s*)? # nullable suffix?\\n (?:\\\\s* # array suffix?\\n \\\\[\\n (?:\\\\s*,\\\\s*)* # commata for multi-dimensional arrays\\n \\\\]\\n \\\\s*\\n (?:\\\\?)? # arrays can be nullable reference types\\n \\\\s*\\n )*\\n )\\n)?\\\\s*\\n(\\\\{)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"6\": {\n\t\t\t\t\t\"name\": \"punctuation.curlybrace.open.cs\"\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.curlybrace.close.cs\"\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\": \"#expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-comma\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"switch-var-pattern\": {\n\t\t\t\"begin\": \"(?x) # match foreach (var (x, y) in ...)\\n(?:\\\\b(var)\\\\b\\\\s*)\\n(?<tuple>\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\\\s*\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.var.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#tuple-declaration-deconstruction-element-list\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?==>)\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#switch-when-clause\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"switch-when-clause\": {\n\t\t\t\"begin\": \"(?<!\\\\.)\\\\b(when)\\\\b\\\\s*(\\\\()?\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.control.try.when.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"punctuation.parenthesis.open.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?==>)\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-comma\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\(\",\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.parenthesis.open.cs\"\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\"captures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.parenthesis.close.cs\"\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\"switch-label\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(?<!\\\\.)\\\\b(case)\\\\b\\\\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.case.cs\"\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.separator.colon.cs\"\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\": \"#expression\"\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\": \"(?<!\\\\.)\\\\b(default)\\\\b\\\\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\": \"keyword.control.default.cs\"\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.colon.cs\"\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\"do-statement\": {\n\t\t\t\"begin\": \"(?<!\\\\.)\\\\b(do)\\\\b\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.control.loop.do.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=;|})\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#statement\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"while-statement\": {\n\t\t\t\"begin\": \"(?<!\\\\.)\\\\b(while)\\\\b\\\\s*(?=\\\\()\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.control.loop.while.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?<=\\\\})|(?=;)\",\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.parenthesis.open.cs\"\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.parenthesis.close.cs\"\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\": \"#expression\"\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\": \"#statement\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"for-statement\": {\n\t\t\t\"begin\": \"(?<!\\\\.)\\\\b(for)\\\\b\\\\s*(?=\\\\()\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.control.loop.for.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?<=\\\\})|(?=;)\",\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.parenthesis.open.cs\"\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.parenthesis.close.cs\"\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\": \"#local-variable-declaration\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#expression\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#punctuation-comma\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#punctuation-semicolon\"\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\": \"#statement\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"foreach-statement\": {\n\t\t\t\"begin\": \"(?<!\\\\.)\\\\b(foreach)\\\\b\\\\s*(?=\\\\()\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.control.loop.foreach.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?<=\\\\})|(?=;)\",\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.parenthesis.open.cs\"\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.parenthesis.close.cs\"\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\"match\": \"(?x)\\n(?:\\n (\\\\bvar\\\\b)|\\n (?<type_name>\\n (?:\\n (?:\\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\:\\\\:\\\\s*)? # alias-qualification\\n (?<name_and_type_args> # identifier + type arguments (if any)\\n \\\\g<identifier>\\\\s*\\n (?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?\\n )\\n (?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)* | # Are there any more names being dotted into?\\n (?<tuple>\\\\s*\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\n )\\n (?:\\\\s*\\\\?\\\\s*)? # nullable suffix?\\n (?:\\\\s* # array suffix?\\n \\\\[\\n (?:\\\\s*,\\\\s*)* # commata for multi-dimensional arrays\\n \\\\]\\n \\\\s*\\n (?:\\\\?)? # arrays can be nullable reference types\\n \\\\s*\\n )*\\n )\\n )\\n)\\\\s+\\n(\\\\g<identifier>)\\\\s+\\n\\\\b(in)\\\\b\",\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\": \"keyword.other.var.cs\"\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\"patterns\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"7\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"entity.name.variable.local.cs\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"8\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"keyword.control.loop.in.cs\"\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\": \"(?x) # match foreach (var (x, y) in ...)\\n(?:\\\\b(var)\\\\b\\\\s*)?\\n(?<tuple>\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\\\s+\\n\\\\b(in)\\\\b\",\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\": \"keyword.other.var.cs\"\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\"patterns\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"include\": \"#tuple-declaration-deconstruction-element-list\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"keyword.control.loop.in.cs\"\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\": \"#expression\"\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\": \"#statement\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"try-statement\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#try-block\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#catch-clause\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#finally-clause\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"try-block\": {\n\t\t\t\"begin\": \"(?<!\\\\.)\\\\b(try)\\\\b\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.control.try.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?<=\\\\})\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#block\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"finally-clause\": {\n\t\t\t\"begin\": \"(?<!\\\\.)\\\\b(finally)\\\\b\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.control.try.finally.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?<=\\\\})\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#block\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"catch-clause\": {\n\t\t\t\"begin\": \"(?<!\\\\.)\\\\b(catch)\\\\b\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.control.try.catch.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?<=\\\\})\",\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.parenthesis.open.cs\"\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.parenthesis.close.cs\"\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\"match\": \"(?x)\\n(?<type_name>\\n (?:\\n (?:\\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\:\\\\:\\\\s*)? # alias-qualification\\n (?<name_and_type_args> # identifier + type arguments (if any)\\n \\\\g<identifier>\\\\s*\\n (?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?\\n )\\n (?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)* | # Are there any more names being dotted into?\\n (?<tuple>\\\\s*\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\n )\\n (?:\\\\s*\\\\?\\\\s*)? # nullable suffix?\\n (?:\\\\s* # array suffix?\\n \\\\[\\n (?:\\\\s*,\\\\s*)* # commata for multi-dimensional arrays\\n \\\\]\\n \\\\s*\\n (?:\\\\?)? # arrays can be nullable reference types\\n \\\\s*\\n )*\\n )\\n)\\\\s*\\n(?:(\\\\g<identifier>)\\\\b)?\",\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\"patterns\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"6\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"entity.name.variable.local.cs\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#when-clause\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#block\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"when-clause\": {\n\t\t\t\"begin\": \"(?<!\\\\.)\\\\b(when)\\\\b\\\\s*(\\\\()\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.control.try.when.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"punctuation.parenthesis.open.cs\"\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.parenthesis.close.cs\"\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\": \"#expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"checked-unchecked-statement\": {\n\t\t\t\"begin\": \"(?<!\\\\.)\\\\b(?:(checked)|(unchecked))\\\\b\\\\s*(?!\\\\()\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.checked.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"keyword.other.unchecked.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?<=\\\\})\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#block\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"lock-statement\": {\n\t\t\t\"begin\": \"(?<!\\\\.)\\\\b(lock)\\\\b\\\\s*(?=\\\\()\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.lock.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?<=\\\\})|(?=;)\",\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.parenthesis.open.cs\"\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.parenthesis.close.cs\"\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\": \"#expression\"\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\": \"#statement\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"using-statement\": {\n\t\t\t\"begin\": \"(?<!\\\\.)\\\\b(using)\\\\b\\\\s*(?=\\\\()\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.using.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=\\\\;|})\",\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.parenthesis.open.cs\"\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.parenthesis.close.cs\"\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\": \"#local-variable-declaration\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#expression\"\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\": \"#statement\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"labeled-statement\": {\n\t\t\t\"match\": \"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(:)\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"entity.name.label.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"punctuation.separator.colon.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"local-declaration\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#local-constant-declaration\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#local-variable-declaration\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#local-function-declaration\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#local-tuple-var-deconstruction\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"local-variable-declaration\": {\n\t\t\t\"begin\": \"(?x)\\n(?:\\n (?:(\\\\busing)\\\\s+)?\\n (?:(\\\\bref)\\\\s+(?:(\\\\breadonly)\\\\s+)?)?(\\\\bvar\\\\b)| # ref local\\n (?<type_name>\\n (?:\\n (?:ref\\\\s+(?:readonly\\\\s+)?)? # ref local\\n (?:\\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\:\\\\:\\\\s*)? # alias-qualification\\n (?<name_and_type_args> # identifier + type arguments (if any)\\n \\\\g<identifier>\\\\s*\\n (?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?\\n )\\n (?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)* | # Are there any more names being dotted into?\\n (?<tuple>\\\\s*\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\n )\\n (?:\\\\s*\\\\?\\\\s*)? # nullable suffix?\\n (?:\\\\s* # array suffix?\\n \\\\[\\n (?:\\\\s*,\\\\s*)* # commata for multi-dimensional arrays\\n \\\\]\\n \\\\s*\\n (?:\\\\?)? # arrays can be nullable reference types\\n \\\\s*\\n )*\\n )\\n )\\n)\\\\s+\\n(\\\\g<identifier>)\\\\s*\\n(?!=>)\\n(?=,|;|=|\\\\))\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.using.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"storage.modifier.cs\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"storage.modifier.cs\"\n\t\t\t\t},\n\t\t\t\t\"4\": {\n\t\t\t\t\t\"name\": \"keyword.other.var.cs\"\n\t\t\t\t},\n\t\t\t\t\"5\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"10\": {\n\t\t\t\t\t\"name\": \"entity.name.variable.local.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=;|\\\\))\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"entity.name.variable.local.cs\",\n\t\t\t\t\t\"match\": \"@?[_[:alpha:]][_[:alnum:]]*\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-comma\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#variable-initializer\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"local-constant-declaration\": {\n\t\t\t\"begin\": \"(?x)\\n(?<const_keyword>\\\\b(?:const)\\\\b)\\\\s*\\n(?<type_name>\\n (?:\\n (?:\\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\:\\\\:\\\\s*)? # alias-qualification\\n (?<name_and_type_args> # identifier + type arguments (if any)\\n \\\\g<identifier>\\\\s*\\n (?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?\\n )\\n (?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)* | # Are there any more names being dotted into?\\n (?<tuple>\\\\s*\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\n )\\n (?:\\\\s*\\\\?\\\\s*)? # nullable suffix?\\n (?:\\\\s* # array suffix?\\n \\\\[\\n (?:\\\\s*,\\\\s*)* # commata for multi-dimensional arrays\\n \\\\]\\n \\\\s*\\n (?:\\\\?)? # arrays can be nullable reference types\\n \\\\s*\\n )*\\n )\\n)\\\\s+\\n(\\\\g<identifier>)\\\\s*\\n(?=,|;|=)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"storage.modifier.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"7\": {\n\t\t\t\t\t\"name\": \"entity.name.variable.local.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=;)\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"entity.name.variable.local.cs\",\n\t\t\t\t\t\"match\": \"@?[_[:alpha:]][_[:alnum:]]*\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-comma\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#variable-initializer\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"local-function-declaration\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#method-declaration\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"local-tuple-var-deconstruction\": {\n\t\t\t\"begin\": \"(?x) # e.g. var (x, y) = GetPoint();\\n(?:\\\\b(var)\\\\b\\\\s*)\\n(?<tuple>\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\\\s*\\n(?=;|=|\\\\))\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.var.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#tuple-declaration-deconstruction-element-list\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=;|\\\\))\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#variable-initializer\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"tuple-deconstruction-assignment\": {\n\t\t\t\"match\": \"(?x)\\n(?<tuple>\\\\s*\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\\\s*\\n(?!=>|==)(?==)\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#tuple-deconstruction-element-list\"\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\"tuple-declaration-deconstruction-element-list\": {\n\t\t\t\"begin\": \"\\\\(\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.parenthesis.open.cs\"\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.parenthesis.close.cs\"\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\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#tuple-declaration-deconstruction-element-list\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#declaration-expression-tuple\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-comma\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?x) # e.g. x\\n(@?[_[:alpha:]][_[:alnum:]]*)\\\\b\\\\s*\\n(?=[,)])\",\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"entity.name.variable.tuple-element.cs\"\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\"tuple-deconstruction-element-list\": {\n\t\t\t\"begin\": \"\\\\(\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.parenthesis.open.cs\"\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.parenthesis.close.cs\"\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\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#tuple-deconstruction-element-list\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#declaration-expression-tuple\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-comma\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?x) # e.g. x\\n(@?[_[:alpha:]][_[:alnum:]]*)\\\\b\\\\s*\\n(?=[,)])\",\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"variable.other.readwrite.cs\"\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\"declaration-expression-local\": {\n\t\t\t\"match\": \"(?x) # e.g. int x OR var x\\n(?:\\n \\\\b(var)\\\\b|\\n (?<type_name>\\n (?:\\n (?:\\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\:\\\\:\\\\s*)? # alias-qualification\\n (?<name_and_type_args> # identifier + type arguments (if any)\\n \\\\g<identifier>\\\\s*\\n (?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?\\n )\\n (?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)* | # Are there any more names being dotted into?\\n (?<tuple>\\\\s*\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\n )\\n (?:\\\\s*\\\\?\\\\s*)? # nullable suffix?\\n (?:\\\\s* # array suffix?\\n \\\\[\\n (?:\\\\s*,\\\\s*)* # commata for multi-dimensional arrays\\n \\\\]\\n \\\\s*\\n (?:\\\\?)? # arrays can be nullable reference types\\n \\\\s*\\n )*\\n )\\n )\\n)\\\\s+\\n(\\\\g<identifier>)\\\\b\\\\s*\\n(?=[,)\\\\]])\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.var.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"7\": {\n\t\t\t\t\t\"name\": \"entity.name.variable.local.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"declaration-expression-tuple\": {\n\t\t\t\"match\": \"(?x) # e.g. int x OR var x\\n(?:\\n \\\\b(var)\\\\b|\\n (?<type_name>\\n (?:\\n (?:\\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\:\\\\:\\\\s*)? # alias-qualification\\n (?<name_and_type_args> # identifier + type arguments (if any)\\n \\\\g<identifier>\\\\s*\\n (?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?\\n )\\n (?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)* | # Are there any more names being dotted into?\\n (?<tuple>\\\\s*\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\n )\\n (?:\\\\s*\\\\?\\\\s*)? # nullable suffix?\\n (?:\\\\s* # array suffix?\\n \\\\[\\n (?:\\\\s*,\\\\s*)* # commata for multi-dimensional arrays\\n \\\\]\\n \\\\s*\\n (?:\\\\?)? # arrays can be nullable reference types\\n \\\\s*\\n )*\\n )\\n )\\n)\\\\s+\\n(\\\\g<identifier>)\\\\b\\\\s*\\n(?=[,)])\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.var.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"7\": {\n\t\t\t\t\t\"name\": \"entity.name.variable.tuple-element.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"checked-unchecked-expression\": {\n\t\t\t\"begin\": \"(?<!\\\\.)\\\\b(?:(checked)|(unchecked))\\\\b\\\\s*(\\\\()\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.checked.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"keyword.other.unchecked.cs\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"punctuation.parenthesis.open.cs\"\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.parenthesis.close.cs\"\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\": \"#expression\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"typeof-or-default-expression\": {\n\t\t\t\"begin\": \"(?<!\\\\.)\\\\b(?:(typeof)|(default))\\\\b\\\\s*(\\\\()\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.typeof.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"keyword.other.default.cs\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"punctuation.parenthesis.open.cs\"\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.parenthesis.close.cs\"\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\": \"#type\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"nameof-expression\": {\n\t\t\t\"begin\": \"(?<!\\\\.)\\\\b(nameof)\\\\b\\\\s*(\\\\()\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.nameof.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"punctuation.parenthesis.open.cs\"\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.parenthesis.close.cs\"\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\": \"#expression\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"throw-expression\": {\n\t\t\t\"match\": \"(?<!\\\\.)\\\\b(throw)\\\\b\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.control.flow.throw.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"interpolated-string\": {\n\t\t\t\"name\": \"string.quoted.double.cs\",\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.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(\\\")|((?:[^\\\\\\\\\\\\n])$)\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.string.end.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"invalid.illegal.newline.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#string-character-escape\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#interpolation\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"verbatim-interpolated-string\": {\n\t\t\t\"name\": \"string.quoted.double.cs\",\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.cs\"\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.cs\"\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\": \"#verbatim-string-character-escape\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#interpolation\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"interpolation\": {\n\t\t\t\"name\": \"meta.interpolation.cs\",\n\t\t\t\"begin\": \"(?<=[^\\\\{]|^)((?:\\\\{\\\\{)*)(\\\\{)(?=[^\\\\{])\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"string.quoted.double.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.interpolation.begin.cs\"\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.interpolation.end.cs\"\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\": \"#expression\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"raw-interpolated-string\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#raw-interpolated-string-five-or-more-quote-one-or-more-interpolation\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#raw-interpolated-string-three-or-more-quote-three-or-more-interpolation\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#raw-interpolated-string-quadruple-quote-double-interpolation\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#raw-interpolated-string-quadruple-quote-single-interpolation\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#raw-interpolated-string-triple-quote-double-interpolation\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#raw-interpolated-string-triple-quote-single-interpolation\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"raw-interpolated-string-triple-quote-single-interpolation\": {\n\t\t\t\"name\": \"string.quoted.double.cs\",\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.cs\"\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.cs\"\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\": \"#raw-interpolation\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"raw-interpolated-string-triple-quote-double-interpolation\": {\n\t\t\t\"name\": \"string.quoted.double.cs\",\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.cs\"\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.cs\"\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-raw-interpolation\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"raw-interpolated-string-quadruple-quote-single-interpolation\": {\n\t\t\t\"name\": \"string.quoted.double.cs\",\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.cs\"\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.cs\"\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\": \"#raw-interpolation\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"raw-interpolated-string-quadruple-quote-double-interpolation\": {\n\t\t\t\"name\": \"string.quoted.double.cs\",\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.cs\"\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.cs\"\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-raw-interpolation\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"raw-interpolated-string-three-or-more-quote-three-or-more-interpolation\": {\n\t\t\t\"name\": \"string.quoted.double.cs\",\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.cs\"\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.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"raw-interpolated-string-five-or-more-quote-one-or-more-interpolation\": {\n\t\t\t\"name\": \"string.quoted.double.cs\",\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.cs\"\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.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"raw-interpolation\": {\n\t\t\t\"name\": \"meta.interpolation.cs\",\n\t\t\t\"begin\": \"(?<=[^\\\\{]|^)((?:\\\\{)*)(\\\\{)(?=[^\\\\{])\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"string.quoted.double.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.interpolation.begin.cs\"\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.interpolation.end.cs\"\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\": \"#expression\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"double-raw-interpolation\": {\n\t\t\t\"name\": \"meta.interpolation.cs\",\n\t\t\t\"begin\": \"(?<=[^\\\\{][^\\\\{]|^)((?:\\\\{)*)(\\\\{\\\\{)(?=[^\\\\{])\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"string.quoted.double.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.interpolation.begin.cs\"\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.interpolation.end.cs\"\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\": \"#expression\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"literal\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#boolean-literal\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#null-literal\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#numeric-literal\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#char-literal\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#raw-string-literal\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#string-literal\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#verbatim-string-literal\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#tuple-literal\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"boolean-literal\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"constant.language.boolean.true.cs\",\n\t\t\t\t\t\"match\": \"(?<!\\\\.)\\\\btrue\\\\b\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"constant.language.boolean.false.cs\",\n\t\t\t\t\t\"match\": \"(?<!\\\\.)\\\\bfalse\\\\b\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"null-literal\": {\n\t\t\t\"name\": \"constant.language.null.cs\",\n\t\t\t\"match\": \"(?<!\\\\.)\\\\bnull\\\\b\"\n\t\t},\n\t\t\"numeric-literal\": {\n\t\t\t\"match\": \"(?<!\\\\w)\\\\.?\\\\d(?:(?:[0-9a-zA-Z_\\\\.]|_)|(?<=[eE])[+-])*\",\n\t\t\t\"captures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"begin\": \"(?=.)\",\n\t\t\t\t\t\t\t\"end\": \"$\",\n\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"match\": \"(\\\\G(?=[0-9.])(?!0[xXbB]))([0-9](?:[0-9]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?((?:(?<=[0-9])|\\\\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?((?<!_)([eE])(\\\\+?)(\\\\-?)((?:[0-9](?:[0-9]|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)))?([fFdDmM](?!\\\\w))?$\",\n\t\t\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.decimal.cs\",\n\t\t\t\t\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"match\": \"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.other.separator.thousands.cs\"\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.other.separator.thousands.cs\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.other.separator.decimals.cs\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"5\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.decimal.cs\",\n\t\t\t\t\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"match\": \"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.other.separator.thousands.cs\"\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"6\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.other.separator.thousands.cs\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"8\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.other.exponent.cs\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"9\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.arithmetic.cs\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"10\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.arithmetic.cs\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"11\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.decimal.cs\",\n\t\t\t\t\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"match\": \"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.other.separator.thousands.cs\"\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"12\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.other.suffix.cs\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"match\": \"(\\\\G0[bB])([01_](?:[01_]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?:(?:(?:(?:(?:[uU]|[uU]l)|[uU]L)|l[uU]?)|L[uU]?)|[fFdDmM])(?!\\\\w))?$\",\n\t\t\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.other.preffix.binary.cs\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.binary.cs\",\n\t\t\t\t\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"match\": \"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.other.separator.thousands.cs\"\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.other.separator.thousands.cs\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.other.suffix.cs\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"match\": \"(\\\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?:(?:(?:(?:(?:[uU]|[uU]l)|[uU]L)|l[uU]?)|L[uU]?)|[fFdDmM])(?!\\\\w))?$\",\n\t\t\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.other.preffix.hex.cs\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.hex.cs\",\n\t\t\t\t\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"match\": \"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.other.separator.thousands.cs\"\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.other.separator.thousands.cs\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.other.suffix.cs\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"match\": \"(\\\\G(?=[0-9.])(?!0[xXbB]))([0-9](?:[0-9]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?<!_)([eE])(\\\\+?)(\\\\-?)((?:[0-9](?:[0-9]|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)))?((?:(?:(?:(?:(?:[uU]|[uU]l)|[uU]L)|l[uU]?)|L[uU]?)|[fFdDmM])(?!\\\\w))?$\",\n\t\t\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.decimal.cs\",\n\t\t\t\t\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"match\": \"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.other.separator.thousands.cs\"\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.other.separator.thousands.cs\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"5\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.other.exponent.cs\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"6\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.arithmetic.cs\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"7\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.arithmetic.cs\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"8\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.decimal.cs\",\n\t\t\t\t\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"match\": \"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.other.separator.thousands.cs\"\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"9\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.other.suffix.cs\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"match\": \"(?:(?:[0-9a-zA-Z_\\\\.]|_)|(?<=[eE])[+-])+\",\n\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.constant.numeric.cs\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"char-literal\": {\n\t\t\t\"name\": \"string.quoted.single.cs\",\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.char.begin.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(\\\\')|((?:[^\\\\\\\\\\\\n])$)\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.char.end.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"invalid.illegal.newline.cs\"\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\": \"#char-character-escape\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"char-character-escape\": {\n\t\t\t\"name\": \"constant.character.escape.cs\",\n\t\t\t\"match\": \"\\\\\\\\(['\\\"\\\\\\\\0abfnrtv]|x[0-9a-fA-F]{1,4}|u[0-9a-fA-F]{4})\"\n\t\t},\n\t\t\"string-literal\": {\n\t\t\t\"name\": \"string.quoted.double.cs\",\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.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(\\\")|((?:[^\\\\\\\\\\\\n])$)\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.string.end.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"invalid.illegal.newline.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#string-character-escape\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"string-character-escape\": {\n\t\t\t\"name\": \"constant.character.escape.cs\",\n\t\t\t\"match\": \"\\\\\\\\(['\\\"\\\\\\\\0abfnrtv]|x[0-9a-fA-F]{1,4}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4})\"\n\t\t},\n\t\t\"verbatim-string-literal\": {\n\t\t\t\"name\": \"string.quoted.double.cs\",\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.cs\"\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.cs\"\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\": \"#verbatim-string-character-escape\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"verbatim-string-character-escape\": {\n\t\t\t\"name\": \"constant.character.escape.cs\",\n\t\t\t\"match\": \"\\\"\\\"\"\n\t\t},\n\t\t\"raw-string-literal\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#raw-string-literal-more\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#raw-string-literal-quadruple\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#raw-string-literal-triple\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"raw-string-literal-triple\": {\n\t\t\t\"name\": \"string.quoted.double.cs\",\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.cs\"\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.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"raw-string-literal-quadruple\": {\n\t\t\t\"name\": \"string.quoted.double.cs\",\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.cs\"\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.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"raw-string-literal-more\": {\n\t\t\t\"name\": \"string.quoted.double.cs\",\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.cs\"\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.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"tuple-literal\": {\n\t\t\t\"begin\": \"(\\\\()(?=.*[:,])\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.parenthesis.open.cs\"\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.parenthesis.close.cs\"\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\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#tuple-literal-element\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-comma\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"tuple-literal-element\": {\n\t\t\t\"begin\": \"(?x)\\n(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\n(?=:)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"entity.name.variable.tuple-element.cs\"\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.separator.colon.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"expression-operators\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"keyword.operator.assignment.compound.cs\",\n\t\t\t\t\t\"match\": \"\\\\*=|/=|%=|\\\\+=|-=|\\\\?\\\\?=\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"keyword.operator.assignment.compound.bitwise.cs\",\n\t\t\t\t\t\"match\": \"\\\\&=|\\\\^=|<<=|>>=|\\\\|=\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"keyword.operator.bitwise.shift.cs\",\n\t\t\t\t\t\"match\": \"<<|>>\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"keyword.operator.comparison.cs\",\n\t\t\t\t\t\"match\": \"==|!=\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"keyword.operator.relational.cs\",\n\t\t\t\t\t\"match\": \"<=|>=|<|>\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"keyword.operator.logical.cs\",\n\t\t\t\t\t\"match\": \"\\\\!|&&|\\\\|\\\\|\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"keyword.operator.bitwise.cs\",\n\t\t\t\t\t\"match\": \"\\\\&|~|\\\\^|\\\\|\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"keyword.operator.assignment.cs\",\n\t\t\t\t\t\"match\": \"\\\\=\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"keyword.operator.decrement.cs\",\n\t\t\t\t\t\"match\": \"--\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"keyword.operator.increment.cs\",\n\t\t\t\t\t\"match\": \"\\\\+\\\\+\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"keyword.operator.arithmetic.cs\",\n\t\t\t\t\t\"match\": \"%|\\\\*|/|-|\\\\+\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"keyword.operator.null-coalescing.cs\",\n\t\t\t\t\t\"match\": \"\\\\?\\\\?\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"switch-literal\": {\n\t\t\t\"name\": \"constant.language.null.cs\",\n\t\t\t\"match\": \"(?<!\\\\.)\\\\bnull\\\\b\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"constant.language.null.cs\"\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\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-comma\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expression-body\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"conditional-operator\": {\n\t\t\t\"begin\": \"\\\\?(?!\\\\s*[?.\\\\[]|\\\\s*$)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"keyword.operator.conditional.question-mark.cs\"\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\": \"keyword.operator.conditional.colon.cs\"\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\": \"#expression\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"await-expression\": {\n\t\t\t\"name\": \"keyword.other.await.cs\",\n\t\t\t\"match\": \"(?!\\\\.)\\\\b(await)\\\\b\"\n\t\t},\n\t\t\"parenthesized-expression\": {\n\t\t\t\"begin\": \"\\\\(\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.parenthesis.open.cs\"\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.parenthesis.close.cs\"\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\": \"#expression\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"initializer-expression\": {\n\t\t\t\"begin\": \"\\\\{\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.curlybrace.open.cs\"\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.curlybrace.close.cs\"\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\": \"#expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-comma\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"identifier\": {\n\t\t\t\"name\": \"variable.other.readwrite.cs\",\n\t\t\t\"match\": \"@?[_[:alpha:]][_[:alnum:]]*\"\n\t\t},\n\t\t\"cast-expression\": {\n\t\t\t\"match\": \"(?x)\\n(\\\\()\\\\s*\\n(?<type_name>\\n (?:\\n (?:\\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\:\\\\:\\\\s*)? # alias-qualification\\n (?<name_and_type_args> # identifier + type arguments (if any)\\n \\\\g<identifier>\\\\s*\\n (?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?\\n )\\n (?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)* | # Are there any more names being dotted into?\\n (?<tuple>\\\\s*\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\n )\\n (?:\\\\s*\\\\?\\\\s*)? # nullable suffix?\\n (?:\\\\s* # array suffix?\\n \\\\[\\n (?:\\\\s*,\\\\s*)* # commata for multi-dimensional arrays\\n \\\\]\\n \\\\s*\\n (?:\\\\?)? # arrays can be nullable reference types\\n \\\\s*\\n )*\\n )\\n)\\\\s*\\n(\\\\))(?=\\\\s*-*!*@?[_[:alnum:]\\\\(])\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.parenthesis.open.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"7\": {\n\t\t\t\t\t\"name\": \"punctuation.parenthesis.close.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"as-expression\": {\n\t\t\t\"match\": \"(?x)\\n(?<!\\\\.)\\\\b(as)\\\\b\\\\s*\\n(?<type_name>\\n (?:\\n (?:\\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\:\\\\:\\\\s*)? # alias-qualification\\n (?<name_and_type_args> # identifier + type arguments (if any)\\n \\\\g<identifier>\\\\s*\\n (?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?\\n )\\n (?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)* | # Are there any more names being dotted into?\\n (?<tuple>\\\\s*\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\n )\\n (?:\\\\s*\\\\?\\\\s*)? # nullable suffix?\\n (?:\\\\s* # array suffix?\\n \\\\[\\n (?:\\\\s*,\\\\s*)* # commata for multi-dimensional arrays\\n \\\\]\\n \\\\s*\\n (?:\\\\?)? # arrays can be nullable reference types\\n \\\\s*\\n )*\\n )\\n)?\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.as.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\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\"is-expression\": {\n\t\t\t\"match\": \"(?x)\\n(?<!\\\\.)\\\\b(is)\\\\b\\\\s*\\n(?<type_name>\\n (?:\\n (?:\\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\:\\\\:\\\\s*)? # alias-qualification\\n (?<name_and_type_args> # identifier + type arguments (if any)\\n \\\\g<identifier>\\\\s*\\n (?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?\\n )\\n (?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)* | # Are there any more names being dotted into?\\n (?<tuple>\\\\s*\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\n )\\n (?:\\\\s*\\\\?\\\\s*)? # nullable suffix?\\n (?:\\\\s* # array suffix?\\n \\\\[\\n (?:\\\\s*,\\\\s*)* # commata for multi-dimensional arrays\\n \\\\]\\n \\\\s*\\n (?:\\\\?)? # arrays can be nullable reference types\\n \\\\s*\\n )*\\n )\\n)?\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.is.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\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\"this-or-base-expression\": {\n\t\t\t\"match\": \"\\\\b(?:(base)|(this))\\\\b\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.base.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"keyword.other.this.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"invocation-expression\": {\n\t\t\t\"begin\": \"(?x)\\n(?:(\\\\?)\\\\s*)? # preceding null-conditional operator?\\n(?:(\\\\.)\\\\s*)? # preceding dot?\\n(@?[_[:alpha:]][_[:alnum:]]*)\\\\s* # method name\\n(?<type_args>\\\\s*<([^<>]|\\\\g<type_args>)+>\\\\s*)?\\\\s* # type arguments\\n(?=\\\\() # open paren of argument list\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.operator.null-conditional.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"punctuation.accessor.cs\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"entity.name.function.cs\"\n\t\t\t\t},\n\t\t\t\t\"4\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type-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\t\"end\": \"(?<=\\\\))\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#argument-list\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"element-access-expression\": {\n\t\t\t\"begin\": \"(?x)\\n(?:(\\\\?)\\\\s*)? # preceding null-conditional operator?\\n(?:(\\\\.)\\\\s*)? # preceding dot?\\n(?:(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*)? # property name\\n(?:(\\\\?)\\\\s*)? # null-conditional operator?\\n(?=\\\\[) # open bracket of argument list\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.operator.null-conditional.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"punctuation.accessor.cs\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"variable.other.object.property.cs\"\n\t\t\t\t},\n\t\t\t\t\"4\": {\n\t\t\t\t\t\"name\": \"keyword.operator.null-conditional.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?<=\\\\])(?!\\\\s*\\\\[)\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#bracketed-argument-list\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"member-access-expression\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?x)\\n(?:(\\\\?)\\\\s*)? # preceding null-conditional operator?\\n(\\\\.)\\\\s* # preceding dot\\n(@?[_[:alpha:]][_[:alnum:]]*)\\\\s* # property name\\n(?![_[:alnum:]]|\\\\(|(\\\\?)?\\\\[|<) # next character is not alpha-numeric, nor a (, [, or <. Also, test for ?[\",\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.null-conditional.cs\"\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.accessor.cs\"\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.cs\"\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\": \"(?x)\\n(\\\\.)?\\\\s*\\n(@?[_[:alpha:]][_[:alnum:]]*)\\n(?<type_params>\\\\s*<([^<>]|\\\\g<type_params>)+>\\\\s*)\\n(?=\\n (\\\\s*\\\\?)?\\n \\\\s*\\\\.\\\\s*@?[_[:alpha:]][_[:alnum:]]*\\n)\",\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.accessor.cs\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"variable.other.object.cs\"\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\": \"#type-arguments\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?x)\\n(@?[_[:alpha:]][_[:alnum:]]*)\\n(?=\\n (\\\\s*\\\\?)?\\n \\\\s*\\\\.\\\\s*@?[_[:alpha:]][_[:alnum:]]*\\n)\",\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"variable.other.object.cs\"\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\"object-creation-expression\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#object-creation-expression-with-parameters\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#object-creation-expression-with-no-parameters\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"object-creation-expression-with-parameters\": {\n\t\t\t\"begin\": \"(?x)\\n(new)\\\\s+\\n(?<type_name>\\n (?:\\n (?:\\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\:\\\\:\\\\s*)? # alias-qualification\\n (?<name_and_type_args> # identifier + type arguments (if any)\\n \\\\g<identifier>\\\\s*\\n (?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?\\n )\\n (?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)* | # Are there any more names being dotted into?\\n (?<tuple>\\\\s*\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\n )\\n (?:\\\\s*\\\\?\\\\s*)? # nullable suffix?\\n (?:\\\\s* # array suffix?\\n \\\\[\\n (?:\\\\s*,\\\\s*)* # commata for multi-dimensional arrays\\n \\\\]\\n \\\\s*\\n (?:\\\\?)? # arrays can be nullable reference types\\n \\\\s*\\n )*\\n )\\n)\\\\s*\\n(?=\\\\()\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.new.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?<=\\\\))\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#argument-list\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"object-creation-expression-with-no-parameters\": {\n\t\t\t\"match\": \"(?x)\\n(new)\\\\s+\\n(?<type_name>\\n (?:\\n (?:\\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\:\\\\:\\\\s*)? # alias-qualification\\n (?<name_and_type_args> # identifier + type arguments (if any)\\n \\\\g<identifier>\\\\s*\\n (?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?\\n )\\n (?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)* | # Are there any more names being dotted into?\\n (?<tuple>\\\\s*\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\n )\\n (?:\\\\s*\\\\?\\\\s*)? # nullable suffix?\\n (?:\\\\s* # array suffix?\\n \\\\[\\n (?:\\\\s*,\\\\s*)* # commata for multi-dimensional arrays\\n \\\\]\\n \\\\s*\\n (?:\\\\?)? # arrays can be nullable reference types\\n \\\\s*\\n )*\\n )\\n)\\\\s*\\n(?=\\\\{|$)\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.new.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\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\"array-creation-expression\": {\n\t\t\t\"begin\": \"(?x)\\n\\\\b(new|stackalloc)\\\\b\\\\s*\\n(?<type_name>\\n (?:\\n (?:\\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\:\\\\:\\\\s*)? # alias-qualification\\n (?<name_and_type_args> # identifier + type arguments (if any)\\n \\\\g<identifier>\\\\s*\\n (?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?\\n )\\n (?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)* | # Are there any more names being dotted into?\\n (?<tuple>\\\\s*\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\n )\\n (?:\\\\s*\\\\?\\\\s*)? # nullable suffix?\\n (?:\\\\s* # array suffix?\\n \\\\[\\n (?:\\\\s*,\\\\s*)* # commata for multi-dimensional arrays\\n \\\\]\\n \\\\s*\\n (?:\\\\?)? # arrays can be nullable reference types\\n \\\\s*\\n )*\\n )\\n)?\\\\s*\\n(?=\\\\[)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.new.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?<=\\\\])\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#bracketed-argument-list\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"anonymous-object-creation-expression\": {\n\t\t\t\"begin\": \"\\\\b(new)\\\\b\\\\s*(?=\\\\{|$)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.other.new.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?<=\\\\})\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#initializer-expression\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"bracketed-parameter-list\": {\n\t\t\t\"begin\": \"(?=(\\\\[))\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.squarebracket.open.cs\"\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.squarebracket.close.cs\"\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\"begin\": \"(?<=\\\\[)\",\n\t\t\t\t\t\"end\": \"(?=\\\\])\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#attribute-section\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#parameter\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#punctuation-comma\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#variable-initializer\"\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\"parenthesized-parameter-list\": {\n\t\t\t\"begin\": \"(\\\\()\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.parenthesis.open.cs\"\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.parenthesis.close.cs\"\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\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#attribute-section\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#parameter\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-comma\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#variable-initializer\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"parameter\": {\n\t\t\t\"match\": \"(?x)\\n(?:(?:\\\\b(ref|params|out|in|this)\\\\b)\\\\s+)?\\n(?<type_name>\\n (?:\\n (?:ref\\\\s+)? # ref return\\n (?:\\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\:\\\\:\\\\s*)? # alias-qualification\\n (?<name_and_type_args> # identifier + type arguments (if any)\\n \\\\g<identifier>\\\\s*\\n (?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?\\n )\\n (?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)* | # Are there any more names being dotted into?\\n (?<tuple>\\\\s*\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\n )\\n (?:\\\\s*\\\\?\\\\s*)? # nullable suffix?\\n (?:\\\\s* # array suffix?\\n \\\\[\\n (?:\\\\s*,\\\\s*)* # commata for multi-dimensional arrays\\n \\\\]\\n \\\\s*\\n (?:\\\\?)? # arrays can be nullable reference types\\n \\\\s*\\n )*\\n )\\n)\\\\s+\\n(\\\\g<identifier>)\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"storage.modifier.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"7\": {\n\t\t\t\t\t\"name\": \"entity.name.variable.parameter.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"argument-list\": {\n\t\t\t\"begin\": \"\\\\(\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.parenthesis.open.cs\"\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.parenthesis.close.cs\"\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\": \"#named-argument\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#argument\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-comma\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"bracketed-argument-list\": {\n\t\t\t\"begin\": \"\\\\[\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.squarebracket.open.cs\"\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.squarebracket.close.cs\"\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\": \"#named-argument\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#argument\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-comma\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"named-argument\": {\n\t\t\t\"begin\": \"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(:)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"entity.name.variable.parameter.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"punctuation.separator.colon.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=(,|\\\\)|\\\\]))\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#argument\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"argument\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"storage.modifier.cs\",\n\t\t\t\t\t\"match\": \"\\\\b(ref|out|in)\\\\b\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#declaration-expression-local\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expression\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"query-expression\": {\n\t\t\t\"begin\": \"(?x)\\n\\\\b(from)\\\\b\\\\s*\\n(?<type_name>\\n (?:\\n (?:\\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\:\\\\:\\\\s*)? # alias-qualification\\n (?<name_and_type_args> # identifier + type arguments (if any)\\n \\\\g<identifier>\\\\s*\\n (?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?\\n )\\n (?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)* | # Are there any more names being dotted into?\\n (?<tuple>\\\\s*\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\n )\\n (?:\\\\s*\\\\?\\\\s*)? # nullable suffix?\\n (?:\\\\s* # array suffix?\\n \\\\[\\n (?:\\\\s*,\\\\s*)* # commata for multi-dimensional arrays\\n \\\\]\\n \\\\s*\\n (?:\\\\?)? # arrays can be nullable reference types\\n \\\\s*\\n )*\\n )\\n)?\\n\\\\s+(\\\\g<identifier>)\\\\b\\\\s*\\n\\\\b(in)\\\\b\\\\s*\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.query.from.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"7\": {\n\t\t\t\t\t\"name\": \"entity.name.variable.range-variable.cs\"\n\t\t\t\t},\n\t\t\t\t\"8\": {\n\t\t\t\t\t\"name\": \"keyword.query.in.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=;|\\\\))\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#query-body\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expression\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"query-body\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#let-clause\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#where-clause\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#join-clause\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#orderby-clause\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#select-clause\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#group-clause\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"let-clause\": {\n\t\t\t\"begin\": \"(?x)\\n\\\\b(let)\\\\b\\\\s*\\n(@?[_[:alpha:]][_[:alnum:]]*)\\\\b\\\\s*\\n(=)\\\\s*\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.query.let.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"entity.name.variable.range-variable.cs\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"keyword.operator.assignment.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=;|\\\\))\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#query-body\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expression\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"where-clause\": {\n\t\t\t\"begin\": \"(?x)\\n\\\\b(where)\\\\b\\\\s*\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.query.where.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=;|\\\\))\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#query-body\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expression\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"join-clause\": {\n\t\t\t\"begin\": \"(?x)\\n\\\\b(join)\\\\b\\\\s*\\n(?<type_name>\\n (?:\\n (?:\\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\:\\\\:\\\\s*)? # alias-qualification\\n (?<name_and_type_args> # identifier + type arguments (if any)\\n \\\\g<identifier>\\\\s*\\n (?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?\\n )\\n (?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)* | # Are there any more names being dotted into?\\n (?<tuple>\\\\s*\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\n )\\n (?:\\\\s*\\\\?\\\\s*)? # nullable suffix?\\n (?:\\\\s* # array suffix?\\n \\\\[\\n (?:\\\\s*,\\\\s*)* # commata for multi-dimensional arrays\\n \\\\]\\n \\\\s*\\n (?:\\\\?)? # arrays can be nullable reference types\\n \\\\s*\\n )*\\n )\\n)?\\n\\\\s+(\\\\g<identifier>)\\\\b\\\\s*\\n\\\\b(in)\\\\b\\\\s*\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.query.join.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"7\": {\n\t\t\t\t\t\"name\": \"entity.name.variable.range-variable.cs\"\n\t\t\t\t},\n\t\t\t\t\"8\": {\n\t\t\t\t\t\"name\": \"keyword.query.in.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=;|\\\\))\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#join-on\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#join-equals\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#join-into\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#query-body\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expression\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"join-on\": {\n\t\t\t\"match\": \"\\\\b(on)\\\\b\\\\s*\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.query.on.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"join-equals\": {\n\t\t\t\"match\": \"\\\\b(equals)\\\\b\\\\s*\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.query.equals.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"join-into\": {\n\t\t\t\"match\": \"(?x)\\n\\\\b(into)\\\\b\\\\s*\\n(@?[_[:alpha:]][_[:alnum:]]*)\\\\b\\\\s*\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.query.into.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"entity.name.variable.range-variable.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"orderby-clause\": {\n\t\t\t\"begin\": \"\\\\b(orderby)\\\\b\\\\s*\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.query.orderby.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=;|\\\\))\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#ordering-direction\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#query-body\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-comma\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"ordering-direction\": {\n\t\t\t\"match\": \"\\\\b(?:(ascending)|(descending))\\\\b\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.query.ascending.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"keyword.query.descending.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"select-clause\": {\n\t\t\t\"begin\": \"\\\\b(select)\\\\b\\\\s*\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.query.select.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=;|\\\\))\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#query-body\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expression\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"group-clause\": {\n\t\t\t\"begin\": \"\\\\b(group)\\\\b\\\\s*\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.query.group.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=;|\\\\))\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#group-by\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#group-into\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#query-body\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expression\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"group-by\": {\n\t\t\t\"match\": \"\\\\b(by)\\\\b\\\\s*\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.query.by.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"group-into\": {\n\t\t\t\"match\": \"(?x)\\n\\\\b(into)\\\\b\\\\s*\\n(@?[_[:alpha:]][_[:alnum:]]*)\\\\b\\\\s*\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.query.into.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"entity.name.variable.range-variable.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"anonymous-method-expression\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(?x)\\n(?:\\\\b(async)\\\\b\\\\s*)?\\n(@?[_[:alpha:]][_[:alnum:]]*)\\\\b\\\\s*\\n(=>)\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"storage.modifier.cs\"\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.variable.parameter.cs\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.arrow.cs\"\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\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#block\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#ref-modifier\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#expression\"\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(?:\\\\b(async)\\\\b\\\\s*)?\\n(\\\\(.*?\\\\))\\\\s*\\n(=>)\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"storage.modifier.cs\"\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\": \"#lambda-parameter-list\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.arrow.cs\"\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\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#block\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#ref-modifier\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#expression\"\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(?:\\\\b(async)\\\\b\\\\s*)?\\n(?:\\\\b(delegate)\\\\b\\\\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\": \"storage.modifier.cs\"\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.other.delegate.cs\"\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\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#parenthesized-parameter-list\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#block\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#expression\"\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\"lambda-parameter-list\": {\n\t\t\t\"begin\": \"\\\\(\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.parenthesis.open.cs\"\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.parenthesis.close.cs\"\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\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#attribute-section\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#lambda-parameter\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-comma\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"lambda-parameter\": {\n\t\t\t\"match\": \"(?x)\\n(?:\\\\b(ref|out|in)\\\\b)?\\\\s*\\n(?:(?<type_name>\\n (?:\\n (?:\\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\:\\\\:\\\\s*)? # alias-qualification\\n (?<name_and_type_args> # identifier + type arguments (if any)\\n \\\\g<identifier>\\\\s*\\n (?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?\\n )\\n (?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)* | # Are there any more names being dotted into?\\n (?<tuple>\\\\s*\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\n )\\n (?:\\\\s*\\\\?\\\\s*)? # nullable suffix?\\n (?:\\\\s* # array suffix?\\n \\\\[\\n (?:\\\\s*,\\\\s*)* # commata for multi-dimensional arrays\\n \\\\]\\n \\\\s*\\n (?:\\\\?)? # arrays can be nullable reference types\\n \\\\s*\\n )*\\n )\\n)\\\\s+)?\\n(\\\\g<identifier>)\\\\b\\\\s*\\n(?=[,)])\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"storage.modifier.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"7\": {\n\t\t\t\t\t\"name\": \"entity.name.variable.parameter.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"type\": {\n\t\t\t\"name\": \"meta.type.cs\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#ref-modifier\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#readonly-modifier\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#tuple-type\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#type-builtin\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#type-name\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#type-arguments\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#type-array-suffix\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#type-nullable-suffix\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"ref-modifier\": {\n\t\t\t\"name\": \"storage.modifier.cs\",\n\t\t\t\"match\": \"\\\\b(ref)\\\\b\"\n\t\t},\n\t\t\"readonly-modifier\": {\n\t\t\t\"name\": \"storage.modifier.cs\",\n\t\t\t\"match\": \"\\\\b(readonly)\\\\b\"\n\t\t},\n\t\t\"tuple-type\": {\n\t\t\t\"begin\": \"\\\\(\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.parenthesis.open.cs\"\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.parenthesis.close.cs\"\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\": \"#tuple-element\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-comma\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"tuple-element\": {\n\t\t\t\"match\": \"(?x)\\n(?<type_name>\\n (?:\\n (?:\\n (?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\:\\\\:\\\\s*)? # alias-qualification\\n (?<name_and_type_args> # identifier + type arguments (if any)\\n \\\\g<identifier>\\\\s*\\n (?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?\\n )\\n (?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)* | # Are there any more names being dotted into?\\n (?<tuple>\\\\s*\\\\((?:[^\\\\(\\\\)]|\\\\g<tuple>)+\\\\))\\n )\\n (?:\\\\s*\\\\?\\\\s*)? # nullable suffix?\\n (?:\\\\s* # array suffix?\\n \\\\[\\n (?:\\\\s*,\\\\s*)* # commata for multi-dimensional arrays\\n \\\\]\\n \\\\s*\\n (?:\\\\?)? # arrays can be nullable reference types\\n \\\\s*\\n )*\\n )\\n)\\n(?:(?<tuple_name>\\\\g<identifier>)\\\\b)?\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"6\": {\n\t\t\t\t\t\"name\": \"entity.name.variable.tuple-element.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"type-builtin\": {\n\t\t\t\"match\": \"\\\\b(bool|byte|char|decimal|double|float|int|long|object|sbyte|short|string|uint|ulong|ushort|void|dynamic)\\\\b\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.type.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"type-name\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(@?[_[:alpha:]][_[:alnum:]]*)\\\\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.type.alias.cs\"\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.coloncolon.cs\"\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\": \"(@?[_[:alpha:]][_[:alnum:]]*)\\\\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.type.cs\"\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.accessor.cs\"\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*(@?[_[:alpha:]][_[:alnum:]]*)\",\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.accessor.cs\"\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.type.cs\"\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\"name\": \"entity.name.type.cs\",\n\t\t\t\t\t\"match\": \"@?[_[:alpha:]][_[:alnum:]]*\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"type-arguments\": {\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.typeparameters.begin.cs\"\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.typeparameters.end.cs\"\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\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#type\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#punctuation-comma\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"type-array-suffix\": {\n\t\t\t\"begin\": \"\\\\[\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.squarebracket.open.cs\"\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.squarebracket.close.cs\"\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\": \"#punctuation-comma\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"type-nullable-suffix\": {\n\t\t\t\"match\": \"\\\\?\",\n\t\t\t\"captures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.separator.question-mark.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"operator-assignment\": {\n\t\t\t\"name\": \"keyword.operator.assignment.cs\",\n\t\t\t\"match\": \"(?<!=|!)(=)(?!=)\"\n\t\t},\n\t\t\"punctuation-comma\": {\n\t\t\t\"name\": \"punctuation.separator.comma.cs\",\n\t\t\t\"match\": \",\"\n\t\t},\n\t\t\"punctuation-semicolon\": {\n\t\t\t\"name\": \"punctuation.terminator.statement.cs\",\n\t\t\t\"match\": \";\"\n\t\t},\n\t\t\"punctuation-accessor\": {\n\t\t\t\"name\": \"punctuation.accessor.cs\",\n\t\t\t\"match\": \"\\\\.\"\n\t\t},\n\t\t\"preprocessor\": {\n\t\t\t\"name\": \"meta.preprocessor.cs\",\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.separator.hash.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?<=$)\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#preprocessor-define-or-undef\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#preprocessor-if-or-elif\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#preprocessor-else-or-endif\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#preprocessor-warning-or-error\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#preprocessor-region\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#preprocessor-endregion\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#preprocessor-load\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#preprocessor-r\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#preprocessor-line\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#preprocessor-pragma-warning\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#preprocessor-pragma-checksum\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"preprocessor-define-or-undef\": {\n\t\t\t\"match\": \"\\\\b(?:(define)|(undef))\\\\b\\\\s*\\\\b([_[:alpha:]][_[:alnum:]]*)\\\\b\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.preprocessor.define.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"keyword.preprocessor.undef.cs\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"entity.name.variable.preprocessor.symbol.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"preprocessor-if-or-elif\": {\n\t\t\t\"begin\": \"\\\\b(?:(if)|(elif))\\\\b\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.preprocessor.if.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"keyword.preprocessor.elif.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=$)\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#preprocessor-expression\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"preprocessor-else-or-endif\": {\n\t\t\t\"match\": \"\\\\b(?:(else)|(endif))\\\\b\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.preprocessor.else.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"keyword.preprocessor.endif.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"preprocessor-warning-or-error\": {\n\t\t\t\"match\": \"\\\\b(?:(warning)|(error))\\\\b\\\\s*(.*)(?=$)\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.preprocessor.warning.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"keyword.preprocessor.error.cs\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"string.unquoted.preprocessor.message.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"preprocessor-load\": {\n\t\t\t\"begin\": \"\\\\b(load)\\\\b\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.preprocessor.load.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=$)\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\\\\"[^\\\"]*\\\\\\\"\",\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"string.quoted.double.cs\"\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\"preprocessor-r\": {\n\t\t\t\"begin\": \"\\\\b(r)\\\\b\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.preprocessor.r.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=$)\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\\\\"[^\\\"]*\\\\\\\"\",\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"string.quoted.double.cs\"\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\"preprocessor-region\": {\n\t\t\t\"match\": \"\\\\b(region)\\\\b\\\\s*(.*)(?=$)\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.preprocessor.region.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"string.unquoted.preprocessor.message.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"preprocessor-endregion\": {\n\t\t\t\"match\": \"\\\\b(endregion)\\\\b\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.preprocessor.endregion.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"preprocessor-line\": {\n\t\t\t\"begin\": \"\\\\b(line)\\\\b\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.preprocessor.line.cs\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"(?=$)\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\b(?:(default|hidden))\",\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.preprocessor.default.cs\"\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.preprocessor.hidden.cs\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"[0-9]+\",\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.cs\"\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\"captures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"string.quoted.double.cs\"\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\"preprocessor-pragma-warning\": {\n\t\t\t\"match\": \"\\\\b(pragma)\\\\b\\\\s*\\\\b(warning)\\\\b\\\\s*\\\\b(?:(disable)|(restore))\\\\b(\\\\s*[0-9]+(?:\\\\s*,\\\\s*[0-9]+)?)?\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.preprocessor.pragma.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"keyword.preprocessor.warning.cs\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"keyword.preprocessor.disable.cs\"\n\t\t\t\t},\n\t\t\t\t\"4\": {\n\t\t\t\t\t\"name\": \"keyword.preprocessor.restore.cs\"\n\t\t\t\t},\n\t\t\t\t\"5\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"[0-9]+\",\n\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.decimal.cs\"\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\": \"#punctuation-comma\"\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\"preprocessor-pragma-checksum\": {\n\t\t\t\"match\": \"\\\\b(pragma)\\\\b\\\\s*\\\\b(checksum)\\\\b\\\\s*(\\\\\\\"[^\\\"]*\\\\\\\")\\\\s*(\\\\\\\"[^\\\"]*\\\\\\\")\\\\s*(\\\\\\\"[^\\\"]*\\\\\\\")\",\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"keyword.preprocessor.pragma.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"keyword.preprocessor.checksum.cs\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"string.quoted.double.cs\"\n\t\t\t\t},\n\t\t\t\t\"4\": {\n\t\t\t\t\t\"name\": \"string.quoted.double.cs\"\n\t\t\t\t},\n\t\t\t\t\"5\": {\n\t\t\t\t\t\"name\": \"string.quoted.double.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"preprocessor-expression\": {\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.parenthesis.open.cs\"\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.parenthesis.close.cs\"\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\": \"#preprocessor-expression\"\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\": \"\\\\b(?:(true)|(false)|([_[:alpha:]][_[:alnum:]]*))\\\\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\": \"constant.language.boolean.true.cs\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"constant.language.boolean.false.cs\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\"name\": \"entity.name.variable.preprocessor.symbol.cs\"\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\"captures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.comparison.cs\"\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.logical.cs\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"comment\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"comment.block.cs\",\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.comment.cs\"\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.comment.cs\"\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+)?(?=//)\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.whitespace.comment.leading.cs\"\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\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"name\": \"comment.block.documentation.cs\",\n\t\t\t\t\t\t\t\"begin\": \"(?<!/)///(?!/)\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.comment.cs\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"(?=$)\",\n\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#xml-doc-comment\"\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\"name\": \"comment.line.double-slash.cs\",\n\t\t\t\t\t\t\t\"begin\": \"(?<!/)//(?:(?!/)|(?=//))\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.comment.cs\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"(?=$)\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"xml-doc-comment\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#xml-comment\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#xml-character-entity\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#xml-cdata\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#xml-tag\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"xml-tag\": {\n\t\t\t\"name\": \"meta.tag.cs\",\n\t\t\t\"begin\": \"(?x)\\n(</?)\\n(\\n (?:\\n ([-_[:alnum:]]+)\\n (:)\\n )?\\n ([-_[:alnum:]]+)\\n)\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.tag.cs\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"entity.name.tag.cs\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"entity.name.tag.namespace.cs\"\n\t\t\t\t},\n\t\t\t\t\"4\": {\n\t\t\t\t\t\"name\": \"punctuation.separator.colon.cs\"\n\t\t\t\t},\n\t\t\t\t\"5\": {\n\t\t\t\t\t\"name\": \"entity.name.tag.localname.cs\"\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.tag.cs\"\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\": \"#xml-attribute\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"xml-attribute\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?x)\\n(?:^|\\\\s+)\\n(\\n (?:\\n ([-_[:alnum:]]+)\\n (:)\\n )?\\n ([-_[:alnum:]]+)\\n)\\n(=)\",\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"entity.other.attribute-name.cs\"\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.other.attribute-name.namespace.cs\"\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.colon.cs\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\"name\": \"entity.other.attribute-name.localname.cs\"\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.equals.cs\"\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\": \"#xml-string\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"xml-cdata\": {\n\t\t\t\"name\": \"string.unquoted.cdata.cs\",\n\t\t\t\"begin\": \"<!\\\\[CDATA\\\\[\",\n\t\t\t\"beginCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.definition.string.begin.cs\"\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.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"xml-string\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"string.quoted.single.cs\",\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.cs\"\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.cs\"\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\": \"#xml-character-entity\"\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\"name\": \"string.quoted.double.cs\",\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.cs\"\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.cs\"\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\": \"#xml-character-entity\"\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\"xml-character-entity\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"name\": \"constant.character.entity.cs\",\n\t\t\t\t\t\"match\": \"(?x)\\n(&)\\n(\\n (?:[[:alpha:]:_][[:alnum:]:_.-]*)|\\n (?:\\\\#[[:digit:]]+)|\\n (?:\\\\#x[[:xdigit:]]+)\\n)\\n(;)\",\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.constant.cs\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.constant.cs\"\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\"name\": \"invalid.illegal.bad-ampersand.cs\",\n\t\t\t\t\t\"match\": \"&\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"xml-comment\": {\n\t\t\t\"name\": \"comment.block.cs\",\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.cs\"\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.cs\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}";
2
+ export { csharp_tmLanguage as default };
@@ -0,0 +1,2 @@
1
+ var languageConfiguration = "{\n\t\"comments\": {\n\t\t\"blockComment\": [\"/*\", \"*/\"]\n\t},\n\t\"brackets\": [\n\t\t[\"{\", \"}\"],\n\t\t[\"[\", \"]\"],\n\t\t[\"(\", \")\"]\n\t],\n\t\"autoClosingPairs\": [\n\t\t{ \"open\": \"{\", \"close\": \"}\", \"notIn\": [\"string\", \"comment\"] },\n\t\t{ \"open\": \"[\", \"close\": \"]\", \"notIn\": [\"string\", \"comment\"] },\n\t\t{ \"open\": \"(\", \"close\": \")\", \"notIn\": [\"string\", \"comment\"] },\n\t\t{ \"open\": \"\\\"\", \"close\": \"\\\"\", \"notIn\": [\"string\", \"comment\"] },\n\t\t{ \"open\": \"'\", \"close\": \"'\", \"notIn\": [\"string\", \"comment\"] }\n\t],\n\t\"surroundingPairs\": [\n\t\t[\"{\", \"}\"],\n\t\t[\"[\", \"]\"],\n\t\t[\"(\", \")\"],\n\t\t[\"\\\"\", \"\\\"\"],\n\t\t[\"'\", \"'\"]\n\t],\n\t\"folding\": {\n\t\t\"markers\": {\n\t\t\t\"start\": \"^\\\\s*\\\\/\\\\*\\\\s*#region\\\\b\\\\s*(.*?)\\\\s*\\\\*\\\\/\",\n\t\t\t\"end\": \"^\\\\s*\\\\/\\\\*\\\\s*#endregion\\\\b.*\\\\*\\\\/\"\n\t\t}\n\t},\n\t\"indentationRules\": {\n\t\t\"increaseIndentPattern\": \"(^.*\\\\{[^}]*$)\",\n\t\t\"decreaseIndentPattern\": \"^\\\\s*\\\\}\"\n\t},\n\t\"wordPattern\": \"(#?-?\\\\d*\\\\.\\\\d\\\\w*%?)|(::?[\\\\w-]*(?=[^,{;]*[,{]))|(([@#.!])?[\\\\w-?]+%?|[@#!.])\"\n}\n";
2
+ export { languageConfiguration as default };