@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
@@ -1,19 +1,19 @@
1
- {
2
- "language": "systemverilog",
3
- "formatting": {
4
- "defaultTabSize": 4,
5
- "defaultInsertSpaces": true,
6
- "rules": [
7
- {
8
- "description": "Remove trailing whitespace",
9
- "pattern": "\\s+$",
10
- "replacement": ""
11
- },
12
- {
13
- "description": "Normalize line endings",
14
- "pattern": "\\r\\n",
15
- "replacement": "\\n"
16
- }
17
- ]
18
- }
1
+ {
2
+ "language": "systemverilog",
3
+ "formatting": {
4
+ "defaultTabSize": 4,
5
+ "defaultInsertSpaces": true,
6
+ "rules": [
7
+ {
8
+ "description": "Remove trailing whitespace",
9
+ "pattern": "\\s+$",
10
+ "replacement": ""
11
+ },
12
+ {
13
+ "description": "Normalize line endings",
14
+ "pattern": "\\r\\n",
15
+ "replacement": "\\n"
16
+ }
17
+ ]
18
+ }
19
19
  }
@@ -1,19 +1,19 @@
1
- {
2
- "language": "tcl",
3
- "formatting": {
4
- "defaultTabSize": 4,
5
- "defaultInsertSpaces": true,
6
- "rules": [
7
- {
8
- "description": "Remove trailing whitespace",
9
- "pattern": "\\s+$",
10
- "replacement": ""
11
- },
12
- {
13
- "description": "Normalize line endings",
14
- "pattern": "\\r\\n",
15
- "replacement": "\\n"
16
- }
17
- ]
18
- }
1
+ {
2
+ "language": "tcl",
3
+ "formatting": {
4
+ "defaultTabSize": 4,
5
+ "defaultInsertSpaces": true,
6
+ "rules": [
7
+ {
8
+ "description": "Remove trailing whitespace",
9
+ "pattern": "\\s+$",
10
+ "replacement": ""
11
+ },
12
+ {
13
+ "description": "Normalize line endings",
14
+ "pattern": "\\r\\n",
15
+ "replacement": "\\n"
16
+ }
17
+ ]
18
+ }
19
19
  }
@@ -16,4 +16,4 @@
16
16
  }
17
17
  ]
18
18
  }
19
- }
19
+ }
@@ -1,19 +1,19 @@
1
- {
2
- "language": "twig",
3
- "formatting": {
4
- "defaultTabSize": 4,
5
- "defaultInsertSpaces": true,
6
- "rules": [
7
- {
8
- "description": "Remove trailing whitespace",
9
- "pattern": "\\s+$",
10
- "replacement": ""
11
- },
12
- {
13
- "description": "Normalize line endings",
14
- "pattern": "\\r\\n",
15
- "replacement": "\\n"
16
- }
17
- ]
18
- }
1
+ {
2
+ "language": "twig",
3
+ "formatting": {
4
+ "defaultTabSize": 4,
5
+ "defaultInsertSpaces": true,
6
+ "rules": [
7
+ {
8
+ "description": "Remove trailing whitespace",
9
+ "pattern": "\\s+$",
10
+ "replacement": ""
11
+ },
12
+ {
13
+ "description": "Normalize line endings",
14
+ "pattern": "\\r\\n",
15
+ "replacement": "\\n"
16
+ }
17
+ ]
18
+ }
19
19
  }
@@ -25,4 +25,4 @@
25
25
  "decreasePattern": "^\\\\s*\\\\}"
26
26
  }
27
27
  }
28
- }
28
+ }
@@ -1,19 +1,19 @@
1
- {
2
- "language": "vb",
3
- "formatting": {
4
- "defaultTabSize": 4,
5
- "defaultInsertSpaces": true,
6
- "rules": [
7
- {
8
- "description": "Remove trailing whitespace",
9
- "pattern": "\\s+$",
10
- "replacement": ""
11
- },
12
- {
13
- "description": "Normalize line endings",
14
- "pattern": "\\r\\n",
15
- "replacement": "\\n"
16
- }
17
- ]
18
- }
1
+ {
2
+ "language": "vb",
3
+ "formatting": {
4
+ "defaultTabSize": 4,
5
+ "defaultInsertSpaces": true,
6
+ "rules": [
7
+ {
8
+ "description": "Remove trailing whitespace",
9
+ "pattern": "\\s+$",
10
+ "replacement": ""
11
+ },
12
+ {
13
+ "description": "Normalize line endings",
14
+ "pattern": "\\r\\n",
15
+ "replacement": "\\n"
16
+ }
17
+ ]
18
+ }
19
19
  }
@@ -1,19 +1,19 @@
1
- {
2
- "language": "wgsl",
3
- "formatting": {
4
- "defaultTabSize": 4,
5
- "defaultInsertSpaces": true,
6
- "rules": [
7
- {
8
- "description": "Remove trailing whitespace",
9
- "pattern": "\\s+$",
10
- "replacement": ""
11
- },
12
- {
13
- "description": "Normalize line endings",
14
- "pattern": "\\r\\n",
15
- "replacement": "\\n"
16
- }
17
- ]
18
- }
1
+ {
2
+ "language": "wgsl",
3
+ "formatting": {
4
+ "defaultTabSize": 4,
5
+ "defaultInsertSpaces": true,
6
+ "rules": [
7
+ {
8
+ "description": "Remove trailing whitespace",
9
+ "pattern": "\\s+$",
10
+ "replacement": ""
11
+ },
12
+ {
13
+ "description": "Normalize line endings",
14
+ "pattern": "\\r\\n",
15
+ "replacement": "\\n"
16
+ }
17
+ ]
18
+ }
19
19
  }
@@ -13,6 +13,31 @@
13
13
  "description": "Normalize line endings",
14
14
  "pattern": "\\\\r\\\\n",
15
15
  "replacement": "\\n"
16
+ },
17
+ {
18
+ "description": "Indent nested elements",
19
+ "pattern": "<[^/!][^>]*[^/]>\\s*$",
20
+ "action": "indent"
21
+ },
22
+ {
23
+ "description": "Dedent closing tags",
24
+ "pattern": "^\\s*</",
25
+ "action": "dedent"
26
+ },
27
+ {
28
+ "description": "Self-closing tags on one line",
29
+ "pattern": "<\\w+[^>]*/>",
30
+ "action": "nothing"
31
+ },
32
+ {
33
+ "description": "No trailing whitespace",
34
+ "pattern": "\\s+$",
35
+ "replacement": ""
36
+ },
37
+ {
38
+ "description": "Attribute alignment",
39
+ "pattern": "\\s{2,}(?=\\w+=)",
40
+ "replacement": " "
16
41
  }
17
42
  ],
18
43
  "indentation": {
@@ -20,4 +45,4 @@
20
45
  "decreasePattern": "^\\\\s*</"
21
46
  }
22
47
  }
23
- }
48
+ }
@@ -19,4 +19,4 @@
19
19
  "increasePattern": ":\\\\s*$"
20
20
  }
21
21
  }
22
- }
22
+ }
@@ -1,10 +1,285 @@
1
1
  {
2
2
  "language": "apex",
3
3
  "hovers": {
4
- "class": { "contents": [{ "value": "```apex\npublic class AccountService {\n public Account getById(Id accountId) {\n return [SELECT Id, Name FROM Account WHERE Id = :accountId];\n }\n}\n```\n**class** declares an Apex class. Use access modifiers: `public`, `private`, `global`, `protected`." }] },
5
- "trigger": { "contents": [{ "value": "```apex\ntrigger AccountTrigger on Account (before insert, after update) {\n AccountTriggerHandler.handle(Trigger.new, Trigger.oldMap);\n}\n```\n**trigger** fires on DML events. Best practice: delegate to handler class." }] },
6
- "SOQL": { "contents": [{ "value": "```apex\nList<Account> accts = [\n SELECT Id, Name, Industry\n FROM Account\n WHERE CreatedDate = TODAY\n LIMIT 100\n];\n```\n**SOQL** (Salesforce Object Query Language) queries Salesforce data. Use bind variables with `:var`." }] },
7
- "System.debug": { "contents": [{ "value": "```apex\nSystem.debug('Value: ' + myVar);\nSystem.debug(LoggingLevel.ERROR, 'Critical issue');\n```\n**System.debug()** writes to the execution debug log." }] },
8
- "Test": { "contents": [{ "value": "```apex\n@isTest\nprivate class MyTest {\n @isTest\n static void testMethod() {\n Test.startTest();\n // code under test\n Test.stopTest();\n System.assertEquals(expected, actual);\n }\n}\n```\n**@isTest** marks test classes/methods. Use `Test.startTest()`/`Test.stopTest()` for governor limits." }] }
4
+ "class": {
5
+ "contents": [
6
+ {
7
+ "value": "```apex\npublic class AccountService {\n public Account getById(Id accountId) {\n return [SELECT Id, Name FROM Account WHERE Id = :accountId];\n }\n}\n```\n**class** declares an Apex class. Access modifiers: `public`, `private`, `global`, `protected`. Use `with sharing` for security."
8
+ }
9
+ ]
10
+ },
11
+ "trigger": {
12
+ "contents": [
13
+ {
14
+ "value": "```apex\ntrigger AccountTrigger on Account (before insert, after update) {\n AccountTriggerHandler.handle(Trigger.new, Trigger.oldMap);\n}\n```\n**trigger** fires on DML events. Best practice: delegate to handler class."
15
+ }
16
+ ]
17
+ },
18
+ "SOQL": {
19
+ "contents": [
20
+ {
21
+ "value": "```apex\nList<Account> accts = [\n SELECT Id, Name, Industry,\n (SELECT Id, Amount FROM Opportunities)\n FROM Account\n WHERE CreatedDate = TODAY\n LIMIT 100\n];\n```\n**SOQL** queries Salesforce data. Supports relationships, aggregates, bind variables (`:var`), date literals."
22
+ }
23
+ ]
24
+ },
25
+ "SOSL": {
26
+ "contents": [
27
+ {
28
+ "value": "```apex\nList<List<SObject>> results = [FIND 'Acme*' IN ALL FIELDS\n RETURNING Account(Name, Industry),\n Contact(FirstName, LastName)\n LIMIT 20\n];\n```\n**SOSL** performs full-text searches across multiple objects. Returns a list of lists."
29
+ }
30
+ ]
31
+ },
32
+ "DML": {
33
+ "contents": [
34
+ {
35
+ "value": "```apex\ninsert newAccount;\nupdate existingAccount;\nupsert records ExternalId__c;\ndelete oldRecords;\nundelete recoveredRecords;\n```\n**DML** statements modify data. Use `Database.insert(records, false)` for partial success."
36
+ }
37
+ ]
38
+ },
39
+ "System.debug": {
40
+ "contents": [
41
+ {
42
+ "value": "```apex\nSystem.debug('Value: ' + myVar);\nSystem.debug(LoggingLevel.ERROR, 'Critical issue');\n```\n**System.debug()** writes to the debug log. Levels: `ERROR`, `WARN`, `INFO`, `DEBUG`, `FINE`, `FINER`, `FINEST`."
43
+ }
44
+ ]
45
+ },
46
+ "Test": {
47
+ "contents": [
48
+ {
49
+ "value": "```apex\n@isTest\nprivate class AccountServiceTest {\n @TestSetup\n static void setup() {\n insert new Account(Name = 'Test');\n }\n @isTest\n static void testGetById() {\n Test.startTest();\n // test code\n Test.stopTest();\n System.assertEquals(expected, actual);\n }\n}\n```\n**@isTest** marks test classes/methods. Minimum 75% code coverage for deployment."
50
+ }
51
+ ]
52
+ },
53
+ "interface": {
54
+ "contents": [
55
+ {
56
+ "value": "```apex\npublic interface Schedulable {\n void execute(SchedulableContext ctx);\n}\npublic class MyJob implements Schedulable {\n public void execute(SchedulableContext ctx) { }\n}\n```\n**interface** defines a contract. Common: `Schedulable`, `Batchable`, `Queueable`."
57
+ }
58
+ ]
59
+ },
60
+ "enum": {
61
+ "contents": [
62
+ {
63
+ "value": "```apex\npublic enum Season { SPRING, SUMMER, AUTUMN, WINTER }\nSeason s = Season.SUMMER;\nString name = s.name();\n```\n**enum** defines a fixed set of constants with `name()`, `ordinal()`, `values()` methods."
64
+ }
65
+ ]
66
+ },
67
+ "List": {
68
+ "contents": [
69
+ {
70
+ "value": "```apex\nList<String> names = new List<String>{'Alice', 'Bob'};\nnames.add('Charlie');\nnames.size();\nnames.contains('Bob');\n```\n**List** is an ordered collection. Equivalent to `String[]` array notation."
71
+ }
72
+ ]
73
+ },
74
+ "Map": {
75
+ "contents": [
76
+ {
77
+ "value": "```apex\nMap<Id, Account> accountMap = new Map<Id, Account>(\n [SELECT Id, Name FROM Account]\n);\nAccount a = accountMap.get(someId);\n```\n**Map** stores key-value pairs. Can be initialized from SOQL. Methods: `get()`, `put()`, `keySet()`, `values()`."
78
+ }
79
+ ]
80
+ },
81
+ "Set": {
82
+ "contents": [
83
+ {
84
+ "value": "```apex\nSet<Id> accountIds = new Set<Id>();\naccountIds.add(record.AccountId);\naccountIds.contains(someId);\n```\n**Set** stores unique, unordered elements. Useful for deduplication."
85
+ }
86
+ ]
87
+ },
88
+ "Trigger.new": {
89
+ "contents": [
90
+ {
91
+ "value": "```apex\nList<Account> newRecords = Trigger.new;\nMap<Id, Account> oldMap = Trigger.oldMap;\nBoolean isBefore = Trigger.isBefore;\nBoolean isInsert = Trigger.isInsert;\n```\n**Trigger context variables** provide access to records being processed."
92
+ }
93
+ ]
94
+ },
95
+ "Database.insert": {
96
+ "contents": [
97
+ {
98
+ "value": "```apex\nDatabase.SaveResult[] results = Database.insert(records, false);\nfor (Database.SaveResult sr : results) {\n if (!sr.isSuccess()) {\n for (Database.Error err : sr.getErrors())\n System.debug(err.getMessage());\n }\n}\n```\n**Database methods** allow partial success with `allOrNone = false`."
99
+ }
100
+ ]
101
+ },
102
+ "Batchable": {
103
+ "contents": [
104
+ {
105
+ "value": "```apex\npublic class MyBatch implements Database.Batchable<SObject> {\n public Database.QueryLocator start(Database.BatchableContext bc) {\n return Database.getQueryLocator('SELECT Id FROM Account');\n }\n public void execute(Database.BatchableContext bc, List<Account> scope) { }\n public void finish(Database.BatchableContext bc) { }\n}\n```\n**Database.Batchable** processes large data sets in chunks (default 200)."
106
+ }
107
+ ]
108
+ },
109
+ "Queueable": {
110
+ "contents": [
111
+ {
112
+ "value": "```apex\npublic class MyQueueable implements Queueable {\n public void execute(QueueableContext ctx) {\n // async work, can chain jobs\n }\n}\nId jobId = System.enqueueJob(new MyQueueable());\n```\n**Queueable** runs asynchronous jobs. Supports non-primitive parameters and chaining."
113
+ }
114
+ ]
115
+ },
116
+ "future": {
117
+ "contents": [
118
+ {
119
+ "value": "```apex\n@future(callout=true)\npublic static void makeCallout(Set<Id> recordIds) {\n // async execution with callouts\n}\n```\n**@future** runs methods asynchronously. Parameters must be primitives. Use `callout=true` for HTTP."
120
+ }
121
+ ]
122
+ },
123
+ "Schedulable": {
124
+ "contents": [
125
+ {
126
+ "value": "```apex\npublic class MySchedule implements Schedulable {\n public void execute(SchedulableContext ctx) {\n Database.executeBatch(new MyBatch());\n }\n}\n// System.schedule('Nightly', '0 0 1 * * ?', new MySchedule());\n```\n**Schedulable** runs code on a cron schedule."
127
+ }
128
+ ]
129
+ },
130
+ "AuraEnabled": {
131
+ "contents": [
132
+ {
133
+ "value": "```apex\n@AuraEnabled(cacheable=true)\npublic static List<Account> getAccounts() {\n return [SELECT Id, Name FROM Account LIMIT 50];\n}\n```\n**@AuraEnabled** exposes methods to Lightning Web Components. `cacheable=true` enables caching."
134
+ }
135
+ ]
136
+ },
137
+ "HttpCallout": {
138
+ "contents": [
139
+ {
140
+ "value": "```apex\nHttpRequest req = new HttpRequest();\nreq.setEndpoint('https://api.example.com/data');\nreq.setMethod('GET');\nreq.setHeader('Authorization', 'Bearer ' + token);\nHttp http = new Http();\nHttpResponse res = http.send(req);\n```\n**HTTP Callouts** make external API requests. Endpoint must be in Remote Site Settings."
141
+ }
142
+ ]
143
+ },
144
+ "JSON": {
145
+ "contents": [
146
+ {
147
+ "value": "```apex\nString jsonStr = JSON.serialize(myObject);\nAccount a = (Account) JSON.deserialize(jsonStr, Account.class);\nMap<String, Object> raw = (Map<String, Object>)\n JSON.deserializeUntyped(jsonStr);\n```\n**JSON** class provides serialization and deserialization."
148
+ }
149
+ ]
150
+ },
151
+ "with sharing": {
152
+ "contents": [
153
+ {
154
+ "value": "```apex\npublic with sharing class SecureService { }\npublic without sharing class AdminService { }\npublic inherited sharing class FlexService { }\n```\n**with sharing** enforces record-level security. `without sharing` bypasses it. `inherited sharing` inherits caller context."
155
+ }
156
+ ]
157
+ },
158
+ "governor_limits": {
159
+ "contents": [
160
+ {
161
+ "value": "```apex\n// Key limits per transaction:\n// SOQL queries: 100 (sync), 200 (async)\n// DML statements: 150\n// Records retrieved: 50,000\n// CPU time: 10,000ms (sync)\nSystem.debug(Limits.getQueries() + '/' + Limits.getLimitQueries());\n```\n**Governor limits** enforce multi-tenant resource sharing. Use `Limits` class to monitor."
162
+ }
163
+ ]
164
+ },
165
+ "try_catch": {
166
+ "contents": [
167
+ {
168
+ "value": "```apex\ntry {\n insert newRecord;\n} catch (DmlException e) {\n System.debug('DML error: ' + e.getMessage());\n} catch (Exception e) {\n System.debug(e.getTypeName() + ': ' + e.getMessage());\n} finally {\n // cleanup\n}\n```\n**try/catch/finally** handles exceptions. Common: `DmlException`, `QueryException`, `NullPointerException`."
169
+ }
170
+ ]
171
+ },
172
+ "Id": {
173
+ "contents": [
174
+ {
175
+ "value": "```apex\nId accountId = '001000000000001';\nSObjectType objType = accountId.getSObjectType();\n```\n**Id** is the 15/18-character Salesforce record identifier. `getSObjectType()` returns the object type."
176
+ }
177
+ ]
178
+ },
179
+ "String": {
180
+ "contents": [
181
+ {
182
+ "value": "```apex\nString s = 'Hello';\ns.contains('ell');\ns.toUpperCase();\nString.isBlank(s);\nString.format('{0} {1}', new List<String>{'Hi', 'World'});\n```\n**String** methods for text manipulation. Strings are immutable."
183
+ }
184
+ ]
185
+ },
186
+ "Date": {
187
+ "contents": [
188
+ {
189
+ "value": "```apex\nDate today = Date.today();\nDate future = today.addDays(30);\nInteger diff = today.daysBetween(future);\n```\n**Date** represents a date without time. Methods: `addDays()`, `addMonths()`, `daysBetween()`."
190
+ }
191
+ ]
192
+ },
193
+ "DateTime": {
194
+ "contents": [
195
+ {
196
+ "value": "```apex\nDatetime now = Datetime.now();\nString formatted = now.format('yyyy-MM-dd HH:mm:ss');\nLong epoch = now.getTime();\n```\n**Datetime** includes date and time. `format()` uses Java SimpleDateFormat patterns."
197
+ }
198
+ ]
199
+ },
200
+ "Decimal": {
201
+ "contents": [
202
+ {
203
+ "value": "```apex\nDecimal price = 19.99;\nDecimal rounded = price.setScale(2, RoundingMode.HALF_UP);\n```\n**Decimal** is arbitrary-precision. Preferred for currency. Use `setScale()` for rounding."
204
+ }
205
+ ]
206
+ },
207
+ "SObject": {
208
+ "contents": [
209
+ {
210
+ "value": "```apex\nSObject record = new Account(Name = 'Test');\nrecord.put('Industry', 'Tech');\nString name = (String) record.get('Name');\n```\n**SObject** is the base type for all Salesforce objects. `get()`/`put()` for dynamic field access."
211
+ }
212
+ ]
213
+ },
214
+ "Schema": {
215
+ "contents": [
216
+ {
217
+ "value": "```apex\nSchema.DescribeSObjectResult descr = Account.SObjectType.getDescribe();\nMap<String, Schema.SObjectField> fields = descr.fields.getMap();\n```\n**Schema** provides metadata about objects and fields. Use for dynamic Apex and security checks."
218
+ }
219
+ ]
220
+ },
221
+ "UserInfo": {
222
+ "contents": [
223
+ {
224
+ "value": "```apex\nId userId = UserInfo.getUserId();\nString userName = UserInfo.getUserName();\nId orgId = UserInfo.getOrganizationId();\n```\n**UserInfo** provides info about the current user and org."
225
+ }
226
+ ]
227
+ },
228
+ "assert": {
229
+ "contents": [
230
+ {
231
+ "value": "```apex\nSystem.assertEquals(expected, actual, 'Values should match');\nSystem.assertNotEquals(null, result);\nSystem.assert(list.size() > 0);\n```\n**Assert methods** verify expected behavior in tests. Optional message aids debugging."
232
+ }
233
+ ]
234
+ },
235
+ "TestSetup": {
236
+ "contents": [
237
+ {
238
+ "value": "```apex\n@TestSetup\nstatic void makeData() {\n insert new Account(Name = 'Test Account');\n}\n```\n**@TestSetup** creates test data once for all methods in the class. Each method gets its own copy."
239
+ }
240
+ ]
241
+ },
242
+ "Test.startTest": {
243
+ "contents": [
244
+ {
245
+ "value": "```apex\nTest.startTest();\n// fresh governor limits\nTest.stopTest(); // forces async to complete\n```\n**Test.startTest()/stopTest()** resets governor limits and forces async operations to complete."
246
+ }
247
+ ]
248
+ },
249
+ "HttpCalloutMock": {
250
+ "contents": [
251
+ {
252
+ "value": "```apex\n@isTest\nprivate class MyMock implements HttpCalloutMock {\n public HttpResponse respond(HttpRequest req) {\n HttpResponse res = new HttpResponse();\n res.setStatusCode(200);\n res.setBody('{\"status\":\"ok\"}');\n return res;\n }\n}\n// Test.setMock(HttpCalloutMock.class, new MyMock());\n```\n**HttpCalloutMock** provides fake HTTP responses in tests."
253
+ }
254
+ ]
255
+ },
256
+ "Custom_Metadata": {
257
+ "contents": [
258
+ {
259
+ "value": "```apex\nList<My_Setting__mdt> settings = My_Setting__mdt.getAll().values();\nMy_Setting__mdt s = My_Setting__mdt.getInstance('Default');\n```\n**Custom Metadata Types** (`__mdt`) store deployable configuration. Queries don't cost SOQL limits."
260
+ }
261
+ ]
262
+ },
263
+ "Platform_Event": {
264
+ "contents": [
265
+ {
266
+ "value": "```apex\nMy_Event__e evt = new My_Event__e(Message__c = 'Hello');\nEventBus.publish(evt);\n```\n**Platform Events** (`__e`) enable event-driven architecture. Publishers and subscribers are decoupled."
267
+ }
268
+ ]
269
+ },
270
+ "Invocable": {
271
+ "contents": [
272
+ {
273
+ "value": "```apex\npublic class MyInvocable {\n @InvocableMethod(label='Process Records')\n public static List<String> process(List<Request> requests) {\n return new List<String>{'Success'};\n }\n public class Request {\n @InvocableVariable(required=true)\n public Id recordId;\n }\n}\n```\n**@InvocableMethod** exposes Apex to Flows and Process Builder."
274
+ }
275
+ ]
276
+ },
277
+ "for_loop": {
278
+ "contents": [
279
+ {
280
+ "value": "```apex\n// SOQL for loop (200 records at a time, memory-efficient)\nfor (Account a : [SELECT Id, Name FROM Account]) {\n a.Name = a.Name.toUpperCase();\n}\n```\n**SOQL for loops** batch records in chunks of 200 to avoid heap limits."
281
+ }
282
+ ]
283
+ }
9
284
  }
10
- }
285
+ }