@enjoys/context-engine 1.3.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 (593) hide show
  1. package/data/codeActions/angular.json +126 -0
  2. package/data/codeActions/nestjs.json +124 -0
  3. package/data/codeActions/nextjs.json +198 -0
  4. package/data/codeActions/react.json +154 -0
  5. package/data/codeActions/shadcn.json +112 -0
  6. package/data/codeActions/shell.json +169 -26
  7. package/data/codeLens/angular.json +22 -0
  8. package/data/codeLens/awk.json +1 -1
  9. package/data/codeLens/azcli.json +10 -10
  10. package/data/codeLens/c.json +1 -1
  11. package/data/codeLens/caddy.json +1 -1
  12. package/data/codeLens/crontab.json +1 -1
  13. package/data/codeLens/doctest.json +10 -10
  14. package/data/codeLens/hcl.json +1 -1
  15. package/data/codeLens/html.json +1 -1
  16. package/data/codeLens/lua.json +1 -1
  17. package/data/codeLens/nestjs.json +21 -0
  18. package/data/codeLens/nextjs.json +117 -0
  19. package/data/codeLens/nginx.json +1 -1
  20. package/data/codeLens/pla.json +10 -10
  21. package/data/codeLens/react.json +89 -0
  22. package/data/codeLens/shadcn.json +89 -0
  23. package/data/codeLens/shell.json +59 -17
  24. package/data/codeLens/tailwindcss.json +56 -0
  25. package/data/codeLens/xml.json +1 -1
  26. package/data/color/angular.json +21 -0
  27. package/data/color/nestjs.json +18 -0
  28. package/data/color/nextjs.json +22 -0
  29. package/data/color/react.json +93 -0
  30. package/data/color/shadcn.json +66 -0
  31. package/data/color/shell.json +106 -80
  32. package/data/commands/angular.json +670 -0
  33. package/data/commands/c.json +30 -30
  34. package/data/commands/cpp.json +30 -30
  35. package/data/commands/crontab.json +25 -30
  36. package/data/commands/cypher.json +26 -30
  37. package/data/commands/dockerfile.json +26 -2
  38. package/data/commands/doctest.json +23 -24
  39. package/data/commands/dotenv.json +24 -11
  40. package/data/commands/ecl.json +26 -30
  41. package/data/commands/flow9.json +24 -24
  42. package/data/commands/freemarker2.json +24 -18
  43. package/data/commands/graphql.json +25 -11
  44. package/data/commands/html.json +25 -11
  45. package/data/commands/ini.json +26 -12
  46. package/data/commands/javascript.json +29 -30
  47. package/data/commands/less.json +25 -29
  48. package/data/commands/lexon.json +23 -11
  49. package/data/commands/liquid.json +26 -11
  50. package/data/commands/m3.json +26 -12
  51. package/data/commands/manifest.json +35 -726
  52. package/data/commands/markdown.json +26 -12
  53. package/data/commands/mdx.json +23 -10
  54. package/data/commands/mips.json +26 -18
  55. package/data/commands/msdax.json +23 -11
  56. package/data/commands/nestjs.json +516 -0
  57. package/data/commands/nextjs.json +250 -0
  58. package/data/commands/objective-c.json +26 -24
  59. package/data/commands/pascal.json +27 -24
  60. package/data/commands/pascaligo.json +26 -24
  61. package/data/commands/perl.json +30 -30
  62. package/data/commands/pla.json +23 -11
  63. package/data/commands/postiats.json +26 -24
  64. package/data/commands/powerquery.json +23 -11
  65. package/data/commands/powershell.json +28 -30
  66. package/data/commands/protobuf.json +27 -30
  67. package/data/commands/qsharp.json +26 -30
  68. package/data/commands/razor.json +25 -29
  69. package/data/commands/react.json +244 -0
  70. package/data/commands/redshift.json +27 -18
  71. package/data/commands/restructuredtext.json +29 -30
  72. package/data/commands/sb.json +23 -11
  73. package/data/commands/scheme.json +25 -18
  74. package/data/commands/scss.json +26 -29
  75. package/data/commands/shadcn.json +564 -0
  76. package/data/commands/shell.json +571 -41
  77. package/data/commands/sol.json +27 -30
  78. package/data/commands/sparql.json +25 -11
  79. package/data/commands/sql.json +16 -2
  80. package/data/commands/ssh_config.json +31 -30
  81. package/data/commands/st.json +23 -11
  82. package/data/commands/systemverilog.json +26 -24
  83. package/data/commands/tailwindcss.json +60 -53
  84. package/data/commands/tcl.json +23 -18
  85. package/data/commands/toml.json +25 -11
  86. package/data/commands/twig.json +23 -10
  87. package/data/commands/vb.json +27 -24
  88. package/data/commands/wgsl.json +24 -11
  89. package/data/commands/yaml.json +29 -30
  90. package/data/completion/angular.json +1490 -0
  91. package/data/completion/awk.json +906 -202
  92. package/data/completion/azcli.json +886 -237
  93. package/data/completion/bicep.json +862 -367
  94. package/data/completion/crontab.json +906 -202
  95. package/data/completion/css.json +793 -0
  96. package/data/completion/dotenv.json +895 -169
  97. package/data/completion/graphql.json +895 -180
  98. package/data/completion/hcl.json +906 -191
  99. package/data/completion/ini.json +906 -136
  100. package/data/completion/json.json +895 -169
  101. package/data/completion/lexon.json +856 -295
  102. package/data/completion/makefile.json +906 -202
  103. package/data/completion/markdown.json +906 -224
  104. package/data/completion/mdx.json +895 -87
  105. package/data/completion/mips.json +872 -377
  106. package/data/completion/nestjs.json +1454 -0
  107. package/data/completion/nextjs.json +1373 -0
  108. package/data/completion/perl.json +961 -202
  109. package/data/completion/pla.json +895 -154
  110. package/data/completion/powershell.json +906 -224
  111. package/data/completion/protobuf.json +884 -180
  112. package/data/completion/react.json +1319 -0
  113. package/data/completion/shadcn.json +1202 -0
  114. package/data/completion/shell.json +2446 -510
  115. package/data/completion/ssh_config.json +906 -158
  116. package/data/completion/xml.json +906 -158
  117. package/data/declaration/angular.json +46 -0
  118. package/data/declaration/nestjs.json +47 -0
  119. package/data/declaration/nextjs.json +274 -0
  120. package/data/declaration/react.json +199 -0
  121. package/data/declaration/shadcn.json +211 -0
  122. package/data/declaration/shell.json +343 -24
  123. package/data/declaration/tailwindcss.json +72 -0
  124. package/data/definition/abap.json +127 -1
  125. package/data/definition/angular.json +670 -0
  126. package/data/definition/apex.json +97 -1
  127. package/data/definition/coffee.json +51 -1
  128. package/data/definition/dart.json +105 -1
  129. package/data/definition/elixir.json +115 -1
  130. package/data/definition/flow9.json +208 -1
  131. package/data/definition/freemarker2.json +283 -1
  132. package/data/definition/html.json +853 -558
  133. package/data/definition/java.json +1127 -183
  134. package/data/definition/kotlin.json +72 -1
  135. package/data/definition/nestjs.json +684 -0
  136. package/data/definition/nextjs.json +439 -0
  137. package/data/definition/r.json +692 -83
  138. package/data/definition/react.json +397 -0
  139. package/data/definition/ruby.json +789 -669
  140. package/data/definition/rust.json +852 -206
  141. package/data/definition/sb.json +339 -1
  142. package/data/definition/shadcn.json +99 -0
  143. package/data/definition/shell.json +820 -0
  144. package/data/definition/st.json +367 -1
  145. package/data/documentHighlight/angular.json +414 -0
  146. package/data/documentHighlight/css.json +77 -2
  147. package/data/documentHighlight/nestjs.json +115 -0
  148. package/data/documentHighlight/nextjs.json +212 -0
  149. package/data/documentHighlight/react.json +119 -0
  150. package/data/documentHighlight/shadcn.json +168 -0
  151. package/data/documentHighlight/shell.json +664 -334
  152. package/data/documentHighlight/tailwindcss.json +105 -10
  153. package/data/documentRangeFormatting/angular.json +45 -0
  154. package/data/documentRangeFormatting/nestjs.json +57 -0
  155. package/data/documentRangeFormatting/nextjs.json +57 -0
  156. package/data/documentRangeFormatting/react.json +82 -0
  157. package/data/documentRangeFormatting/shadcn.json +45 -0
  158. package/data/documentRangeFormatting/shell.json +120 -53
  159. package/data/documentSymbol/abap.json +54 -12
  160. package/data/documentSymbol/angular.json +180 -0
  161. package/data/documentSymbol/apex.json +40 -10
  162. package/data/documentSymbol/awk.json +15 -1
  163. package/data/documentSymbol/bicep.json +39 -39
  164. package/data/documentSymbol/c.json +1 -1
  165. package/data/documentSymbol/clojure.json +46 -46
  166. package/data/documentSymbol/css.json +96 -96
  167. package/data/documentSymbol/dart.json +109 -19
  168. package/data/documentSymbol/dockerfile.json +1 -1
  169. package/data/documentSymbol/elixir.json +39 -39
  170. package/data/documentSymbol/go.json +1 -1
  171. package/data/documentSymbol/graphql.json +1 -1
  172. package/data/documentSymbol/hcl.json +1 -1
  173. package/data/documentSymbol/html.json +29 -1
  174. package/data/documentSymbol/java.json +1 -1
  175. package/data/documentSymbol/javascript.json +1 -1
  176. package/data/documentSymbol/julia.json +46 -46
  177. package/data/documentSymbol/kotlin.json +74 -14
  178. package/data/documentSymbol/less.json +25 -25
  179. package/data/documentSymbol/lua.json +22 -1
  180. package/data/documentSymbol/makefile.json +15 -1
  181. package/data/documentSymbol/markdown.json +36 -1
  182. package/data/documentSymbol/mysql.json +32 -32
  183. package/data/documentSymbol/nestjs.json +152 -0
  184. package/data/documentSymbol/nextjs.json +159 -0
  185. package/data/documentSymbol/nginx.json +1 -1
  186. package/data/documentSymbol/pascal.json +46 -46
  187. package/data/documentSymbol/perl.json +1 -1
  188. package/data/documentSymbol/pgsql.json +39 -39
  189. package/data/documentSymbol/php.json +1 -1
  190. package/data/documentSymbol/powershell.json +1 -1
  191. package/data/documentSymbol/protobuf.json +1 -1
  192. package/data/documentSymbol/python.json +1 -1
  193. package/data/documentSymbol/r.json +67 -67
  194. package/data/documentSymbol/react.json +145 -0
  195. package/data/documentSymbol/redshift.json +60 -18
  196. package/data/documentSymbol/ruby.json +1 -1
  197. package/data/documentSymbol/rust.json +1 -1
  198. package/data/documentSymbol/scala.json +116 -20
  199. package/data/documentSymbol/scheme.json +25 -25
  200. package/data/documentSymbol/scss.json +39 -39
  201. package/data/documentSymbol/shadcn.json +131 -0
  202. package/data/documentSymbol/shell.json +165 -25
  203. package/data/documentSymbol/sql.json +1 -1
  204. package/data/documentSymbol/swift.json +88 -16
  205. package/data/documentSymbol/tailwindcss.json +49 -0
  206. package/data/documentSymbol/typescript.json +1 -1
  207. package/data/documentSymbol/vb.json +53 -53
  208. package/data/documentSymbol/yaml.json +1 -1
  209. package/data/foldingRange/angular.json +100 -0
  210. package/data/foldingRange/nestjs.json +94 -0
  211. package/data/foldingRange/nextjs.json +94 -0
  212. package/data/foldingRange/react.json +118 -0
  213. package/data/foldingRange/shadcn.json +94 -0
  214. package/data/foldingRange/shell.json +106 -46
  215. package/data/formatting/abap.json +19 -11
  216. package/data/formatting/angular.json +63 -0
  217. package/data/formatting/apex.json +19 -11
  218. package/data/formatting/awk.json +1 -1
  219. package/data/formatting/azcli.json +18 -18
  220. package/data/formatting/bicep.json +18 -18
  221. package/data/formatting/c.json +1 -1
  222. package/data/formatting/caddy.json +1 -1
  223. package/data/formatting/cameligo.json +18 -18
  224. package/data/formatting/clojure.json +18 -18
  225. package/data/formatting/coffee.json +18 -18
  226. package/data/formatting/cpp.json +1 -1
  227. package/data/formatting/crontab.json +1 -1
  228. package/data/formatting/csharp.json +1 -1
  229. package/data/formatting/css.json +73 -73
  230. package/data/formatting/cypher.json +18 -18
  231. package/data/formatting/dart.json +43 -15
  232. package/data/formatting/docker-compose.json +24 -24
  233. package/data/formatting/dockerfile.json +1 -1
  234. package/data/formatting/doctest.json +18 -18
  235. package/data/formatting/dotenv.json +1 -1
  236. package/data/formatting/ecl.json +18 -18
  237. package/data/formatting/elixir.json +43 -18
  238. package/data/formatting/flow9.json +18 -18
  239. package/data/formatting/freemarker2.json +18 -18
  240. package/data/formatting/go.json +1 -1
  241. package/data/formatting/graphql.json +1 -1
  242. package/data/formatting/hcl.json +26 -1
  243. package/data/formatting/html.json +26 -1
  244. package/data/formatting/ini.json +1 -1
  245. package/data/formatting/java.json +1 -1
  246. package/data/formatting/javascript.json +1 -1
  247. package/data/formatting/julia.json +18 -18
  248. package/data/formatting/kotlin.json +33 -13
  249. package/data/formatting/less.json +48 -18
  250. package/data/formatting/lexon.json +18 -18
  251. package/data/formatting/liquid.json +18 -18
  252. package/data/formatting/lua.json +1 -1
  253. package/data/formatting/m3.json +18 -18
  254. package/data/formatting/makefile.json +1 -1
  255. package/data/formatting/markdown.json +26 -1
  256. package/data/formatting/mdx.json +18 -18
  257. package/data/formatting/mips.json +18 -18
  258. package/data/formatting/msdax.json +18 -18
  259. package/data/formatting/mysql.json +43 -18
  260. package/data/formatting/nestjs.json +23 -0
  261. package/data/formatting/nextjs.json +23 -0
  262. package/data/formatting/nginx.json +1 -1
  263. package/data/formatting/objective-c.json +18 -18
  264. package/data/formatting/pascal.json +18 -18
  265. package/data/formatting/pascaligo.json +18 -18
  266. package/data/formatting/perl.json +1 -1
  267. package/data/formatting/pgsql.json +43 -18
  268. package/data/formatting/php.json +1 -1
  269. package/data/formatting/pla.json +18 -18
  270. package/data/formatting/postiats.json +18 -18
  271. package/data/formatting/powerquery.json +18 -18
  272. package/data/formatting/powershell.json +1 -1
  273. package/data/formatting/protobuf.json +1 -1
  274. package/data/formatting/python.json +1 -1
  275. package/data/formatting/qsharp.json +18 -18
  276. package/data/formatting/r.json +32 -32
  277. package/data/formatting/razor.json +18 -18
  278. package/data/formatting/react.json +71 -0
  279. package/data/formatting/redis-cli.json +1 -1
  280. package/data/formatting/redis.json +18 -18
  281. package/data/formatting/redshift.json +43 -18
  282. package/data/formatting/restructuredtext.json +18 -18
  283. package/data/formatting/ruby.json +1 -1
  284. package/data/formatting/rust.json +1 -1
  285. package/data/formatting/sb.json +18 -18
  286. package/data/formatting/scala.json +48 -16
  287. package/data/formatting/scheme.json +18 -18
  288. package/data/formatting/scss.json +48 -18
  289. package/data/formatting/shadcn.json +63 -0
  290. package/data/formatting/shell.json +102 -18
  291. package/data/formatting/sol.json +18 -18
  292. package/data/formatting/sparql.json +18 -18
  293. package/data/formatting/sql.json +1 -1
  294. package/data/formatting/ssh_config.json +1 -1
  295. package/data/formatting/st.json +18 -18
  296. package/data/formatting/swift.json +58 -18
  297. package/data/formatting/systemd.json +1 -1
  298. package/data/formatting/systemverilog.json +18 -18
  299. package/data/formatting/tcl.json +18 -18
  300. package/data/formatting/toml.json +1 -1
  301. package/data/formatting/twig.json +18 -18
  302. package/data/formatting/typescript.json +1 -1
  303. package/data/formatting/vb.json +18 -18
  304. package/data/formatting/wgsl.json +18 -18
  305. package/data/formatting/xml.json +26 -1
  306. package/data/formatting/yaml.json +1 -1
  307. package/data/hover/angular.json +455 -0
  308. package/data/hover/apex.json +281 -6
  309. package/data/hover/awk.json +251 -6
  310. package/data/hover/crontab.json +251 -6
  311. package/data/hover/css.json +232 -0
  312. package/data/hover/dotenv.json +242 -4
  313. package/data/hover/graphql.json +251 -6
  314. package/data/hover/lexon.json +250 -5
  315. package/data/hover/markdown.json +226 -9
  316. package/data/hover/mdx.json +250 -5
  317. package/data/hover/nestjs.json +296 -0
  318. package/data/hover/nextjs.json +305 -0
  319. package/data/hover/perl.json +251 -6
  320. package/data/hover/pla.json +264 -5
  321. package/data/hover/powershell.json +252 -7
  322. package/data/hover/protobuf.json +251 -6
  323. package/data/hover/react.json +173 -0
  324. package/data/hover/redis.json +355 -40
  325. package/data/hover/shadcn.json +450 -0
  326. package/data/hover/shell.json +684 -75
  327. package/data/hover/ssh_config.json +251 -6
  328. package/data/hover/xml.json +231 -7
  329. package/data/implementation/angular.json +22 -0
  330. package/data/implementation/nestjs.json +24 -0
  331. package/data/implementation/nextjs.json +137 -0
  332. package/data/implementation/react.json +125 -0
  333. package/data/implementation/shadcn.json +89 -0
  334. package/data/implementation/shell.json +59 -3
  335. package/data/inlayHints/angular.json +24 -0
  336. package/data/inlayHints/nestjs.json +24 -0
  337. package/data/inlayHints/nextjs.json +143 -0
  338. package/data/inlayHints/react.json +177 -0
  339. package/data/inlayHints/shadcn.json +109 -0
  340. package/data/inlayHints/shell.json +223 -35
  341. package/data/inlineCompletions/angular.json +135 -0
  342. package/data/inlineCompletions/c.json +49 -1
  343. package/data/inlineCompletions/cpp.json +61 -1
  344. package/data/inlineCompletions/csharp.json +73 -1
  345. package/data/inlineCompletions/css.json +125 -125
  346. package/data/inlineCompletions/dart.json +136 -26
  347. package/data/inlineCompletions/elixir.json +34 -34
  348. package/data/inlineCompletions/go.json +67 -1
  349. package/data/inlineCompletions/html.json +1 -1
  350. package/data/inlineCompletions/java.json +67 -1
  351. package/data/inlineCompletions/javascript.json +97 -1
  352. package/data/inlineCompletions/kotlin.json +88 -18
  353. package/data/inlineCompletions/less.json +76 -28
  354. package/data/inlineCompletions/lua.json +37 -1
  355. package/data/inlineCompletions/mysql.json +34 -34
  356. package/data/inlineCompletions/nestjs.json +25 -0
  357. package/data/inlineCompletions/nextjs.json +179 -0
  358. package/data/inlineCompletions/pgsql.json +34 -34
  359. package/data/inlineCompletions/php.json +43 -1
  360. package/data/inlineCompletions/python.json +73 -1
  361. package/data/inlineCompletions/react.json +203 -0
  362. package/data/inlineCompletions/ruby.json +49 -1
  363. package/data/inlineCompletions/rust.json +61 -1
  364. package/data/inlineCompletions/scala.json +130 -25
  365. package/data/inlineCompletions/scss.json +34 -34
  366. package/data/inlineCompletions/shadcn.json +115 -0
  367. package/data/inlineCompletions/shell.json +184 -34
  368. package/data/inlineCompletions/sql.json +43 -1
  369. package/data/inlineCompletions/swift.json +112 -22
  370. package/data/inlineCompletions/typescript.json +97 -1
  371. package/data/linkedEditingRange/angular.json +23 -0
  372. package/data/linkedEditingRange/azcli.json +6 -6
  373. package/data/linkedEditingRange/crontab.json +6 -6
  374. package/data/linkedEditingRange/docker-compose.json +6 -6
  375. package/data/linkedEditingRange/doctest.json +6 -6
  376. package/data/linkedEditingRange/dotenv.json +13 -6
  377. package/data/linkedEditingRange/ini.json +13 -6
  378. package/data/linkedEditingRange/json.json +13 -6
  379. package/data/linkedEditingRange/lexon.json +6 -6
  380. package/data/linkedEditingRange/mips.json +6 -6
  381. package/data/linkedEditingRange/msdax.json +6 -6
  382. package/data/linkedEditingRange/nestjs.json +18 -0
  383. package/data/linkedEditingRange/nextjs.json +24 -0
  384. package/data/linkedEditingRange/pla.json +6 -6
  385. package/data/linkedEditingRange/react.json +74 -0
  386. package/data/linkedEditingRange/redis-cli.json +6 -6
  387. package/data/linkedEditingRange/redis.json +6 -6
  388. package/data/linkedEditingRange/shadcn.json +23 -0
  389. package/data/linkedEditingRange/shell.json +25 -25
  390. package/data/linkedEditingRange/ssh_config.json +6 -6
  391. package/data/linkedEditingRange/systemd.json +6 -6
  392. package/data/linkedEditingRange/toml.json +13 -6
  393. package/data/linkedEditingRange/wgsl.json +6 -6
  394. package/data/linkedEditingRange/xml.json +13 -13
  395. package/data/linkedEditingRange/yaml.json +13 -6
  396. package/data/links/angular.json +95 -0
  397. package/data/links/nestjs.json +130 -0
  398. package/data/links/nextjs.json +91 -0
  399. package/data/links/react.json +75 -0
  400. package/data/links/shadcn.json +98 -0
  401. package/data/links/shell.json +56 -0
  402. package/data/links/tailwindcss.json +25 -0
  403. package/data/manifest.json +339 -152
  404. package/data/onTypeFormatting/angular.json +63 -0
  405. package/data/onTypeFormatting/nestjs.json +64 -0
  406. package/data/onTypeFormatting/nextjs.json +72 -0
  407. package/data/onTypeFormatting/react.json +148 -0
  408. package/data/onTypeFormatting/shadcn.json +63 -0
  409. package/data/onTypeFormatting/shell.json +72 -68
  410. package/data/rangeSemanticTokens/angular.json +196 -0
  411. package/data/rangeSemanticTokens/nestjs.json +195 -0
  412. package/data/rangeSemanticTokens/nextjs.json +199 -0
  413. package/data/rangeSemanticTokens/react.json +77 -0
  414. package/data/rangeSemanticTokens/shadcn.json +203 -0
  415. package/data/rangeSemanticTokens/shell.json +247 -69
  416. package/data/rangeSemanticTokens/tailwindcss.json +99 -8
  417. package/data/references/angular.json +26 -0
  418. package/data/references/nestjs.json +24 -0
  419. package/data/references/nextjs.json +178 -0
  420. package/data/references/react.json +192 -0
  421. package/data/references/shadcn.json +101 -0
  422. package/data/references/shell.json +323 -92
  423. package/data/references/tailwindcss.json +66 -0
  424. package/data/rename/angular.json +121 -0
  425. package/data/rename/nestjs.json +122 -0
  426. package/data/rename/nextjs.json +116 -0
  427. package/data/rename/react.json +133 -0
  428. package/data/rename/shadcn.json +73 -0
  429. package/data/rename/shell.json +101 -31
  430. package/data/selectionRange/abap.json +58 -34
  431. package/data/selectionRange/angular.json +126 -0
  432. package/data/selectionRange/apex.json +58 -34
  433. package/data/selectionRange/awk.json +56 -34
  434. package/data/selectionRange/azcli.json +43 -24
  435. package/data/selectionRange/bicep.json +56 -34
  436. package/data/selectionRange/c.json +62 -39
  437. package/data/selectionRange/caddy.json +53 -34
  438. package/data/selectionRange/cameligo.json +56 -34
  439. package/data/selectionRange/clojure.json +57 -34
  440. package/data/selectionRange/coffee.json +59 -34
  441. package/data/selectionRange/cpp.json +73 -44
  442. package/data/selectionRange/crontab.json +39 -29
  443. package/data/selectionRange/csharp.json +69 -39
  444. package/data/selectionRange/css.json +95 -55
  445. package/data/selectionRange/cypher.json +57 -34
  446. package/data/selectionRange/dart.json +65 -34
  447. package/data/selectionRange/docker-compose.json +54 -34
  448. package/data/selectionRange/dockerfile.json +56 -34
  449. package/data/selectionRange/doctest.json +47 -24
  450. package/data/selectionRange/dotenv.json +33 -24
  451. package/data/selectionRange/ecl.json +58 -34
  452. package/data/selectionRange/elixir.json +63 -34
  453. package/data/selectionRange/flow9.json +57 -34
  454. package/data/selectionRange/freemarker2.json +58 -34
  455. package/data/selectionRange/go.json +64 -39
  456. package/data/selectionRange/graphql.json +58 -34
  457. package/data/selectionRange/hcl.json +56 -34
  458. package/data/selectionRange/html.json +63 -34
  459. package/data/selectionRange/ini.json +38 -24
  460. package/data/selectionRange/java.json +68 -39
  461. package/data/selectionRange/javascript.json +65 -39
  462. package/data/selectionRange/julia.json +65 -39
  463. package/data/selectionRange/kotlin.json +68 -39
  464. package/data/selectionRange/less.json +58 -34
  465. package/data/selectionRange/lexon.json +38 -24
  466. package/data/selectionRange/liquid.json +58 -34
  467. package/data/selectionRange/lua.json +59 -34
  468. package/data/selectionRange/m3.json +57 -34
  469. package/data/selectionRange/makefile.json +53 -34
  470. package/data/selectionRange/markdown.json +57 -34
  471. package/data/selectionRange/mdx.json +63 -34
  472. package/data/selectionRange/mips.json +43 -29
  473. package/data/selectionRange/msdax.json +52 -34
  474. package/data/selectionRange/mysql.json +51 -34
  475. package/data/selectionRange/nestjs.json +35 -0
  476. package/data/selectionRange/nextjs.json +35 -0
  477. package/data/selectionRange/nginx.json +53 -34
  478. package/data/selectionRange/objective-c.json +64 -39
  479. package/data/selectionRange/pascal.json +53 -34
  480. package/data/selectionRange/pascaligo.json +57 -34
  481. package/data/selectionRange/perl.json +59 -34
  482. package/data/selectionRange/pgsql.json +50 -34
  483. package/data/selectionRange/php.json +65 -39
  484. package/data/selectionRange/pla.json +52 -29
  485. package/data/selectionRange/postiats.json +61 -34
  486. package/data/selectionRange/powerquery.json +56 -34
  487. package/data/selectionRange/powershell.json +65 -39
  488. package/data/selectionRange/protobuf.json +58 -34
  489. package/data/selectionRange/python.json +66 -39
  490. package/data/selectionRange/qsharp.json +62 -39
  491. package/data/selectionRange/r.json +57 -34
  492. package/data/selectionRange/razor.json +63 -34
  493. package/data/selectionRange/react.json +103 -0
  494. package/data/selectionRange/redis-cli.json +38 -24
  495. package/data/selectionRange/redis.json +38 -24
  496. package/data/selectionRange/redshift.json +49 -34
  497. package/data/selectionRange/restructuredtext.json +58 -34
  498. package/data/selectionRange/ruby.json +65 -39
  499. package/data/selectionRange/rust.json +73 -44
  500. package/data/selectionRange/sb.json +43 -29
  501. package/data/selectionRange/scala.json +65 -39
  502. package/data/selectionRange/scheme.json +52 -34
  503. package/data/selectionRange/scss.json +58 -34
  504. package/data/selectionRange/shadcn.json +120 -0
  505. package/data/selectionRange/shell.json +64 -34
  506. package/data/selectionRange/sol.json +63 -39
  507. package/data/selectionRange/sparql.json +58 -34
  508. package/data/selectionRange/sql.json +50 -34
  509. package/data/selectionRange/ssh_config.json +37 -29
  510. package/data/selectionRange/st.json +49 -29
  511. package/data/selectionRange/swift.json +73 -44
  512. package/data/selectionRange/systemd.json +47 -34
  513. package/data/selectionRange/systemverilog.json +62 -39
  514. package/data/selectionRange/tailwindcss.json +49 -34
  515. package/data/selectionRange/tcl.json +57 -34
  516. package/data/selectionRange/toml.json +49 -29
  517. package/data/selectionRange/twig.json +58 -34
  518. package/data/selectionRange/typescript.json +75 -44
  519. package/data/selectionRange/vb.json +59 -39
  520. package/data/selectionRange/wgsl.json +61 -34
  521. package/data/selectionRange/xml.json +51 -34
  522. package/data/selectionRange/yaml.json +54 -34
  523. package/data/semanticTokens/angular.json +269 -0
  524. package/data/semanticTokens/nestjs.json +245 -0
  525. package/data/semanticTokens/nextjs.json +265 -0
  526. package/data/semanticTokens/react.json +230 -0
  527. package/data/semanticTokens/shadcn.json +235 -0
  528. package/data/semanticTokens/shell.json +238 -65
  529. package/data/signatureHelp/angular.json +182 -0
  530. package/data/signatureHelp/nestjs.json +201 -0
  531. package/data/signatureHelp/nextjs.json +185 -0
  532. package/data/signatureHelp/react.json +285 -0
  533. package/data/signatureHelp/shadcn.json +237 -0
  534. package/data/signatureHelp/shell.json +797 -104
  535. package/data/typeDefinition/angular.json +362 -0
  536. package/data/typeDefinition/nestjs.json +334 -0
  537. package/data/typeDefinition/nextjs.json +285 -0
  538. package/data/typeDefinition/react.json +236 -0
  539. package/data/typeDefinition/shadcn.json +292 -0
  540. package/data/typeDefinition/shell.json +104 -40
  541. package/package.json +1 -1
  542. package/data/codeActions/bash.json +0 -169
  543. package/data/codeActions/zsh.json +0 -49
  544. package/data/codeLens/bash.json +0 -75
  545. package/data/codeLens/zsh.json +0 -19
  546. package/data/color/bash.json +0 -100
  547. package/data/color/zsh.json +0 -80
  548. package/data/commands/bash.json +0 -102
  549. package/data/commands/zsh.json +0 -166
  550. package/data/completion/bash.json +0 -1184
  551. package/data/completion/zsh.json +0 -973
  552. package/data/declaration/bash.json +0 -301
  553. package/data/declaration/zsh.json +0 -205
  554. package/data/definition/bash.json +0 -565
  555. package/data/definition/zsh.json +0 -350
  556. package/data/documentHighlight/bash.json +0 -393
  557. package/data/documentHighlight/zsh.json +0 -266
  558. package/data/documentRangeFormatting/bash.json +0 -41
  559. package/data/documentRangeFormatting/zsh.json +0 -59
  560. package/data/documentSymbol/bash.json +0 -124
  561. package/data/documentSymbol/zsh.json +0 -26
  562. package/data/foldingRange/bash.json +0 -76
  563. package/data/foldingRange/zsh.json +0 -46
  564. package/data/formatting/bash.json +0 -88
  565. package/data/formatting/zsh.json +0 -28
  566. package/data/hover/bash.json +0 -579
  567. package/data/hover/zsh.json +0 -96
  568. package/data/implementation/bash.json +0 -44
  569. package/data/implementation/zsh.json +0 -41
  570. package/data/inlayHints/bash.json +0 -207
  571. package/data/inlayHints/zsh.json +0 -43
  572. package/data/inlineCompletions/bash.json +0 -155
  573. package/data/inlineCompletions/zsh.json +0 -17
  574. package/data/linkedEditingRange/bash.json +0 -25
  575. package/data/linkedEditingRange/zsh.json +0 -25
  576. package/data/links/bash.json +0 -56
  577. package/data/links/zsh.json +0 -15
  578. package/data/onTypeFormatting/bash.json +0 -68
  579. package/data/onTypeFormatting/zsh.json +0 -68
  580. package/data/rangeSemanticTokens/bash.json +0 -90
  581. package/data/rangeSemanticTokens/zsh.json +0 -76
  582. package/data/references/bash.json +0 -221
  583. package/data/references/zsh.json +0 -166
  584. package/data/rename/bash.json +0 -37
  585. package/data/rename/zsh.json +0 -31
  586. package/data/selectionRange/bash.json +0 -35
  587. package/data/selectionRange/zsh.json +0 -35
  588. package/data/semanticTokens/bash.json +0 -71
  589. package/data/semanticTokens/zsh.json +0 -71
  590. package/data/signatureHelp/bash.json +0 -111
  591. package/data/signatureHelp/zsh.json +0 -118
  592. package/data/typeDefinition/bash.json +0 -95
  593. package/data/typeDefinition/zsh.json +0 -40
@@ -4,7 +4,7 @@
4
4
  "variable": {
5
5
  "contents": [
6
6
  {
7
- "value": "```bash\nKEY=value\nDATABASE_URL=postgres://localhost/mydb\nPORT=3000\n```\n**Environment variables** are key-value pairs. No spaces around `=`. Values are strings by default. Apps parse types themselves."
7
+ "value": "```bash\nKEY=value\nDATABASE_URL=postgres://localhost/mydb\nPORT=3000\n```\n**Environment variables** are key-value pairs. No spaces around `=`. Values are strings by default."
8
8
  }
9
9
  ]
10
10
  },
@@ -18,7 +18,21 @@
18
18
  "quoted": {
19
19
  "contents": [
20
20
  {
21
- "value": "```bash\nSINGLE='literal $value'\nDOUBLE=\"expanded ${VAR}\"\nUNQUOTED=no-spaces-allowed\n```\n**Quoting** rules: Single quotes are literal. Double quotes allow variable expansion. Unquoted values end at whitespace/newline."
21
+ "value": "```bash\nSINGLE='literal $value'\nDOUBLE=\"expanded ${VAR}\"\nUNQUOTED=no-spaces-allowed\n```\n**Quoting** Single quotes are literal. Double quotes expand variables. Unquoted values end at whitespace."
22
+ }
23
+ ]
24
+ },
25
+ "interpolation": {
26
+ "contents": [
27
+ {
28
+ "value": "```bash\nBASE_URL=https://api.example.com\nAPI_URL=${BASE_URL}/v1\nFULL_URL=${API_URL}/users\n```\n**Variable interpolation** uses `${VAR}` inside double-quoted or unquoted values. Not all dotenv libraries support this."
29
+ }
30
+ ]
31
+ },
32
+ "multiline": {
33
+ "contents": [
34
+ {
35
+ "value": "```bash\nPRIVATE_KEY=\"-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEA...\n-----END RSA PRIVATE KEY-----\"\n```\n**Multiline values** use double quotes. Newlines inside quotes are preserved."
22
36
  }
23
37
  ]
24
38
  },
@@ -32,14 +46,238 @@
32
46
  "security": {
33
47
  "contents": [
34
48
  {
35
- "value": "```bash\n# .gitignore:\n.env\n.env.local\n.env.*.local\n\n# .env.example (commit this):\nDATABASE_URL=\nAPI_KEY=\nSECRET_KEY=\n```\n**Security** - Never commit `.env` files with secrets. Use `.env.example` as a template for required variables."
49
+ "value": "```bash\n# .gitignore:\n.env\n.env.local\n.env.*.local\n\n# .env.example (commit this):\nDATABASE_URL=\nAPI_KEY=\n```\n**Security** Never commit `.env` files with secrets. Use `.env.example` as a template."
36
50
  }
37
51
  ]
38
52
  },
39
53
  "loading": {
40
54
  "contents": [
41
55
  {
42
- "value": "```bash\n# Load order (typical):\n# 1. .env (shared defaults)\n# 2. .env.local (local overrides)\n# 3. .env.development (environment-specific)\n# 4. .env.development.local\n```\n**Loading priority** varies by framework. Later files override earlier ones. System env vars usually take highest priority."
56
+ "value": "```bash\n# Load order (typical):\n# 1. .env (shared defaults)\n# 2. .env.local (local overrides)\n# 3. .env.development (environment-specific)\n# 4. .env.development.local\n```\n**Loading priority** varies by framework. System env vars usually take highest priority."
57
+ }
58
+ ]
59
+ },
60
+ "PORT": {
61
+ "contents": [
62
+ {
63
+ "value": "```bash\nPORT=3000\n```\n**PORT** specifies the network port for the application server. Common default: 3000 (Node), 8000 (Python), 8080 (Java)."
64
+ }
65
+ ]
66
+ },
67
+ "NODE_ENV": {
68
+ "contents": [
69
+ {
70
+ "value": "```bash\nNODE_ENV=development\nNODE_ENV=production\nNODE_ENV=test\n```\n**NODE_ENV** controls the Node.js runtime mode. `production` enables optimizations and disables dev tools."
71
+ }
72
+ ]
73
+ },
74
+ "API_KEY": {
75
+ "contents": [
76
+ {
77
+ "value": "```bash\nAPI_KEY=sk_live_abc123def456\nSTRIPE_SECRET_KEY=sk_test_...\n```\n**API_KEY** stores third-party service credentials. Never commit to version control."
78
+ }
79
+ ]
80
+ },
81
+ "SECRET_KEY": {
82
+ "contents": [
83
+ {
84
+ "value": "```bash\nSECRET_KEY=your-256-bit-secret\nJWT_SECRET=randomly-generated-string\n```\n**SECRET_KEY** is used for cryptographic signing (sessions, JWTs). Generate with a secure random method."
85
+ }
86
+ ]
87
+ },
88
+ "DEBUG": {
89
+ "contents": [
90
+ {
91
+ "value": "```bash\nDEBUG=true\nDEBUG=app:*,http\nDEBUG=false\n```\n**DEBUG** enables debug mode. Some frameworks use boolean, others use namespace patterns (e.g., Express debug module)."
92
+ }
93
+ ]
94
+ },
95
+ "LOG_LEVEL": {
96
+ "contents": [
97
+ {
98
+ "value": "```bash\nLOG_LEVEL=debug\nLOG_LEVEL=info\nLOG_LEVEL=warn\nLOG_LEVEL=error\n```\n**LOG_LEVEL** controls logging verbosity. Common levels: `debug`, `info`, `warn`, `error`, `fatal`."
99
+ }
100
+ ]
101
+ },
102
+ "HOST": {
103
+ "contents": [
104
+ {
105
+ "value": "```bash\nHOST=0.0.0.0\nHOST=localhost\nHOST=127.0.0.1\n```\n**HOST** specifies the network interface to bind. `0.0.0.0` listens on all interfaces, `localhost` only local."
106
+ }
107
+ ]
108
+ },
109
+ "REDIS_URL": {
110
+ "contents": [
111
+ {
112
+ "value": "```bash\nREDIS_URL=redis://localhost:6379\nREDIS_URL=redis://:password@host:6379/0\nREDIS_URL=rediss://host:6380 # TLS\n```\n**REDIS_URL** connection string for Redis. `rediss://` for TLS connections."
113
+ }
114
+ ]
115
+ },
116
+ "SMTP": {
117
+ "contents": [
118
+ {
119
+ "value": "```bash\nSMTP_HOST=smtp.gmail.com\nSMTP_PORT=587\nSMTP_USER=user@gmail.com\nSMTP_PASS=app-password\nSMTP_FROM=noreply@example.com\n```\n**SMTP** variables configure email sending. Use app-specific passwords, not account passwords."
120
+ }
121
+ ]
122
+ },
123
+ "AWS": {
124
+ "contents": [
125
+ {
126
+ "value": "```bash\nAWS_ACCESS_KEY_ID=AKIA...\nAWS_SECRET_ACCESS_KEY=...\nAWS_DEFAULT_REGION=us-east-1\nAWS_S3_BUCKET=my-bucket\n```\n**AWS** environment variables are recognized by the AWS SDK automatically. IAM roles are preferred for production."
127
+ }
128
+ ]
129
+ },
130
+ "CORS": {
131
+ "contents": [
132
+ {
133
+ "value": "```bash\nCORS_ORIGIN=https://example.com\nCORS_ORIGINS=https://example.com,https://app.example.com\nCORS_CREDENTIALS=true\n```\n**CORS** settings control Cross-Origin Resource Sharing. Comma-separated for multiple origins."
134
+ }
135
+ ]
136
+ },
137
+ "ALLOWED_HOSTS": {
138
+ "contents": [
139
+ {
140
+ "value": "```bash\nALLOWED_HOSTS=example.com,www.example.com\nALLOWED_HOSTS=*\n```\n**ALLOWED_HOSTS** (Django/similar) restricts which hostnames the server responds to. `*` allows all (insecure in production)."
141
+ }
142
+ ]
143
+ },
144
+ "TZ": {
145
+ "contents": [
146
+ {
147
+ "value": "```bash\nTZ=UTC\nTZ=America/New_York\nTZ=Europe/London\n```\n**TZ** sets the timezone. Use IANA timezone names. `UTC` is recommended for servers."
148
+ }
149
+ ]
150
+ },
151
+ "LANG": {
152
+ "contents": [
153
+ {
154
+ "value": "```bash\nLANG=en_US.UTF-8\n```\n**LANG** sets the locale for language and character encoding."
155
+ }
156
+ ]
157
+ },
158
+ "BASE_URL": {
159
+ "contents": [
160
+ {
161
+ "value": "```bash\nBASE_URL=https://api.example.com\nNEXT_PUBLIC_BASE_URL=https://example.com\nVITE_API_URL=https://api.example.com\n```\n**BASE_URL** is the root URL for the application. Prefix conventions: `NEXT_PUBLIC_` (Next.js), `VITE_` (Vite) for client-side exposure."
162
+ }
163
+ ]
164
+ },
165
+ "NEXT_PUBLIC": {
166
+ "contents": [
167
+ {
168
+ "value": "```bash\n# Exposed to browser (Next.js):\nNEXT_PUBLIC_API_URL=https://api.example.com\nNEXT_PUBLIC_GA_ID=G-XXXXXXX\n\n# Server-only (not exposed):\nDATABASE_URL=postgresql://...\n```\n**NEXT_PUBLIC_** prefix exposes variables to the browser in Next.js. Without prefix, variables are server-only."
169
+ }
170
+ ]
171
+ },
172
+ "VITE_prefix": {
173
+ "contents": [
174
+ {
175
+ "value": "```bash\n# Exposed to browser (Vite):\nVITE_API_URL=https://api.example.com\nVITE_APP_TITLE=My App\n\n# Server-only:\nDB_PASSWORD=secret\n```\n**VITE_** prefix exposes variables to the browser in Vite projects via `import.meta.env.VITE_*`."
176
+ }
177
+ ]
178
+ },
179
+ "REACT_APP": {
180
+ "contents": [
181
+ {
182
+ "value": "```bash\n# Create React App:\nREACT_APP_API_URL=https://api.example.com\nREACT_APP_VERSION=$npm_package_version\n```\n**REACT_APP_** prefix exposes variables in Create React App via `process.env.REACT_APP_*`."
183
+ }
184
+ ]
185
+ },
186
+ "empty_value": {
187
+ "contents": [
188
+ {
189
+ "value": "```bash\nVAR= # empty string\nVAR=\"\" # empty string (explicit)\n# VAR # not set (commented)\n```\n**Empty values** — An empty value (`=` with nothing after) is different from an unset variable."
190
+ }
191
+ ]
192
+ },
193
+ "escape": {
194
+ "contents": [
195
+ {
196
+ "value": "```bash\nQUOTE_VAR=\"value with \\\"quotes\\\"\"\nNEWLINE_VAR=\"line1\\nline2\"\nDOLLAR_VAR='price is $5'\n```\n**Escape sequences** — Use `\\\"` for quotes in double-quoted values. Single quotes prevent all interpretation."
197
+ }
198
+ ]
199
+ },
200
+ "export": {
201
+ "contents": [
202
+ {
203
+ "value": "```bash\nexport DATABASE_URL=postgres://localhost/mydb\nexport API_KEY=abc123\n```\n**export** prefix is optional and ignored by most dotenv libraries. Included for shell compatibility."
204
+ }
205
+ ]
206
+ },
207
+ "dotenv_cli": {
208
+ "contents": [
209
+ {
210
+ "value": "```bash\n# Load .env and run command:\ndotenv run -- npm start\nnpx dotenv -e .env.local -- node app.js\nenv $(cat .env | xargs) node app.js\n```\n**dotenv CLI** loads .env files before executing a command. Useful for tools that don't load .env natively."
211
+ }
212
+ ]
213
+ },
214
+ "docker": {
215
+ "contents": [
216
+ {
217
+ "value": "```bash\n# docker-compose.yml:\n# env_file:\n# - .env\n# - .env.local\n\n# docker run --env-file .env myimage\n```\n**Docker** can load .env files directly via `--env-file` flag or `env_file` in compose."
218
+ }
219
+ ]
220
+ },
221
+ "override": {
222
+ "contents": [
223
+ {
224
+ "value": "```bash\n# System environment variables override .env:\n# export PORT=8080 (takes precedence)\n# .env: PORT=3000 (only used if not already set)\n```\n**Override behavior** — Most dotenv libraries don't replace existing env vars. System vars take precedence."
225
+ }
226
+ ]
227
+ },
228
+ "vault": {
229
+ "contents": [
230
+ {
231
+ "value": "```bash\n# Instead of .env files in production, use:\n# - HashiCorp Vault\n# - AWS Secrets Manager\n# - Azure Key Vault\n# - GCP Secret Manager\n# - 1Password CLI\nDATABASE_URL=op://vault/db/url # 1Password reference\n```\n**Secret management** — In production, use dedicated secret managers instead of .env files."
232
+ }
233
+ ]
234
+ },
235
+ "encoding": {
236
+ "contents": [
237
+ {
238
+ "value": "```bash\n# .env files should be UTF-8 encoded\n# Most parsers expect Unix-style line endings (LF)\n# Windows CRLF is usually handled but can cause issues\n```\n**Encoding** — Use UTF-8 with LF line endings for maximum compatibility."
239
+ }
240
+ ]
241
+ },
242
+ "CI_CD": {
243
+ "contents": [
244
+ {
245
+ "value": "```bash\n# CI/CD variables (set in pipeline settings):\nCI=true\nCI_COMMIT_SHA=abc123\nGITHUB_TOKEN=ghp_...\nNPM_TOKEN=npm_...\n```\n**CI/CD variables** are set by the pipeline environment, not .env files. Never store CI secrets in .env."
246
+ }
247
+ ]
248
+ },
249
+ "SENTRY_DSN": {
250
+ "contents": [
251
+ {
252
+ "value": "```bash\nSENTRY_DSN=https://abc@sentry.io/123\n```\n**SENTRY_DSN** configures error tracking with Sentry. The DSN (Data Source Name) identifies your project."
253
+ }
254
+ ]
255
+ },
256
+ "GOOGLE_OAUTH": {
257
+ "contents": [
258
+ {
259
+ "value": "```bash\nGOOGLE_CLIENT_ID=xxx.apps.googleusercontent.com\nGOOGLE_CLIENT_SECRET=GOCSPX-...\nGOOGLE_CALLBACK_URL=http://localhost:3000/auth/callback\n```\n**OAuth credentials** for Google authentication. Keep client secret out of version control."
260
+ }
261
+ ]
262
+ },
263
+ "MONGO_URI": {
264
+ "contents": [
265
+ {
266
+ "value": "```bash\nMONGO_URI=mongodb://localhost:27017/mydb\nMONGO_URI=mongodb+srv://user:pass@cluster.mongodb.net/mydb\n```\n**MONGO_URI** connection string for MongoDB. `mongodb+srv://` for Atlas cloud clusters."
267
+ }
268
+ ]
269
+ },
270
+ "S3_ENDPOINT": {
271
+ "contents": [
272
+ {
273
+ "value": "```bash\nS3_BUCKET=my-bucket\nS3_REGION=us-east-1\nS3_ENDPOINT=https://s3.us-east-1.amazonaws.com\n```\n**S3 configuration** for file storage. Custom endpoint allows using S3-compatible services (MinIO, R2)."
274
+ }
275
+ ]
276
+ },
277
+ "SESSION_SECRET": {
278
+ "contents": [
279
+ {
280
+ "value": "```bash\nSESSION_SECRET=random-32-char-string-here\nCOOKIE_DOMAIN=.example.com\nCOOKIE_SECURE=true\n```\n**Session configuration** for server-side sessions. SECRET should be cryptographically random."
43
281
  }
44
282
  ]
45
283
  }
@@ -4,42 +4,287 @@
4
4
  "type": {
5
5
  "contents": [
6
6
  {
7
- "value": "```graphql\ntype User {\n id: ID!\n name: String!\n email: String\n posts: [Post!]!\n role: Role!\n createdAt: DateTime!\n}\n```\n**type** defines an object with fields. `!` means non-null, `[Type]` means list. Fields can have arguments."
7
+ "value": "```graphql\ntype User {\n id: ID!\n name: String!\n email: String\n posts: [Post!]!\n role: Role!\n}\n```\n**type** defines an object with fields. `!` means non-null, `[Type]` means list."
8
8
  }
9
9
  ]
10
10
  },
11
11
  "query": {
12
12
  "contents": [
13
13
  {
14
- "value": "```graphql\n# Schema definition:\ntype Query {\n user(id: ID!): User\n users(limit: Int = 10): [User!]!\n}\n\n# Client query:\nquery GetUser($id: ID!) {\n user(id: $id) {\n name\n email\n posts { title }\n }\n}\n```\n**Query** is the read-only entry point. Variables prefixed with `$` are passed separately from the query."
14
+ "value": "```graphql\ntype Query {\n user(id: ID!): User\n users(limit: Int = 10): [User!]!\n}\n\nquery GetUser($id: ID!) {\n user(id: $id) { name email }\n}\n```\n**Query** is the read-only entry point. Variables prefixed with `$` are passed separately."
15
15
  }
16
16
  ]
17
17
  },
18
18
  "mutation": {
19
19
  "contents": [
20
20
  {
21
- "value": "```graphql\nmutation CreateUser($input: CreateUserInput!) {\n createUser(input: $input) {\n id\n name\n }\n}\n\n# Variables:\n# { \"input\": { \"name\": \"John\", \"email\": \"john@example.com\" } }\n```\n**Mutation** modifies server data. Use input types for complex arguments. Returns the modified data."
21
+ "value": "```graphql\nmutation CreateUser($input: CreateUserInput!) {\n createUser(input: $input) {\n id\n name\n }\n}\n```\n**Mutation** modifies server data. Use input types for complex arguments."
22
+ }
23
+ ]
24
+ },
25
+ "subscription": {
26
+ "contents": [
27
+ {
28
+ "value": "```graphql\ntype Subscription {\n messageAdded(channelId: ID!): Message!\n userStatusChanged: UserStatus!\n}\n\nsubscription OnMessage($channelId: ID!) {\n messageAdded(channelId: $channelId) {\n text\n sender { name }\n }\n}\n```\n**Subscription** receives real-time updates via WebSocket. Server pushes data when events occur."
22
29
  }
23
30
  ]
24
31
  },
25
32
  "fragment": {
26
33
  "contents": [
27
34
  {
28
- "value": "```graphql\nfragment UserFields on User {\n id\n name\n email\n}\n\nquery {\n user(id: \"1\") { ...UserFields }\n admin: user(id: \"2\") { ...UserFields }\n}\n```\n**fragment** avoids field duplication. Spread with `...FragmentName`. Inline fragments: `... on Type { }`."
35
+ "value": "```graphql\nfragment UserFields on User {\n id\n name\n email\n}\n\nquery {\n user(id: \"1\") { ...UserFields }\n admin: user(id: \"2\") { ...UserFields }\n}\n```\n**fragment** avoids field duplication. Spread with `...FragmentName`."
29
36
  }
30
37
  ]
31
38
  },
32
39
  "directives": {
33
40
  "contents": [
34
41
  {
35
- "value": "```graphql\n# Built-in directives:\nfield @deprecated(reason: \"Use newField\")\nfield @skip(if: $condition)\nfield @include(if: $condition)\n\n# Custom directive:\ndirective @auth(requires: Role = ADMIN) on FIELD_DEFINITION\n\ntype Mutation {\n deleteUser(id: ID!): Boolean! @auth(requires: ADMIN)\n}\n```\n**Directives** add metadata. Built-in: `@deprecated`, `@skip`, `@include`. Custom directives extend functionality."
42
+ "value": "```graphql\nfield @deprecated(reason: \"Use newField\")\nfield @skip(if: $condition)\nfield @include(if: $condition)\n\ndirective @auth(requires: Role = ADMIN) on FIELD_DEFINITION\n```\n**Directives** add metadata. Built-in: `@deprecated`, `@skip`, `@include`. Custom directives extend functionality."
36
43
  }
37
44
  ]
38
45
  },
39
46
  "scalars": {
40
47
  "contents": [
41
48
  {
42
- "value": "```graphql\n# Built-in scalars:\nID # unique identifier (serialized as String)\nString # UTF-8 text\nInt # 32-bit signed integer\nFloat # double-precision float\nBoolean # true/false\n\n# Custom scalars:\nscalar DateTime\nscalar JSON\nscalar Upload\n```\n**Scalars** are leaf types. Custom scalars need resolver implementation on the server side."
49
+ "value": "```graphql\n# Built-in:\nID # unique identifier\nString # UTF-8 text\nInt # 32-bit signed integer\nFloat # double-precision float\nBoolean # true/false\n\nscalar DateTime\nscalar JSON\n```\n**Scalars** are leaf types. Custom scalars need resolver implementation."
50
+ }
51
+ ]
52
+ },
53
+ "input": {
54
+ "contents": [
55
+ {
56
+ "value": "```graphql\ninput CreateUserInput {\n name: String!\n email: String!\n role: Role = USER\n}\n\nmutation {\n createUser(input: { name: \"John\", email: \"j@e.com\" }) { id }\n}\n```\n**input** types are used for mutation arguments. Can only contain scalars, enums, and other input types."
57
+ }
58
+ ]
59
+ },
60
+ "interface": {
61
+ "contents": [
62
+ {
63
+ "value": "```graphql\ninterface Node {\n id: ID!\n}\n\ntype User implements Node {\n id: ID!\n name: String!\n}\n\ntype Post implements Node {\n id: ID!\n title: String!\n}\n```\n**interface** defines shared fields. Types that implement an interface must include all its fields."
64
+ }
65
+ ]
66
+ },
67
+ "union": {
68
+ "contents": [
69
+ {
70
+ "value": "```graphql\nunion SearchResult = User | Post | Comment\n\nquery {\n search(term: \"hello\") {\n ... on User { name }\n ... on Post { title }\n ... on Comment { text }\n }\n}\n```\n**union** represents one of several types. Use inline fragments `... on Type` to select fields."
71
+ }
72
+ ]
73
+ },
74
+ "enum": {
75
+ "contents": [
76
+ {
77
+ "value": "```graphql\nenum Role {\n ADMIN\n USER\n MODERATOR\n}\n\nenum SortOrder {\n ASC\n DESC\n}\n```\n**enum** defines a set of allowed values. Enums are serialized as strings."
78
+ }
79
+ ]
80
+ },
81
+ "schema": {
82
+ "contents": [
83
+ {
84
+ "value": "```graphql\nschema {\n query: Query\n mutation: Mutation\n subscription: Subscription\n}\n```\n**schema** defines the root operation types. Optional if using the default names `Query`, `Mutation`, `Subscription`."
85
+ }
86
+ ]
87
+ },
88
+ "extend": {
89
+ "contents": [
90
+ {
91
+ "value": "```graphql\nextend type Query {\n posts: [Post!]!\n}\n\nextend type User {\n posts: [Post!]!\n}\n```\n**extend** adds fields to an existing type. Useful for modular schema design and federation."
92
+ }
93
+ ]
94
+ },
95
+ "implements": {
96
+ "contents": [
97
+ {
98
+ "value": "```graphql\ninterface Timestamped {\n createdAt: DateTime!\n updatedAt: DateTime!\n}\n\ntype Post implements Node & Timestamped {\n id: ID!\n createdAt: DateTime!\n updatedAt: DateTime!\n}\n```\n**implements** declares that a type fulfills one or more interfaces. Use `&` for multiple."
99
+ }
100
+ ]
101
+ },
102
+ "arguments": {
103
+ "contents": [
104
+ {
105
+ "value": "```graphql\ntype Query {\n users(\n limit: Int = 10\n offset: Int = 0\n filter: UserFilter\n sortBy: SortField = NAME\n ): [User!]!\n}\n```\n**Arguments** can have default values and be of any input type. Every field can have arguments."
106
+ }
107
+ ]
108
+ },
109
+ "variables": {
110
+ "contents": [
111
+ {
112
+ "value": "```graphql\nquery GetUser($id: ID!, $includeEmail: Boolean = false) {\n user(id: $id) {\n name\n email @include(if: $includeEmail)\n }\n}\n\n# Variables: { \"id\": \"123\", \"includeEmail\": true }\n```\n**Variables** pass dynamic values. Declared with `$name: Type` in the operation, passed as JSON."
113
+ }
114
+ ]
115
+ },
116
+ "aliases": {
117
+ "contents": [
118
+ {
119
+ "value": "```graphql\nquery {\n admin: user(id: \"1\") { name }\n viewer: user(id: \"2\") { name }\n}\n```\n**Aliases** rename result fields. Required when querying the same field with different arguments."
120
+ }
121
+ ]
122
+ },
123
+ "inline_fragment": {
124
+ "contents": [
125
+ {
126
+ "value": "```graphql\nquery {\n node(id: \"123\") {\n id\n ... on User { name email }\n ... on Post { title body }\n }\n}\n```\n**Inline fragments** `... on Type` select fields based on the concrete type. Used with unions and interfaces."
127
+ }
128
+ ]
129
+ },
130
+ "deprecated": {
131
+ "contents": [
132
+ {
133
+ "value": "```graphql\ntype User {\n id: ID!\n username: String @deprecated(reason: \"Use 'name' instead\")\n name: String!\n}\n```\n**@deprecated** marks a field or enum value as deprecated. Reason is shown in introspection and tooling."
134
+ }
135
+ ]
136
+ },
137
+ "skip": {
138
+ "contents": [
139
+ {
140
+ "value": "```graphql\nquery GetUser($skipEmail: Boolean!) {\n user(id: \"1\") {\n name\n email @skip(if: $skipEmail)\n }\n}\n```\n**@skip** excludes a field when the condition is true. Opposite of `@include`."
141
+ }
142
+ ]
143
+ },
144
+ "include": {
145
+ "contents": [
146
+ {
147
+ "value": "```graphql\nquery GetUser($withPosts: Boolean!) {\n user(id: \"1\") {\n name\n posts @include(if: $withPosts) { title }\n }\n}\n```\n**@include** includes a field only when the condition is true."
148
+ }
149
+ ]
150
+ },
151
+ "non_null": {
152
+ "contents": [
153
+ {
154
+ "value": "```graphql\ntype User {\n id: ID! # non-null scalar\n posts: [Post!]! # non-null list of non-null posts\n tags: [String] # nullable list of nullable strings\n}\n```\n**Non-null** `!` means the field never returns null. `[Type!]!` = non-null list with non-null items."
155
+ }
156
+ ]
157
+ },
158
+ "pagination": {
159
+ "contents": [
160
+ {
161
+ "value": "```graphql\ntype Query {\n users(first: Int, after: String): UserConnection!\n}\n\ntype UserConnection {\n edges: [UserEdge!]!\n pageInfo: PageInfo!\n}\n\ntype UserEdge {\n node: User!\n cursor: String!\n}\n\ntype PageInfo {\n hasNextPage: Boolean!\n endCursor: String\n}\n```\n**Relay-style pagination** uses connections, edges, and cursors. The standard pattern for paginated queries."
162
+ }
163
+ ]
164
+ },
165
+ "introspection": {
166
+ "contents": [
167
+ {
168
+ "value": "```graphql\nquery {\n __schema {\n types { name kind }\n }\n __type(name: \"User\") {\n fields { name type { name } }\n }\n}\n```\n**Introspection** queries the schema itself. `__schema` returns all types, `__type` returns details of one type."
169
+ }
170
+ ]
171
+ },
172
+ "resolver": {
173
+ "contents": [
174
+ {
175
+ "value": "```javascript\nconst resolvers = {\n Query: {\n user: (parent, args, context) => {\n return context.db.users.findById(args.id);\n }\n },\n User: {\n posts: (user, args, context) => {\n return context.db.posts.findByUserId(user.id);\n }\n }\n}\n```\n**Resolvers** are functions that fetch data for each field. Signature: `(parent, args, context, info)`."
176
+ }
177
+ ]
178
+ },
179
+ "context": {
180
+ "contents": [
181
+ {
182
+ "value": "```javascript\nconst server = new ApolloServer({\n typeDefs,\n resolvers,\n context: ({ req }) => ({\n user: getUser(req.headers.authorization),\n db: database\n })\n});\n```\n**Context** is shared across all resolvers in a request. Use for auth, database connections, and data loaders."
183
+ }
184
+ ]
185
+ },
186
+ "DataLoader": {
187
+ "contents": [
188
+ {
189
+ "value": "```javascript\nconst userLoader = new DataLoader(async (ids) => {\n const users = await db.users.findByIds(ids);\n return ids.map(id => users.find(u => u.id === id));\n});\n\n// In resolver:\nuser: (parent) => userLoader.load(parent.userId)\n```\n**DataLoader** batches and caches database requests to solve the N+1 query problem."
190
+ }
191
+ ]
192
+ },
193
+ "operation_name": {
194
+ "contents": [
195
+ {
196
+ "value": "```graphql\nquery GetUserProfile {\n user(id: \"1\") { name }\n}\n\nmutation UpdateUser {\n updateUser(id: \"1\", name: \"John\") { id }\n}\n```\n**Operation names** identify queries in logs and dev tools. Required when a document has multiple operations."
197
+ }
198
+ ]
199
+ },
200
+ "field_arguments": {
201
+ "contents": [
202
+ {
203
+ "value": "```graphql\ntype User {\n profilePicture(size: Int = 100, format: ImageFormat = JPG): String!\n friends(first: Int!, after: String): FriendConnection!\n}\n```\n**Field arguments** allow callers to customize field resolution. Support default values."
204
+ }
205
+ ]
206
+ },
207
+ "custom_directive": {
208
+ "contents": [
209
+ {
210
+ "value": "```graphql\ndirective @auth(requires: Role = ADMIN) on FIELD_DEFINITION\ndirective @cacheControl(maxAge: Int) on FIELD_DEFINITION\ndirective @deprecated(reason: String) on FIELD_DEFINITION | ENUM_VALUE\n```\n**Custom directives** extend schema behavior. Locations: `FIELD_DEFINITION`, `OBJECT`, `ARGUMENT_DEFINITION`, etc."
211
+ }
212
+ ]
213
+ },
214
+ "federation": {
215
+ "contents": [
216
+ {
217
+ "value": "```graphql\n# Service A\ntype User @key(fields: \"id\") {\n id: ID!\n name: String!\n}\n\n# Service B\nextend type User @key(fields: \"id\") {\n id: ID! @external\n orders: [Order!]!\n}\n```\n**Federation** splits a schema across multiple services. `@key` defines entity identifiers. Use Apollo Federation."
218
+ }
219
+ ]
220
+ },
221
+ "nullable": {
222
+ "contents": [
223
+ {
224
+ "value": "```graphql\ntype Query {\n user(id: ID!): User # may return null if not found\n users: [User!]! # never null, items never null\n search(term: String): [Result] # nullable list, nullable items\n}\n```\n**Nullability** — without `!`, fields can return null. Design nullability based on error handling strategy."
225
+ }
226
+ ]
227
+ },
228
+ "ID": {
229
+ "contents": [
230
+ {
231
+ "value": "```graphql\ntype User {\n id: ID!\n}\n\nquery {\n user(id: \"abc123\") { name }\n}\n```\n**ID** is a unique identifier serialized as a String. Not meant for display. Arguments accepting IDs coerce strings and integers."
232
+ }
233
+ ]
234
+ },
235
+ "String": {
236
+ "contents": [
237
+ {
238
+ "value": "```graphql\ntype User {\n name: String!\n bio: String\n}\n```\n**String** is a UTF-8 character sequence. One of the five built-in scalar types."
239
+ }
240
+ ]
241
+ },
242
+ "Int": {
243
+ "contents": [
244
+ {
245
+ "value": "```graphql\ntype Post {\n viewCount: Int!\n}\n```\n**Int** is a signed 32-bit integer. For larger values, use a custom scalar like `BigInt`."
246
+ }
247
+ ]
248
+ },
249
+ "Float": {
250
+ "contents": [
251
+ {
252
+ "value": "```graphql\ntype Product {\n price: Float!\n}\n```\n**Float** is a signed double-precision floating-point value."
253
+ }
254
+ ]
255
+ },
256
+ "Boolean": {
257
+ "contents": [
258
+ {
259
+ "value": "```graphql\ntype Feature {\n enabled: Boolean!\n}\n```\n**Boolean** represents `true` or `false`."
260
+ }
261
+ ]
262
+ },
263
+ "description": {
264
+ "contents": [
265
+ {
266
+ "value": "```graphql\n\"\"\"A registered user of the platform.\"\"\"\ntype User {\n \"The unique identifier.\"\n id: ID!\n \"The user's display name.\"\n name: String!\n}\n```\n**Descriptions** are doc strings using `\"\"\"block\"\"\"` or `\"inline\"` quotes. Shown in introspection and tooling."
267
+ }
268
+ ]
269
+ },
270
+ "input_list": {
271
+ "contents": [
272
+ {
273
+ "value": "```graphql\ninput FilterInput {\n status: [Status!]\n tags: [String!]\n dateRange: DateRangeInput\n}\n\nquery {\n posts(filter: { status: [PUBLISHED, DRAFT], tags: [\"tech\"] }) {\n title\n }\n}\n```\n**Input with lists** allows passing arrays of values for filtering and batch operations."
274
+ }
275
+ ]
276
+ },
277
+ "error_handling": {
278
+ "contents": [
279
+ {
280
+ "value": "```json\n{\n \"data\": { \"user\": null },\n \"errors\": [\n {\n \"message\": \"User not found\",\n \"path\": [\"user\"],\n \"extensions\": { \"code\": \"NOT_FOUND\" }\n }\n ]\n}\n```\n**Error responses** include both `data` and `errors`. Partial data is returned when possible. Use `extensions` for error codes."
281
+ }
282
+ ]
283
+ },
284
+ "batch_query": {
285
+ "contents": [
286
+ {
287
+ "value": "```graphql\nquery BatchQuery {\n user1: user(id: \"1\") { name }\n user2: user(id: \"2\") { name }\n recentPosts: posts(limit: 5) { title }\n}\n```\n**Batching** — Multiple queries in a single request reduces round trips. Aliases distinguish repeated fields."
43
288
  }
44
289
  ]
45
290
  }