@enjoys/context-engine 1.4.1 → 1.4.2

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 (424) hide show
  1. package/data/codeLens/awk.json +1 -1
  2. package/data/codeLens/azcli.json +10 -10
  3. package/data/codeLens/c.json +1 -1
  4. package/data/codeLens/caddy.json +1 -1
  5. package/data/codeLens/crontab.json +1 -1
  6. package/data/codeLens/doctest.json +10 -10
  7. package/data/codeLens/hcl.json +1 -1
  8. package/data/codeLens/html.json +1 -1
  9. package/data/codeLens/lua.json +1 -1
  10. package/data/codeLens/nginx.json +1 -1
  11. package/data/codeLens/pla.json +10 -10
  12. package/data/codeLens/xml.json +1 -1
  13. package/data/commands/angular.json +670 -312
  14. package/data/commands/c.json +30 -30
  15. package/data/commands/cpp.json +30 -30
  16. package/data/commands/crontab.json +25 -30
  17. package/data/commands/cypher.json +26 -30
  18. package/data/commands/dockerfile.json +26 -2
  19. package/data/commands/doctest.json +23 -24
  20. package/data/commands/dotenv.json +24 -11
  21. package/data/commands/ecl.json +26 -30
  22. package/data/commands/flow9.json +24 -24
  23. package/data/commands/freemarker2.json +24 -18
  24. package/data/commands/graphql.json +25 -11
  25. package/data/commands/html.json +25 -11
  26. package/data/commands/ini.json +26 -12
  27. package/data/commands/javascript.json +29 -30
  28. package/data/commands/less.json +25 -29
  29. package/data/commands/lexon.json +23 -11
  30. package/data/commands/liquid.json +26 -11
  31. package/data/commands/m3.json +26 -12
  32. package/data/commands/manifest.json +35 -731
  33. package/data/commands/markdown.json +26 -12
  34. package/data/commands/mdx.json +23 -10
  35. package/data/commands/mips.json +26 -18
  36. package/data/commands/msdax.json +23 -11
  37. package/data/commands/nestjs.json +516 -273
  38. package/data/commands/nextjs.json +250 -123
  39. package/data/commands/objective-c.json +26 -24
  40. package/data/commands/pascal.json +27 -24
  41. package/data/commands/pascaligo.json +26 -24
  42. package/data/commands/perl.json +30 -30
  43. package/data/commands/pla.json +23 -11
  44. package/data/commands/postiats.json +26 -24
  45. package/data/commands/powerquery.json +23 -11
  46. package/data/commands/powershell.json +28 -30
  47. package/data/commands/protobuf.json +27 -30
  48. package/data/commands/qsharp.json +26 -30
  49. package/data/commands/razor.json +25 -29
  50. package/data/commands/react.json +244 -210
  51. package/data/commands/redshift.json +27 -18
  52. package/data/commands/restructuredtext.json +29 -30
  53. package/data/commands/sb.json +23 -11
  54. package/data/commands/scheme.json +25 -18
  55. package/data/commands/scss.json +26 -29
  56. package/data/commands/shadcn.json +564 -410
  57. package/data/commands/sol.json +27 -30
  58. package/data/commands/sparql.json +25 -11
  59. package/data/commands/sql.json +16 -2
  60. package/data/commands/ssh_config.json +31 -30
  61. package/data/commands/st.json +23 -11
  62. package/data/commands/systemverilog.json +26 -24
  63. package/data/commands/tailwindcss.json +60 -53
  64. package/data/commands/tcl.json +23 -18
  65. package/data/commands/toml.json +25 -11
  66. package/data/commands/twig.json +23 -10
  67. package/data/commands/vb.json +27 -24
  68. package/data/commands/wgsl.json +24 -11
  69. package/data/commands/yaml.json +29 -30
  70. package/data/completion/awk.json +906 -202
  71. package/data/completion/azcli.json +886 -237
  72. package/data/completion/bicep.json +862 -367
  73. package/data/completion/crontab.json +906 -202
  74. package/data/completion/dotenv.json +895 -169
  75. package/data/completion/graphql.json +895 -180
  76. package/data/completion/hcl.json +906 -191
  77. package/data/completion/ini.json +906 -136
  78. package/data/completion/json.json +895 -169
  79. package/data/completion/lexon.json +856 -295
  80. package/data/completion/makefile.json +906 -202
  81. package/data/completion/markdown.json +906 -224
  82. package/data/completion/mdx.json +895 -87
  83. package/data/completion/mips.json +872 -377
  84. package/data/completion/perl.json +961 -202
  85. package/data/completion/pla.json +895 -154
  86. package/data/completion/powershell.json +906 -224
  87. package/data/completion/protobuf.json +884 -180
  88. package/data/completion/ssh_config.json +906 -158
  89. package/data/completion/xml.json +906 -158
  90. package/data/definition/abap.json +127 -1
  91. package/data/definition/apex.json +97 -1
  92. package/data/definition/coffee.json +51 -1
  93. package/data/definition/dart.json +105 -1
  94. package/data/definition/elixir.json +115 -1
  95. package/data/definition/flow9.json +208 -1
  96. package/data/definition/freemarker2.json +283 -1
  97. package/data/definition/html.json +853 -558
  98. package/data/definition/java.json +1127 -183
  99. package/data/definition/kotlin.json +72 -1
  100. package/data/definition/r.json +692 -83
  101. package/data/definition/ruby.json +789 -669
  102. package/data/definition/rust.json +852 -206
  103. package/data/definition/sb.json +339 -1
  104. package/data/definition/st.json +367 -1
  105. package/data/documentRangeFormatting/nestjs.json +57 -17
  106. package/data/documentRangeFormatting/nextjs.json +57 -17
  107. package/data/documentRangeFormatting/react.json +82 -78
  108. package/data/documentSymbol/abap.json +54 -12
  109. package/data/documentSymbol/apex.json +40 -10
  110. package/data/documentSymbol/awk.json +15 -1
  111. package/data/documentSymbol/bicep.json +39 -39
  112. package/data/documentSymbol/c.json +1 -1
  113. package/data/documentSymbol/clojure.json +46 -46
  114. package/data/documentSymbol/css.json +96 -96
  115. package/data/documentSymbol/dart.json +109 -19
  116. package/data/documentSymbol/dockerfile.json +1 -1
  117. package/data/documentSymbol/elixir.json +39 -39
  118. package/data/documentSymbol/go.json +1 -1
  119. package/data/documentSymbol/graphql.json +1 -1
  120. package/data/documentSymbol/hcl.json +1 -1
  121. package/data/documentSymbol/html.json +29 -1
  122. package/data/documentSymbol/java.json +1 -1
  123. package/data/documentSymbol/javascript.json +1 -1
  124. package/data/documentSymbol/julia.json +46 -46
  125. package/data/documentSymbol/kotlin.json +74 -14
  126. package/data/documentSymbol/less.json +25 -25
  127. package/data/documentSymbol/lua.json +22 -1
  128. package/data/documentSymbol/makefile.json +15 -1
  129. package/data/documentSymbol/markdown.json +36 -1
  130. package/data/documentSymbol/mysql.json +32 -32
  131. package/data/documentSymbol/nginx.json +1 -1
  132. package/data/documentSymbol/pascal.json +46 -46
  133. package/data/documentSymbol/perl.json +1 -1
  134. package/data/documentSymbol/pgsql.json +39 -39
  135. package/data/documentSymbol/php.json +1 -1
  136. package/data/documentSymbol/powershell.json +1 -1
  137. package/data/documentSymbol/protobuf.json +1 -1
  138. package/data/documentSymbol/python.json +1 -1
  139. package/data/documentSymbol/r.json +67 -67
  140. package/data/documentSymbol/redshift.json +60 -18
  141. package/data/documentSymbol/ruby.json +1 -1
  142. package/data/documentSymbol/rust.json +1 -1
  143. package/data/documentSymbol/scala.json +116 -20
  144. package/data/documentSymbol/scheme.json +25 -25
  145. package/data/documentSymbol/scss.json +39 -39
  146. package/data/documentSymbol/shell.json +1 -1
  147. package/data/documentSymbol/sql.json +1 -1
  148. package/data/documentSymbol/swift.json +88 -16
  149. package/data/documentSymbol/typescript.json +1 -1
  150. package/data/documentSymbol/vb.json +53 -53
  151. package/data/documentSymbol/yaml.json +1 -1
  152. package/data/foldingRange/angular.json +100 -99
  153. package/data/foldingRange/nestjs.json +94 -26
  154. package/data/foldingRange/nextjs.json +94 -26
  155. package/data/foldingRange/react.json +118 -120
  156. package/data/foldingRange/shadcn.json +94 -93
  157. package/data/formatting/abap.json +19 -11
  158. package/data/formatting/angular.json +63 -21
  159. package/data/formatting/apex.json +19 -11
  160. package/data/formatting/awk.json +1 -1
  161. package/data/formatting/azcli.json +18 -18
  162. package/data/formatting/bicep.json +18 -18
  163. package/data/formatting/c.json +1 -1
  164. package/data/formatting/caddy.json +1 -1
  165. package/data/formatting/cameligo.json +18 -18
  166. package/data/formatting/clojure.json +18 -18
  167. package/data/formatting/coffee.json +18 -18
  168. package/data/formatting/cpp.json +1 -1
  169. package/data/formatting/crontab.json +1 -1
  170. package/data/formatting/csharp.json +1 -1
  171. package/data/formatting/css.json +73 -73
  172. package/data/formatting/cypher.json +18 -18
  173. package/data/formatting/dart.json +43 -15
  174. package/data/formatting/docker-compose.json +24 -24
  175. package/data/formatting/dockerfile.json +1 -1
  176. package/data/formatting/doctest.json +18 -18
  177. package/data/formatting/dotenv.json +1 -1
  178. package/data/formatting/ecl.json +18 -18
  179. package/data/formatting/elixir.json +43 -18
  180. package/data/formatting/flow9.json +18 -18
  181. package/data/formatting/freemarker2.json +18 -18
  182. package/data/formatting/go.json +1 -1
  183. package/data/formatting/graphql.json +1 -1
  184. package/data/formatting/hcl.json +26 -1
  185. package/data/formatting/html.json +26 -1
  186. package/data/formatting/ini.json +1 -1
  187. package/data/formatting/java.json +1 -1
  188. package/data/formatting/javascript.json +1 -1
  189. package/data/formatting/julia.json +18 -18
  190. package/data/formatting/kotlin.json +33 -13
  191. package/data/formatting/less.json +48 -18
  192. package/data/formatting/lexon.json +18 -18
  193. package/data/formatting/liquid.json +18 -18
  194. package/data/formatting/lua.json +1 -1
  195. package/data/formatting/m3.json +18 -18
  196. package/data/formatting/makefile.json +1 -1
  197. package/data/formatting/markdown.json +26 -1
  198. package/data/formatting/mdx.json +18 -18
  199. package/data/formatting/mips.json +18 -18
  200. package/data/formatting/msdax.json +18 -18
  201. package/data/formatting/mysql.json +43 -18
  202. package/data/formatting/nginx.json +1 -1
  203. package/data/formatting/objective-c.json +18 -18
  204. package/data/formatting/pascal.json +18 -18
  205. package/data/formatting/pascaligo.json +18 -18
  206. package/data/formatting/perl.json +1 -1
  207. package/data/formatting/pgsql.json +43 -18
  208. package/data/formatting/php.json +1 -1
  209. package/data/formatting/pla.json +18 -18
  210. package/data/formatting/postiats.json +18 -18
  211. package/data/formatting/powerquery.json +18 -18
  212. package/data/formatting/powershell.json +1 -1
  213. package/data/formatting/protobuf.json +1 -1
  214. package/data/formatting/python.json +1 -1
  215. package/data/formatting/qsharp.json +18 -18
  216. package/data/formatting/r.json +32 -32
  217. package/data/formatting/razor.json +18 -18
  218. package/data/formatting/redis-cli.json +1 -1
  219. package/data/formatting/redis.json +18 -18
  220. package/data/formatting/redshift.json +43 -18
  221. package/data/formatting/restructuredtext.json +18 -18
  222. package/data/formatting/ruby.json +1 -1
  223. package/data/formatting/rust.json +1 -1
  224. package/data/formatting/sb.json +18 -18
  225. package/data/formatting/scala.json +48 -16
  226. package/data/formatting/scheme.json +18 -18
  227. package/data/formatting/scss.json +48 -18
  228. package/data/formatting/shadcn.json +63 -61
  229. package/data/formatting/shell.json +1 -1
  230. package/data/formatting/sol.json +18 -18
  231. package/data/formatting/sparql.json +18 -18
  232. package/data/formatting/sql.json +1 -1
  233. package/data/formatting/ssh_config.json +1 -1
  234. package/data/formatting/st.json +18 -18
  235. package/data/formatting/swift.json +58 -18
  236. package/data/formatting/systemd.json +1 -1
  237. package/data/formatting/systemverilog.json +18 -18
  238. package/data/formatting/tcl.json +18 -18
  239. package/data/formatting/toml.json +1 -1
  240. package/data/formatting/twig.json +18 -18
  241. package/data/formatting/typescript.json +1 -1
  242. package/data/formatting/vb.json +18 -18
  243. package/data/formatting/wgsl.json +18 -18
  244. package/data/formatting/xml.json +26 -1
  245. package/data/formatting/yaml.json +1 -1
  246. package/data/hover/apex.json +281 -6
  247. package/data/hover/awk.json +251 -6
  248. package/data/hover/crontab.json +251 -6
  249. package/data/hover/dotenv.json +242 -4
  250. package/data/hover/graphql.json +251 -6
  251. package/data/hover/lexon.json +250 -5
  252. package/data/hover/markdown.json +226 -9
  253. package/data/hover/mdx.json +250 -5
  254. package/data/hover/perl.json +251 -6
  255. package/data/hover/pla.json +264 -5
  256. package/data/hover/powershell.json +252 -7
  257. package/data/hover/protobuf.json +251 -6
  258. package/data/hover/redis.json +355 -40
  259. package/data/hover/ssh_config.json +251 -6
  260. package/data/hover/xml.json +231 -7
  261. package/data/inlineCompletions/c.json +49 -1
  262. package/data/inlineCompletions/cpp.json +61 -1
  263. package/data/inlineCompletions/csharp.json +73 -1
  264. package/data/inlineCompletions/css.json +125 -125
  265. package/data/inlineCompletions/dart.json +136 -26
  266. package/data/inlineCompletions/elixir.json +34 -34
  267. package/data/inlineCompletions/go.json +67 -1
  268. package/data/inlineCompletions/html.json +1 -1
  269. package/data/inlineCompletions/java.json +67 -1
  270. package/data/inlineCompletions/javascript.json +97 -1
  271. package/data/inlineCompletions/kotlin.json +88 -18
  272. package/data/inlineCompletions/less.json +76 -28
  273. package/data/inlineCompletions/lua.json +37 -1
  274. package/data/inlineCompletions/mysql.json +34 -34
  275. package/data/inlineCompletions/pgsql.json +34 -34
  276. package/data/inlineCompletions/php.json +43 -1
  277. package/data/inlineCompletions/python.json +73 -1
  278. package/data/inlineCompletions/ruby.json +49 -1
  279. package/data/inlineCompletions/rust.json +61 -1
  280. package/data/inlineCompletions/scala.json +130 -25
  281. package/data/inlineCompletions/scss.json +34 -34
  282. package/data/inlineCompletions/shell.json +1 -1
  283. package/data/inlineCompletions/sql.json +43 -1
  284. package/data/inlineCompletions/swift.json +112 -22
  285. package/data/inlineCompletions/typescript.json +97 -1
  286. package/data/linkedEditingRange/azcli.json +6 -6
  287. package/data/linkedEditingRange/crontab.json +6 -6
  288. package/data/linkedEditingRange/docker-compose.json +6 -6
  289. package/data/linkedEditingRange/doctest.json +6 -6
  290. package/data/linkedEditingRange/dotenv.json +13 -6
  291. package/data/linkedEditingRange/ini.json +13 -6
  292. package/data/linkedEditingRange/json.json +13 -6
  293. package/data/linkedEditingRange/lexon.json +6 -6
  294. package/data/linkedEditingRange/mips.json +6 -6
  295. package/data/linkedEditingRange/msdax.json +6 -6
  296. package/data/linkedEditingRange/nestjs.json +18 -10
  297. package/data/linkedEditingRange/nextjs.json +24 -11
  298. package/data/linkedEditingRange/pla.json +6 -6
  299. package/data/linkedEditingRange/react.json +74 -75
  300. package/data/linkedEditingRange/redis-cli.json +6 -6
  301. package/data/linkedEditingRange/redis.json +6 -6
  302. package/data/linkedEditingRange/ssh_config.json +6 -6
  303. package/data/linkedEditingRange/systemd.json +6 -6
  304. package/data/linkedEditingRange/toml.json +13 -6
  305. package/data/linkedEditingRange/wgsl.json +6 -6
  306. package/data/linkedEditingRange/xml.json +13 -13
  307. package/data/linkedEditingRange/yaml.json +13 -6
  308. package/data/onTypeFormatting/angular.json +63 -14
  309. package/data/onTypeFormatting/nestjs.json +64 -16
  310. package/data/onTypeFormatting/nextjs.json +72 -17
  311. package/data/onTypeFormatting/react.json +148 -127
  312. package/data/onTypeFormatting/shadcn.json +63 -54
  313. package/data/rangeSemanticTokens/angular.json +196 -140
  314. package/data/rangeSemanticTokens/nestjs.json +195 -27
  315. package/data/rangeSemanticTokens/nextjs.json +199 -28
  316. package/data/rangeSemanticTokens/react.json +77 -216
  317. package/data/rangeSemanticTokens/shadcn.json +203 -140
  318. package/data/rename/angular.json +121 -131
  319. package/data/rename/nestjs.json +122 -32
  320. package/data/rename/nextjs.json +116 -31
  321. package/data/rename/react.json +133 -88
  322. package/data/rename/shadcn.json +73 -79
  323. package/data/selectionRange/abap.json +58 -34
  324. package/data/selectionRange/angular.json +126 -95
  325. package/data/selectionRange/apex.json +58 -34
  326. package/data/selectionRange/awk.json +56 -34
  327. package/data/selectionRange/azcli.json +43 -24
  328. package/data/selectionRange/bicep.json +56 -34
  329. package/data/selectionRange/c.json +62 -39
  330. package/data/selectionRange/caddy.json +53 -34
  331. package/data/selectionRange/cameligo.json +56 -34
  332. package/data/selectionRange/clojure.json +57 -34
  333. package/data/selectionRange/coffee.json +59 -34
  334. package/data/selectionRange/cpp.json +73 -44
  335. package/data/selectionRange/crontab.json +39 -29
  336. package/data/selectionRange/csharp.json +69 -39
  337. package/data/selectionRange/css.json +95 -55
  338. package/data/selectionRange/cypher.json +57 -34
  339. package/data/selectionRange/dart.json +65 -34
  340. package/data/selectionRange/docker-compose.json +54 -34
  341. package/data/selectionRange/dockerfile.json +56 -34
  342. package/data/selectionRange/doctest.json +47 -24
  343. package/data/selectionRange/dotenv.json +33 -24
  344. package/data/selectionRange/ecl.json +58 -34
  345. package/data/selectionRange/elixir.json +63 -34
  346. package/data/selectionRange/flow9.json +57 -34
  347. package/data/selectionRange/freemarker2.json +58 -34
  348. package/data/selectionRange/go.json +64 -39
  349. package/data/selectionRange/graphql.json +58 -34
  350. package/data/selectionRange/hcl.json +56 -34
  351. package/data/selectionRange/html.json +63 -34
  352. package/data/selectionRange/ini.json +38 -24
  353. package/data/selectionRange/java.json +68 -39
  354. package/data/selectionRange/javascript.json +65 -39
  355. package/data/selectionRange/julia.json +65 -39
  356. package/data/selectionRange/kotlin.json +68 -39
  357. package/data/selectionRange/less.json +58 -34
  358. package/data/selectionRange/lexon.json +38 -24
  359. package/data/selectionRange/liquid.json +58 -34
  360. package/data/selectionRange/lua.json +59 -34
  361. package/data/selectionRange/m3.json +57 -34
  362. package/data/selectionRange/makefile.json +53 -34
  363. package/data/selectionRange/markdown.json +57 -34
  364. package/data/selectionRange/mdx.json +63 -34
  365. package/data/selectionRange/mips.json +43 -29
  366. package/data/selectionRange/msdax.json +52 -34
  367. package/data/selectionRange/mysql.json +51 -34
  368. package/data/selectionRange/nestjs.json +35 -21
  369. package/data/selectionRange/nextjs.json +35 -22
  370. package/data/selectionRange/nginx.json +53 -34
  371. package/data/selectionRange/objective-c.json +64 -39
  372. package/data/selectionRange/pascal.json +53 -34
  373. package/data/selectionRange/pascaligo.json +57 -34
  374. package/data/selectionRange/perl.json +59 -34
  375. package/data/selectionRange/pgsql.json +50 -34
  376. package/data/selectionRange/php.json +65 -39
  377. package/data/selectionRange/pla.json +52 -29
  378. package/data/selectionRange/postiats.json +61 -34
  379. package/data/selectionRange/powerquery.json +56 -34
  380. package/data/selectionRange/powershell.json +65 -39
  381. package/data/selectionRange/protobuf.json +58 -34
  382. package/data/selectionRange/python.json +66 -39
  383. package/data/selectionRange/qsharp.json +62 -39
  384. package/data/selectionRange/r.json +57 -34
  385. package/data/selectionRange/razor.json +63 -34
  386. package/data/selectionRange/react.json +103 -87
  387. package/data/selectionRange/redis-cli.json +38 -24
  388. package/data/selectionRange/redis.json +38 -24
  389. package/data/selectionRange/redshift.json +49 -34
  390. package/data/selectionRange/restructuredtext.json +58 -34
  391. package/data/selectionRange/ruby.json +65 -39
  392. package/data/selectionRange/rust.json +73 -44
  393. package/data/selectionRange/sb.json +43 -29
  394. package/data/selectionRange/scala.json +65 -39
  395. package/data/selectionRange/scheme.json +52 -34
  396. package/data/selectionRange/scss.json +58 -34
  397. package/data/selectionRange/shadcn.json +120 -89
  398. package/data/selectionRange/shell.json +1 -1
  399. package/data/selectionRange/sol.json +63 -39
  400. package/data/selectionRange/sparql.json +58 -34
  401. package/data/selectionRange/sql.json +50 -34
  402. package/data/selectionRange/ssh_config.json +37 -29
  403. package/data/selectionRange/st.json +49 -29
  404. package/data/selectionRange/swift.json +73 -44
  405. package/data/selectionRange/systemd.json +47 -34
  406. package/data/selectionRange/systemverilog.json +62 -39
  407. package/data/selectionRange/tailwindcss.json +49 -34
  408. package/data/selectionRange/tcl.json +57 -34
  409. package/data/selectionRange/toml.json +49 -29
  410. package/data/selectionRange/twig.json +58 -34
  411. package/data/selectionRange/typescript.json +75 -44
  412. package/data/selectionRange/vb.json +59 -39
  413. package/data/selectionRange/wgsl.json +61 -34
  414. package/data/selectionRange/xml.json +51 -34
  415. package/data/selectionRange/yaml.json +54 -34
  416. package/data/semanticTokens/angular.json +269 -198
  417. package/data/semanticTokens/nestjs.json +245 -35
  418. package/data/semanticTokens/nextjs.json +265 -38
  419. package/data/semanticTokens/react.json +230 -215
  420. package/data/semanticTokens/shadcn.json +235 -180
  421. package/data/signatureHelp/nestjs.json +201 -128
  422. package/data/signatureHelp/nextjs.json +185 -127
  423. package/data/signatureHelp/react.json +285 -281
  424. package/package.json +1 -1
@@ -11,49 +11,273 @@
11
11
  "attribute": {
12
12
  "contents": [
13
13
  {
14
- "value": "```xml\n<item id=\"123\" type=\"book\">\n```\n**Attributes** provide metadata about elements. Values must always be quoted (single or double). Attribute names must be unique per element."
14
+ "value": "```xml\n<item id=\"123\" type=\"book\" available=\"true\">\n```\n**Attributes** provide metadata. Values must always be quoted. Names must be unique per element."
15
15
  }
16
16
  ]
17
17
  },
18
18
  "namespace": {
19
19
  "contents": [
20
20
  {
21
- "value": "```xml\n<root xmlns:app=\"http://example.com/app\">\n <app:config>value</app:config>\n</root>\n```\n**Namespaces** qualify element/attribute names with a URI to avoid conflicts between different XML vocabularies."
21
+ "value": "```xml\n<root xmlns:app=\"http://example.com/app\"\n xmlns:db=\"http://example.com/db\">\n <app:config>value</app:config>\n <db:table>users</db:table>\n</root>\n```\n**Namespaces** qualify names with a URI to avoid conflicts between vocabularies."
22
22
  }
23
23
  ]
24
24
  },
25
25
  "CDATA": {
26
26
  "contents": [
27
27
  {
28
- "value": "```xml\n<script><![CDATA[\n if (a < b && c > d) { ... }\n]]></script>\n```\n**CDATA** sections are not parsed by the XML parser. Useful for embedding code or text with special characters like `<`, `>`, `&`."
28
+ "value": "```xml\n<script><![CDATA[\n if (a < b && c > d) { doSomething(); }\n]]></script>\n```\n**CDATA** sections are not parsed by the XML parser. Useful for code or text with `<`, `>`, `&`."
29
29
  }
30
30
  ]
31
31
  },
32
32
  "comment": {
33
33
  "contents": [
34
34
  {
35
- "value": "```xml\n<!-- This is a comment -->\n<!-- TODO: fix this section -->\n```\n**Comments** are ignored by XML parsers. Cannot contain `--` within the comment body."
35
+ "value": "```xml\n<!-- This is a comment -->\n<!-- TODO: fix this section -->\n```\n**Comments** are ignored by parsers. Cannot contain `--` within the body."
36
36
  }
37
37
  ]
38
38
  },
39
39
  "declaration": {
40
40
  "contents": [
41
41
  {
42
- "value": "```xml\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n```\n**XML declaration** specifies version and encoding. Must appear at the very beginning of the document (before any whitespace)."
42
+ "value": "```xml\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n```\n**XML declaration** specifies version and encoding. Must be the very first thing in the document."
43
43
  }
44
44
  ]
45
45
  },
46
46
  "XPath": {
47
47
  "contents": [
48
48
  {
49
- "value": "```xpath\n/root/child select child elements\n//element select anywhere in doc\n.//node[@attr] relative with predicate\ntext() get text content\n```\n**XPath** is a query language for navigating XML documents and selecting nodes."
49
+ "value": "```xpath\n/root/child # direct child\n//element # anywhere in document\n.//node[@attr] # relative with attribute\n//book[price>30] # with predicate\ntext() # text content\n//item[last()] # last item\n//item[position()<=3] # first 3 items\n```\n**XPath** navigates and queries XML documents."
50
50
  }
51
51
  ]
52
52
  },
53
53
  "entity": {
54
54
  "contents": [
55
55
  {
56
- "value": "```xml\n&lt; <\n&gt; >\n&amp; &\n&quot; \"\n&apos; '\n```\n**Predefined entities** represent special characters that cannot appear literally in XML content."
56
+ "value": "```xml\n&lt; <\n&gt; >\n&amp; &\n&quot; \"\n&apos; '\n&#169; (c) numeric entity\n&#x00A9; (c) hex entity\n```\n**Entities** represent special characters. Five predefined, plus numeric/hex references."
57
+ }
58
+ ]
59
+ },
60
+ "DTD": {
61
+ "contents": [
62
+ {
63
+ "value": "```xml\n<!DOCTYPE note [\n <!ELEMENT note (to,from,body)>\n <!ELEMENT to (#PCDATA)>\n <!ELEMENT from (#PCDATA)>\n <!ELEMENT body (#PCDATA)>\n <!ATTLIST note priority CDATA \"normal\">\n]>\n```\n**DTD** (Document Type Definition) defines the structure and allowed elements of an XML document."
64
+ }
65
+ ]
66
+ },
67
+ "XSD": {
68
+ "contents": [
69
+ {
70
+ "value": "```xml\n<xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">\n <xs:element name=\"person\">\n <xs:complexType>\n <xs:sequence>\n <xs:element name=\"name\" type=\"xs:string\"/>\n <xs:element name=\"age\" type=\"xs:integer\"/>\n </xs:sequence>\n </xs:complexType>\n </xs:element>\n</xs:schema>\n```\n**XSD** (XML Schema Definition) validates XML structure with data types. More powerful than DTD."
71
+ }
72
+ ]
73
+ },
74
+ "XSLT": {
75
+ "contents": [
76
+ {
77
+ "value": "```xml\n<xsl:stylesheet version=\"1.0\"\n xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\">\n <xsl:template match=\"/\">\n <html>\n <body>\n <xsl:for-each select=\"catalog/book\">\n <p><xsl:value-of select=\"title\"/></p>\n </xsl:for-each>\n </body>\n </html>\n </xsl:template>\n</xsl:stylesheet>\n```\n**XSLT** transforms XML into other formats (HTML, text, different XML)."
78
+ }
79
+ ]
80
+ },
81
+ "processing_instruction": {
82
+ "contents": [
83
+ {
84
+ "value": "```xml\n<?xml-stylesheet type=\"text/xsl\" href=\"style.xsl\"?>\n<?xml-model href=\"schema.xsd\"?>\n```\n**Processing instructions** `<?target data?>` provide instructions to the application processing the XML."
85
+ }
86
+ ]
87
+ },
88
+ "well_formed": {
89
+ "contents": [
90
+ {
91
+ "value": "```xml\n<!-- Well-formed XML rules: -->\n<!-- 1. Single root element -->\n<!-- 2. Tags properly nested and closed -->\n<!-- 3. Attribute values quoted -->\n<!-- 4. Case-sensitive tags -->\n<!-- 5. Special chars escaped -->\n```\n**Well-formed** XML follows syntax rules. All XML must be well-formed; valid XML also conforms to a schema."
92
+ }
93
+ ]
94
+ },
95
+ "self_closing": {
96
+ "contents": [
97
+ {
98
+ "value": "```xml\n<br/>\n<img src=\"photo.jpg\" alt=\"Photo\"/>\n<input type=\"text\" name=\"field\"/>\n```\n**Self-closing tags** use `/>` for elements with no content. Equivalent to `<br></br>`."
99
+ }
100
+ ]
101
+ },
102
+ "default_namespace": {
103
+ "contents": [
104
+ {
105
+ "value": "```xml\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n <head><title>Page</title></head>\n <body>Content</body>\n</html>\n```\n**Default namespace** `xmlns=\"...\"` applies to the element and all descendants without a prefix."
106
+ }
107
+ ]
108
+ },
109
+ "xmlns": {
110
+ "contents": [
111
+ {
112
+ "value": "```xml\nxmlns=\"http://default.namespace\"\nxmlns:prefix=\"http://custom.namespace\"\n```\n**xmlns** declares a namespace binding. Default (no prefix) or prefixed (e.g., `xmlns:xsl`)."
113
+ }
114
+ ]
115
+ },
116
+ "root_element": {
117
+ "contents": [
118
+ {
119
+ "value": "```xml\n<?xml version=\"1.0\"?>\n<catalog>\n <book id=\"1\">\n <title>XML Developer Guide</title>\n </book>\n</catalog>\n```\n**Root element** — Every XML document must have exactly one root element that contains all others."
120
+ }
121
+ ]
122
+ },
123
+ "mixed_content": {
124
+ "contents": [
125
+ {
126
+ "value": "```xml\n<paragraph>\n This is <bold>mixed</bold> content with\n <link href=\"#\">inline elements</link>.\n</paragraph>\n```\n**Mixed content** means an element contains both text and child elements. Common in document-oriented XML."
127
+ }
128
+ ]
129
+ },
130
+ "encoding": {
131
+ "contents": [
132
+ {
133
+ "value": "```xml\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n<?xml version=\"1.0\" encoding=\"UTF-16\"?>\n```\n**Encoding** — UTF-8 is the default and recommended. Specify in the XML declaration if different."
134
+ }
135
+ ]
136
+ },
137
+ "PCDATA": {
138
+ "contents": [
139
+ {
140
+ "value": "```xml\n<!-- PCDATA = Parsed Character Data -->\n<name>John &amp; Jane</name>\n<!-- Entities are parsed/expanded -->\n\n<!-- CDATA = Unparsed character data -->\n<code><![CDATA[a < b && c > d]]></code>\n```\n**PCDATA** is parsed text where entities are expanded. CDATA is unparsed literal text."
141
+ }
142
+ ]
143
+ },
144
+ "SAX": {
145
+ "contents": [
146
+ {
147
+ "value": "```xml\n<!-- SAX (Simple API for XML) -->\n<!-- Event-driven, streaming parser -->\n<!-- Low memory: processes one element at a time -->\n<!-- Events: startElement, endElement, characters -->\n<!-- Best for: large files, one-pass processing -->\n```\n**SAX** is an event-driven XML parser. Reads sequentially with low memory usage. Ideal for large files."
148
+ }
149
+ ]
150
+ },
151
+ "DOM": {
152
+ "contents": [
153
+ {
154
+ "value": "```xml\n<!-- DOM (Document Object Model) -->\n<!-- Loads entire document into memory as a tree -->\n<!-- Allows random access and modification -->\n<!-- Higher memory usage -->\n<!-- Best for: small/medium files, complex queries -->\n```\n**DOM** parser loads the complete XML tree into memory. Supports random access and manipulation."
155
+ }
156
+ ]
157
+ },
158
+ "RSS": {
159
+ "contents": [
160
+ {
161
+ "value": "```xml\n<rss version=\"2.0\">\n <channel>\n <title>My Blog</title>\n <link>https://example.com</link>\n <item>\n <title>Post Title</title>\n <description>Summary</description>\n <pubDate>Mon, 01 Jan 2024 00:00:00 GMT</pubDate>\n </item>\n </channel>\n</rss>\n```\n**RSS** (Really Simple Syndication) is an XML format for content feeds."
162
+ }
163
+ ]
164
+ },
165
+ "Atom": {
166
+ "contents": [
167
+ {
168
+ "value": "```xml\n<feed xmlns=\"http://www.w3.org/2005/Atom\">\n <title>My Feed</title>\n <entry>\n <title>Entry Title</title>\n <link href=\"https://example.com/post\"/>\n <updated>2024-01-01T00:00:00Z</updated>\n <content type=\"html\">Content here</content>\n </entry>\n</feed>\n```\n**Atom** is a modern XML feed format. More strictly defined than RSS."
169
+ }
170
+ ]
171
+ },
172
+ "SVG": {
173
+ "contents": [
174
+ {
175
+ "value": "```xml\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100\" height=\"100\">\n <circle cx=\"50\" cy=\"50\" r=\"40\" fill=\"red\"/>\n <text x=\"50\" y=\"55\" text-anchor=\"middle\">Hi</text>\n</svg>\n```\n**SVG** (Scalable Vector Graphics) is an XML-based format for vector images."
176
+ }
177
+ ]
178
+ },
179
+ "SOAP": {
180
+ "contents": [
181
+ {
182
+ "value": "```xml\n<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\n <soap:Header/>\n <soap:Body>\n <GetPrice xmlns=\"http://example.com\">\n <Item>Apple</Item>\n </GetPrice>\n </soap:Body>\n</soap:Envelope>\n```\n**SOAP** is an XML protocol for web services. Uses Envelope, Header, Body structure."
183
+ }
184
+ ]
185
+ },
186
+ "sitemap": {
187
+ "contents": [
188
+ {
189
+ "value": "```xml\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n <url>\n <loc>https://example.com/</loc>\n <lastmod>2024-01-01</lastmod>\n <priority>1.0</priority>\n </url>\n</urlset>\n```\n**Sitemap** XML helps search engines discover and index website pages."
190
+ }
191
+ ]
192
+ },
193
+ "pom": {
194
+ "contents": [
195
+ {
196
+ "value": "```xml\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\">\n <modelVersion>4.0.0</modelVersion>\n <groupId>com.example</groupId>\n <artifactId>my-app</artifactId>\n <version>1.0.0</version>\n <dependencies>\n <dependency>\n <groupId>junit</groupId>\n <artifactId>junit</artifactId>\n <version>4.13</version>\n </dependency>\n </dependencies>\n</project>\n```\n**POM** (pom.xml) is Maven's project configuration. Defines dependencies, plugins, and build settings."
197
+ }
198
+ ]
199
+ },
200
+ "web_xml": {
201
+ "contents": [
202
+ {
203
+ "value": "```xml\n<web-app xmlns=\"http://xmlns.jcp.org/xml/ns/javaee\" version=\"4.0\">\n <servlet>\n <servlet-name>MyServlet</servlet-name>\n <servlet-class>com.example.MyServlet</servlet-class>\n </servlet>\n <servlet-mapping>\n <servlet-name>MyServlet</servlet-name>\n <url-pattern>/api/*</url-pattern>\n </servlet-mapping>\n</web-app>\n```\n**web.xml** is the Java web application deployment descriptor."
204
+ }
205
+ ]
206
+ },
207
+ "android_manifest": {
208
+ "contents": [
209
+ {
210
+ "value": "```xml\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n package=\"com.example.myapp\">\n <application android:label=\"My App\">\n <activity android:name=\".MainActivity\">\n <intent-filter>\n <action android:name=\"android.intent.action.MAIN\"/>\n <category android:name=\"android.intent.category.LAUNCHER\"/>\n </intent-filter>\n </activity>\n </application>\n</manifest>\n```\n**AndroidManifest.xml** declares app components, permissions, and metadata."
211
+ }
212
+ ]
213
+ },
214
+ "csproj": {
215
+ "contents": [
216
+ {
217
+ "value": "```xml\n<Project Sdk=\"Microsoft.NET.Sdk.Web\">\n <PropertyGroup>\n <TargetFramework>net8.0</TargetFramework>\n </PropertyGroup>\n <ItemGroup>\n <PackageReference Include=\"Newtonsoft.Json\" Version=\"13.0.3\" />\n </ItemGroup>\n</Project>\n```\n**.csproj** is the MSBuild project file for .NET applications. Defines framework, dependencies, and build settings."
218
+ }
219
+ ]
220
+ },
221
+ "xml_ns_types": {
222
+ "contents": [
223
+ {
224
+ "value": "```xml\n<!-- XSD data types: -->\n<xs:element name=\"name\" type=\"xs:string\"/>\n<xs:element name=\"age\" type=\"xs:integer\"/>\n<xs:element name=\"price\" type=\"xs:decimal\"/>\n<xs:element name=\"active\" type=\"xs:boolean\"/>\n<xs:element name=\"created\" type=\"xs:dateTime\"/>\n<xs:element name=\"id\" type=\"xs:ID\"/>\n```\n**XSD types** — `xs:string`, `xs:integer`, `xs:decimal`, `xs:boolean`, `xs:dateTime`, `xs:ID`, and many more."
225
+ }
226
+ ]
227
+ },
228
+ "xpath_axes": {
229
+ "contents": [
230
+ {
231
+ "value": "```xpath\nchild::book # direct children\nparent::* # parent element\nancestor::catalog # all ancestors\ndescendant::title # all descendants\nfollowing-sibling::* # following siblings \npreceding::* # all preceding nodes\nattribute::id # attributes (or @id)\nself::node() # current node\n```\n**XPath axes** specify the direction and scope of node selection in the document tree."
232
+ }
233
+ ]
234
+ },
235
+ "xpath_functions": {
236
+ "contents": [
237
+ {
238
+ "value": "```xpath\ncount(//book) # count nodes\nsum(//price) # sum numeric values\nstring-length(title) # string length\nconcat(first, ' ', last) # concatenate\ncontains(title, 'XML') # substring check\nnormalize-space(text()) # trim whitespace\nnot(@hidden) # boolean negation\n```\n**XPath functions** perform calculations and string operations on XML data."
239
+ }
240
+ ]
241
+ },
242
+ "xsl_value_of": {
243
+ "contents": [
244
+ {
245
+ "value": "```xml\n<xsl:value-of select=\"title\"/>\n<xsl:value-of select=\"@id\"/>\n<xsl:value-of select=\"count(item)\"/>\n```\n**xsl:value-of** outputs the text value of an XPath expression in XSLT transformations."
246
+ }
247
+ ]
248
+ },
249
+ "xsl_for_each": {
250
+ "contents": [
251
+ {
252
+ "value": "```xml\n<xsl:for-each select=\"catalog/book\">\n <xsl:sort select=\"price\" data-type=\"number\"/>\n <p><xsl:value-of select=\"title\"/></p>\n</xsl:for-each>\n```\n**xsl:for-each** iterates over a node set. Can include `xsl:sort` for ordering."
253
+ }
254
+ ]
255
+ },
256
+ "xsl_if": {
257
+ "contents": [
258
+ {
259
+ "value": "```xml\n<xsl:if test=\"price > 30\">\n <span class=\"expensive\">$<xsl:value-of select=\"price\"/></span>\n</xsl:if>\n```\n**xsl:if** conditional output. No else — use `xsl:choose` for if-else logic."
260
+ }
261
+ ]
262
+ },
263
+ "xsl_choose": {
264
+ "contents": [
265
+ {
266
+ "value": "```xml\n<xsl:choose>\n <xsl:when test=\"@type='fiction'\">Novel</xsl:when>\n <xsl:when test=\"@type='tech'\">Technical</xsl:when>\n <xsl:otherwise>Other</xsl:otherwise>\n</xsl:choose>\n```\n**xsl:choose/when/otherwise** provides if-else-if-else logic in XSLT."
267
+ }
268
+ ]
269
+ },
270
+ "xsl_template": {
271
+ "contents": [
272
+ {
273
+ "value": "```xml\n<xsl:template match=\"book\">\n <div class=\"book\">\n <h2><xsl:value-of select=\"title\"/></h2>\n <xsl:apply-templates select=\"author\"/>\n </div>\n</xsl:template>\n```\n**xsl:template** defines a transformation rule. `match` selects input nodes, content defines output."
274
+ }
275
+ ]
276
+ },
277
+ "xml_validation": {
278
+ "contents": [
279
+ {
280
+ "value": "```xml\n<!-- Schema reference in XML: -->\n<root xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n xsi:noNamespaceSchemaLocation=\"schema.xsd\">\n\n<!-- Or with namespace: -->\n<root xmlns=\"http://example.com\"\n xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n xsi:schemaLocation=\"http://example.com schema.xsd\">\n```\n**Schema association** — Reference an XSD from within the XML document for validation."
57
281
  }
58
282
  ]
59
283
  }
@@ -12,6 +12,54 @@
12
12
  "insertText": "if (${1:condition}) {\n\t$0\n}",
13
13
  "description": "If block",
14
14
  "completeBracketPairs": true
15
+ },
16
+ {
17
+ "triggerPattern": "for\\s*\\($",
18
+ "insertText": "int ${1:i} = 0; ${1:i} < ${2:n}; ${1:i}++",
19
+ "description": "for loop",
20
+ "completeBracketPairs": true
21
+ },
22
+ {
23
+ "triggerPattern": "if\\s*\\($",
24
+ "insertText": "${1:condition}",
25
+ "description": "if condition",
26
+ "completeBracketPairs": true
27
+ },
28
+ {
29
+ "triggerPattern": "while\\s*\\($",
30
+ "insertText": "${1:condition}",
31
+ "description": "while condition",
32
+ "completeBracketPairs": true
33
+ },
34
+ {
35
+ "triggerPattern": "printf\\($",
36
+ "insertText": "\"${1:%s}\\n\", ${2:value})",
37
+ "description": "printf",
38
+ "completeBracketPairs": false
39
+ },
40
+ {
41
+ "triggerPattern": "#include\\s+$",
42
+ "insertText": "<${1:stdio.h}>",
43
+ "description": "include header",
44
+ "completeBracketPairs": false
45
+ },
46
+ {
47
+ "triggerPattern": "switch\\s*\\($",
48
+ "insertText": "${1:var}) {\ncase ${2:val}:\n\t${3}\n\tbreak;\ndefault:\n\tbreak;\n}",
49
+ "description": "switch",
50
+ "completeBracketPairs": false
51
+ },
52
+ {
53
+ "triggerPattern": "struct\\s+$",
54
+ "insertText": "${1:name} {\n\t${2:int field};\n}",
55
+ "description": "struct declaration",
56
+ "completeBracketPairs": false
57
+ },
58
+ {
59
+ "triggerPattern": "typedef\\s+$",
60
+ "insertText": "${1:type} ${2:name}",
61
+ "description": "typedef",
62
+ "completeBracketPairs": false
15
63
  }
16
64
  ]
17
- }
65
+ }
@@ -12,6 +12,66 @@
12
12
  "insertText": "class ${1:Name} {\npublic:\n\t$0\n};",
13
13
  "description": "Class definition",
14
14
  "completeBracketPairs": true
15
+ },
16
+ {
17
+ "triggerPattern": "for\\s*\\($",
18
+ "insertText": "int ${1:i} = 0; ${1:i} < ${2:n}; ${1:i}++",
19
+ "description": "for loop",
20
+ "completeBracketPairs": true
21
+ },
22
+ {
23
+ "triggerPattern": "if\\s*\\($",
24
+ "insertText": "${1:condition}",
25
+ "description": "if condition",
26
+ "completeBracketPairs": true
27
+ },
28
+ {
29
+ "triggerPattern": "while\\s*\\($",
30
+ "insertText": "${1:condition}",
31
+ "description": "while condition",
32
+ "completeBracketPairs": true
33
+ },
34
+ {
35
+ "triggerPattern": "printf\\($",
36
+ "insertText": "\"${1:%s}\\n\", ${2:value})",
37
+ "description": "printf",
38
+ "completeBracketPairs": false
39
+ },
40
+ {
41
+ "triggerPattern": "#include\\s+$",
42
+ "insertText": "<${1:stdio.h}>",
43
+ "description": "include header",
44
+ "completeBracketPairs": false
45
+ },
46
+ {
47
+ "triggerPattern": "switch\\s*\\($",
48
+ "insertText": "${1:var}) {\ncase ${2:val}:\n\t${3}\n\tbreak;\ndefault:\n\tbreak;\n}",
49
+ "description": "switch",
50
+ "completeBracketPairs": false
51
+ },
52
+ {
53
+ "triggerPattern": "std::cout\\s*<<\\s*$",
54
+ "insertText": "${1:value} << std::endl",
55
+ "description": "cout output",
56
+ "completeBracketPairs": false
57
+ },
58
+ {
59
+ "triggerPattern": "auto\\s+$",
60
+ "insertText": "${1:var} = ${2:value}",
61
+ "description": "auto variable",
62
+ "completeBracketPairs": false
63
+ },
64
+ {
65
+ "triggerPattern": "class\\s+$",
66
+ "insertText": "${1:ClassName} {\npublic:\n\t${2}\n};",
67
+ "description": "class declaration",
68
+ "completeBracketPairs": false
69
+ },
70
+ {
71
+ "triggerPattern": "std::vector<$",
72
+ "insertText": "${1:int}> ${2:vec}",
73
+ "description": "vector declaration",
74
+ "completeBracketPairs": false
15
75
  }
16
76
  ]
17
- }
77
+ }
@@ -18,6 +18,78 @@
18
18
  "insertText": "class ${1:Name} {\n\t$0\n}",
19
19
  "description": "Class",
20
20
  "completeBracketPairs": true
21
+ },
22
+ {
23
+ "triggerPattern": "for\\s*\\($",
24
+ "insertText": "int ${1:i} = 0; ${1:i} < ${2:n}; ${1:i}++",
25
+ "description": "for loop with counter",
26
+ "completeBracketPairs": true
27
+ },
28
+ {
29
+ "triggerPattern": "if\\s*\\($",
30
+ "insertText": "${1:condition}",
31
+ "description": "if condition",
32
+ "completeBracketPairs": true
33
+ },
34
+ {
35
+ "triggerPattern": "while\\s*\\($",
36
+ "insertText": "${1:condition}",
37
+ "description": "while condition",
38
+ "completeBracketPairs": true
39
+ },
40
+ {
41
+ "triggerPattern": "switch\\s*\\($",
42
+ "insertText": "${1:variable}) {\n\tcase ${2:value}:\n\t\t${3:// code}\n\t\tbreak;\n\tdefault:\n\t\tbreak;\n}",
43
+ "description": "switch statement",
44
+ "completeBracketPairs": false
45
+ },
46
+ {
47
+ "triggerPattern": "try\\s*\\{$",
48
+ "insertText": "\n\t${1:// code}\n} catch (${2:e}) {\n\t${3:// handle}\n}",
49
+ "description": "try-catch block",
50
+ "completeBracketPairs": false
51
+ },
52
+ {
53
+ "triggerPattern": "//\\s*TODO$",
54
+ "insertText": ": ${1:description}",
55
+ "description": "TODO comment",
56
+ "completeBracketPairs": false
57
+ },
58
+ {
59
+ "triggerPattern": "Console\\.Write$",
60
+ "insertText": "Line(${1:value})",
61
+ "description": "Console.WriteLine",
62
+ "completeBracketPairs": true
63
+ },
64
+ {
65
+ "triggerPattern": "public\\s+class\\s+$",
66
+ "insertText": "${1:ClassName}\n{\n\t${2}\n}",
67
+ "description": "class declaration",
68
+ "completeBracketPairs": false
69
+ },
70
+ {
71
+ "triggerPattern": "async\\s+Task\\s*$",
72
+ "insertText": "<${1:T}> ${2:MethodName}(${3:params})\n{\n\t${4:await}\n}",
73
+ "description": "async method",
74
+ "completeBracketPairs": false
75
+ },
76
+ {
77
+ "triggerPattern": "\\.Select\\($",
78
+ "insertText": "${1:x} => ${2:x})",
79
+ "description": "LINQ Select",
80
+ "completeBracketPairs": false
81
+ },
82
+ {
83
+ "triggerPattern": "\\.Where\\($",
84
+ "insertText": "${1:x} => ${2:condition})",
85
+ "description": "LINQ Where",
86
+ "completeBracketPairs": false
87
+ },
88
+ {
89
+ "triggerPattern": "using\\s*\\($",
90
+ "insertText": "var ${1:resource} = new ${2:Disposable}())",
91
+ "description": "using statement",
92
+ "completeBracketPairs": false
21
93
  }
22
94
  ]
23
- }
95
+ }