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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) hide show
  1. package/README.md +87 -49
  2. package/dist/Bibtex.tmLanguage.js +2 -0
  3. package/dist/Handlebars.tmLanguage.js +2 -0
  4. package/dist/JSON.tmLanguage.js +2 -0
  5. package/dist/JSONC.tmLanguage.js +2 -0
  6. package/dist/JavaScript.tmLanguage.js +2 -0
  7. package/dist/JavaScriptReact.tmLanguage.js +2 -0
  8. package/dist/LaTeX.tmLanguage.js +2 -0
  9. package/dist/MagicPython.tmLanguage.js +2 -0
  10. package/dist/MagicRegExp.tmLanguage.js +2 -0
  11. package/dist/Red-color-theme.js +2 -0
  12. package/dist/Regular Expressions (JavaScript).js +2 -0
  13. package/dist/TeX.tmLanguage.js +2 -0
  14. package/dist/TypeScript.tmLanguage.js +2 -0
  15. package/dist/TypeScriptReact.tmLanguage.js +2 -0
  16. package/dist/_.contribution.js +1 -1
  17. package/dist/abyss-color-theme.js +2 -0
  18. package/dist/api.js +1 -3
  19. package/dist/api2.js +421 -18091
  20. package/dist/asp-vb-net.tmlanguage.js +2 -0
  21. package/dist/assets/diffLineDeleted.mp3 +0 -0
  22. package/dist/assets/diffLineInserted.mp3 +0 -0
  23. package/dist/assets/diffLineModified.mp3 +0 -0
  24. package/dist/audioCue.js +108 -478
  25. package/dist/bat.js +9 -0
  26. package/dist/batchfile.js +2 -0
  27. package/dist/batchfile.tmLanguage.js +2 -0
  28. package/dist/button.js +35 -8
  29. package/dist/c.js +2 -0
  30. package/dist/c.tmLanguage.js +2 -0
  31. package/dist/clojure.js +8 -0
  32. package/dist/clojure.tmLanguage.js +2 -0
  33. package/dist/coffeescript.js +9 -0
  34. package/dist/coffeescript.tmLanguage.js +2 -0
  35. package/dist/coffeescript2.js +2 -0
  36. package/dist/configuration.d.ts +269 -4
  37. package/dist/configuration.js +4326 -328
  38. package/dist/configuration2.js +14 -324
  39. package/dist/cpp-grammar-bailout.tmLanguage.js +2 -0
  40. package/dist/cpp.embedded.macro.tmLanguage.js +2 -0
  41. package/dist/cpp.js +16 -0
  42. package/dist/cpp.tmLanguage.js +2 -0
  43. package/dist/cpp2.js +2 -0
  44. package/dist/csharp.js +9 -0
  45. package/dist/csharp.tmLanguage.js +2 -0
  46. package/dist/csharp2.js +2 -0
  47. package/dist/cshtml.tmLanguage.js +2 -0
  48. package/dist/css.js +8 -0
  49. package/dist/css.tmLanguage.js +2 -0
  50. package/dist/cuda-cpp.tmLanguage.js +2 -0
  51. package/dist/dark_plus.js +2 -0
  52. package/dist/dark_plus_experimental.js +2 -0
  53. package/dist/dark_vs.js +2 -0
  54. package/dist/dart.js +8 -0
  55. package/dist/dart.tmLanguage.js +2 -0
  56. package/dist/debug.js +12115 -12209
  57. package/dist/default-extensions/bat.js +12 -0
  58. package/dist/default-extensions/clojure.js +11 -0
  59. package/dist/default-extensions/coffeescript.js +12 -0
  60. package/dist/default-extensions/cpp.js +19 -0
  61. package/dist/default-extensions/csharp.js +12 -0
  62. package/dist/default-extensions/css.js +11 -0
  63. package/dist/default-extensions/dart.js +11 -0
  64. package/dist/default-extensions/diff.js +11 -0
  65. package/dist/default-extensions/docker.js +11 -0
  66. package/dist/default-extensions/fsharp.js +12 -0
  67. package/dist/default-extensions/go.js +11 -0
  68. package/dist/default-extensions/groovy.js +12 -0
  69. package/dist/default-extensions/handlebars.js +11 -0
  70. package/dist/default-extensions/hlsl.js +11 -0
  71. package/dist/default-extensions/html.js +13 -0
  72. package/dist/default-extensions/ini.js +13 -0
  73. package/dist/default-extensions/java.js +12 -0
  74. package/dist/default-extensions/javascript.js +17 -0
  75. package/dist/default-extensions/json.js +13 -0
  76. package/dist/default-extensions/julia.js +11 -0
  77. package/dist/default-extensions/latex.js +14 -0
  78. package/dist/default-extensions/less.js +11 -0
  79. package/dist/default-extensions/log.js +10 -0
  80. package/dist/default-extensions/lua.js +11 -0
  81. package/dist/default-extensions/make.js +11 -0
  82. package/dist/default-extensions/markdown-basics.js +12 -0
  83. package/dist/default-extensions/objective-c.js +13 -0
  84. package/dist/default-extensions/perl.js +13 -0
  85. package/dist/default-extensions/php.js +13 -0
  86. package/dist/default-extensions/powershell.js +11 -0
  87. package/dist/default-extensions/pug.js +11 -0
  88. package/dist/default-extensions/python.js +12 -0
  89. package/dist/default-extensions/r.js +11 -0
  90. package/dist/default-extensions/razor.js +11 -0
  91. package/dist/default-extensions/ruby.js +11 -0
  92. package/dist/default-extensions/rust.js +11 -0
  93. package/dist/default-extensions/scss.js +12 -0
  94. package/dist/default-extensions/shaderlab.js +11 -0
  95. package/dist/default-extensions/shellscript.js +11 -0
  96. package/dist/default-extensions/sql.js +11 -0
  97. package/dist/default-extensions/swift.js +12 -0
  98. package/dist/default-extensions/theme-abyss.js +10 -0
  99. package/dist/default-extensions/theme-defaults.js +18 -0
  100. package/dist/default-extensions/theme-kimbie-dark.js +10 -0
  101. package/dist/default-extensions/theme-monokai-dimmed.js +10 -0
  102. package/dist/default-extensions/theme-monokai.js +10 -0
  103. package/dist/default-extensions/theme-quietlight.js +10 -0
  104. package/dist/default-extensions/theme-red.js +10 -0
  105. package/dist/default-extensions/theme-seti.js +10 -0
  106. package/dist/default-extensions/theme-solarized-dark.js +10 -0
  107. package/dist/default-extensions/theme-solarized-light.js +10 -0
  108. package/dist/default-extensions/theme-tomorrow-night-blue.js +10 -0
  109. package/dist/default-extensions/typescript-basics.js +17 -0
  110. package/dist/default-extensions/vb.js +12 -0
  111. package/dist/default-extensions/xml.js +13 -0
  112. package/dist/default-extensions/yaml.js +13 -0
  113. package/dist/dialogs.js +12 -216
  114. package/dist/diff.js +8 -0
  115. package/dist/diff.tmLanguage.js +2 -0
  116. package/dist/dimmed-monokai-color-theme.js +2 -0
  117. package/dist/docker.js +8 -0
  118. package/dist/docker.tmLanguage.js +2 -0
  119. package/dist/dom.js +101 -0
  120. package/dist/extensionManagement.js +4 -0
  121. package/dist/extensions.d.ts +368 -23
  122. package/dist/extensions.js +4 -85
  123. package/dist/extensionsRegistry.js +63 -64
  124. package/dist/files.d.ts +845 -0
  125. package/dist/files.js +1805 -1151
  126. package/dist/files2.js +32 -0
  127. package/dist/fsharp.js +9 -0
  128. package/dist/fsharp.tmLanguage.js +2 -0
  129. package/dist/fsharp2.js +2 -0
  130. package/dist/go.js +8 -0
  131. package/dist/go.tmLanguage.js +2 -0
  132. package/dist/groovy.js +9 -0
  133. package/dist/groovy.tmLanguage.js +2 -0
  134. package/dist/groovy2.js +2 -0
  135. package/dist/handlebars.js +8 -0
  136. package/dist/hc_black.js +2 -0
  137. package/dist/hc_light.js +2 -0
  138. package/dist/hlsl.js +8 -0
  139. package/dist/hlsl.tmLanguage.js +2 -0
  140. package/dist/html-derivative.tmLanguage.js +2 -0
  141. package/dist/html.js +10 -0
  142. package/dist/html.tmLanguage.js +2 -0
  143. package/dist/html.tmLanguage2.js +2 -0
  144. package/dist/html2.js +2 -0
  145. package/dist/ini.js +10 -0
  146. package/dist/ini.language-configuration.js +2 -0
  147. package/dist/ini.tmLanguage.js +2 -0
  148. package/dist/injection.js +1 -1
  149. package/dist/java.js +9 -0
  150. package/dist/java.tmLanguage.js +2 -0
  151. package/dist/java2.js +2 -0
  152. package/dist/javascript-language-configuration.js +2 -0
  153. package/dist/javascript.js +14 -0
  154. package/dist/javascript2.js +2 -0
  155. package/dist/jsdoc.js.injection.tmLanguage.js +2 -0
  156. package/dist/jsdoc.ts.injection.tmLanguage.js +2 -0
  157. package/dist/json.js +10 -0
  158. package/dist/jsonErrorMessages.js +1 -1
  159. package/dist/julia.js +8 -0
  160. package/dist/julia.tmLanguage.js +2 -0
  161. package/dist/keybindings.d.ts +1 -10
  162. package/dist/keybindings.js +291 -353
  163. package/dist/kimbie-dark-color-theme.js +2 -0
  164. package/dist/language-configuration.js +2 -0
  165. package/dist/language-configuration10.js +2 -0
  166. package/dist/language-configuration11.js +2 -0
  167. package/dist/language-configuration12.js +2 -0
  168. package/dist/language-configuration13.js +2 -0
  169. package/dist/language-configuration14.js +2 -0
  170. package/dist/language-configuration15.js +2 -0
  171. package/dist/language-configuration16.js +2 -0
  172. package/dist/language-configuration17.js +2 -0
  173. package/dist/language-configuration18.js +2 -0
  174. package/dist/language-configuration19.js +2 -0
  175. package/dist/language-configuration2.js +2 -0
  176. package/dist/language-configuration20.js +2 -0
  177. package/dist/language-configuration21.js +2 -0
  178. package/dist/language-configuration22.js +2 -0
  179. package/dist/language-configuration23.js +2 -0
  180. package/dist/language-configuration24.js +2 -0
  181. package/dist/language-configuration25.js +2 -0
  182. package/dist/language-configuration26.js +2 -0
  183. package/dist/language-configuration27.js +2 -0
  184. package/dist/language-configuration28.js +2 -0
  185. package/dist/language-configuration29.js +2 -0
  186. package/dist/language-configuration3.js +2 -0
  187. package/dist/language-configuration30.js +2 -0
  188. package/dist/language-configuration31.js +2 -0
  189. package/dist/language-configuration32.js +2 -0
  190. package/dist/language-configuration33.js +2 -0
  191. package/dist/language-configuration34.js +2 -0
  192. package/dist/language-configuration35.js +2 -0
  193. package/dist/language-configuration36.js +2 -0
  194. package/dist/language-configuration37.js +2 -0
  195. package/dist/language-configuration38.js +2 -0
  196. package/dist/language-configuration39.js +2 -0
  197. package/dist/language-configuration4.js +2 -0
  198. package/dist/language-configuration5.js +2 -0
  199. package/dist/language-configuration6.js +2 -0
  200. package/dist/language-configuration7.js +2 -0
  201. package/dist/language-configuration8.js +2 -0
  202. package/dist/language-configuration9.js +2 -0
  203. package/dist/languageService.js +5 -6
  204. package/dist/languages.d.ts +66 -1
  205. package/dist/languages.js +924 -5
  206. package/dist/latex.js +11 -0
  207. package/dist/layout.contribution.darwin.js +1 -1
  208. package/dist/layout.contribution.linux.js +1 -1
  209. package/dist/layout.contribution.win.js +1 -1
  210. package/dist/layout.js +4 -10
  211. package/dist/layoutService.js +10 -2
  212. package/dist/less.js +8 -0
  213. package/dist/less.tmLanguage.js +2 -0
  214. package/dist/light_plus.js +2 -0
  215. package/dist/light_plus_experimental.js +2 -0
  216. package/dist/light_vs.js +2 -0
  217. package/dist/log.js +7 -0
  218. package/dist/log.tmLanguage.js +2 -0
  219. package/dist/lua.js +8 -0
  220. package/dist/lua.tmLanguage.js +2 -0
  221. package/dist/make.js +8 -0
  222. package/dist/make.tmLanguage.js +2 -0
  223. package/dist/markdown-basics.js +9 -0
  224. package/dist/markdown-latex-combined.tmLanguage.js +2 -0
  225. package/dist/markdown.js +2 -0
  226. package/dist/markdown.tmLanguage.js +2 -0
  227. package/dist/memento.js +91 -0
  228. package/dist/modelEditor.d.ts +1480 -138
  229. package/dist/modelEditor.js +8700 -326
  230. package/dist/monaco.d.ts +987 -15
  231. package/dist/monaco.js +40 -10
  232. package/dist/monokai-color-theme.js +2 -0
  233. package/dist/notifications.js +86 -64
  234. package/dist/objective-c.js +10 -0
  235. package/dist/objective-c.tmLanguage.js +2 -0
  236. package/dist/objective-c__.tmLanguage.js +2 -0
  237. package/dist/perl.js +10 -0
  238. package/dist/perl.language-configuration.js +2 -0
  239. package/dist/perl.tmLanguage.js +2 -0
  240. package/dist/perl6.language-configuration.js +2 -0
  241. package/dist/perl6.tmLanguage.js +2 -0
  242. package/dist/php.js +10 -0
  243. package/dist/php.tmLanguage.js +2 -0
  244. package/dist/php2.js +2 -0
  245. package/dist/platform.js +105 -0
  246. package/dist/platform.tmLanguage.js +2 -0
  247. package/dist/polyfill.js +51922 -11067
  248. package/dist/powershell.js +8 -0
  249. package/dist/powershell.tmLanguage.js +2 -0
  250. package/dist/preferences.js +2532 -0
  251. package/dist/properties.language-configuration.js +2 -0
  252. package/dist/pug.js +8 -0
  253. package/dist/pug.tmLanguage.js +2 -0
  254. package/dist/python.js +9 -0
  255. package/dist/quietlight-color-theme.js +2 -0
  256. package/dist/r.js +8 -0
  257. package/dist/r.tmLanguage.js +2 -0
  258. package/dist/razor.js +8 -0
  259. package/dist/rollup-vsix-plugin.d.ts +8 -0
  260. package/dist/rollup-vsix-plugin.js +104 -0
  261. package/dist/ruby.js +8 -0
  262. package/dist/ruby.tmLanguage.js +2 -0
  263. package/dist/rust.js +8 -0
  264. package/dist/rust.tmLanguage.js +2 -0
  265. package/dist/sassdoc.tmLanguage.js +2 -0
  266. package/dist/scss.js +9 -0
  267. package/dist/scss.tmLanguage.js +2 -0
  268. package/dist/services.d.ts +12988 -12840
  269. package/dist/services.js +1 -1
  270. package/dist/shaderlab.js +8 -0
  271. package/dist/shaderlab.tmLanguage.js +2 -0
  272. package/dist/shell-unix-bash.tmLanguage.js +2 -0
  273. package/dist/shellscript.js +8 -0
  274. package/dist/snippets.js +6 -11
  275. package/dist/snippetsService.js +7 -10
  276. package/dist/solarized-dark-color-theme.js +2 -0
  277. package/dist/solarized-light-color-theme.js +2 -0
  278. package/dist/sql.js +8 -0
  279. package/dist/sql.tmLanguage.js +2 -0
  280. package/dist/swift.js +9 -0
  281. package/dist/swift.tmLanguage.js +2 -0
  282. package/dist/swift2.js +2 -0
  283. package/dist/tags-language-configuration.js +2 -0
  284. package/dist/textmate.d.ts +0 -264
  285. package/dist/textmate.js +402 -66
  286. package/dist/theme-abyss.js +7 -0
  287. package/dist/theme-defaults.js +15 -0
  288. package/dist/theme-kimbie-dark.js +7 -0
  289. package/dist/theme-monokai-dimmed.js +7 -0
  290. package/dist/theme-monokai.js +7 -0
  291. package/dist/theme-quietlight.js +7 -0
  292. package/dist/theme-red.js +7 -0
  293. package/dist/theme-seti.js +7 -0
  294. package/dist/theme-solarized-dark.js +7 -0
  295. package/dist/theme-solarized-light.js +7 -0
  296. package/dist/theme-tomorrow-night-blue.js +7 -0
  297. package/dist/theme.js +6 -11
  298. package/dist/{contextkeys.js → theme2.js} +165 -143
  299. package/dist/tokenClassificationRegistry.js +46 -2
  300. package/dist/tomorrow-night-blue-color-theme.js +2 -0
  301. package/dist/typescript-basics.js +14 -0
  302. package/dist/typescript.js +2 -0
  303. package/dist/unboundCommands.js +41 -0
  304. package/dist/utils.js +345 -0
  305. package/dist/vb.js +9 -0
  306. package/dist/vb2.js +2 -0
  307. package/dist/vs-seti-icon-theme.js +2 -0
  308. package/dist/vs_minimal-icon-theme.js +2 -0
  309. package/dist/xml.js +10 -0
  310. package/dist/xml.language-configuration.js +2 -0
  311. package/dist/xml.tmLanguage.js +2 -0
  312. package/dist/xsl.language-configuration.js +2 -0
  313. package/dist/xsl.tmLanguage.js +2 -0
  314. package/dist/yaml.js +10 -0
  315. package/dist/yaml.tmLanguage.js +2 -0
  316. package/package.json +50 -33
  317. package/dist/async.js +0 -301
  318. package/dist/cancellation.js +0 -3
  319. package/dist/configurationRegistry.js +0 -441
  320. package/dist/extensionResourceLoader.js +0 -96
  321. package/dist/labels.js +0 -14
  322. package/dist/languageConfiguration.js +0 -919
  323. package/dist/missing-services.js +0 -5554
  324. package/dist/resources.js +0 -197
  325. package/dist/services2.js +0 -3467
  326. package/dist/textFileEditorModel.js +0 -2985
  327. package/dist/tokenClassification.d.ts +0 -7
  328. package/dist/tokenClassification.js +0 -277
  329. package/dist/variableResolver.js +0 -1711
  330. package/dist/workbenchThemeService.js +0 -46
  331. package/dist/workspaceContext.js +0 -50
  332. /package/dist/{languageConfiguration.d.ts → preferences.d.ts} +0 -0
package/dist/cpp2.js ADDED
@@ -0,0 +1,2 @@
1
+ var cpp = "{\n\t\"Region Start\": {\n\t\t\"prefix\": \"#region\",\n\t\t\"body\": [\n\t\t\t\"#pragma 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\"#pragma endregion\"\n\t\t],\n\t\t\"description\": \"Folding Region End\"\n\t}\n}\n";
2
+ export { cpp as default };
package/dist/csharp.js ADDED
@@ -0,0 +1,9 @@
1
+ import { registerExtension } from './api2.js';
2
+ import { onExtHostInitialized } from './polyfill.js';
3
+ var manifest = {name:"csharp",displayName:"%displayName%",description:"%description%",version:"1.0.0",publisher:"vscode",license:"MIT",engines:{vscode:"0.10.x"},scripts:{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin dotnet/csharp-tmLanguage grammars/csharp.tmLanguage ./syntaxes/csharp.tmLanguage.json"},contributes:{configurationDefaults:{"[csharp]":{"editor.maxTokenizationLineLength":2500}},languages:[{id:"csharp",extensions:[".cs",".csx",".cake"],aliases:["C#","csharp"],configuration:"./language-configuration.json"}],grammars:[{language:"csharp",scopeName:"source.cs",path:"./syntaxes/csharp.tmLanguage.json"}],snippets:[{language:"csharp",path:"./snippets/csharp.code-snippets"}]},repository:{type:"git",url:"https://github.com/microsoft/vscode.git"}};
4
+ onExtHostInitialized(() => {
5
+ const { registerFile } = registerExtension(manifest);
6
+ registerFile('./language-configuration.json', async () => await import('./language-configuration5.js').then(module => module.default ?? module)),
7
+ registerFile('./syntaxes/csharp.tmLanguage.json', async () => await import('./csharp.tmLanguage.js').then(module => module.default ?? module)),
8
+ registerFile('./snippets/csharp.code-snippets', async () => await import('./csharp2.js').then(module => module.default ?? module));
9
+ });
@@ -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 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 };