@codingame/monaco-vscode-api 1.76.9 → 1.78.0-next.1

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 +12113 -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 +11 -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/less.js +8 -0
  211. package/dist/less.tmLanguage.js +2 -0
  212. package/dist/light_plus.js +2 -0
  213. package/dist/light_plus_experimental.js +2 -0
  214. package/dist/light_vs.js +2 -0
  215. package/dist/log.js +7 -0
  216. package/dist/log.tmLanguage.js +2 -0
  217. package/dist/lua.js +8 -0
  218. package/dist/lua.tmLanguage.js +2 -0
  219. package/dist/make.js +8 -0
  220. package/dist/make.tmLanguage.js +2 -0
  221. package/dist/markdown-basics.js +9 -0
  222. package/dist/markdown-latex-combined.tmLanguage.js +2 -0
  223. package/dist/markdown.js +2 -0
  224. package/dist/markdown.tmLanguage.js +2 -0
  225. package/dist/memento.js +91 -0
  226. package/dist/modelEditor.d.ts +1480 -138
  227. package/dist/modelEditor.js +8699 -326
  228. package/dist/monaco.d.ts +987 -15
  229. package/dist/monaco.js +40 -10
  230. package/dist/monokai-color-theme.js +2 -0
  231. package/dist/notifications.js +84 -64
  232. package/dist/objective-c.js +10 -0
  233. package/dist/objective-c.tmLanguage.js +2 -0
  234. package/dist/objective-c__.tmLanguage.js +2 -0
  235. package/dist/perl.js +10 -0
  236. package/dist/perl.language-configuration.js +2 -0
  237. package/dist/perl.tmLanguage.js +2 -0
  238. package/dist/perl6.language-configuration.js +2 -0
  239. package/dist/perl6.tmLanguage.js +2 -0
  240. package/dist/php.js +10 -0
  241. package/dist/php.tmLanguage.js +2 -0
  242. package/dist/php2.js +2 -0
  243. package/dist/platform.js +105 -0
  244. package/dist/platform.tmLanguage.js +2 -0
  245. package/dist/polyfill.js +52064 -11100
  246. package/dist/powershell.js +8 -0
  247. package/dist/powershell.tmLanguage.js +2 -0
  248. package/dist/preferences.js +2532 -0
  249. package/dist/properties.language-configuration.js +2 -0
  250. package/dist/pug.js +8 -0
  251. package/dist/pug.tmLanguage.js +2 -0
  252. package/dist/python.js +9 -0
  253. package/dist/quietlight-color-theme.js +2 -0
  254. package/dist/r.js +8 -0
  255. package/dist/r.tmLanguage.js +2 -0
  256. package/dist/razor.js +8 -0
  257. package/dist/rollup-vsix-plugin.d.ts +8 -0
  258. package/dist/rollup-vsix-plugin.js +104 -0
  259. package/dist/ruby.js +8 -0
  260. package/dist/ruby.tmLanguage.js +2 -0
  261. package/dist/rust.js +8 -0
  262. package/dist/rust.tmLanguage.js +2 -0
  263. package/dist/sassdoc.tmLanguage.js +2 -0
  264. package/dist/scss.js +9 -0
  265. package/dist/scss.tmLanguage.js +2 -0
  266. package/dist/services.d.ts +12988 -12840
  267. package/dist/services.js +1 -1
  268. package/dist/shaderlab.js +8 -0
  269. package/dist/shaderlab.tmLanguage.js +2 -0
  270. package/dist/shell-unix-bash.tmLanguage.js +2 -0
  271. package/dist/shellscript.js +8 -0
  272. package/dist/snippets.js +6 -11
  273. package/dist/snippetsService.js +7 -10
  274. package/dist/solarized-dark-color-theme.js +2 -0
  275. package/dist/solarized-light-color-theme.js +2 -0
  276. package/dist/sql.js +8 -0
  277. package/dist/sql.tmLanguage.js +2 -0
  278. package/dist/swift.js +9 -0
  279. package/dist/swift.tmLanguage.js +2 -0
  280. package/dist/swift2.js +2 -0
  281. package/dist/tags-language-configuration.js +2 -0
  282. package/dist/textmate.d.ts +0 -264
  283. package/dist/textmate.js +402 -66
  284. package/dist/theme-abyss.js +7 -0
  285. package/dist/theme-defaults.js +15 -0
  286. package/dist/theme-kimbie-dark.js +7 -0
  287. package/dist/theme-monokai-dimmed.js +7 -0
  288. package/dist/theme-monokai.js +7 -0
  289. package/dist/theme-quietlight.js +7 -0
  290. package/dist/theme-red.js +7 -0
  291. package/dist/theme-seti.js +7 -0
  292. package/dist/theme-solarized-dark.js +7 -0
  293. package/dist/theme-solarized-light.js +7 -0
  294. package/dist/theme-tomorrow-night-blue.js +7 -0
  295. package/dist/theme.js +5 -11
  296. package/dist/{contextkeys.js → theme2.js} +165 -143
  297. package/dist/tokenClassificationRegistry.js +46 -2
  298. package/dist/tomorrow-night-blue-color-theme.js +2 -0
  299. package/dist/typescript-basics.js +14 -0
  300. package/dist/typescript.js +2 -0
  301. package/dist/unboundCommands.js +41 -0
  302. package/dist/utils.js +345 -0
  303. package/dist/vb.js +9 -0
  304. package/dist/vb2.js +2 -0
  305. package/dist/vs-seti-icon-theme.js +2 -0
  306. package/dist/vs_minimal-icon-theme.js +2 -0
  307. package/dist/xml.js +10 -0
  308. package/dist/xml.language-configuration.js +2 -0
  309. package/dist/xml.tmLanguage.js +2 -0
  310. package/dist/xsl.language-configuration.js +2 -0
  311. package/dist/xsl.tmLanguage.js +2 -0
  312. package/dist/yaml.js +10 -0
  313. package/dist/yaml.tmLanguage.js +2 -0
  314. package/package.json +50 -33
  315. package/dist/async.js +0 -301
  316. package/dist/cancellation.js +0 -3
  317. package/dist/configurationRegistry.js +0 -441
  318. package/dist/extensionResourceLoader.js +0 -96
  319. package/dist/labels.js +0 -14
  320. package/dist/languageConfiguration.js +0 -919
  321. package/dist/layout.js +0 -47
  322. package/dist/layoutService.js +0 -4
  323. package/dist/missing-services.js +0 -5554
  324. package/dist/resources.js +0 -197
  325. package/dist/services2.js +0 -3467
  326. package/dist/textFileEditorModel.js +0 -2985
  327. package/dist/tokenClassification.d.ts +0 -7
  328. package/dist/tokenClassification.js +0 -277
  329. package/dist/variableResolver.js +0 -1711
  330. package/dist/workbenchThemeService.js +0 -46
  331. package/dist/workspaceContext.js +0 -50
  332. /package/dist/{languageConfiguration.d.ts → preferences.d.ts} +0 -0
@@ -0,0 +1,2 @@
1
+ var swift_tmLanguage = "{\n\t\"information_for_contributors\": [\n\t\t\"This file has been converted from https://github.com/textmate/swift.tmbundle/blob/master/Syntaxes/Swift.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/textmate/swift.tmbundle/commit/7a35637eb70aef3114b091c4ff6fbf6a2faa881b\",\n\t\"name\": \"Swift\",\n\t\"scopeName\": \"source.swift\",\n\t\"comment\": \"See swift.tmbundle/grammar-test.swift for test cases.\",\n\t\"patterns\": [\n\t\t{\n\t\t\t\"include\": \"#root\"\n\t\t}\n\t],\n\t\"repository\": {\n\t\t\"async-throws\": {\n\t\t\t\"captures\": {\n\t\t\t\t\"1\": {\n\t\t\t\t\t\"name\": \"invalid.illegal.await-must-precede-throws.swift\"\n\t\t\t\t},\n\t\t\t\t\"2\": {\n\t\t\t\t\t\"name\": \"keyword.control.exception.swift\"\n\t\t\t\t},\n\t\t\t\t\"3\": {\n\t\t\t\t\t\"name\": \"keyword.control.async.swift\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"match\": \"\\\\b(?:(throws\\\\s+async|rethrows\\\\s+async)|(throws|rethrows)|(async))\\\\b\"\n\t\t},\n\t\t\"attributes\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"((@)available)(\\\\()\",\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.attribute.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.attribute.swift\"\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.arguments.begin.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"\\\\)\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.arguments.end.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.attribute.available.swift\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"keyword.other.platform.os.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"match\": \"\\\\b(swift|(?:iOS|macOS|OSX|watchOS|tvOS|UIKitForMac)(?:ApplicationExtension)?)\\\\b(?:\\\\s+([0-9]+(?:\\\\.[0-9]+)*\\\\b))?\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"begin\": \"\\\\b(introduced|deprecated|obsoleted)\\\\s*(:)\\\\s*\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"keyword.other.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.key-value.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"(?!\\\\G)\",\n\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"match\": \"\\\\b[0-9]+(?:\\\\.[0-9]+)*\\\\b\",\n\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.swift\"\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\": \"\\\\b(message|renamed)\\\\s*(:)\\\\s*(?=\\\")\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"keyword.other.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.key-value.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"(?!\\\\G)\",\n\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#literals\"\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\"captures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"keyword.other.platform.all.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"keyword.other.swift\"\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\": \"invalid.illegal.character-not-allowed-here.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"match\": \"(?:(\\\\*)|\\\\b(deprecated|unavailable|noasync)\\\\b)\\\\s*(.*?)(?=[,)])\"\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\": \"((@)objc)(\\\\()\",\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.attribute.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.attribute.swift\"\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.arguments.begin.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"\\\\)\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.arguments.end.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.attribute.objc.swift\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.missing-colon-after-selector-piece.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"match\": \"\\\\w*(?::(?:\\\\w*:)*(\\\\w*))?\",\n\t\t\t\t\t\t\t\"name\": \"entity.name.function.swift\"\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\": \"(@)(?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>)\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"storage.modifier.attribute.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.attribute.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.identifier.swift\"\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.identifier.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"comment\": \"any other attribute\",\n\t\t\t\t\t\"end\": \"(?!\\\\G\\\\()\",\n\t\t\t\t\t\"name\": \"meta.attribute.swift\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"begin\": \"\\\\(\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.arguments.begin.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"\\\\)\",\n\t\t\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.arguments.end.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"meta.arguments.attribute.swift\",\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\": \"#expressions\"\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\"builtin-functions\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"comment\": \"Member functions in the standard library in Swift 3 which may be used with trailing closures and no parentheses\",\n\t\t\t\t\t\"match\": \"(?<=\\\\.)(?:s(?:ort(?:ed)?|plit)|contains|index|partition|f(?:i(?:lter|rst)|orEach|latMap)|with(?:MutableCharacters|CString|U(?:nsafe(?:Mutable(?:BufferPointer|Pointer(?:s|To(?:Header|Elements)))|BufferPointer)|TF8Buffer))|m(?:in|a(?:p|x)))(?=\\\\s*[({])\\\\b\",\n\t\t\t\t\t\"name\": \"support.function.swift\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"comment\": \"Member functions in the standard library in Swift 3\",\n\t\t\t\t\t\"match\": \"(?<=\\\\.)(?:s(?:ymmetricDifference|t(?:oreBytes|arts|ride)|ortInPlace|u(?:ccessor|ffix|btract(?:ing|InPlace|WithOverflow)?)|quareRoot|amePosition)|h(?:oldsUnique(?:Reference|OrPinnedReference)|as(?:Suffix|Prefix))|ne(?:gate(?:d)?|xt)|c(?:o(?:untByEnumerating|py(?:Bytes)?)|lamp(?:ed)?|reate)|t(?:o(?:IntMax|Opaque|UIntMax)|ake(?:RetainedValue|UnretainedValue)|r(?:uncatingRemainder|a(?:nscodedLength|ilSurrogate)))|i(?:s(?:MutableAndUniquelyReferenced(?:OrPinned)?|S(?:trictSu(?:perset(?:Of)?|bset(?:Of)?)|u(?:perset(?:Of)?|bset(?:Of)?))|Continuation|T(?:otallyOrdered|railSurrogate)|Disjoint(?:With)?|Unique(?:Reference|lyReferenced(?:OrPinned)?)|Equal|Le(?:ss(?:ThanOrEqualTo)?|adSurrogate))|n(?:sert(?:ContentsOf)?|tersect(?:ion|InPlace)?|itialize(?:Memory|From)?|dex(?:Of|ForKey)))|o(?:verlaps|bjectAt)|d(?:i(?:stance(?:To)?|vide(?:d|WithOverflow)?)|e(?:s(?:cendant|troy)|code(?:CString)?|initialize|alloc(?:ate(?:Capacity)?)?)|rop(?:First|Last))|u(?:n(?:ion(?:InPlace)?|derestimateCount|wrappedOrError)|p(?:date(?:Value)?|percased))|join(?:ed|WithSeparator)|p(?:op(?:First|Last)|ass(?:Retained|Unretained)|re(?:decessor|fix))|e(?:scape(?:d)?|n(?:code|umerate(?:d)?)|lementsEqual|xclusiveOr(?:InPlace)?)|f(?:orm(?:Remainder|S(?:ymmetricDifference|quareRoot)|TruncatingRemainder|In(?:tersection|dex)|Union)|latten|rom(?:CString(?:RepairingIllFormedUTF8)?|Opaque))|w(?:i(?:thMemoryRebound|dth)|rite(?:To)?)|l(?:o(?:wercased|ad)|e(?:adSurrogate|xicographical(?:Compare|lyPrecedes)))|a(?:ss(?:ign(?:BackwardFrom|From)?|umingMemoryBound)|d(?:d(?:ing(?:Product)?|Product|WithOverflow)?|vanced(?:By)?)|utorelease|ppend(?:ContentsOf)?|lloc(?:ate)?|bs)|r(?:ound(?:ed)?|e(?:serveCapacity|tain|duce|place(?:Range|Subrange)?|verse(?:d)?|quest(?:NativeBuffer|UniqueMutableBackingBuffer)|lease|m(?:ove(?:Range|Subrange|Value(?:ForKey)?|First|Last|A(?:tIndex|ll))?|ainder(?:WithOverflow)?)))|ge(?:nerate|t(?:Objects|Element))|m(?:in(?:imum(?:Magnitude)?|Element)|ove(?:Initialize(?:Memory|BackwardFrom|From)?|Assign(?:From)?)?|ultipl(?:y(?:WithOverflow)?|ied)|easure|a(?:ke(?:Iterator|Description)|x(?:imum(?:Magnitude)?|Element)))|bindMemory)(?=\\\\s*\\\\()\",\n\t\t\t\t\t\"name\": \"support.function.swift\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"comment\": \"Member functions in the standard library in Swift 2 only\",\n\t\t\t\t\t\"match\": \"(?<=\\\\.)(?:s(?:uperclassMirror|amePositionIn|tartsWith)|nextObject|c(?:haracterAtIndex|o(?:untByEnumeratingWithState|pyWithZone)|ustom(?:Mirror|PlaygroundQuickLook))|is(?:EmptyInput|ASCII)|object(?:Enumerator|ForKey|AtIndex)|join|put|keyEnumerator|withUnsafeMutablePointerToValue|length|getMirror|m(?:oveInitializeAssignFrom|ember))(?=\\\\s*\\\\()\",\n\t\t\t\t\t\"name\": \"support.function.swift\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"builtin-global-functions\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"\\\\b(type)(\\\\()\\\\s*(of)(:)\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"support.function.dynamic-type.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.arguments.begin.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\"name\": \"support.variable.parameter.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.separator.argument-label.begin.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"\\\\)\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.arguments.end.swift\"\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\": \"#expressions\"\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\"comment\": \"Global functions available in Swift 3 which may be used with trailing closures and no parentheses\",\n\t\t\t\t\t\"match\": \"\\\\b(?:anyGenerator|autoreleasepool)(?=\\\\s*[({])\\\\b\",\n\t\t\t\t\t\"name\": \"support.function.swift\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"comment\": \"Global functions available in Swift 3\",\n\t\t\t\t\t\"match\": \"\\\\b(?:s(?:tride(?:of(?:Value)?)?|izeof(?:Value)?|equence|wap)|numericCast|transcode|is(?:UniquelyReferenced(?:NonObjC)?|KnownUniquelyReferenced)|zip|d(?:ump|ebugPrint)|unsafe(?:BitCast|Downcast|Unwrap|Address(?:Of)?)|pr(?:int|econdition(?:Failure)?)|fatalError|with(?:Unsafe(?:MutablePointer|Pointer)|ExtendedLifetime|VaList)|a(?:ssert(?:ionFailure)?|lignof(?:Value)?|bs)|re(?:peatElement|adLine)|getVaList|m(?:in|ax))(?=\\\\s*\\\\()\",\n\t\t\t\t\t\"name\": \"support.function.swift\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"comment\": \"Global functions available in Swift 2 only\",\n\t\t\t\t\t\"match\": \"\\\\b(?:s(?:ort|uffix|pli(?:ce|t))|insert|overlaps|d(?:istance|rop(?:First|Last))|join|prefix|extend|withUnsafe(?:MutablePointers|Pointers)|lazy|advance|re(?:flect|move(?:Range|Last|A(?:tIndex|ll))))(?=\\\\s*\\\\()\",\n\t\t\t\t\t\"name\": \"support.function.swift\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"builtin-properties\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"comment\": \"The simpler (?<=\\\\bProcess\\\\.|\\\\bCommandLine\\\\.) breaks VS Code / Atom, see https://github.com/textmate/swift.tmbundle/issues/29\",\n\t\t\t\t\t\"match\": \"(?<=^Process\\\\.|\\\\WProcess\\\\.|^CommandLine\\\\.|\\\\WCommandLine\\\\.)(arguments|argc|unsafeArgv)\",\n\t\t\t\t\t\"name\": \"support.variable.swift\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"comment\": \"Properties in the standard library in Swift 3\",\n\t\t\t\t\t\"match\": \"(?<=\\\\.)(?:s(?:t(?:artIndex|ri(?:ngValue|de))|i(?:ze|gn(?:BitIndex|ificand(?:Bit(?:Count|Pattern)|Width)?|alingNaN)?)|u(?:perclassMirror|mmary|bscriptBaseAddress))|h(?:eader|as(?:hValue|PointerRepresentation))|n(?:ulTerminatedUTF8|ext(?:Down|Up)|a(?:n|tiveOwner))|c(?:haracters|ount(?:TrailingZeros)?|ustom(?:Mirror|PlaygroundQuickLook)|apacity)|i(?:s(?:S(?:ign(?:Minus|aling(?:NaN)?)|ubnormal)|N(?:ormal|aN)|Canonical|Infinite|Zero|Empty|Finite|ASCII)|n(?:dices|finity)|dentity)|owner|de(?:scription|bugDescription)|u(?:n(?:safelyUnwrapped|icodeScalar(?:s)?|derestimatedCount)|tf(?:16|8(?:Start|C(?:String|odeUnitCount))?)|intValue|ppercaseString|lp(?:OfOne)?)|p(?:i|ointee)|e(?:ndIndex|lements|xponent(?:Bit(?:Count|Pattern))?)|value(?:s)?|keys|quietNaN|f(?:irst(?:ElementAddress(?:IfContiguous)?)?|loatingPointClass)|l(?:ittleEndian|owercaseString|eastNo(?:nzeroMagnitude|rmalMagnitude)|a(?:st|zy))|a(?:l(?:ignment|l(?:ocatedElementCount|Zeros))|rray(?:PropertyIsNativeTypeChecked)?)|ra(?:dix|wValue)|greatestFiniteMagnitude|m(?:in|emory|ax)|b(?:yteS(?:ize|wapped)|i(?:nade|tPattern|gEndian)|uffer|ase(?:Address)?))\\\\b\",\n\t\t\t\t\t\"name\": \"support.variable.swift\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"comment\": \"Properties in the standard library in Swift 2 only\",\n\t\t\t\t\t\"match\": \"(?<=\\\\.)(?:boolValue|disposition|end|objectIdentifier|quickLookObject|start|valueType)\\\\b\",\n\t\t\t\t\t\"name\": \"support.variable.swift\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"comment\": \"Enum cases in the standard library - note that there is some overlap between these and the properties\",\n\t\t\t\t\t\"match\": \"(?<=\\\\.)(?:s(?:calarValue|i(?:ze|gnalingNaN)|o(?:und|me)|uppressed|prite|et)|n(?:one|egative(?:Subnormal|Normal|Infinity|Zero))|c(?:ol(?:or|lection)|ustomized)|t(?:o(?:NearestOr(?:Even|AwayFromZero)|wardZero)|uple|ext)|i(?:nt|mage)|optional|d(?:ictionary|o(?:uble|wn))|u(?:Int|p|rl)|p(?:o(?:sitive(?:Subnormal|Normal|Infinity|Zero)|int)|lus)|e(?:rror|mptyInput)|view|quietNaN|float|a(?:ttributedString|wayFromZero)|r(?:ectangle|ange)|generated|minus|b(?:ool|ezierPath))\\\\b\",\n\t\t\t\t\t\"name\": \"support.variable.swift\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"builtin-types\": {\n\t\t\t\"comment\": \"Types provided in the standard library\",\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#builtin-class-type\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#builtin-enum-type\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#builtin-protocol-type\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#builtin-struct-type\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#builtin-typealias\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\bAny\\\\b\",\n\t\t\t\t\t\"name\": \"support.type.any.swift\"\n\t\t\t\t}\n\t\t\t],\n\t\t\t\"repository\": {\n\t\t\t\t\"builtin-class-type\": {\n\t\t\t\t\t\"comment\": \"Builtin class types\",\n\t\t\t\t\t\"match\": \"\\\\b(Managed(Buffer|ProtoBuffer)|NonObjectiveCBase|AnyGenerator)\\\\b\",\n\t\t\t\t\t\"name\": \"support.class.swift\"\n\t\t\t\t},\n\t\t\t\t\"builtin-enum-type\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"CommandLine is an enum, but it acts like a constant\",\n\t\t\t\t\t\t\t\"match\": \"\\\\b(?:CommandLine|Process(?=\\\\.))\\\\b\",\n\t\t\t\t\t\t\t\"name\": \"support.constant.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"The return type of a function that never returns\",\n\t\t\t\t\t\t\t\"match\": \"\\\\bNever\\\\b\",\n\t\t\t\t\t\t\t\"name\": \"support.constant.never.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"Enum types in the standard library in Swift 3\",\n\t\t\t\t\t\t\t\"match\": \"\\\\b(?:ImplicitlyUnwrappedOptional|Representation|MemoryLayout|FloatingPointClassification|SetIndexRepresentation|SetIteratorRepresentation|FloatingPointRoundingRule|UnicodeDecodingResult|Optional|DictionaryIndexRepresentation|AncestorRepresentation|DisplayStyle|PlaygroundQuickLook|Never|FloatingPointSign|Bit|DictionaryIteratorRepresentation)\\\\b\",\n\t\t\t\t\t\t\t\"name\": \"support.type.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"Enum types in the standard library in Swift 2 only\",\n\t\t\t\t\t\t\t\"match\": \"\\\\b(?:MirrorDisposition|QuickLookObject)\\\\b\",\n\t\t\t\t\t\t\t\"name\": \"support.type.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"builtin-protocol-type\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"Protocols in the standard library in Swift 3\",\n\t\t\t\t\t\t\t\"match\": \"\\\\b(?:Ra(?:n(?:domAccess(?:Collection|Indexable)|geReplaceable(?:Collection|Indexable))|wRepresentable)|M(?:irrorPath|utable(?:Collection|Indexable))|Bi(?:naryFloatingPoint|twiseOperations|directional(?:Collection|Indexable))|S(?:tr(?:ideable|eamable)|igned(?:Number|Integer)|e(?:tAlgebra|quence))|Hashable|C(?:o(?:llection|mparable)|ustom(?:Reflectable|StringConvertible|DebugStringConvertible|PlaygroundQuickLookable|LeafReflectable)|VarArg)|TextOutputStream|I(?:n(?:teger(?:Arithmetic)?|dexable(?:Base)?)|teratorProtocol)|OptionSet|Un(?:signedInteger|icodeCodec)|E(?:quatable|rror|xpressibleBy(?:BooleanLiteral|String(?:Interpolation|Literal)|NilLiteral|IntegerLiteral|DictionaryLiteral|UnicodeScalarLiteral|ExtendedGraphemeClusterLiteral|FloatLiteral|ArrayLiteral))|FloatingPoint|L(?:osslessStringConvertible|azy(?:SequenceProtocol|CollectionProtocol))|A(?:nyObject|bsoluteValuable))\\\\b\",\n\t\t\t\t\t\t\t\"name\": \"support.type.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"Protocols in the standard library in Swift 2 only\",\n\t\t\t\t\t\t\t\"match\": \"\\\\b(?:Ran(?:domAccessIndexType|geReplaceableCollectionType)|GeneratorType|M(?:irror(?:Type|PathType)|utable(?:Sliceable|CollectionType))|B(?:i(?:twiseOperationsType|directionalIndexType)|oolean(?:Type|LiteralConvertible))|S(?:tring(?:InterpolationConvertible|LiteralConvertible)|i(?:nkType|gned(?:NumberType|IntegerType))|e(?:tAlgebraType|quenceType)|liceable)|NilLiteralConvertible|C(?:ollectionType|VarArgType)|Inte(?:rvalType|ger(?:Type|LiteralConvertible|ArithmeticType))|O(?:utputStreamType|ptionSetType)|DictionaryLiteralConvertible|Un(?:signedIntegerType|icode(?:ScalarLiteralConvertible|CodecType))|E(?:rrorType|xten(?:sibleCollectionType|dedGraphemeClusterLiteralConvertible))|F(?:orwardIndexType|loat(?:ingPointType|LiteralConvertible))|A(?:nyCollectionType|rrayLiteralConvertible))\\\\b\",\n\t\t\t\t\t\t\t\"name\": \"support.type.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"builtin-struct-type\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"Structs in the standard library in Swift 3\",\n\t\t\t\t\t\t\t\"match\": \"\\\\b(?:R(?:e(?:peat(?:ed)?|versed(?:RandomAccess(?:Collection|Index)|Collection|Index))|an(?:domAccessSlice|ge(?:Replaceable(?:RandomAccessSlice|BidirectionalSlice|Slice)|Generator)?))|Generator(?:Sequence|OfOne)|M(?:irror|utable(?:Ran(?:domAccessSlice|geReplaceable(?:RandomAccessSlice|BidirectionalSlice|Slice))|BidirectionalSlice|Slice)|anagedBufferPointer)|B(?:idirectionalSlice|ool)|S(?:t(?:aticString|ri(?:ng|deT(?:hrough(?:Generator|Iterator)?|o(?:Generator|Iterator)?)))|et(?:I(?:ndex|terator))?|lice)|HalfOpenInterval|C(?:haracter(?:View)?|o(?:ntiguousArray|untable(?:Range|ClosedRange)|llectionOfOne)|OpaquePointer|losed(?:Range(?:I(?:ndex|terator))?|Interval)|VaListPointer)|I(?:n(?:t(?:16|8|32|64)?|d(?:ices|ex(?:ing(?:Generator|Iterator))?))|terator(?:Sequence|OverOne)?)|Zip2(?:Sequence|Iterator)|O(?:paquePointer|bjectIdentifier)|D(?:ictionary(?:I(?:ndex|terator)|Literal)?|ouble|efault(?:RandomAccessIndices|BidirectionalIndices|Indices))|U(?:n(?:safe(?:RawPointer|Mutable(?:RawPointer|BufferPointer|Pointer)|BufferPointer(?:Generator|Iterator)?|Pointer)|icodeScalar(?:View)?|foldSequence|managed)|TF(?:16(?:View)?|8(?:View)?|32)|Int(?:16|8|32|64)?)|Join(?:Generator|ed(?:Sequence|Iterator))|PermutationGenerator|E(?:numerate(?:Generator|Sequence|d(?:Sequence|Iterator))|mpty(?:Generator|Collection|Iterator))|Fl(?:oat(?:80)?|atten(?:Generator|BidirectionalCollection(?:Index)?|Sequence|Collection(?:Index)?|Iterator))|L(?:egacyChildren|azy(?:RandomAccessCollection|Map(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Collection|Iterator)|BidirectionalCollection|Sequence|Collection|Filter(?:Generator|BidirectionalCollection|Sequence|Collection|I(?:ndex|terator))))|A(?:ny(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Hashable|Collection|I(?:ndex|terator))|utoreleasingUnsafeMutablePointer|rray(?:Slice)?))\\\\b\",\n\t\t\t\t\t\t\t\"name\": \"support.type.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"Structs in the standard library in Swift 2 only\",\n\t\t\t\t\t\t\t\"match\": \"\\\\b(?:R(?:everse(?:RandomAccess(?:Collection|Index)|Collection|Index)|awByte)|Map(?:Generator|Sequence|Collection)|S(?:inkOf|etGenerator)|Zip2Generator|DictionaryGenerator|Filter(?:Generator|Sequence|Collection(?:Index)?)|LazyForwardCollection|Any(?:RandomAccessIndex|BidirectionalIndex|Forward(?:Collection|Index)))\\\\b\",\n\t\t\t\t\t\t\t\"name\": \"support.type.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"builtin-typealias\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"Typealiases in the standard library in Swift 3\",\n\t\t\t\t\t\t\t\"match\": \"\\\\b(?:Raw(?:Significand|Exponent|Value)|B(?:ooleanLiteralType|uffer|ase)|S(?:t(?:orage|r(?:i(?:ngLiteralType|de)|eam(?:1|2)))|ubSequence)|NativeBuffer|C(?:hild(?:ren)?|Bool|S(?:hort|ignedChar)|odeUnit|Char(?:16|32)?|Int|Double|Unsigned(?:Short|Char|Int|Long(?:Long)?)|Float|WideChar|Long(?:Long)?)|I(?:n(?:t(?:Max|egerLiteralType)|d(?:ices|ex(?:Distance)?))|terator)|Distance|U(?:n(?:icodeScalar(?:Type|Index|View|LiteralType)|foldFirstSequence)|TF(?:16(?:Index|View)|8Index)|IntMax)|E(?:lement(?:s)?|x(?:tendedGraphemeCluster(?:Type|LiteralType)|ponent))|V(?:oid|alue)|Key|Float(?:32|LiteralType|64)|AnyClass)\\\\b\",\n\t\t\t\t\t\t\t\"name\": \"support.type.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"Typealiases in the standard library in Swift 2 only\",\n\t\t\t\t\t\t\t\"match\": \"\\\\b(?:Generator|PlaygroundQuickLook|UWord|Word)\\\\b\",\n\t\t\t\t\t\t\t\"name\": \"support.type.swift\"\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\"code-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.section.scope.begin.swift\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"end\": \"\\\\}\",\n\t\t\t\"endCaptures\": {\n\t\t\t\t\"0\": {\n\t\t\t\t\t\"name\": \"punctuation.section.scope.end.swift\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"$self\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"comments\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.comment.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"match\": \"\\\\A^(#!).*$\\\\n?\",\n\t\t\t\t\t\"name\": \"comment.line.number-sign.swift\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"/\\\\*\\\\*(?!/)\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.comment.begin.swift\"\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.end.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"comment.block.documentation.swift\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#nested\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"/\\\\*:\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.comment.begin.swift\"\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.end.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"comment.block.documentation.playground.swift\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#nested\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"/\\\\*\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.comment.begin.swift\"\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.end.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"comment.block.swift\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#nested\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\*/\",\n\t\t\t\t\t\"name\": \"invalid.illegal.unexpected-end-of-block-comment.swift\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(^[ \\\\t]+)?(?=//)\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.whitespace.comment.leading.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(?!\\\\G)\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"begin\": \"///\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.comment.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"^\",\n\t\t\t\t\t\t\t\"name\": \"comment.line.triple-slash.documentation.swift\"\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.definition.comment.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"^\",\n\t\t\t\t\t\t\t\"name\": \"comment.line.double-slash.documentation.swift\"\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.definition.comment.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"^\",\n\t\t\t\t\t\t\t\"name\": \"comment.line.double-slash.swift\"\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\"repository\": {\n\t\t\t\t\"nested\": {\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\": \"#nested\"\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\"compiler-control\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"^\\\\s*(#)(if|elseif)\\\\s+(false)\\\\b.*?(?=$|//|/\\\\*)\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"meta.preprocessor.conditional.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.preprocessor.swift\"\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.control.preprocessor.conditional.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\"name\": \"constant.language.boolean.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"contentName\": \"comment.block.preprocessor.swift\",\n\t\t\t\t\t\"end\": \"(?=^\\\\s*(#(elseif|else|endif)\\\\b))\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"^\\\\s*(#)(if|elseif)\\\\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\": \"punctuation.definition.preprocessor.swift\"\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.control.preprocessor.conditional.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(?=\\\\s*(?://|/\\\\*))|$\",\n\t\t\t\t\t\"name\": \"meta.preprocessor.conditional.swift\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"(&&|\\\\|\\\\|)\",\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.logical.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"\\\\b(true|false)\\\\b\",\n\t\t\t\t\t\t\t\"name\": \"constant.language.boolean.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"keyword.other.condition.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.parameters.begin.swift\"\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\": \"support.constant.platform.architecture.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.parameters.end.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"match\": \"\\\\b(arch)\\\\s*(\\\\()\\\\s*(?:(arm|arm64|powerpc64|powerpc64le|i386|x86_64|s390x)|\\\\w+)\\\\s*(\\\\))\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"keyword.other.condition.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.parameters.begin.swift\"\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\": \"support.constant.platform.os.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.parameters.end.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"match\": \"\\\\b(os)\\\\s*(\\\\()\\\\s*(?:(macOS|OSX|iOS|tvOS|watchOS|Android|Linux|FreeBSD|Windows|PS4)|\\\\w+)\\\\s*(\\\\))\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"keyword.other.condition.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.parameters.begin.swift\"\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\": \"entity.name.type.module.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.parameters.end.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"match\": \"\\\\b(canImport)\\\\s*(\\\\()([\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*)(\\\\))\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"begin\": \"\\\\b(targetEnvironment)\\\\s*(\\\\()\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"keyword.other.condition.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.parameters.begin.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"(\\\\))|$\",\n\t\t\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.parameters.end.swift\"\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\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"match\": \"\\\\b(simulator|UIKitForMac)\\\\b\",\n\t\t\t\t\t\t\t\t\t\"name\": \"support.constant.platform.environment.swift\"\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\": \"\\\\b(swift|compiler)\\\\s*(\\\\()\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"keyword.other.condition.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.parameters.begin.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"(\\\\))|$\",\n\t\t\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.parameters.end.swift\"\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\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"match\": \">=|<\",\n\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.comparison.swift\"\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\": \"\\\\b[0-9]+(?:\\\\.[0-9]+)*\\\\b\",\n\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.swift\"\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\"captures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.preprocessor.swift\"\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.control.preprocessor.conditional.swift\"\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\"match\": \"\\\\S+\",\n\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.character-not-allowed-here.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"match\": \"^\\\\s*(#)(else|endif)(.*?)(?=$|//|/\\\\*)\",\n\t\t\t\t\t\"name\": \"meta.preprocessor.conditional.swift\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.preprocessor.swift\"\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.control.preprocessor.sourcelocation.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.parameters.begin.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"5\": {\n\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"begin\": \"(file)\\\\s*(:)\\\\s*(?=\\\")\",\n\t\t\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"support.variable.parameter.swift\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.key-value.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"end\": \"(?!\\\\G)\",\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\": \"#literals\"\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\"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\": \"support.variable.parameter.swift\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.key-value.swift\"\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.integer.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"match\": \"(line)\\\\s*(:)\\\\s*([0-9]+)\"\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\": \",\",\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.parameters.swift\"\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\": \"\\\\S+\",\n\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.character-not-allowed-here.swift\"\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\"6\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.parameters.begin.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"7\": {\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\": \"\\\\S+\",\n\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.character-not-allowed-here.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"match\": \"^\\\\s*(#)(sourceLocation)((\\\\()([^)]*)(\\\\)))(.*?)(?=$|//|/\\\\*)\",\n\t\t\t\t\t\"name\": \"meta.preprocessor.sourcelocation.swift\"\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\": \"#function\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#function-initializer\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#typed-variable-declaration\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#import\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#operator\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#precedencegroup\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#protocol\"\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\": \"#extension\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#typealias\"\n\t\t\t\t}\n\t\t\t],\n\t\t\t\"repository\": {\n\t\t\t\t\"available-types\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#comments\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#builtin-types\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#attributes\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"\\\\basync\\\\b\",\n\t\t\t\t\t\t\t\"name\": \"keyword.control.async.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"\\\\b(?:throws|rethrows)\\\\b\",\n\t\t\t\t\t\t\t\"name\": \"keyword.control.exception.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"\\\\bsome\\\\b\",\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.type.opaque.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"\\\\bany\\\\b\",\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.type.existential.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"\\\\b(?:inout|isolated)\\\\b\",\n\t\t\t\t\t\t\t\"name\": \"storage.modifier.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"\\\\bSelf\\\\b\",\n\t\t\t\t\t\t\t\"name\": \"variable.language.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.type.function.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"match\": \"(?<![/=\\\\-+!*%<>&|\\\\^~.])(->)(?![/=\\\\-+!*%<>&|\\\\^~.])\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.type.composition.swift\"\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\"comment\": \"Swift 3: A & B\",\n\t\t\t\t\t\t\t\"match\": \"(?<![/=\\\\-+!*%<>&|\\\\^~.])(&)(?![/=\\\\-+!*%<>&|\\\\^~.])\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"[?!]\",\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.type.optional.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"\\\\.\\\\.\\\\.\",\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.function.variadic-parameter.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"Swift 2: protocol<A, B>\",\n\t\t\t\t\t\t\t\"match\": \"\\\\bprotocol\\\\b\",\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.type.composition.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"(?<=\\\\.)(?:Protocol|Type)\\\\b\",\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.type.metatype.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#tuple-type\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#collection-type\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#generic-argument-clause\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t\"repository\": {\n\t\t\t\t\t\t\"collection-type\": {\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.section.collection-type.begin.swift\"\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\"comment\": \"array and dictionary types [Value] and [Key: Value]\",\n\t\t\t\t\t\t\t\"end\": \"\\\\]|(?=[>){}])\",\n\t\t\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.section.collection-type.end.swift\"\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\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#available-types\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"begin\": \":\",\n\t\t\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.key-value.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"end\": \"(?=\\\\]|[>){}])\",\n\t\t\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"match\": \":\",\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.extra-colon-in-dictionary-type.swift\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"include\": \"#available-types\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"tuple-type\": {\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.section.tuple-type.begin.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"\\\\)|(?=[>\\\\]{}])\",\n\t\t\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.section.tuple-type.end.swift\"\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\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#available-types\"\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\"extension\": {\n\t\t\t\t\t\"begin\": \"\\\\b(extension)\\\\s+((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\",\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.type.$1.swift\"\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.swift\",\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\": \"#available-types\"\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\": \"punctuation.definition.identifier.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.identifier.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(?<=\\\\})\",\n\t\t\t\t\t\"name\": \"meta.definition.type.$1.swift\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#comments\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"SE-0143: Conditional Conformances\",\n\t\t\t\t\t\t\t\"include\": \"#generic-where-clause\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#inheritance-clause\"\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.definition.type.begin.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"\\\\}\",\n\t\t\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.type.end.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"meta.definition.type.body.swift\",\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\": \"$self\"\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\"function\": {\n\t\t\t\t\t\"begin\": \"(?x)\\n\\t\\t\\t\\t\\t\\t\\\\b\\n\\t\\t\\t\\t\\t\\t(?:(nonisolated)\\\\s+)?\\n\\t\\t\\t\\t\\t\\t(func)\\n\\t\\t\\t\\t\\t\\t\\\\s+\\n\\t\\t\\t\\t\\t\\t(\\n\\t\\t\\t\\t\\t\\t\\t(?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>)\\n\\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(?<oph>\\t\\t\\t\\t\\t\\t\\t\\t# operator-head\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[/=\\\\-+!*%<>&|^~?]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00A1}-\\\\x{00A7}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00A9}\\\\x{00AB}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00AC}\\\\x{00AE}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00B0}-\\\\x{00B1}\\\\x{00B6}\\\\x{00BB}\\\\x{00BF}\\\\x{00D7}\\\\x{00F7}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2016}-\\\\x{2017}\\\\x{2020}-\\\\x{2027}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2030}-\\\\x{203E}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2041}-\\\\x{2053}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2055}-\\\\x{205E}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2190}-\\\\x{23FF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2500}-\\\\x{2775}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2794}-\\\\x{2BFF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2E00}-\\\\x{2E7F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{3001}-\\\\x{3003}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{3008}-\\\\x{3030}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t(\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\\\g<oph>\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | (?<opc>\\t\\t\\t\\t\\t\\t\\t\\t# operator-character\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[\\\\x{0300}-\\\\x{036F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{1DC0}-\\\\x{1DFF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{20D0}-\\\\x{20FF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{FE00}-\\\\x{FE0F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{FE20}-\\\\x{FE2F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{E0100}-\\\\x{E01EF}]\\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 | ( \\\\. ( \\\\g<oph> | \\\\g<opc> | \\\\. )+ )\\t\\t\\t# Dot operators\\n\\t\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t\\t\\\\s*\\n\\t\\t\\t\\t\\t\\t(?=\\\\(|<)\\n\\t\\t\\t\\t\\t\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"storage.modifier.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"storage.type.function.swift\"\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.function.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.identifier.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"5\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.identifier.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(?<=\\\\})|$(?# functions in protocol declarations or generated interfaces have no body)\",\n\t\t\t\t\t\"name\": \"meta.definition.function.swift\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#comments\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#generic-parameter-clause\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#parameter-clause\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#function-result\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#async-throws\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"Swift 3: generic constraints after the parameters and return type\",\n\t\t\t\t\t\t\t\"include\": \"#generic-where-clause\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"begin\": \"(\\\\{)\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.section.function.begin.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"(\\\\})\",\n\t\t\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.section.function.end.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"meta.definition.function.body.swift\",\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\": \"$self\"\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\"function-initializer\": {\n\t\t\t\t\t\"begin\": \"(?<!\\\\.)\\\\b(init[?!]*(?# only one is valid, but we want the in⇥ snippet to produce something that looks good))\\\\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.type.function.swift\",\n\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"match\": \"(?<=[?!])[?!]+\",\n\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.character-not-allowed-here.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(?<=\\\\})|$\",\n\t\t\t\t\t\"name\": \"meta.definition.function.initializer.swift\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#comments\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#generic-parameter-clause\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#parameter-clause\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#async-throws\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"Swift 3: generic constraints after the parameters and return type\",\n\t\t\t\t\t\t\t\"include\": \"#generic-where-clause\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"begin\": \"(\\\\{)\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.section.function.begin.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"(\\\\})\",\n\t\t\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.section.function.end.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"meta.definition.function.body.swift\",\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\": \"$self\"\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\"function-result\": {\n\t\t\t\t\t\"begin\": \"(?<![/=\\\\-+!*%<>&|\\\\^~.])(->)(?![/=\\\\-+!*%<>&|\\\\^~.])\\\\s*\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.function-result.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(?!\\\\G)(?=\\\\{|\\\\bwhere\\\\b|;)|$\",\n\t\t\t\t\t\"name\": \"meta.function-result.swift\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#available-types\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"generic-argument-clause\": {\n\t\t\t\t\t\"begin\": \"<\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.separator.generic-argument-clause.begin.swift\"\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.generic-argument-clause.end.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.generic-argument-clause.swift\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#available-types\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"generic-parameter-clause\": {\n\t\t\t\t\t\"begin\": \"<\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.separator.generic-parameter-clause.begin.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \">|(?=[^\\\\w\\\\d:<>\\\\s,=&`])(?# characters besides these are never valid in a generic param list -- even if it's not really a valid clause, we should stop trying to parse it if we see one of them.)\",\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.generic-parameter-clause.end.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.generic-parameter-clause.swift\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#comments\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"Swift 2: constraints inside the generic param list\",\n\t\t\t\t\t\t\t\"include\": \"#generic-where-clause\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"variable.language.generic-parameter.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"match\": \"\\\\b((?!\\\\d)\\\\w[\\\\w\\\\d]*)\\\\b\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \",\",\n\t\t\t\t\t\t\t\"name\": \"punctuation.separator.generic-parameters.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"begin\": \"(:)\\\\s*\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.generic-parameter-constraint.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"(?=[,>]|(?!\\\\G)\\\\bwhere\\\\b)\",\n\t\t\t\t\t\t\t\"name\": \"meta.generic-parameter-constraint.swift\",\n\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"begin\": \"\\\\G\",\n\t\t\t\t\t\t\t\t\t\"end\": \"(?=[,>]|(?!\\\\G)\\\\bwhere\\\\b)\",\n\t\t\t\t\t\t\t\t\t\"name\": \"entity.other.inherited-class.swift\",\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-identifier\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"generic-where-clause\": {\n\t\t\t\t\t\"begin\": \"\\\\b(where)\\\\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.other.generic-constraint-introducer.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(?!\\\\G)$|(?=[>{};\\\\n]|//|/\\\\*)\",\n\t\t\t\t\t\"name\": \"meta.generic-where-clause.swift\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#comments\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#requirement-list\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t\"repository\": {\n\t\t\t\t\t\t\"requirement-list\": {\n\t\t\t\t\t\t\t\"begin\": \"\\\\G|,\\\\s*\",\n\t\t\t\t\t\t\t\"end\": \"(?=[,>{};\\\\n]|//|/\\\\*)\",\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\": \"#comments\"\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\": \"#constraint\"\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\": \"#available-types\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"begin\": \"(?<![/=\\\\-+!*%<>&|\\\\^~.])(==)(?![/=\\\\-+!*%<>&|\\\\^~.])\",\n\t\t\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.generic-constraint.same-type.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"end\": \"(?=\\\\s*[,>{};\\\\n]|//|/\\\\*)\",\n\t\t\t\t\t\t\t\t\t\"name\": \"meta.generic-where-clause.same-type-requirement.swift\",\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\": \"#available-types\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"begin\": \"(?<![/=\\\\-+!*%<>&|\\\\^~.])(:)(?![/=\\\\-+!*%<>&|\\\\^~.])\",\n\t\t\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.generic-constraint.conforms-to.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"end\": \"(?=\\\\s*[,>{};\\\\n]|//|/\\\\*)\",\n\t\t\t\t\t\t\t\t\t\"name\": \"meta.generic-where-clause.conformance-requirement.swift\",\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\"begin\": \"\\\\G\\\\s*\",\n\t\t\t\t\t\t\t\t\t\t\t\"contentName\": \"entity.other.inherited-class.swift\",\n\t\t\t\t\t\t\t\t\t\t\t\"end\": \"(?=\\\\s*[,>{};\\\\n]|//|/\\\\*)\",\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\"include\": \"#available-types\"\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]\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\"import\": {\n\t\t\t\t\t\"begin\": \"(?<!\\\\.)\\\\b(import)\\\\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.import.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(;)|$\\\\n?|(?=//|/\\\\*)\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.terminator.statement.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.import.swift\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"begin\": \"\\\\G(?!;|$|//|/\\\\*)(?:(typealias|struct|class|actor|enum|protocol|var|func)\\\\s+)?\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"storage.modifier.swift\"\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\"captures\": {\n\t\t\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.identifier.swift\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.identifier.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"match\": \"(?x)\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(?<=\\\\G|\\\\.)\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>)\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\",\n\t\t\t\t\t\t\t\t\t\"name\": \"entity.name.type.swift\"\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\": \"(?x)\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(?<=\\\\G|\\\\.)\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\\\$[0-9]+\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\",\n\t\t\t\t\t\t\t\t\t\"name\": \"entity.name.type.swift\"\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\"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\"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\": \"\\\\.\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.dot-not-allowed-here.swift\"\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},\n\t\t\t\t\t\t\t\t\t\"match\": \"(?x)\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(?<=\\\\G|\\\\.)\\n\\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\\t\\t(?<oph>\\t\\t\\t\\t\\t\\t\\t\\t# operator-head\\n\\t\\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 | [\\\\x{00A1}-\\\\x{00A7}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00A9}\\\\x{00AB}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00AC}\\\\x{00AE}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00B0}-\\\\x{00B1}\\\\x{00B6}\\\\x{00BB}\\\\x{00BF}\\\\x{00D7}\\\\x{00F7}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2016}-\\\\x{2017}\\\\x{2020}-\\\\x{2027}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2030}-\\\\x{203E}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2041}-\\\\x{2053}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2055}-\\\\x{205E}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2190}-\\\\x{23FF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2500}-\\\\x{2775}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2794}-\\\\x{2BFF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2E00}-\\\\x{2E7F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{3001}-\\\\x{3003}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{3008}-\\\\x{3030}]\\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(\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\\\g<oph>\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | (?<opc>\\t\\t\\t\\t\\t\\t\\t\\t# operator-character\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[\\\\x{0300}-\\\\x{036F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{1DC0}-\\\\x{1DFF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{20D0}-\\\\x{20FF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{FE00}-\\\\x{FE0F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{FE20}-\\\\x{FE2F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{E0100}-\\\\x{E01EF}]\\n\\t\\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)*\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | ( \\\\. ( \\\\g<oph> | \\\\g<opc> | \\\\. )+ )\\t\\t\\t# Dot operators\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(?=\\\\.|;|$|//|/\\\\*|\\\\s)\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\",\n\t\t\t\t\t\t\t\t\t\"name\": \"entity.name.type.swift\"\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\": \"\\\\.\",\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.import.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"begin\": \"(?!\\\\s*(;|$|//|/\\\\*))\",\n\t\t\t\t\t\t\t\t\t\"end\": \"(?=\\\\s*(;|$|//|/\\\\*))\",\n\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.character-not-allowed-here.swift\"\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\"inheritance-clause\": {\n\t\t\t\t\t\"begin\": \"(:)(?=\\\\s*\\\\{)|(:)\\\\s*\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"invalid.illegal.empty-inheritance-clause.swift\"\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.inheritance-clause.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(?!\\\\G)$|(?=[={}]|(?!\\\\G)\\\\bwhere\\\\b)\",\n\t\t\t\t\t\"name\": \"meta.inheritance-clause.swift\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"begin\": \"\\\\bclass\\\\b\",\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\": \"storage.type.class.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"(?=[={}]|(?!\\\\G)\\\\bwhere\\\\b)\",\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\": \"#comments\"\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\": \"#more-types\"\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\": \"\\\\G\",\n\t\t\t\t\t\t\t\"end\": \"(?!\\\\G)$|(?=[={}]|(?!\\\\G)\\\\bwhere\\\\b)\",\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\": \"#comments\"\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\": \"#inherited-type\"\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\": \"#more-types\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t\"repository\": {\n\t\t\t\t\t\t\"inherited-type\": {\n\t\t\t\t\t\t\t\"begin\": \"(?=[`\\\\p{L}_])\",\n\t\t\t\t\t\t\t\"end\": \"(?!\\\\G)\",\n\t\t\t\t\t\t\t\"name\": \"entity.other.inherited-class.swift\",\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-identifier\"\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\"more-types\": {\n\t\t\t\t\t\t\t\"begin\": \",\\\\s*\",\n\t\t\t\t\t\t\t\"end\": \"(?!\\\\G)(?!//|/\\\\*)|(?=[,={}]|(?!\\\\G)\\\\bwhere\\\\b)\",\n\t\t\t\t\t\t\t\"name\": \"meta.inheritance-list.more-types\",\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\": \"#comments\"\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\": \"#inherited-type\"\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\": \"#more-types\"\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\"operator\": {\n\t\t\t\t\t\"begin\": \"(?x)\\n\\t\\t\\t\\t\\t\\t(?:\\n\\t\\t\\t\\t\\t\\t\\t\\\\b(prefix|infix|postfix)\\n\\t\\t\\t\\t\\t\\t\\t\\\\s+\\n\\t\\t\\t\\t\\t\\t)?\\n\\t\\t\\t\\t\\t\\t\\\\b\\n\\t\\t\\t\\t\\t\\t(operator)\\n\\t\\t\\t\\t\\t\\t\\\\s+\\n\\t\\t\\t\\t\\t\\t(\\n\\t\\t\\t\\t\\t\\t\\t(\\n\\t\\t\\t\\t\\t\\t\\t\\t(?<oph>\\t\\t\\t\\t\\t\\t\\t\\t\\t# operator-head\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t[/=\\\\-+!*%<>&|^~?]\\n\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00A1}-\\\\x{00A7}]\\n\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00A9}\\\\x{00AB}]\\n\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00AC}\\\\x{00AE}]\\n\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00B0}-\\\\x{00B1}\\\\x{00B6}\\\\x{00BB}\\\\x{00BF}\\\\x{00D7}\\\\x{00F7}]\\n\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2016}-\\\\x{2017}\\\\x{2020}-\\\\x{2027}]\\n\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2030}-\\\\x{203E}]\\n\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2041}-\\\\x{2053}]\\n\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2055}-\\\\x{205E}]\\n\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2190}-\\\\x{23FF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2500}-\\\\x{2775}]\\n\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2794}-\\\\x{2BFF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2E00}-\\\\x{2E7F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{3001}-\\\\x{3003}]\\n\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{3008}-\\\\x{3030}]\\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\\\\g<oph>\\n\\t\\t\\t\\t\\t\\t\\t\\t | \\\\.\\t\\t\\t\\t\\t\\t\\t\\t\\t# Invalid dot\\n\\t\\t\\t\\t\\t\\t\\t\\t | (?<opc>\\t\\t\\t\\t\\t\\t\\t\\t# operator-character\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[\\\\x{0300}-\\\\x{036F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{1DC0}-\\\\x{1DFF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{20D0}-\\\\x{20FF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{FE00}-\\\\x{FE0F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{FE20}-\\\\x{FE2F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{E0100}-\\\\x{E01EF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t\\t\\t\\t)*+\\n\\t\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t\\t | ( \\\\. ( \\\\g<oph> | \\\\g<opc> | \\\\. )++ )\\t\\t\\t# Dot operators\\n\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t\\t\\\\s*\\n\\t\\t\\t\\t\\t\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"storage.modifier.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"storage.type.function.operator.swift\"\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.function.operator.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"match\": \"\\\\.\",\n\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.dot-not-allowed-here.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(;)|$\\\\n?|(?=//|/\\\\*)\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.terminator.statement.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.definition.operator.swift\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#swift2\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#swift3\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"((?!$|;|//|/\\\\*)\\\\S)+\",\n\t\t\t\t\t\t\t\"name\": \"invalid.illegal.character-not-allowed-here.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t\"repository\": {\n\t\t\t\t\t\t\"swift2\": {\n\t\t\t\t\t\t\t\"begin\": \"\\\\G(\\\\{)\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.operator.begin.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"(\\\\})\",\n\t\t\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.operator.end.swift\"\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\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#comments\"\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\"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\": \"storage.modifier.swift\"\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\": \"keyword.other.operator.associativity.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"match\": \"\\\\b(associativity)\\\\s+(left|right)\\\\b\"\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\"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\": \"storage.modifier.swift\"\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.integer.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"match\": \"\\\\b(precedence)\\\\s+([0-9]+)\\\\b\"\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\"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\": \"storage.modifier.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"match\": \"\\\\b(assignment)\\\\b\"\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\"swift3\": {\n\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"entity.other.inherited-class.swift\",\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\": \"#types-precedencegroup\"\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\": \"punctuation.definition.identifier.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.identifier.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"match\": \"\\\\G(:)\\\\s*((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"parameter-clause\": {\n\t\t\t\t\t\"begin\": \"(\\\\()\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.parameters.begin.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(\\\\))(?:\\\\s*(async)\\\\b)?\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.parameters.end.swift\"\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.control.async.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.parameter-clause.swift\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#parameter-list\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"parameter-list\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"entity.name.function.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.identifier.swift\"\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\": \"punctuation.definition.identifier.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"variable.parameter.function.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"5\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.identifier.swift\"\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\": \"punctuation.definition.identifier.swift\"\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\"comment\": \"External parameter labels are considered part of the function name\",\n\t\t\t\t\t\t\t\"match\": \"((?<q1>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q1>))\\\\s+((?<q2>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q2>))(?=\\\\s*:)\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"variable.parameter.function.swift\"\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.function.swift\"\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\": \"punctuation.definition.identifier.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.identifier.swift\"\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\"comment\": \"If no external label is given, the name is both the external label and the internal variable name\",\n\t\t\t\t\t\t\t\"match\": \"(((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>)))(?=\\\\s*:)\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"begin\": \":\\\\s*(?!\\\\s)\",\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\": \"#available-types\"\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\": \":\",\n\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.extra-colon-in-parameter-list.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"begin\": \"=\",\n\t\t\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.assignment.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"comment\": \"a parameter's default value\",\n\t\t\t\t\t\t\t\t\t\"end\": \"(?=[,)])\",\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\": \"#expressions\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"precedencegroup\": {\n\t\t\t\t\t\"begin\": \"\\\\b(precedencegroup)\\\\s+((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\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.type.precedencegroup.swift\"\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.precedencegroup.swift\"\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.identifier.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.identifier.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(?!\\\\G)\",\n\t\t\t\t\t\"name\": \"meta.definition.precedencegroup.swift\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"begin\": \"\\\\{\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.precedencegroup.begin.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"\\\\}\",\n\t\t\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.precedencegroup.end.swift\"\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\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#comments\"\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\"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\": \"storage.modifier.swift\"\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\": \"entity.other.inherited-class.swift\",\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\"include\": \"#types-precedencegroup\"\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.identifier.swift\"\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\": \"punctuation.definition.identifier.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"match\": \"\\\\b(higherThan|lowerThan)\\\\s*:\\\\s*((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\"\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\"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\": \"storage.modifier.swift\"\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\": \"keyword.other.operator.associativity.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"match\": \"\\\\b(associativity)\\\\b(?:\\\\s*:\\\\s*(right|left|none)\\\\b)?\"\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\"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\": \"storage.modifier.swift\"\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.language.boolean.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"match\": \"\\\\b(assignment)\\\\b(?:\\\\s*:\\\\s*(true|false)\\\\b)?\"\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\"protocol\": {\n\t\t\t\t\t\"begin\": \"\\\\b(protocol)\\\\s+((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\",\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.type.$1.swift\"\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.$1.swift\"\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.identifier.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.identifier.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(?<=\\\\})\",\n\t\t\t\t\t\"name\": \"meta.definition.type.protocol.swift\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#comments\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#inheritance-clause\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"SE-0142: Permit where clauses to constrain associated types\",\n\t\t\t\t\t\t\t\"include\": \"#generic-where-clause\"\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.definition.type.begin.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"\\\\}\",\n\t\t\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.type.end.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"meta.definition.type.body.swift\",\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\": \"#protocol-method\"\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\": \"#protocol-initializer\"\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\": \"#associated-type\"\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\": \"$self\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t\"repository\": {\n\t\t\t\t\t\t\"associated-type\": {\n\t\t\t\t\t\t\t\"begin\": \"\\\\b(associatedtype)\\\\s+((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"keyword.other.declaration-specifier.swift\"\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\": \"variable.language.associatedtype.swift\"\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\": \"punctuation.definition.identifier.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.identifier.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"(?!\\\\G)$|(?=[;}]|$)\",\n\t\t\t\t\t\t\t\"name\": \"meta.definition.associatedtype.swift\",\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\": \"#inheritance-clause\"\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\"comment\": \"SE-0142: Permit where clauses to constrain associated types\",\n\t\t\t\t\t\t\t\t\t\"include\": \"#generic-where-clause\"\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\": \"#typealias-assignment\"\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\"protocol-initializer\": {\n\t\t\t\t\t\t\t\"begin\": \"(?<!\\\\.)\\\\b(init[?!]*(?# only one is valid, but we want the in⇥ snippet to produce something that looks good))\\\\s*(?=\\\\(|<)\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"storage.type.function.swift\",\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\"match\": \"(?<=[?!])[?!]+\",\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.character-not-allowed-here.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"$|(?=;|//|/\\\\*|\\\\})\",\n\t\t\t\t\t\t\t\"name\": \"meta.definition.function.initializer.swift\",\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\": \"#comments\"\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\": \"#generic-parameter-clause\"\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\": \"#parameter-clause\"\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\": \"#async-throws\"\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\"comment\": \"Swift 3: generic constraints after the parameters and return type\",\n\t\t\t\t\t\t\t\t\t\"include\": \"#generic-where-clause\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"begin\": \"\\\\{\",\n\t\t\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.section.function.begin.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"end\": \"\\\\}\",\n\t\t\t\t\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.section.function.end.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.function-body-not-allowed-in-protocol.swift\",\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\": \"$self\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"protocol-method\": {\n\t\t\t\t\t\t\t\"begin\": \"(?x)\\n\\t\\t\\t\\t\\t\\t\\t\\t\\\\b\\n\\t\\t\\t\\t\\t\\t\\t\\t(func)\\n\\t\\t\\t\\t\\t\\t\\t\\t\\\\s+\\n\\t\\t\\t\\t\\t\\t\\t\\t(\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t(?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>)\\n\\t\\t \\t\\t\\t\\t\\t\\t | (?:\\n\\t\\t \\t\\t\\t\\t\\t\\t\\t\\t(\\n\\t\\t \\t\\t\\t\\t\\t\\t\\t\\t\\t(?<oph>\\t\\t\\t\\t\\t\\t\\t\\t# operator-head\\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 | [\\\\x{00A1}-\\\\x{00A7}]\\n\\t\\t \\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00A9}\\\\x{00AB}]\\n\\t\\t \\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00AC}\\\\x{00AE}]\\n\\t\\t \\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00B0}-\\\\x{00B1}\\\\x{00B6}\\\\x{00BB}\\\\x{00BF}\\\\x{00D7}\\\\x{00F7}]\\n\\t\\t \\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2016}-\\\\x{2017}\\\\x{2020}-\\\\x{2027}]\\n\\t\\t \\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2030}-\\\\x{203E}]\\n\\t\\t \\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2041}-\\\\x{2053}]\\n\\t\\t \\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2055}-\\\\x{205E}]\\n\\t\\t \\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2190}-\\\\x{23FF}]\\n\\t\\t \\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2500}-\\\\x{2775}]\\n\\t\\t \\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2794}-\\\\x{2BFF}]\\n\\t\\t \\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2E00}-\\\\x{2E7F}]\\n\\t\\t \\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{3001}-\\\\x{3003}]\\n\\t\\t \\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{3008}-\\\\x{3030}]\\n\\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\\t\\t\\\\g<oph>\\n\\t\\t \\t\\t\\t\\t\\t\\t\\t\\t\\t | (?<opc>\\t\\t\\t\\t\\t\\t\\t\\t# operator-character\\n\\t\\t \\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[\\\\x{0300}-\\\\x{036F}]\\n\\t\\t \\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{1DC0}-\\\\x{1DFF}]\\n\\t\\t \\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{20D0}-\\\\x{20FF}]\\n\\t\\t \\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{FE00}-\\\\x{FE0F}]\\n\\t\\t \\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{FE20}-\\\\x{FE2F}]\\n\\t\\t \\t\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{E0100}-\\\\x{E01EF}]\\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 | ( \\\\. ( \\\\g<oph> | \\\\g<opc> | \\\\. )+ )\\t\\t\\t# Dot operators\\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\\\\s*\\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\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"storage.type.function.swift\"\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.function.swift\"\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\": \"punctuation.definition.identifier.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.identifier.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"$|(?=;|//|/\\\\*|\\\\})\",\n\t\t\t\t\t\t\t\"name\": \"meta.definition.function.swift\",\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\": \"#comments\"\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\": \"#generic-parameter-clause\"\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\": \"#parameter-clause\"\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\": \"#function-result\"\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\": \"#async-throws\"\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\"comment\": \"Swift 3: generic constraints after the parameters and return type\",\n\t\t\t\t\t\t\t\t\t\"include\": \"#generic-where-clause\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"begin\": \"\\\\{\",\n\t\t\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.section.function.begin.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"end\": \"\\\\}\",\n\t\t\t\t\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.section.function.end.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.function-body-not-allowed-in-protocol.swift\",\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\": \"$self\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"type\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"begin\": \"\\\\b(class(?!\\\\s+(?:func|var|let)\\\\b)|struct|actor)\\\\s+((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"storage.type.$1.swift\"\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.$1.swift\"\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\": \"punctuation.definition.identifier.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.identifier.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"(?<=\\\\})\",\n\t\t\t\t\t\t\t\"name\": \"meta.definition.type.$1.swift\",\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\": \"#comments\"\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\": \"#generic-parameter-clause\"\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\"comment\": \"Swift 3: generic constraints after the generic param list\",\n\t\t\t\t\t\t\t\t\t\"include\": \"#generic-where-clause\"\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\": \"#inheritance-clause\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"begin\": \"\\\\{\",\n\t\t\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.type.begin.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"end\": \"\\\\}\",\n\t\t\t\t\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.type.end.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"meta.definition.type.body.swift\",\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\": \"$self\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#type-enum\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"type-enum\": {\n\t\t\t\t\t\"begin\": \"\\\\b(enum)\\\\s+((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\",\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.type.$1.swift\"\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.$1.swift\"\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.identifier.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.identifier.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(?<=\\\\})\",\n\t\t\t\t\t\"name\": \"meta.definition.type.$1.swift\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#comments\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#generic-parameter-clause\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"Swift 3: generic constraints after the generic param list\",\n\t\t\t\t\t\t\t\"include\": \"#generic-where-clause\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#inheritance-clause\"\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.definition.type.begin.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"\\\\}\",\n\t\t\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.type.end.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"meta.definition.type.body.swift\",\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\": \"#enum-case-clause\"\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\": \"$self\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t\"repository\": {\n\t\t\t\t\t\t\"associated-values\": {\n\t\t\t\t\t\t\t\"begin\": \"\\\\G\\\\(\",\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.parameters.begin.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"\\\\)\",\n\t\t\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.parameters.end.swift\"\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\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#comments\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"begin\": \"(?x)\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(?:(_)|((?<q1>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*\\\\k<q1>))\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\\\s+\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(((?<q2>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*\\\\k<q2>))\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\\\s*(:)\",\n\t\t\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"entity.name.function.swift\"\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\": \"invalid.illegal.distinct-labels-not-allowed.swift\"\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\": \"variable.parameter.function.swift\"\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\": \"punctuation.separator.argument-label.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"end\": \"(?=[,)\\\\]])\",\n\t\t\t\t\t\t\t\t\t\"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\": \"#available-types\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"begin\": \"(((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*\\\\k<q>))\\\\s*(:)\",\n\t\t\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"entity.name.function.swift\"\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\": \"variable.parameter.function.swift\"\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\": \"punctuation.separator.argument-label.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"end\": \"(?=[,)\\\\]])\",\n\t\t\t\t\t\t\t\t\t\"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\": \"#available-types\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"begin\": \"(?![,)\\\\]])(?=\\\\S)\",\n\t\t\t\t\t\t\t\t\t\"comment\": \"an element without a label (i.e. anything else)\",\n\t\t\t\t\t\t\t\t\t\"end\": \"(?=[,)\\\\]])\",\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\": \"#available-types\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"match\": \":\",\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.extra-colon-in-parameter-list.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"enum-case\": {\n\t\t\t\t\t\t\t\"begin\": \"(?x)((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"constant.other.swift\"\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\": \"#comments\"\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\": \"#associated-values\"\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\": \"#raw-value-assignment\"\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\"enum-case-clause\": {\n\t\t\t\t\t\t\t\"begin\": \"\\\\b(case)\\\\b\\\\s*\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"storage.type.enum.case.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"(?=[;}])|(?!\\\\G)(?!//|/\\\\*)(?=[^\\\\s,])\",\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\": \"#comments\"\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\": \"#enum-case\"\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\": \"#more-cases\"\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\"more-cases\": {\n\t\t\t\t\t\t\t\"begin\": \",\\\\s*\",\n\t\t\t\t\t\t\t\"end\": \"(?!\\\\G)(?!//|/\\\\*)(?=[;}]|[^\\\\s,])\",\n\t\t\t\t\t\t\t\"name\": \"meta.enum-case.more-cases\",\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\": \"#comments\"\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\": \"#enum-case\"\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\": \"#more-cases\"\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\"raw-value-assignment\": {\n\t\t\t\t\t\t\t\"begin\": \"(=)\\\\s*\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.assignment.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"(?!\\\\G)\",\n\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#comments\"\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\": \"#literals\"\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\"type-identifier\": {\n\t\t\t\t\t\"begin\": \"((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\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\": \"meta.type-name.swift\",\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\": \"#builtin-types\"\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\"2\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.identifier.swift\"\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.identifier.swift\"\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\"begin\": \"(?=<)\",\n\t\t\t\t\t\t\t\"end\": \"(?!\\\\G)\",\n\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#generic-argument-clause\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"typealias\": {\n\t\t\t\t\t\"begin\": \"\\\\b(typealias)\\\\s+((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\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.declaration-specifier.swift\"\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.typealias.swift\"\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.identifier.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.identifier.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(?!\\\\G)$|(?=;|//|/\\\\*|$)\",\n\t\t\t\t\t\"name\": \"meta.definition.typealias.swift\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"begin\": \"\\\\G(?=<)\",\n\t\t\t\t\t\t\t\"end\": \"(?!\\\\G)\",\n\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#generic-parameter-clause\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#typealias-assignment\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"typealias-assignment\": {\n\t\t\t\t\t\"begin\": \"(=)\\\\s*\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.assignment.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"(?!\\\\G)$|(?=;|//|/\\\\*|$)\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#available-types\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"typed-variable-declaration\": {\n\t\t\t\t\t\"begin\": \"(?x)\\n\\t\\t\\t\\t\\t\\t\\\\b(?:(async)\\\\s+)?(let|var)\\\\b\\\\s+\\n\\t\\t\\t\\t\\t\\t(?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>)\\\\s*\\n\\t\\t\\t\\t\\t\\t:\\n\\t\\t\\t\\t\\t\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.control.async.swift\"\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.declaration-specifier.swift\"\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\": \"#available-types\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"types-precedencegroup\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"Precedence groups in the standard library\",\n\t\t\t\t\t\t\t\"match\": \"\\\\b(?:BitwiseShift|Assignment|RangeFormation|Casting|Addition|NilCoalescing|Comparison|LogicalConjunction|LogicalDisjunction|Default|Ternary|Multiplication|FunctionArrow)Precedence\\\\b\",\n\t\t\t\t\t\t\t\"name\": \"support.type.swift\"\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\"expressions\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#comments\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#code-block\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#attributes\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#closure-parameter\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#literals\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#operators\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#builtin-types\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#builtin-functions\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#builtin-global-functions\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#builtin-properties\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#compound-name\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#keywords\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#function-call-expression\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#subscript-expression\"\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\": \"#member-reference\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#availability-condition\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\b_\\\\b\",\n\t\t\t\t\t\"name\": \"support.variable.discard-value.swift\"\n\t\t\t\t}\n\t\t\t],\n\t\t\t\"repository\": {\n\t\t\t\t\"availability-condition\": {\n\t\t\t\t\t\"begin\": \"\\\\B(#(?:un)?available)(\\\\()\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"support.function.availability-condition.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.arguments.begin.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"\\\\)\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.arguments.end.swift\"\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\"captures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"keyword.other.platform.os.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"constant.numeric.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"match\": \"\\\\s*\\\\b((?:iOS|macOS|OSX|watchOS|tvOS|UIKitForMac)(?:ApplicationExtension)?)\\\\b(?:\\\\s+([0-9]+(?:\\\\.[0-9]+)*\\\\b))\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"keyword.other.platform.all.swift\"\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\": \"invalid.illegal.character-not-allowed-here.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"match\": \"(\\\\*)\\\\s*(.*?)(?=[,)])\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"[^\\\\s,)]+\",\n\t\t\t\t\t\t\t\"name\": \"invalid.illegal.character-not-allowed-here.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"closure-parameter\": {\n\t\t\t\t\t\"match\": \"\\\\$[0-9]+\",\n\t\t\t\t\t\"name\": \"variable.language.closure-parameter.swift\"\n\t\t\t\t},\n\t\t\t\t\"compound-name\": {\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.compound-name.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.entity.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.entity.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.entity.swift\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.entity.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"match\": \"(?<q>`?)(?!_:)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>):\",\n\t\t\t\t\t\t\t\t\t\"name\": \"entity.name.function.compound-name.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"comment\": \"a reference to a function with disambiguating argument labels, such as foo(_:), foo(bar:), etc.\",\n\t\t\t\t\t\"match\": \"(?x)\\n\\t\\t\\t\\t\\t\\t((?<q1>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q1>)) \\t\\t# function name\\n\\t\\t\\t\\t\\t\\t\\\\(\\n\\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((?<q2>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q2>)) \\t# argument label\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t:\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t# colon\\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\"expression-element-list\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#comments\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"begin\": \"((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*(:)\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"support.function.any-method.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.identifier.swift\"\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\": \"punctuation.definition.identifier.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.separator.argument-label.swift\"\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\"comment\": \"an element with a label\",\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\": \"#expressions\"\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\": \"(?![,)\\\\]])(?=\\\\S)\",\n\t\t\t\t\t\t\t\"comment\": \"an element without a label (i.e. anything else)\",\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\": \"#expressions\"\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\"function-call-expression\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"begin\": \"((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*(\\\\()\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"support.function.any-method.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.identifier.swift\"\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\": \"punctuation.definition.identifier.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.arguments.begin.swift\"\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\"comment\": \"foo(args) -- a call whose callee is a highlightable name\",\n\t\t\t\t\t\t\t\"end\": \"\\\\)\",\n\t\t\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.arguments.end.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"meta.function-call.swift\",\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\": \"#expression-element-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{\n\t\t\t\t\t\t\t\"begin\": \"(?<=[`\\\\])}>\\\\p{L}_\\\\p{N}\\\\p{M}])\\\\s*(\\\\()\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.arguments.begin.swift\"\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\"comment\": \"[Int](args) -- a call whose callee is a more complicated expression\",\n\t\t\t\t\t\t\t\"end\": \"\\\\)\",\n\t\t\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.arguments.end.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"meta.function-call.swift\",\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\": \"#expression-element-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]\n\t\t\t\t},\n\t\t\t\t\"member-reference\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"variable.other.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.identifier.swift\"\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\": \"punctuation.definition.identifier.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"match\": \"(?<=\\\\.)((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"parenthesized-expression\": {\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.section.tuple.begin.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"comment\": \"correctly matching closure expressions is too hard (depends on trailing \\\"in\\\") so we just tack on some basics to the end of parenthesized-expression\",\n\t\t\t\t\t\"end\": \"(\\\\))\\\\s*((?:\\\\b(?:async|throws|rethrows)\\\\s)*)\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.section.tuple.end.swift\"\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\"match\": \"\\\\brethrows\\\\b\",\n\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.rethrows-only-allowed-on-function-declarations.swift\"\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\": \"#async-throws\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#expression-element-list\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"subscript-expression\": {\n\t\t\t\t\t\"begin\": \"(?<=[`\\\\p{L}_\\\\p{N}\\\\p{M}])\\\\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.definition.arguments.begin.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"\\\\]\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.arguments.end.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"name\": \"meta.subscript-expression.swift\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"include\": \"#expression-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\"keywords\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?<!\\\\.)\\\\b(?:if|else|guard|where|switch|case|default|fallthrough)\\\\b\",\n\t\t\t\t\t\"name\": \"keyword.control.branch.swift\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?<!\\\\.)\\\\b(?:continue|break|fallthrough|return)\\\\b\",\n\t\t\t\t\t\"name\": \"keyword.control.transfer.swift\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?<!\\\\.)\\\\b(?:while|for|in)\\\\b\",\n\t\t\t\t\t\"name\": \"keyword.control.loop.swift\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.control.loop.swift\"\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.whitespace.trailing.repeat.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"comment\": \"extra scopes for repeat-while snippet\",\n\t\t\t\t\t\"match\": \"(?<!\\\\.)\\\\b(repeat)\\\\b(\\\\s*)\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?<!\\\\.)\\\\bdefer\\\\b\",\n\t\t\t\t\t\"name\": \"keyword.control.defer.swift\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"invalid.illegal.try-must-precede-await.swift\"\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.control.await.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"match\": \"(?<!\\\\.)\\\\b(?:(await\\\\s+try)|(await)\\\\b)\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?<!\\\\.)\\\\b(?:catch|throws?|rethrows|try)\\\\b|\\\\btry[?!]\\\\B\",\n\t\t\t\t\t\"name\": \"keyword.control.exception.swift\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.control.exception.swift\"\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.whitespace.trailing.do.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"comment\": \"extra scopes for do-catch snippet\",\n\t\t\t\t\t\"match\": \"(?<!\\\\.)\\\\b(do)\\\\b(\\\\s*)\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.control.async.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"storage.modifier.swift\"\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.other.declaration-specifier.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"match\": \"(?<!\\\\.)\\\\b(?:(?:(async)|(nonisolated))\\\\s+)?(let|var)\\\\b\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?<!\\\\.)\\\\b(?:associatedtype|operator|typealias)\\\\b\",\n\t\t\t\t\t\"name\": \"keyword.other.declaration-specifier.swift\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?<!\\\\.)\\\\b(class|enum|extension|precedencegroup|protocol|struct|actor)\\\\b\",\n\t\t\t\t\t\"name\": \"storage.type.$1.swift\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?<!\\\\.)\\\\b(?:inout|static|final|lazy|mutating|nonmutating|optional|indirect|required|override|dynamic|convenience|infix|prefix|postfix)\\\\b\",\n\t\t\t\t\t\"name\": \"storage.modifier.swift\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\binit[?!]|\\\\binit\\\\b|(?<!\\\\.)\\\\b(?:func|deinit|subscript|didSet|get|set|willSet)\\\\b\",\n\t\t\t\t\t\"name\": \"storage.type.function.swift\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?<!\\\\.)\\\\b(?:fileprivate|private|internal|public|open)\\\\b\",\n\t\t\t\t\t\"name\": \"keyword.other.declaration-specifier.accessibility.swift\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"comment\": \"matches weak, unowned, unowned(safe), unowned(unsafe)\",\n\t\t\t\t\t\"match\": \"(?<!\\\\.)\\\\bunowned\\\\((?:safe|unsafe)\\\\)|(?<!\\\\.)\\\\b(?:weak|unowned)\\\\b\",\n\t\t\t\t\t\"name\": \"keyword.other.capture-specifier.swift\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"keyword.operator.type.swift\"\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.type.metatype.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"match\": \"(?<=\\\\.)(?:(dynamicType|self)|(Protocol|Type))\\\\b\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?<!\\\\.)\\\\b(?:super|self|Self)\\\\b\",\n\t\t\t\t\t\"name\": \"variable.language.swift\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\B(?:#file|#filePath|#fileID|#line|#column|#function|#dsohandle)\\\\b|\\\\b(?:__FILE__|__LINE__|__COLUMN__|__FUNCTION__|__DSO_HANDLE__)\\\\b\",\n\t\t\t\t\t\"name\": \"support.variable.swift\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"(?<!\\\\.)\\\\bimport\\\\b\",\n\t\t\t\t\t\"name\": \"keyword.control.import.swift\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"literals\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#boolean\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#numeric\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#string\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\bnil\\\\b\",\n\t\t\t\t\t\"name\": \"constant.language.nil.swift\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"comment\": \"object \\\"literals\\\" used in playgrounds\",\n\t\t\t\t\t\"match\": \"\\\\B#(colorLiteral|imageLiteral|fileLiteral)\\\\b\",\n\t\t\t\t\t\"name\": \"support.function.object-literal.swift\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \"\\\\B#keyPath\\\\b\",\n\t\t\t\t\t\"name\": \"support.function.key-path.swift\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"\\\\B(#selector)(\\\\()(?:\\\\s*(getter|setter)\\\\s*(:))?\",\n\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\"name\": \"support.function.selector-reference.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"2\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.arguments.begin.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\t\"name\": \"support.variable.parameter.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"4\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.separator.argument-label.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"end\": \"\\\\)\",\n\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\"name\": \"punctuation.definition.arguments.end.swift\"\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\": \"#expressions\"\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\"repository\": {\n\t\t\t\t\"boolean\": {\n\t\t\t\t\t\"match\": \"\\\\b(true|false)\\\\b\",\n\t\t\t\t\t\"name\": \"constant.language.boolean.swift\"\n\t\t\t\t},\n\t\t\t\t\"numeric\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"0.1, -4_2.5, 6.022e23, 10E-5\",\n\t\t\t\t\t\t\t\"match\": \"(\\\\B\\\\-|\\\\b)(?<![\\\\[\\\\](){}\\\\p{L}_\\\\p{N}\\\\p{M}]\\\\.)[0-9][0-9_]*(?=\\\\.[0-9]|[eE])(?:\\\\.[0-9][0-9_]*)?(?:[eE][-+]?[0-9][0-9_]*)?\\\\b(?!\\\\.[0-9])\",\n\t\t\t\t\t\t\t\"name\": \"constant.numeric.float.decimal.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"-0x1.ap2_3, 0x31p-4\",\n\t\t\t\t\t\t\t\"match\": \"(\\\\B\\\\-|\\\\b)(?<![\\\\[\\\\](){}\\\\p{L}_\\\\p{N}\\\\p{M}]\\\\.)(0x[0-9a-fA-F][0-9a-fA-F_]*)(?:\\\\.[0-9a-fA-F][0-9a-fA-F_]*)?[pP][-+]?[0-9][0-9_]*\\\\b(?!\\\\.[0-9])\",\n\t\t\t\t\t\t\t\"name\": \"constant.numeric.float.hexadecimal.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"0x1p, 0x1p_2, 0x1.5pa, 0x1.1p+1f, 0x1pz\",\n\t\t\t\t\t\t\t\"match\": \"(\\\\B\\\\-|\\\\b)(?<![\\\\[\\\\](){}\\\\p{L}_\\\\p{N}\\\\p{M}]\\\\.)(0x[0-9a-fA-F][0-9a-fA-F_]*)(?:\\\\.[0-9a-fA-F][0-9a-fA-F_]*)?(?:[pP][-+]?\\\\w*)\\\\b(?!\\\\.[0-9])\",\n\t\t\t\t\t\t\t\"name\": \"invalid.illegal.numeric.float.invalid-exponent.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"0x1.5w (note that 0x1.f may be a valid expression)\",\n\t\t\t\t\t\t\t\"match\": \"(\\\\B\\\\-|\\\\b)(?<![\\\\[\\\\](){}\\\\p{L}_\\\\p{N}\\\\p{M}]\\\\.)(0x[0-9a-fA-F][0-9a-fA-F_]*)\\\\.[0-9][\\\\w.]*\",\n\t\t\t\t\t\t\t\"name\": \"invalid.illegal.numeric.float.missing-exponent.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"-.5, .2f (note that 1.-.5 may be a valid expression)\",\n\t\t\t\t\t\t\t\"match\": \"(?<=\\\\s|^)\\\\-?\\\\.[0-9][\\\\w.]*\",\n\t\t\t\t\t\t\t\"name\": \"invalid.illegal.numeric.float.missing-leading-zero.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"0b_0_1, 0x_1p+3q\",\n\t\t\t\t\t\t\t\"match\": \"(\\\\B\\\\-|\\\\b)0[box]_[0-9a-fA-F_]*(?:[pPeE][+-]?\\\\w+)?[\\\\w.]+\",\n\t\t\t\t\t\t\t\"name\": \"invalid.illegal.numeric.leading-underscore.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"tuple positional member: not really a numeric literal, but not invalid\",\n\t\t\t\t\t\t\t\"match\": \"(?<=[\\\\[\\\\](){}\\\\p{L}_\\\\p{N}\\\\p{M}]\\\\.)[0-9]+\\\\b\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"0b010, 0b1_0\",\n\t\t\t\t\t\t\t\"match\": \"(\\\\B\\\\-|\\\\b)(?<![\\\\[\\\\](){}\\\\p{L}_\\\\p{N}\\\\p{M}]\\\\.)0b[01][01_]*\\\\b(?!\\\\.[0-9])\",\n\t\t\t\t\t\t\t\"name\": \"constant.numeric.integer.binary.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"0o1, 0o7_3\",\n\t\t\t\t\t\t\t\"match\": \"(\\\\B\\\\-|\\\\b)(?<![\\\\[\\\\](){}\\\\p{L}_\\\\p{N}\\\\p{M}]\\\\.)0o[0-7][0-7_]*\\\\b(?!\\\\.[0-9])\",\n\t\t\t\t\t\t\t\"name\": \"constant.numeric.integer.octal.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"02, 3_456\",\n\t\t\t\t\t\t\t\"match\": \"(\\\\B\\\\-|\\\\b)(?<![\\\\[\\\\](){}\\\\p{L}_\\\\p{N}\\\\p{M}]\\\\.)[0-9][0-9_]*\\\\b(?!\\\\.[0-9])\",\n\t\t\t\t\t\t\t\"name\": \"constant.numeric.integer.decimal.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"comment\": \"0x4, 0xF_7\",\n\t\t\t\t\t\t\t\"match\": \"(\\\\B\\\\-|\\\\b)(?<![\\\\[\\\\](){}\\\\p{L}_\\\\p{N}\\\\p{M}]\\\\.)0x[0-9a-fA-F][0-9a-fA-F_]*\\\\b(?!\\\\.[0-9])\",\n\t\t\t\t\t\t\t\"name\": \"constant.numeric.integer.hexadecimal.swift\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"match\": \"(\\\\B\\\\-|\\\\b)[0-9][\\\\w.]*\",\n\t\t\t\t\t\t\t\"name\": \"invalid.illegal.numeric.other.swift\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"string\": {\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"begin\": \"\\\"\\\"\\\"\",\n\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.begin.swift\"\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\"comment\": \"SE-0168: Multi-Line String Literals\",\n\t\t\t\t\t\t\t\"end\": \"\\\"\\\"\\\"(#*)\",\n\t\t\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.end.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.extra-closing-delimiter.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"string.quoted.double.block.swift\",\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.+(?=\\\"\\\"\\\")|\\\\G.+\",\n\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.content-after-opening-delimiter.swift\"\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\": \"\\\\\\\\\\\\s*\\\\n\",\n\t\t\t\t\t\t\t\t\t\"name\": \"constant.character.escape.newline.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#string-guts\"\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\"comment\": \"Allow \\\\(\\\"\\\"\\\"...\\\"\\\"\\\") to appear inside a block string\",\n\t\t\t\t\t\t\t\t\t\"match\": \"\\\\S((?!\\\\\\\\\\\\().)*(?=\\\"\\\"\\\")\",\n\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.content-before-closing-delimiter.swift\"\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.definition.string.begin.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"\\\"\\\"\\\"#(#*)\",\n\t\t\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.end.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.extra-closing-delimiter.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"string.quoted.double.block.raw.swift\",\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.+(?=\\\"\\\"\\\")|\\\\G.+\",\n\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.content-after-opening-delimiter.swift\"\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\": \"\\\\\\\\#\\\\s*\\\\n\",\n\t\t\t\t\t\t\t\t\t\"name\": \"constant.character.escape.newline.swift\"\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\": \"#raw-string-guts\"\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\"comment\": \"Allow \\\\(\\\"\\\"\\\"...\\\"\\\"\\\") to appear inside a block string\",\n\t\t\t\t\t\t\t\t\t\"match\": \"\\\\S((?!\\\\\\\\#\\\\().)*(?=\\\"\\\"\\\")\",\n\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.content-before-closing-delimiter.swift\"\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.definition.string.begin.swift\"\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\": \"\\\"\\\"\\\"\\\\1(#*)\",\n\t\t\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.end.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.extra-closing-delimiter.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"string.quoted.double.block.raw.swift\",\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.+(?=\\\"\\\"\\\")|\\\\G.+\",\n\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.content-after-opening-delimiter.swift\"\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.definition.string.begin.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"end\": \"\\\"(#*)\",\n\t\t\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.end.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.extra-closing-delimiter.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"string.quoted.double.single-line.swift\",\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\": \"\\\\r|\\\\n\",\n\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.returns-not-allowed.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"include\": \"#string-guts\"\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.definition.string.begin.raw.swift\"\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\"comment\": \"SE-0168: raw string literals (more than one #, grammar limitations prevent us from supporting escapes)\",\n\t\t\t\t\t\t\t\"end\": \"\\\"\\\\1(#*)\",\n\t\t\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.end.raw.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.extra-closing-delimiter.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"string.quoted.double.single-line.raw.swift\",\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\": \"\\\\r|\\\\n\",\n\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.returns-not-allowed.swift\"\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.definition.string.begin.raw.swift\"\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\"comment\": \"SE-0168: raw string literals (one #, escapes supported)\",\n\t\t\t\t\t\t\t\"end\": \"\\\"#(#*)\",\n\t\t\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.definition.string.end.raw.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.extra-closing-delimiter.swift\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"name\": \"string.quoted.double.single-line.raw.swift\",\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\": \"\\\\r|\\\\n\",\n\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.returns-not-allowed.swift\"\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\": \"#raw-string-guts\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t],\n\t\t\t\t\t\"repository\": {\n\t\t\t\t\t\t\"raw-string-guts\": {\n\t\t\t\t\t\t\t\"comment\": \"the same as #string-guts but with # in escapes\",\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\": \"\\\\\\\\#[0\\\\\\\\tnr\\\"']\",\n\t\t\t\t\t\t\t\t\t\"name\": \"constant.character.escape.swift\"\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\": \"\\\\\\\\#u\\\\{[0-9a-fA-F]{1,8}\\\\}\",\n\t\t\t\t\t\t\t\t\t\"name\": \"constant.character.escape.unicode.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"begin\": \"\\\\\\\\#\\\\(\",\n\t\t\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.section.embedded.begin.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"contentName\": \"source.swift\",\n\t\t\t\t\t\t\t\t\t\"end\": \"(\\\\))\",\n\t\t\t\t\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.section.embedded.end.swift\"\n\t\t\t\t\t\t\t\t\t\t},\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\": \"source.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"meta.embedded.line.swift\",\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\": \"$self\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"begin\": \"\\\\(\",\n\t\t\t\t\t\t\t\t\t\t\t\"comment\": \"Nested parens\",\n\t\t\t\t\t\t\t\t\t\t\t\"end\": \"\\\\)\"\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\": \"\\\\\\\\#.\",\n\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.escape-not-recognized\"\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\"string-guts\": {\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\": \"\\\\\\\\[0\\\\\\\\tnr\\\"']\",\n\t\t\t\t\t\t\t\t\t\"name\": \"constant.character.escape.swift\"\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\": \"\\\\\\\\u\\\\{[0-9a-fA-F]{1,8}\\\\}\",\n\t\t\t\t\t\t\t\t\t\"name\": \"constant.character.escape.unicode.swift\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"begin\": \"\\\\\\\\\\\\(\",\n\t\t\t\t\t\t\t\t\t\"beginCaptures\": {\n\t\t\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.section.embedded.begin.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"contentName\": \"source.swift\",\n\t\t\t\t\t\t\t\t\t\"end\": \"(\\\\))\",\n\t\t\t\t\t\t\t\t\t\"endCaptures\": {\n\t\t\t\t\t\t\t\t\t\t\"0\": {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"punctuation.section.embedded.end.swift\"\n\t\t\t\t\t\t\t\t\t\t},\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\": \"source.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"name\": \"meta.embedded.line.swift\",\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\": \"$self\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"begin\": \"\\\\(\",\n\t\t\t\t\t\t\t\t\t\t\t\"comment\": \"Nested parens\",\n\t\t\t\t\t\t\t\t\t\t\t\"end\": \"\\\\)\"\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\": \"\\\\\\\\.\",\n\t\t\t\t\t\t\t\t\t\"name\": \"invalid.illegal.escape-not-recognized\"\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\"operators\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"comment\": \"Type casting\",\n\t\t\t\t\t\"match\": \"\\\\b(is\\\\b|as([!?]\\\\B|\\\\b))\",\n\t\t\t\t\t\"name\": \"keyword.operator.type-casting.swift\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"begin\": \"(?x)\\n\\t\\t\\t\\t\\t\\t(?=\\n\\t\\t\\t\\t\\t\\t\\t(?<oph>\\t\\t\\t\\t\\t\\t\\t\\t# operator-head\\n\\t\\t\\t\\t\\t\\t\\t\\t[/=\\\\-+!*%<>&|^~?]\\n\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00A1}-\\\\x{00A7}]\\n\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00A9}\\\\x{00AB}]\\n\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00AC}\\\\x{00AE}]\\n\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00B0}-\\\\x{00B1}\\\\x{00B6}\\\\x{00BB}\\\\x{00BF}\\\\x{00D7}\\\\x{00F7}]\\n\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2016}-\\\\x{2017}\\\\x{2020}-\\\\x{2027}]\\n\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2030}-\\\\x{203E}]\\n\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2041}-\\\\x{2053}]\\n\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2055}-\\\\x{205E}]\\n\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2190}-\\\\x{23FF}]\\n\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2500}-\\\\x{2775}]\\n\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2794}-\\\\x{2BFF}]\\n\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2E00}-\\\\x{2E7F}]\\n\\t\\t\\t\\t\\t\\t\\t | [\\\\x{3001}-\\\\x{3003}]\\n\\t\\t\\t\\t\\t\\t\\t | [\\\\x{3008}-\\\\x{3030}]\\n\\t\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t\\t | \\\\.\\n\\t\\t\\t\\t\\t\\t\\t(\\n\\t\\t\\t\\t\\t\\t\\t\\t\\\\g<oph>\\t\\t\\t\\t\\t\\t\\t# operator-head\\n\\t\\t\\t\\t\\t\\t\\t | \\\\.\\n\\t\\t\\t\\t\\t\\t\\t | [\\\\x{0300}-\\\\x{036F}]\\t\\t\\t\\t# operator-character\\n\\t\\t\\t\\t\\t\\t\\t | [\\\\x{1DC0}-\\\\x{1DFF}]\\n\\t\\t\\t\\t\\t\\t\\t | [\\\\x{20D0}-\\\\x{20FF}]\\n\\t\\t\\t\\t\\t\\t\\t | [\\\\x{FE00}-\\\\x{FE0F}]\\n\\t\\t\\t\\t\\t\\t\\t | [\\\\x{FE20}-\\\\x{FE2F}]\\n\\t\\t\\t\\t\\t\\t\\t | [\\\\x{E0100}-\\\\x{E01EF}]\\n\\t\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t\",\n\t\t\t\t\t\"comment\": \"This rule helps us speed up the matching.\",\n\t\t\t\t\t\"end\": \"(?!\\\\G)\",\n\t\t\t\t\t\"patterns\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"captures\": {\n\t\t\t\t\t\t\t\t\"0\": {\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\"match\": \"\\\\G(\\\\+\\\\+|\\\\-\\\\-)$\",\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.increment-or-decrement.swift\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"match\": \"\\\\G(\\\\+|\\\\-)$\",\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.arithmetic.unary.swift\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"match\": \"\\\\G!$\",\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.logical.not.swift\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"match\": \"\\\\G~$\",\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.bitwise.not.swift\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"match\": \".+\",\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.custom.prefix.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"comment\": \"Prefix unary operator\",\n\t\t\t\t\t\t\t\"match\": \"(?x)\\n\\t\\t\\t\\t\\t\\t\\t\\t\\\\G\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t# Matching from the beginning ensures\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t# that we start with operator-head\\n\\t\\t\\t\\t\\t\\t\\t\\t(?<=^|[\\\\s(\\\\[{,;:])\\n\\t\\t\\t\\t\\t\\t\\t\\t(\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t(?!(//|/\\\\*|\\\\*/))\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t(\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[/=\\\\-+!*%<>&|^~?]\\t\\t\\t\\t# operator-head\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00A1}-\\\\x{00A7}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00A9}\\\\x{00AB}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00AC}\\\\x{00AE}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00B0}-\\\\x{00B1}\\\\x{00B6}\\\\x{00BB}\\\\x{00BF}\\\\x{00D7}\\\\x{00F7}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2016}-\\\\x{2017}\\\\x{2020}-\\\\x{2027}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2030}-\\\\x{203E}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2041}-\\\\x{2053}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2055}-\\\\x{205E}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2190}-\\\\x{23FF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2500}-\\\\x{2775}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2794}-\\\\x{2BFF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2E00}-\\\\x{2E7F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{3001}-\\\\x{3003}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{3008}-\\\\x{3030}]\\n\\t\\t\\t\\t\\t\\t\\t\\t \\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{0300}-\\\\x{036F}]\\t\\t\\t\\t# operator-character\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{1DC0}-\\\\x{1DFF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{20D0}-\\\\x{20FF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{FE00}-\\\\x{FE0F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{FE20}-\\\\x{FE2F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{E0100}-\\\\x{E01EF}]\\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(?![\\\\s)\\\\]},;:]|\\\\z)\\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\"captures\": {\n\t\t\t\t\t\t\t\t\"0\": {\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\"match\": \"\\\\G(\\\\+\\\\+|\\\\-\\\\-)$\",\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.increment-or-decrement.swift\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"match\": \"\\\\G!$\",\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.increment-or-decrement.swift\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"match\": \".+\",\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.custom.postfix.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"comment\": \"Postfix unary operator\",\n\t\t\t\t\t\t\t\"match\": \"(?x)\\n\\t\\t\\t\\t\\t\\t\\t\\t\\\\G\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t# Matching from the beginning ensures\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t# that we start with operator-head\\n\\t\\t\\t\\t\\t\\t\\t\\t(?<!^|[\\\\s(\\\\[{,;:])\\n\\t\\t\\t\\t\\t\\t\\t\\t(\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t(?!(//|/\\\\*|\\\\*/))\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t(\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[/=\\\\-+!*%<>&|^~?]\\t\\t\\t\\t# operator-head\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00A1}-\\\\x{00A7}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00A9}\\\\x{00AB}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00AC}\\\\x{00AE}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00B0}-\\\\x{00B1}\\\\x{00B6}\\\\x{00BB}\\\\x{00BF}\\\\x{00D7}\\\\x{00F7}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2016}-\\\\x{2017}\\\\x{2020}-\\\\x{2027}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2030}-\\\\x{203E}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2041}-\\\\x{2053}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2055}-\\\\x{205E}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2190}-\\\\x{23FF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2500}-\\\\x{2775}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2794}-\\\\x{2BFF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2E00}-\\\\x{2E7F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{3001}-\\\\x{3003}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{3008}-\\\\x{3030}]\\n\\t\\t\\t\\t\\t\\t\\t\\t \\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{0300}-\\\\x{036F}]\\t\\t\\t\\t# operator-character\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{1DC0}-\\\\x{1DFF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{20D0}-\\\\x{20FF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{FE00}-\\\\x{FE0F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{FE20}-\\\\x{FE2F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{E0100}-\\\\x{E01EF}]\\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(?=[\\\\s)\\\\]},;:]|\\\\z)\\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\"captures\": {\n\t\t\t\t\t\t\t\t\"0\": {\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\"match\": \"\\\\G=$\",\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.assignment.swift\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"match\": \"\\\\G(\\\\+|\\\\-|\\\\*|/|%|<<|>>|&|\\\\^|\\\\||&&|\\\\|\\\\|)=$\",\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.assignment.compound.swift\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"match\": \"\\\\G(\\\\+|\\\\-|\\\\*|/)$\",\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.arithmetic.swift\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"match\": \"\\\\G&(\\\\+|\\\\-|\\\\*)$\",\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.arithmetic.overflow.swift\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"match\": \"\\\\G%$\",\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.arithmetic.remainder.swift\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"match\": \"\\\\G(==|!=|>|<|>=|<=|~=)$\",\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.comparison.swift\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"match\": \"\\\\G\\\\?\\\\?$\",\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.coalescing.swift\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"match\": \"\\\\G(&&|\\\\|\\\\|)$\",\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.logical.swift\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"match\": \"\\\\G(&|\\\\||\\\\^|<<|>>)$\",\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.bitwise.swift\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"match\": \"\\\\G(===|!==)$\",\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.bitwise.swift\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"match\": \"\\\\G\\\\?$\",\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.ternary.swift\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"match\": \".+\",\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.custom.infix.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"comment\": \"Infix operator\",\n\t\t\t\t\t\t\t\"match\": \"(?x)\\n\\t\\t\\t\\t\\t\\t\\t\\t\\\\G\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t# Matching from the beginning ensures\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t# that we start with operator-head\\n\\t\\t\\t\\t\\t\\t\\t\\t(\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t(?!(//|/\\\\*|\\\\*/))\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t(\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t[/=\\\\-+!*%<>&|^~?]\\t\\t\\t\\t# operator-head\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00A1}-\\\\x{00A7}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00A9}\\\\x{00AB}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00AC}\\\\x{00AE}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00B0}-\\\\x{00B1}\\\\x{00B6}\\\\x{00BB}\\\\x{00BF}\\\\x{00D7}\\\\x{00F7}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2016}-\\\\x{2017}\\\\x{2020}-\\\\x{2027}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2030}-\\\\x{203E}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2041}-\\\\x{2053}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2055}-\\\\x{205E}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2190}-\\\\x{23FF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2500}-\\\\x{2775}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2794}-\\\\x{2BFF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2E00}-\\\\x{2E7F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{3001}-\\\\x{3003}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{3008}-\\\\x{3030}]\\n\\t\\t\\t\\t\\t\\t\\t\\t \\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{0300}-\\\\x{036F}]\\t\\t\\t\\t# operator-character\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{1DC0}-\\\\x{1DFF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{20D0}-\\\\x{20FF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{FE00}-\\\\x{FE0F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{FE20}-\\\\x{FE2F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{E0100}-\\\\x{E01EF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t\\t\\t\\t)++\\n\\t\\t\\t\\t\\t\\t\\t\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\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\"patterns\": [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"match\": \".+\",\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.custom.prefix.dot.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"comment\": \"Dot prefix unary operator\",\n\t\t\t\t\t\t\t\"match\": \"(?x)\\n\\t\\t\\t\\t\\t\\t\\t\\t\\\\G\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t# Matching from the beginning ensures\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t# that we start with operator-head\\n\\t\\t\\t\\t\\t\\t\\t\\t(?<=^|[\\\\s(\\\\[{,;:])\\n\\t\\t\\t\\t\\t\\t\\t\\t\\\\.\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t# dot\\n\\t\\t\\t\\t\\t\\t\\t\\t(\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t(?!(//|/\\\\*|\\\\*/))\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t(\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\\\.\\t\\t\\t\\t\\t\\t\\t\\t# dot\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [/=\\\\-+!*%<>&|^~?]\\t\\t\\t\\t# operator-head\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00A1}-\\\\x{00A7}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00A9}\\\\x{00AB}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00AC}\\\\x{00AE}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00B0}-\\\\x{00B1}\\\\x{00B6}\\\\x{00BB}\\\\x{00BF}\\\\x{00D7}\\\\x{00F7}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2016}-\\\\x{2017}\\\\x{2020}-\\\\x{2027}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2030}-\\\\x{203E}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2041}-\\\\x{2053}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2055}-\\\\x{205E}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2190}-\\\\x{23FF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2500}-\\\\x{2775}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2794}-\\\\x{2BFF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2E00}-\\\\x{2E7F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{3001}-\\\\x{3003}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{3008}-\\\\x{3030}]\\n\\t\\t\\t\\t\\t\\t\\t\\t \\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{0300}-\\\\x{036F}]\\t\\t\\t\\t# operator-character\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{1DC0}-\\\\x{1DFF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{20D0}-\\\\x{20FF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{FE00}-\\\\x{FE0F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{FE20}-\\\\x{FE2F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{E0100}-\\\\x{E01EF}]\\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(?![\\\\s)\\\\]},;:]|\\\\z)\\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\"captures\": {\n\t\t\t\t\t\t\t\t\"0\": {\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\"match\": \".+\",\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.custom.postfix.dot.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"comment\": \"Dot postfix unary operator\",\n\t\t\t\t\t\t\t\"match\": \"(?x)\\n\\t\\t\\t\\t\\t\\t\\t\\t\\\\G\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t# Matching from the beginning ensures\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t# that we start with operator-head\\n\\t\\t\\t\\t\\t\\t\\t\\t(?<!^|[\\\\s(\\\\[{,;:])\\n\\t\\t\\t\\t\\t\\t\\t\\t\\\\.\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t# dot\\n\\t\\t\\t\\t\\t\\t\\t\\t(\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t(?!(//|/\\\\*|\\\\*/))\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t(\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\\\.\\t\\t\\t\\t\\t\\t\\t\\t# dot\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [/=\\\\-+!*%<>&|^~?]\\t\\t\\t\\t# operator-head\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00A1}-\\\\x{00A7}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00A9}\\\\x{00AB}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00AC}\\\\x{00AE}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00B0}-\\\\x{00B1}\\\\x{00B6}\\\\x{00BB}\\\\x{00BF}\\\\x{00D7}\\\\x{00F7}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2016}-\\\\x{2017}\\\\x{2020}-\\\\x{2027}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2030}-\\\\x{203E}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2041}-\\\\x{2053}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2055}-\\\\x{205E}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2190}-\\\\x{23FF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2500}-\\\\x{2775}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2794}-\\\\x{2BFF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2E00}-\\\\x{2E7F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{3001}-\\\\x{3003}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{3008}-\\\\x{3030}]\\n\\t\\t\\t\\t\\t\\t\\t\\t \\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{0300}-\\\\x{036F}]\\t\\t\\t\\t# operator-character\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{1DC0}-\\\\x{1DFF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{20D0}-\\\\x{20FF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{FE00}-\\\\x{FE0F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{FE20}-\\\\x{FE2F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{E0100}-\\\\x{E01EF}]\\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(?=[\\\\s)\\\\]},;:]|\\\\z)\\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\"captures\": {\n\t\t\t\t\t\t\t\t\"0\": {\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\"match\": \"\\\\G\\\\.\\\\.[.<]$\",\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.range.swift\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"match\": \".+\",\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"keyword.operator.custom.infix.dot.swift\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"comment\": \"Dot infix operator\",\n\t\t\t\t\t\t\t\"match\": \"(?x)\\n\\t\\t\\t\\t\\t\\t\\t\\t\\\\G\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t# Matching from the beginning ensures\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t# that we start with operator-head\\n\\t\\t\\t\\t\\t\\t\\t\\t\\\\.\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t# dot\\n\\t\\t\\t\\t\\t\\t\\t\\t(\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t(?!(//|/\\\\*|\\\\*/))\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t(\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\\\.\\t\\t\\t\\t\\t\\t\\t\\t# dot\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [/=\\\\-+!*%<>&|^~?]\\t\\t\\t\\t# operator-head\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00A1}-\\\\x{00A7}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00A9}\\\\x{00AB}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00AC}\\\\x{00AE}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{00B0}-\\\\x{00B1}\\\\x{00B6}\\\\x{00BB}\\\\x{00BF}\\\\x{00D7}\\\\x{00F7}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2016}-\\\\x{2017}\\\\x{2020}-\\\\x{2027}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2030}-\\\\x{203E}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2041}-\\\\x{2053}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2055}-\\\\x{205E}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2190}-\\\\x{23FF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2500}-\\\\x{2775}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2794}-\\\\x{2BFF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{2E00}-\\\\x{2E7F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{3001}-\\\\x{3003}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{3008}-\\\\x{3030}]\\n\\t\\t\\t\\t\\t\\t\\t\\t \\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{0300}-\\\\x{036F}]\\t\\t\\t\\t# operator-character\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{1DC0}-\\\\x{1DFF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{20D0}-\\\\x{20FF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{FE00}-\\\\x{FE0F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{FE20}-\\\\x{FE2F}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t | [\\\\x{E0100}-\\\\x{E01EF}]\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t\\t\\t\\t)++\\n\\t\\t\\t\\t\\t\\t\\t\"\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"match\": \":\",\n\t\t\t\t\t\"name\": \"keyword.operator.ternary.swift\"\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t\"root\": {\n\t\t\t\"patterns\": [\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#compiler-control\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#declarations\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"include\": \"#expressions\"\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t}\n}";
2
+ export { swift_tmLanguage as default };
package/dist/swift2.js ADDED
@@ -0,0 +1,2 @@
1
+ var swift = "{\n\t\"print\": {\n\t\t\"prefix\": \"print\",\n\t\t\"body\": \"print(\\\"$1\\\")\\n$0\",\n\t\t\"description\": \"print(\\\"...\\\")\"\n\t},\n\t\"print value\": {\n\t\t\"prefix\": \"printv\",\n\t\t\"body\": \"print(\\\"\\\\($1)\\\")\\n$0\",\n\t\t\"description\": \"print(\\\"\\\\(...)\\\")\"\n\t},\n\t\"while\": {\n\t\t\"prefix\": \"while\",\n\t\t\"body\": [\n\t\t\t\"while ${1:condition} {\",\n\t\t\t\"\\t$0\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"while statement\"\n\t},\n\t\"repeat-while\": {\n\t\t\"prefix\": \"repeat\",\n\t\t\"body\": [\n\t\t\t\"repeat {\",\n\t\t\t\"\\t$0\",\n\t\t\t\"} while ${1:condition}\"\n\t\t],\n\t\t\"description\": \"repeat-while statement\"\n\t},\n\t\"for\": {\n\t\t\"prefix\": \"for\",\n\t\t\"body\": [\n\t\t\t\"for ${1:item} in ${2:collection} {\",\n\t\t\t\"\\t$0\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"for-in statement\"\n\t},\n\t\"if\": {\n\t\t\"prefix\": \"if\",\n\t\t\"body\": [\n\t\t\t\"if ${1:condition} {\",\n\t\t\t\"\\t$0\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"if statement\"\n\t},\n\t\"else if\": {\n\t\t\"prefix\": \"elif\",\n\t\t\"body\": [\n\t\t\t\"else if ${1:condition} {\",\n\t\t\t\"\\t$0\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"else clause with a nested if statement\"\n\t},\n\t\"else\": {\n\t\t\"prefix\": \"else\",\n\t\t\"body\": [\n\t\t\t\"else {\",\n\t\t\t\"\\t$0\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"else clause\"\n\t},\n\t\"if let\": {\n\t\t\"prefix\": \"iflet\",\n\t\t\"body\": [\n\t\t\t\"if let ${1:value} = ${2:optional} {\",\n\t\t\t\"\\t$0\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"if statement with optional binding\"\n\t},\n\t\"guard\": {\n\t\t\"prefix\": \"guard\",\n\t\t\"body\": [\n\t\t\t\"guard ${1:condition} else {\",\n\t\t\t\"\\t$0\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"guard statement\"\n\t},\n\t\"guard let\": {\n\t\t\"prefix\": \"guardlet\",\n\t\t\"body\": [\n\t\t\t\"guard let ${1:value} = ${2:optional} else {\",\n\t\t\t\"\\t$0\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"guard statement with optional binding\"\n\t},\n\t\"switch\": {\n\t\t\"prefix\": \"switch\",\n\t\t\"body\": [\n\t\t\t\"switch ${1:value} {\",\n\t\t\t\"case ${2:pattern}:\",\n\t\t\t\"\\t$0\",\n\t\t\t\"default:\",\n\t\t\t\"\\t\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"switch statement\"\n\t},\n\t\"do\": {\n\t\t\"prefix\": \"do\",\n\t\t\"body\": [\n\t\t\t\"do {\",\n\t\t\t\"\\t$0\",\n\t\t\t\"} catch ${1:error} {\",\n\t\t\t\"\\t$2\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"do statement\"\n\t},\n\t\"func\": {\n\t\t\"prefix\": \"func\",\n\t\t\"body\": [\n\t\t\t\"func ${1:name}(${2:parameters}) -> ${3:Type} {\",\n\t\t\t\"\\t$0\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"function declaration\"\n\t},\n\t\"struct\": {\n\t\t\"prefix\": \"struct\",\n\t\t\"body\": [\n\t\t\t\"struct ${1:Name} {\",\n\t\t\t\"\",\n\t\t\t\"\\t$0\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"struct declaration\"\n\t},\n\t\"enum\": {\n\t\t\"prefix\": \"enum\",\n\t\t\"body\": [\n\t\t\t\"enum ${1:Name} {\",\n\t\t\t\"\",\n\t\t\t\"\\tcase $0\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"enum declaration\"\n\t},\n\t\"class\": {\n\t\t\"prefix\": \"class\",\n\t\t\"body\": [\n\t\t\t\"class ${1:Name} {\",\n\t\t\t\"\",\n\t\t\t\"\\t$0\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"class declaration\"\n\t},\n\t\"protocol\": {\n\t\t\"prefix\": \"protocol\",\n\t\t\"body\": [\n\t\t\t\"protocol ${1:Name} {\",\n\t\t\t\"\",\n\t\t\t\"\\t$0\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"protocol declaration\"\n\t},\n\t\"extension\": {\n\t\t\"prefix\": \"extension\",\n\t\t\"body\": [\n\t\t\t\"extension ${1:Type} {\",\n\t\t\t\"\",\n\t\t\t\"\\t$0\",\n\t\t\t\"}\"\n\t\t],\n\t\t\"description\": \"extension declaration\"\n\t}\n}\n";
2
+ export { swift as default };
@@ -0,0 +1,2 @@
1
+ var tagsLanguageConfiguration = "{\n\t\"comments\": {\n\t\t\"blockComment\": [\n\t\t\t\"{/*\",\n\t\t\t\"*/}\"\n\t\t]\n\t},\n\t\"brackets\": [\n\t\t[\n\t\t\t\"{\",\n\t\t\t\"}\"\n\t\t],\n\t\t[\n\t\t\t\"[\",\n\t\t\t\"]\"\n\t\t],\n\t\t[\n\t\t\t\"(\",\n\t\t\t\")\"\n\t\t],\n\t\t[\n\t\t\t\"<\",\n\t\t\t\">\"\n\t\t]\n\t],\n\t\"colorizedBracketPairs\": [\n\t\t[\n\t\t\t\"{\",\n\t\t\t\"}\"\n\t\t],\n\t\t[\n\t\t\t\"[\",\n\t\t\t\"]\"\n\t\t],\n\t\t[\n\t\t\t\"(\",\n\t\t\t\")\"\n\t\t]\n\t],\n\t\"autoClosingPairs\": [\n\t\t{\n\t\t\t\"open\": \"{\",\n\t\t\t\"close\": \"}\"\n\t\t},\n\t\t{\n\t\t\t\"open\": \"[\",\n\t\t\t\"close\": \"]\"\n\t\t},\n\t\t{\n\t\t\t\"open\": \"(\",\n\t\t\t\"close\": \")\"\n\t\t},\n\t\t{\n\t\t\t\"open\": \"'\",\n\t\t\t\"close\": \"'\",\n\t\t\t\"notIn\": [\n\t\t\t\t\"string\",\n\t\t\t\t\"comment\"\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\"open\": \"\\\"\",\n\t\t\t\"close\": \"\\\"\",\n\t\t\t\"notIn\": [\n\t\t\t\t\"string\"\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\"open\": \"/**\",\n\t\t\t\"close\": \" */\",\n\t\t\t\"notIn\": [\n\t\t\t\t\"string\"\n\t\t\t]\n\t\t}\n\t],\n\t\"surroundingPairs\": [\n\t\t[\n\t\t\t\"{\",\n\t\t\t\"}\"\n\t\t],\n\t\t[\n\t\t\t\"[\",\n\t\t\t\"]\"\n\t\t],\n\t\t[\n\t\t\t\"(\",\n\t\t\t\")\"\n\t\t],\n\t\t[\n\t\t\t\"<\",\n\t\t\t\">\"\n\t\t],\n\t\t[\n\t\t\t\"'\",\n\t\t\t\"'\"\n\t\t],\n\t\t[\n\t\t\t\"\\\"\",\n\t\t\t\"\\\"\"\n\t\t]\n\t],\n\t\"wordPattern\": {\n\t\t\"pattern\": \"(-?\\\\d*\\\\.\\\\d\\\\w*)|([^\\\\`\\\\~\\\\!\\\\@\\\\$\\\\^\\\\&\\\\*\\\\(\\\\)\\\\=\\\\+\\\\[\\\\{\\\\]\\\\}\\\\\\\\\\\\|\\\\;\\\\:'\\\"\\\\,\\\\.\\\\<\\\\>\\\\/\\\\s]+)\"\n\t},\n\t\"onEnterRules\": [\n\t\t{\n\t\t\t\"beforeText\": {\n\t\t\t\t\"pattern\": \"<(?!(?:area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr))([_:\\\\w][_:\\\\w\\\\-.\\\\d]*)([^/>]*(?!/)>)[^<]*$\",\n\t\t\t\t\"flags\": \"i\"\n\t\t\t},\n\t\t\t\"afterText\": {\n\t\t\t\t\"pattern\": \"^<\\\\/([_:\\\\w][_:\\\\w-.\\\\d]*)\\\\s*>$\",\n\t\t\t\t\"flags\": \"i\"\n\t\t\t},\n\t\t\t\"action\": {\n\t\t\t\t\"indent\": \"indentOutdent\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"beforeText\": {\n\t\t\t\t\"pattern\": \"<(?!(?:area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr))([_:\\\\w][_:\\\\w\\\\-.\\\\d]*)([^/>]*(?!/)>)[^<]*$\",\n\t\t\t\t\"flags\": \"i\"\n\t\t\t},\n\t\t\t\"action\": {\n\t\t\t\t\"indent\": \"indent\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t// `beforeText` only applies to tokens of a given language. Since we are dealing with jsx-tags,\n\t\t\t// make sure we apply to the closing `>` of a tag so that mixed language spans\n\t\t\t// such as `<div onclick={1}>` are handled properly.\n\t\t\t\"beforeText\": {\n\t\t\t\t\"pattern\": \"^>$\"\n\t\t\t},\n\t\t\t\"afterText\": {\n\t\t\t\t\"pattern\": \"^<\\\\/([_:\\\\w][_:\\\\w-.\\\\d]*)\\\\s*>$\",\n\t\t\t\t\"flags\": \"i\"\n\t\t\t},\n\t\t\t\"action\": {\n\t\t\t\t\"indent\": \"indentOutdent\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"beforeText\": {\n\t\t\t\t\"pattern\": \"^>$\"\n\t\t\t},\n\t\t\t\"action\": {\n\t\t\t\t\"indent\": \"indent\"\n\t\t\t}\n\t\t}\n\t],\n}\n";
2
+ export { tagsLanguageConfiguration as default };