@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
@@ -151,6 +151,213 @@
151
151
  "description": "A Boolean type in Flow9 with two possible values: true and false. Supports logical operators && (and), || (or), and ! (not). Used in conditional expressions, filter predicates, and control flow statements.",
152
152
  "type": "class",
153
153
  "module": "Flow9 Runtime"
154
+ },
155
+ "list": {
156
+ "signature": "List<T>",
157
+ "description": "Immutable linked list. The primary collection type in Flow9.",
158
+ "type": "type",
159
+ "module": "ds/list",
160
+ "members": {
161
+ "Cons": {
162
+ "signature": "Cons(head: T, tail: List<T>)",
163
+ "description": "Constructs a list with a head element and a tail list.",
164
+ "type": "constructor"
165
+ },
166
+ "EmptyList": {
167
+ "signature": "EmptyList()",
168
+ "description": "The empty list.",
169
+ "type": "constructor"
170
+ }
171
+ }
172
+ },
173
+ "map": {
174
+ "signature": "map(a: [?], fn: (?) -> ??) -> [??]",
175
+ "description": "Applies fn to each element of array a and returns new array.",
176
+ "type": "function",
177
+ "module": "ds/array",
178
+ "returns": "[??]"
179
+ },
180
+ "filter": {
181
+ "signature": "filter(a: [?], fn: (?) -> bool) -> [?]",
182
+ "description": "Returns array of elements where fn returns true.",
183
+ "type": "function",
184
+ "module": "ds/array",
185
+ "returns": "[?]"
186
+ },
187
+ "fold": {
188
+ "signature": "fold(a: [?], init: ??, fn: (??, ?) -> ??) -> ??",
189
+ "description": "Left fold over an array.",
190
+ "type": "function",
191
+ "module": "ds/array",
192
+ "returns": "??"
193
+ },
194
+ "iter": {
195
+ "signature": "iter(a: [?], fn: (?) -> void) -> void",
196
+ "description": "Iterates over each element of the array applying fn.",
197
+ "type": "function",
198
+ "module": "ds/array",
199
+ "returns": "void"
200
+ },
201
+ "iteri": {
202
+ "signature": "iteri(a: [?], fn: (int, ?) -> void) -> void",
203
+ "description": "Iterates over each element with its index.",
204
+ "type": "function",
205
+ "module": "ds/array",
206
+ "returns": "void"
207
+ },
208
+ "mapi": {
209
+ "signature": "mapi(a: [?], fn: (int, ?) -> ??) -> [??]",
210
+ "description": "Maps with index.",
211
+ "type": "function",
212
+ "module": "ds/array",
213
+ "returns": "[??]"
214
+ },
215
+ "length": {
216
+ "signature": "length(a: [?]) -> int",
217
+ "description": "Returns the length of an array.",
218
+ "type": "function",
219
+ "module": "ds/array",
220
+ "returns": "int"
221
+ },
222
+ "concat": {
223
+ "signature": "concat(a: [?], b: [?]) -> [?]",
224
+ "description": "Concatenates two arrays.",
225
+ "type": "function",
226
+ "module": "ds/array",
227
+ "returns": "[?]"
228
+ },
229
+ "sort": {
230
+ "signature": "sort(a: [?], cmp: (?, ?) -> int) -> [?]",
231
+ "description": "Sorts an array using the comparison function.",
232
+ "type": "function",
233
+ "module": "ds/array",
234
+ "returns": "[?]"
235
+ },
236
+ "exists": {
237
+ "signature": "exists(a: [?], fn: (?) -> bool) -> bool",
238
+ "description": "Returns true if any element satisfies the predicate.",
239
+ "type": "function",
240
+ "module": "ds/array",
241
+ "returns": "bool"
242
+ },
243
+ "forall": {
244
+ "signature": "forall(a: [?], fn: (?) -> bool) -> bool",
245
+ "description": "Returns true if all elements satisfy the predicate.",
246
+ "type": "function",
247
+ "module": "ds/array",
248
+ "returns": "bool"
249
+ },
250
+ "find": {
251
+ "signature": "find(a: [?], fn: (?) -> bool) -> Maybe<?>",
252
+ "description": "Finds the first element that satisfies the predicate.",
253
+ "type": "function",
254
+ "module": "ds/array",
255
+ "returns": "Maybe<?>"
256
+ },
257
+ "makeTree": {
258
+ "signature": "makeTree() -> Tree<?, ??>",
259
+ "description": "Creates an empty balanced binary tree (map).",
260
+ "type": "function",
261
+ "module": "ds/tree",
262
+ "returns": "Tree<?, ??>"
263
+ },
264
+ "setTree": {
265
+ "signature": "setTree(tree: Tree<?, ??>, key: ?, value: ??) -> Tree<?, ??>",
266
+ "description": "Inserts or updates a key-value pair in the balanced tree.",
267
+ "type": "function",
268
+ "module": "ds/tree",
269
+ "returns": "Tree<?, ??>"
270
+ },
271
+ "lookupTree": {
272
+ "signature": "lookupTree(tree: Tree<?, ??>, key: ?) -> Maybe<??>",
273
+ "description": "Looks up a value by key in the balanced tree.",
274
+ "type": "function",
275
+ "module": "ds/tree",
276
+ "returns": "Maybe<??>"
277
+ },
278
+ "removeFromTree": {
279
+ "signature": "removeFromTree(tree: Tree<?, ??>, key: ?) -> Tree<?, ??>",
280
+ "description": "Removes a key-value pair from the tree.",
281
+ "type": "function",
282
+ "module": "ds/tree",
283
+ "returns": "Tree<?, ??>"
284
+ },
285
+ "makeSet": {
286
+ "signature": "makeSet() -> Set<?>",
287
+ "description": "Creates an empty set.",
288
+ "type": "function",
289
+ "module": "ds/set",
290
+ "returns": "Set<?>"
291
+ },
292
+ "insertSet": {
293
+ "signature": "insertSet(set: Set<?>, val: ?) -> Set<?>",
294
+ "description": "Inserts a value into the set.",
295
+ "type": "function",
296
+ "module": "ds/set",
297
+ "returns": "Set<?>"
298
+ },
299
+ "containsSet": {
300
+ "signature": "containsSet(set: Set<?>, val: ?) -> bool",
301
+ "description": "Checks if the set contains the value.",
302
+ "type": "function",
303
+ "module": "ds/set",
304
+ "returns": "bool"
305
+ },
306
+ "println": {
307
+ "signature": "println(s: string) -> void",
308
+ "description": "Prints a string followed by a newline.",
309
+ "type": "function",
310
+ "module": "runtime",
311
+ "returns": "void"
312
+ },
313
+ "i2s": {
314
+ "signature": "i2s(i: int) -> string",
315
+ "description": "Converts an integer to a string.",
316
+ "type": "function",
317
+ "module": "runtime",
318
+ "returns": "string"
319
+ },
320
+ "s2i": {
321
+ "signature": "s2i(s: string) -> int",
322
+ "description": "Converts a string to an integer.",
323
+ "type": "function",
324
+ "module": "runtime",
325
+ "returns": "int"
326
+ },
327
+ "d2s": {
328
+ "signature": "d2s(d: double) -> string",
329
+ "description": "Converts a double to a string.",
330
+ "type": "function",
331
+ "module": "runtime",
332
+ "returns": "string"
333
+ },
334
+ "s2d": {
335
+ "signature": "s2d(s: string) -> double",
336
+ "description": "Converts a string to a double.",
337
+ "type": "function",
338
+ "module": "runtime",
339
+ "returns": "double"
340
+ },
341
+ "strlen": {
342
+ "signature": "strlen(s: string) -> int",
343
+ "description": "Returns the length of a string.",
344
+ "type": "function",
345
+ "module": "runtime",
346
+ "returns": "int"
347
+ },
348
+ "strContainsAt": {
349
+ "signature": "strContainsAt(s: string, pos: int, sub: string) -> bool",
350
+ "description": "Checks if s contains sub at position pos.",
351
+ "type": "function",
352
+ "module": "runtime",
353
+ "returns": "bool"
354
+ },
355
+ "substring": {
356
+ "signature": "substring(s: string, start: int, len: int) -> string",
357
+ "description": "Returns a substring starting at start with length len.",
358
+ "type": "function",
359
+ "module": "runtime",
360
+ "returns": "string"
154
361
  }
155
362
  }
156
- }
363
+ }
@@ -171,6 +171,288 @@
171
171
  "description": "Defines a reusable template fragment (macro) with optional parameters and default values. Macros are called with the <@name> syntax and support nested content via <#nested>. They enable DRY template design by encapsulating repeated layout patterns.",
172
172
  "type": "keyword",
173
173
  "module": "FreeMarker Directives"
174
+ },
175
+ "if": {
176
+ "signature": "<#if condition>...</#if>",
177
+ "description": "Conditional directive. Evaluates and renders content if the condition is true.",
178
+ "type": "directive",
179
+ "module": "FreeMarker"
180
+ },
181
+ "else": {
182
+ "signature": "<#else>",
183
+ "description": "Else branch of an if directive.",
184
+ "type": "directive",
185
+ "module": "FreeMarker"
186
+ },
187
+ "elseif": {
188
+ "signature": "<#elseif condition>",
189
+ "description": "Else-if branch of an if directive.",
190
+ "type": "directive",
191
+ "module": "FreeMarker"
192
+ },
193
+ "list": {
194
+ "signature": "<#list sequence as item>...</#list>",
195
+ "description": "Iterates over a sequence (array/collection). The most commonly used looping directive.",
196
+ "type": "directive",
197
+ "module": "FreeMarker"
198
+ },
199
+ "assign": {
200
+ "signature": "<#assign name=value>",
201
+ "description": "Creates or replaces a variable in the current namespace.",
202
+ "type": "directive",
203
+ "module": "FreeMarker"
204
+ },
205
+ "include": {
206
+ "signature": "<#include path>",
207
+ "description": "Processes a specified template and includes the output.",
208
+ "type": "directive",
209
+ "module": "FreeMarker"
210
+ },
211
+ "import": {
212
+ "signature": "<#import path as namespace>",
213
+ "description": "Imports a library and assigns it to a namespace variable.",
214
+ "type": "directive",
215
+ "module": "FreeMarker"
216
+ },
217
+ "macro": {
218
+ "signature": "<#macro name param1 param2>...</#macro>",
219
+ "description": "Defines a macro (reusable template fragment) with parameters.",
220
+ "type": "directive",
221
+ "module": "FreeMarker"
222
+ },
223
+ "function": {
224
+ "signature": "<#function name param1 param2>...<#return value></#function>",
225
+ "description": "Defines a function that returns a value.",
226
+ "type": "directive",
227
+ "module": "FreeMarker"
228
+ },
229
+ "switch": {
230
+ "signature": "<#switch value><#case refValue>...<#break><#default>...</#switch>",
231
+ "description": "Multi-branch selection based on value comparison.",
232
+ "type": "directive",
233
+ "module": "FreeMarker"
234
+ },
235
+ "attempt": {
236
+ "signature": "<#attempt>...<#recover>...</#attempt>",
237
+ "description": "Error handling. Renders recover block if attempt fails.",
238
+ "type": "directive",
239
+ "module": "FreeMarker"
240
+ },
241
+ "setting": {
242
+ "signature": "<#setting name=value>",
243
+ "description": "Sets FreeMarker engine settings (locale, number_format, date_format, etc.).",
244
+ "type": "directive",
245
+ "module": "FreeMarker"
246
+ },
247
+ "interpolation": {
248
+ "signature": "${expression}",
249
+ "description": "Outputs the value of an expression. The primary output mechanism.",
250
+ "type": "syntax",
251
+ "module": "FreeMarker"
252
+ },
253
+ "?string": {
254
+ "signature": "value?string",
255
+ "description": "Converts a value to a string representation.",
256
+ "type": "builtin",
257
+ "module": "FreeMarker"
258
+ },
259
+ "?number": {
260
+ "signature": "value?number",
261
+ "description": "Converts a string to a number.",
262
+ "type": "builtin",
263
+ "module": "FreeMarker"
264
+ },
265
+ "?size": {
266
+ "signature": "sequence?size",
267
+ "description": "Returns the number of elements in a sequence or hash.",
268
+ "type": "builtin",
269
+ "module": "FreeMarker"
270
+ },
271
+ "?has_content": {
272
+ "signature": "value?has_content",
273
+ "description": "Returns true if the value is not null, not empty, and not a blank string.",
274
+ "type": "builtin",
275
+ "module": "FreeMarker"
276
+ },
277
+ "?upper_case": {
278
+ "signature": "string?upper_case",
279
+ "description": "Converts the string to upper case.",
280
+ "type": "builtin",
281
+ "module": "FreeMarker"
282
+ },
283
+ "?lower_case": {
284
+ "signature": "string?lower_case",
285
+ "description": "Converts the string to lower case.",
286
+ "type": "builtin",
287
+ "module": "FreeMarker"
288
+ },
289
+ "?trim": {
290
+ "signature": "string?trim",
291
+ "description": "Removes leading and trailing whitespace.",
292
+ "type": "builtin",
293
+ "module": "FreeMarker"
294
+ },
295
+ "?replace": {
296
+ "signature": "string?replace(what, with)",
297
+ "description": "Replaces all occurrences of a substring.",
298
+ "type": "builtin",
299
+ "module": "FreeMarker"
300
+ },
301
+ "?split": {
302
+ "signature": "string?split(separator)",
303
+ "description": "Splits a string into a sequence by separator.",
304
+ "type": "builtin",
305
+ "module": "FreeMarker"
306
+ },
307
+ "?starts_with": {
308
+ "signature": "string?starts_with(prefix)",
309
+ "description": "Returns true if the string starts with the given prefix.",
310
+ "type": "builtin",
311
+ "module": "FreeMarker"
312
+ },
313
+ "?contains": {
314
+ "signature": "string?contains(substring)",
315
+ "description": "Returns true if the string contains the given substring.",
316
+ "type": "builtin",
317
+ "module": "FreeMarker"
318
+ },
319
+ "?index_of": {
320
+ "signature": "string?index_of(substring)",
321
+ "description": "Returns the index of the first occurrence of substring, or -1.",
322
+ "type": "builtin",
323
+ "module": "FreeMarker"
324
+ },
325
+ "?length": {
326
+ "signature": "string?length",
327
+ "description": "Returns the length of the string.",
328
+ "type": "builtin",
329
+ "module": "FreeMarker"
330
+ },
331
+ "?first": {
332
+ "signature": "sequence?first",
333
+ "description": "Returns the first element of a sequence.",
334
+ "type": "builtin",
335
+ "module": "FreeMarker"
336
+ },
337
+ "?last": {
338
+ "signature": "sequence?last",
339
+ "description": "Returns the last element of a sequence.",
340
+ "type": "builtin",
341
+ "module": "FreeMarker"
342
+ },
343
+ "?sort_by": {
344
+ "signature": "sequence?sort_by(key)",
345
+ "description": "Returns the sequence sorted by the specified sub-variable.",
346
+ "type": "builtin",
347
+ "module": "FreeMarker"
348
+ },
349
+ "?filter": {
350
+ "signature": "sequence?filter(item -> condition)",
351
+ "description": "Returns a new sequence containing only elements for which the condition is true.",
352
+ "type": "builtin",
353
+ "module": "FreeMarker"
354
+ },
355
+ "?map": {
356
+ "signature": "sequence?map(item -> expression)",
357
+ "description": "Returns a new sequence where each element is the result of the expression.",
358
+ "type": "builtin",
359
+ "module": "FreeMarker"
360
+ },
361
+ "?join": {
362
+ "signature": "sequence?join(separator)",
363
+ "description": "Concatenates elements of a sequence into a string with the given separator.",
364
+ "type": "builtin",
365
+ "module": "FreeMarker"
366
+ },
367
+ "?keys": {
368
+ "signature": "hash?keys",
369
+ "description": "Returns a sequence containing all keys of the hash.",
370
+ "type": "builtin",
371
+ "module": "FreeMarker"
372
+ },
373
+ "?values": {
374
+ "signature": "hash?values",
375
+ "description": "Returns a sequence containing all values of the hash.",
376
+ "type": "builtin",
377
+ "module": "FreeMarker"
378
+ },
379
+ "?date": {
380
+ "signature": "value?date",
381
+ "description": "Converts a value to a date.",
382
+ "type": "builtin",
383
+ "module": "FreeMarker"
384
+ },
385
+ "?datetime": {
386
+ "signature": "value?datetime",
387
+ "description": "Converts a value to a date-time.",
388
+ "type": "builtin",
389
+ "module": "FreeMarker"
390
+ },
391
+ "?html": {
392
+ "signature": "string?html",
393
+ "description": "HTML-encodes the string (escapes <, >, &, \").",
394
+ "type": "builtin",
395
+ "module": "FreeMarker"
396
+ },
397
+ "?url": {
398
+ "signature": "string?url",
399
+ "description": "URL-encodes the string.",
400
+ "type": "builtin",
401
+ "module": "FreeMarker"
402
+ },
403
+ "?j_string": {
404
+ "signature": "string?j_string",
405
+ "description": "Escapes the string for use in a Java or JavaScript string literal.",
406
+ "type": "builtin",
407
+ "module": "FreeMarker"
408
+ },
409
+ "?json_string": {
410
+ "signature": "string?json_string",
411
+ "description": "Escapes the string for use in a JSON string value.",
412
+ "type": "builtin",
413
+ "module": "FreeMarker"
414
+ },
415
+ "?is_string": {
416
+ "signature": "value?is_string",
417
+ "description": "Returns true if the value is a string.",
418
+ "type": "builtin",
419
+ "module": "FreeMarker"
420
+ },
421
+ "?is_number": {
422
+ "signature": "value?is_number",
423
+ "description": "Returns true if the value is a number.",
424
+ "type": "builtin",
425
+ "module": "FreeMarker"
426
+ },
427
+ "?is_boolean": {
428
+ "signature": "value?is_boolean",
429
+ "description": "Returns true if the value is a boolean.",
430
+ "type": "builtin",
431
+ "module": "FreeMarker"
432
+ },
433
+ "?is_sequence": {
434
+ "signature": "value?is_sequence",
435
+ "description": "Returns true if the value is a sequence.",
436
+ "type": "builtin",
437
+ "module": "FreeMarker"
438
+ },
439
+ "?is_hash": {
440
+ "signature": "value?is_hash",
441
+ "description": "Returns true if the value is a hash.",
442
+ "type": "builtin",
443
+ "module": "FreeMarker"
444
+ },
445
+ "??": {
446
+ "signature": "value??",
447
+ "description": "Missing value test operator. Returns true if the variable exists and is not null.",
448
+ "type": "operator",
449
+ "module": "FreeMarker"
450
+ },
451
+ "!": {
452
+ "signature": "value!default",
453
+ "description": "Default value operator. Returns default if value is missing.",
454
+ "type": "operator",
455
+ "module": "FreeMarker"
174
456
  }
175
457
  }
176
- }
458
+ }