@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,35 +4,294 @@
4
4
  "module": {
5
5
  "contents": [
6
6
  {
7
- "value": "**module** PLA keyword."
7
+ "value": "```verilog\nmodule counter (\n input wire clk,\n input wire rst,\n output reg [7:0] count\n);\n```\n**module** is the primary design unit in Verilog/PLA. Contains ports, internal logic, and behavioral descriptions."
8
8
  }
9
9
  ]
10
10
  },
11
11
  "input": {
12
12
  "contents": [
13
13
  {
14
- "value": "**input** PLA keyword."
14
+ "value": "```verilog\ninput wire clk;\ninput wire [7:0] data_in;\ninput wire enable, reset;\n```\n**input** declares input ports. Ports connect the module to external signals. Default type is `wire`."
15
15
  }
16
16
  ]
17
17
  },
18
18
  "output": {
19
19
  "contents": [
20
20
  {
21
- "value": "**output** PLA keyword."
21
+ "value": "```verilog\noutput reg [7:0] data_out;\noutput wire valid;\n```\n**output** declares output ports. Use `reg` if driven from an `always` block, `wire` for continuous assignments."
22
22
  }
23
23
  ]
24
24
  },
25
25
  "wire": {
26
26
  "contents": [
27
27
  {
28
- "value": "**wire** — PLA keyword."
28
+ "value": "```verilog\nwire [7:0] bus;\nwire select;\nwire [3:0] nibble = data[3:0];\n```\n**wire** represents a physical connection. Cannot store values continuously driven by assign or module output."
29
29
  }
30
30
  ]
31
31
  },
32
32
  "reg": {
33
33
  "contents": [
34
34
  {
35
- "value": "**reg** PLA keyword."
35
+ "value": "```verilog\nreg [7:0] counter;\nreg flag;\nreg [31:0] memory [0:255];\n```\n**reg** stores a value in procedural blocks. Despite the name, does not always synthesize to a flip-flop."
36
+ }
37
+ ]
38
+ },
39
+ "assign": {
40
+ "contents": [
41
+ {
42
+ "value": "```verilog\nassign out = a & b;\nassign sum = a ^ b ^ carry_in;\nassign {cout, sum} = a + b + cin;\n```\n**assign** creates continuous (combinational) assignments to wires. The RHS is continuously evaluated."
43
+ }
44
+ ]
45
+ },
46
+ "always": {
47
+ "contents": [
48
+ {
49
+ "value": "```verilog\nalways @(posedge clk or posedge rst) begin\n if (rst)\n count <= 8'b0;\n else\n count <= count + 1;\nend\n\nalways @(*) begin\n out = a & b;\nend\n```\n**always** block executes when sensitivity list events occur. `@(posedge clk)` for sequential, `@(*)` for combinational."
50
+ }
51
+ ]
52
+ },
53
+ "initial": {
54
+ "contents": [
55
+ {
56
+ "value": "```verilog\ninitial begin\n clk = 0;\n rst = 1;\n #10 rst = 0;\n #100 $finish;\nend\n```\n**initial** block runs once at simulation start. Used in testbenches for stimulus generation. Not synthesizable."
57
+ }
58
+ ]
59
+ },
60
+ "if_else": {
61
+ "contents": [
62
+ {
63
+ "value": "```verilog\nif (enable) begin\n data_out <= data_in;\nend else if (load) begin\n data_out <= preset;\nend else begin\n data_out <= 8'b0;\nend\n```\n**if/else** conditional statements within `always` blocks. Synthesizes to multiplexers or priority logic."
64
+ }
65
+ ]
66
+ },
67
+ "case": {
68
+ "contents": [
69
+ {
70
+ "value": "```verilog\ncase (opcode)\n 4'b0000: result = a + b;\n 4'b0001: result = a - b;\n 4'b0010: result = a & b;\n default: result = 8'b0;\nendcase\n```\n**case** statement selects among multiple values. `casex` treats X/Z as don't care. `casez` treats Z as don't care."
71
+ }
72
+ ]
73
+ },
74
+ "for_loop": {
75
+ "contents": [
76
+ {
77
+ "value": "```verilog\ninteger i;\nfor (i = 0; i < 8; i = i + 1) begin\n mem[i] = 8'b0;\nend\n\ngenvar j;\ngenerate\n for (j = 0; j < 4; j = j + 1) begin : gen_block\n assign out[j] = in[j] & enable;\n end\nendgenerate\n```\n**for** loops iterate a fixed number of times. Must be unrollable for synthesis. `genvar` for generate loops."
78
+ }
79
+ ]
80
+ },
81
+ "begin_end": {
82
+ "contents": [
83
+ {
84
+ "value": "```verilog\nalways @(posedge clk) begin\n a <= b;\n c <= d;\nend\n\nalways @(posedge clk) begin : named_block\n reg temp;\n temp = a;\nend\n```\n**begin/end** groups multiple statements into a block. Named blocks (`begin : name`) can declare local variables."
85
+ }
86
+ ]
87
+ },
88
+ "and_gate": {
89
+ "contents": [
90
+ {
91
+ "value": "```verilog\nand g1(out, a, b);\nand #5 g2(out, a, b, c); // with delay\n```\n**and** gate primitive. Outputs 1 only when all inputs are 1. Optional delay specification."
92
+ }
93
+ ]
94
+ },
95
+ "or_gate": {
96
+ "contents": [
97
+ {
98
+ "value": "```verilog\nor g1(out, a, b);\nor #3 g2(out, a, b, c, d); // multi-input\n```\n**or** gate primitive. Outputs 1 when any input is 1."
99
+ }
100
+ ]
101
+ },
102
+ "not_gate": {
103
+ "contents": [
104
+ {
105
+ "value": "```verilog\nnot g1(out, in);\nnot #2 (out1, in), (out2, in); // multiple outputs\n```\n**not** (inverter) gate primitive. Outputs the logical complement of the input."
106
+ }
107
+ ]
108
+ },
109
+ "nand_gate": {
110
+ "contents": [
111
+ {
112
+ "value": "```verilog\nnand g1(out, a, b);\n```\n**nand** gate primitive. Outputs 0 only when all inputs are 1. Universal gate — can implement any logic function."
113
+ }
114
+ ]
115
+ },
116
+ "nor_gate": {
117
+ "contents": [
118
+ {
119
+ "value": "```verilog\nnor g1(out, a, b);\n```\n**nor** gate primitive. Outputs 1 only when all inputs are 0. Also a universal gate."
120
+ }
121
+ ]
122
+ },
123
+ "xor_gate": {
124
+ "contents": [
125
+ {
126
+ "value": "```verilog\nxor g1(out, a, b);\nassign parity = ^data; // reduction XOR\n```\n**xor** gate primitive. Outputs 1 when inputs differ. Reduction XOR (`^`) computes parity."
127
+ }
128
+ ]
129
+ },
130
+ "buf": {
131
+ "contents": [
132
+ {
133
+ "value": "```verilog\nbuf g1(out, in);\nbufif1 g2(out, in, enable); // tri-state\nbufif0 g3(out, in, enable);\n```\n**buf** is a non-inverting buffer. `bufif1`/`bufif0` are tri-state buffers controlled by enable."
134
+ }
135
+ ]
136
+ },
137
+ "inout": {
138
+ "contents": [
139
+ {
140
+ "value": "```verilog\ninout wire [7:0] data_bus;\n\nassign data_bus = (drive) ? data_out : 8'bz;\nassign data_in = data_bus;\n```\n**inout** declares bidirectional ports. Drive with data or high-impedance `z`. Used for shared buses."
141
+ }
142
+ ]
143
+ },
144
+ "parameter": {
145
+ "contents": [
146
+ {
147
+ "value": "```verilog\nparameter WIDTH = 8;\nparameter DEPTH = 256;\n\nmodule fifo #(\n parameter DATA_W = 8,\n parameter ADDR_W = 4\n) (...);\n\nfifo #(.DATA_W(16), .ADDR_W(8)) my_fifo(...);\n```\n**parameter** defines compile-time constants. Override with `#()` at instantiation for parameterized designs."
148
+ }
149
+ ]
150
+ },
151
+ "localparam": {
152
+ "contents": [
153
+ {
154
+ "value": "```verilog\nlocalparam IDLE = 2'b00;\nlocalparam RUN = 2'b01;\nlocalparam DONE = 2'b10;\nlocalparam TOTAL = WIDTH * DEPTH;\n```\n**localparam** defines constants that cannot be overridden. Use for internal derived values and state encodings."
155
+ }
156
+ ]
157
+ },
158
+ "generate": {
159
+ "contents": [
160
+ {
161
+ "value": "```verilog\ngenvar i;\ngenerate\n for (i = 0; i < N; i = i + 1) begin : stage\n adder u_add(.a(a[i]), .b(b[i]), .sum(s[i]));\n end\nendgenerate\n```\n**generate** creates parameterized, replicated hardware structures. Supports `for`, `if`, and `case`."
162
+ }
163
+ ]
164
+ },
165
+ "task": {
166
+ "contents": [
167
+ {
168
+ "value": "```verilog\ntask automatic send_byte;\n input [7:0] data;\n begin\n @(posedge clk);\n tx_data <= data;\n tx_valid <= 1;\n @(posedge clk);\n tx_valid <= 0;\n end\nendtask\n```\n**task** defines reusable procedural code. Can contain timing controls and multiple statements. `automatic` for re-entrant tasks."
169
+ }
170
+ ]
171
+ },
172
+ "function": {
173
+ "contents": [
174
+ {
175
+ "value": "```verilog\nfunction [7:0] add_sat;\n input [7:0] a, b;\n reg [8:0] temp;\n begin\n temp = a + b;\n add_sat = (temp[8]) ? 8'hFF : temp[7:0];\n end\nendfunction\n```\n**function** returns a single value. Must be combinational (no timing controls). Used for calculations."
176
+ }
177
+ ]
178
+ },
179
+ "display": {
180
+ "contents": [
181
+ {
182
+ "value": "```verilog\n$display(\"Value = %d, Hex = %h\", val, val);\n$display(\"Time = %0t\", $time);\n$display(\"Binary = %b\", data);\n```\n**$display** prints formatted text to console with newline. Format: `%d` decimal, `%h` hex, `%b` binary, `%s` string, `%t` time."
183
+ }
184
+ ]
185
+ },
186
+ "monitor": {
187
+ "contents": [
188
+ {
189
+ "value": "```verilog\ninitial begin\n $monitor(\"Time=%0t clk=%b rst=%b count=%d\",\n $time, clk, rst, count);\nend\n```\n**$monitor** prints whenever any listed signal changes. Only one active monitor at a time. Use `$monitoroff`/`$monitoron`."
190
+ }
191
+ ]
192
+ },
193
+ "finish": {
194
+ "contents": [
195
+ {
196
+ "value": "```verilog\ninitial begin\n #1000 $finish;\nend\n\ninitial begin\n if (error_count > 10) $stop; // pause simulation\nend\n```\n**$finish** ends simulation. **$stop** pauses and enters interactive mode. Both used in testbenches."
197
+ }
198
+ ]
199
+ },
200
+ "time_val": {
201
+ "contents": [
202
+ {
203
+ "value": "```verilog\n$time // returns current simulation time (64-bit)\n$stime // 32-bit time\n$realtime // real-valued time\n```\n**$time** returns the current simulation time. Used with `$display` and `$monitor` for debugging."
204
+ }
205
+ ]
206
+ },
207
+ "dumpvars": {
208
+ "contents": [
209
+ {
210
+ "value": "```verilog\ninitial begin\n $dumpfile(\"wave.vcd\");\n $dumpvars(0, testbench); // dump all signals\n $dumpvars(1, uut); // depth=1\nend\n```\n**$dumpvars** generates VCD waveform output. Depth 0 = all hierarchy. View with GTKWave or similar."
211
+ }
212
+ ]
213
+ },
214
+ "timescale": {
215
+ "contents": [
216
+ {
217
+ "value": "```verilog\n`timescale 1ns / 1ps\n// time_unit / time_precision\n// #10 means 10ns delay\n// precision is 1ps (3 decimal digits)\n```\n**`timescale** sets simulation time unit and precision. Applies to all modules that follow until the next `timescale."
218
+ }
219
+ ]
220
+ },
221
+ "define_macro": {
222
+ "contents": [
223
+ {
224
+ "value": "```verilog\n`define DATA_WIDTH 32\n`define MAX(a,b) ((a)>(b)?(a):(b))\n\nwire [`DATA_WIDTH-1:0] bus;\nassign result = `MAX(x, y);\n```\n**`define** creates text macros. Referenced with backtick. Supports parameterized macros."
225
+ }
226
+ ]
227
+ },
228
+ "ifdef": {
229
+ "contents": [
230
+ {
231
+ "value": "```verilog\n`ifdef SIMULATION\n initial $display(\"Sim mode\");\n`elsif SYNTHESIS\n // synthesis-only code\n`else\n // default code\n`endif\n```\n**`ifdef/`ifndef** conditional compilation. Control code inclusion based on defined macros."
232
+ }
233
+ ]
234
+ },
235
+ "include": {
236
+ "contents": [
237
+ {
238
+ "value": "```verilog\n`include \"defines.vh\"\n`include \"interfaces.sv\"\n```\n**`include** inserts the contents of another file. Use for shared definitions, parameters, and interfaces."
239
+ }
240
+ ]
241
+ },
242
+ "concatenation": {
243
+ "contents": [
244
+ {
245
+ "value": "```verilog\nassign bus = {a, b, c}; // concatenation\nassign word = {4{nibble}}; // replication: 4 copies\nassign result = {sign, {7{1'b0}}, mantissa};\n```\n**Concatenation** `{}` joins signals. **Replication** `{n{expr}}` repeats n times."
246
+ }
247
+ ]
248
+ },
249
+ "blocking_nonblocking": {
250
+ "contents": [
251
+ {
252
+ "value": "```verilog\n// Blocking (=): sequential execution, combinational logic\nalways @(*) begin\n temp = a & b;\n out = temp | c;\nend\n\n// Non-blocking (<=): concurrent, sequential logic\nalways @(posedge clk) begin\n q1 <= d;\n q2 <= q1;\nend\n```\n**Blocking `=`** executes sequentially (combinational). **Non-blocking `<=`** updates concurrently (sequential/flip-flops)."
253
+ }
254
+ ]
255
+ },
256
+ "number_format": {
257
+ "contents": [
258
+ {
259
+ "value": "```verilog\n8'b1010_0011 // 8-bit binary\n8'hA3 // 8-bit hex\n8'd163 // 8-bit decimal\n16'o377 // 16-bit octal\n4'bx // 4-bit unknown\n4'bz // 4-bit high-impedance\n```\n**Number literals** format: `<size>'<base><value>`. Underscore `_` improves readability."
260
+ }
261
+ ]
262
+ },
263
+ "integer": {
264
+ "contents": [
265
+ {
266
+ "value": "```verilog\ninteger i;\nreal voltage;\ntime sim_time;\n\ninteger count = 0;\n```\n**integer** is a 32-bit signed type for loop variables and calculations. **real** for floating-point. **time** for simulation time."
267
+ }
268
+ ]
269
+ },
270
+ "posedge_negedge": {
271
+ "contents": [
272
+ {
273
+ "value": "```verilog\nalways @(posedge clk) // rising edge\nalways @(negedge clk) // falling edge\nalways @(posedge clk or negedge rst_n) // async reset\n```\n**posedge/negedge** detect signal transitions. Used in sensitivity lists for edge-triggered behavior."
274
+ }
275
+ ]
276
+ },
277
+ "defparam": {
278
+ "contents": [
279
+ {
280
+ "value": "```verilog\ndefparam u_fifo.WIDTH = 16;\ndefparam u_fifo.DEPTH = 1024;\n```\n**defparam** overrides parameters by hierarchical path. Deprecated — prefer `#()` parameter override."
281
+ }
282
+ ]
283
+ },
284
+ "sensitivity_list": {
285
+ "contents": [
286
+ {
287
+ "value": "```verilog\nalways @(a or b or sel) // explicit list\nalways @(*) // all inputs (Verilog-2001)\nalways_comb // SystemVerilog combinational\nalways_ff @(posedge clk) // SystemVerilog sequential\n```\n**Sensitivity list** controls when `always` blocks execute. `@(*)` automatically includes all read signals."
288
+ }
289
+ ]
290
+ },
291
+ "instantiation": {
292
+ "contents": [
293
+ {
294
+ "value": "```verilog\n// Named port connection:\nadder #(.WIDTH(8)) u_add (\n .a(operand_a),\n .b(operand_b),\n .sum(result),\n .cout(carry)\n);\n\n// Positional:\nadder u_add2(a, b, sum, cout);\n```\n**Module instantiation** creates an instance. Named ports (`.port(signal)`) preferred over positional."
36
295
  }
37
296
  ]
38
297
  }
@@ -4,49 +4,294 @@
4
4
  "function": {
5
5
  "contents": [
6
6
  {
7
- "value": "```powershell\nfunction Get-Greeting {\n param(\n [Parameter(Mandatory)]\n [string]$Name\n )\n \"Hello, $Name!\"\n}\n```\n**function** defines a reusable command. Use PascalCase with Verb-Noun naming. `param()` declares parameters."
7
+ "value": "```powershell\nfunction Get-Greeting {\n param(\n [Parameter(Mandatory)]\n [string]$Name\n )\n \"Hello, $Name!\"\n}\n```\n**function** defines a reusable command. Use Verb-Noun naming. `param()` declares parameters."
8
8
  }
9
9
  ]
10
10
  },
11
11
  "pipeline": {
12
12
  "contents": [
13
13
  {
14
- "value": "```powershell\nGet-Process |\n Where-Object { $_.CPU -gt 10 } |\n Sort-Object CPU -Descending |\n Select-Object -First 5 Name, CPU\n```\n**Pipeline** passes full .NET objects between commands (not just text like Unix pipes). Each `|` feeds output to the next command's input."
14
+ "value": "```powershell\nGet-Process |\n Where-Object { $_.CPU -gt 10 } |\n Sort-Object CPU -Descending |\n Select-Object -First 5 Name, CPU\n```\n**Pipeline** passes full .NET objects between commands (not just text)."
15
15
  }
16
16
  ]
17
17
  },
18
18
  "comparison": {
19
19
  "contents": [
20
20
  {
21
- "value": "```powershell\n$a -eq $b # equal\n$a -ne $b # not equal\n$a -gt $b # greater than\n$a -lt $b # less than\n$a -like '*.txt' # wildcard match\n$a -match '^[0-9]' # regex match\n$a -contains $b # collection contains\n```\n**Comparison operators** - PowerShell uses `-eq`, `-gt`, etc. instead of `==`, `>`. Case-insensitive by default; add `c` prefix for case-sensitive (`-ceq`)."
21
+ "value": "```powershell\n$a -eq $b # equal\n$a -ne $b # not equal\n$a -gt $b # greater than\n$a -lt $b # less than\n$a -like '*.txt' # wildcard match\n$a -match '^[0-9]' # regex match\n$a -contains $b # collection contains\n```\n**Comparison operators** use `-eq`, `-gt`, etc. Case-insensitive by default; prefix `c` for case-sensitive."
22
22
  }
23
23
  ]
24
24
  },
25
25
  "variables": {
26
26
  "contents": [
27
27
  {
28
- "value": "```powershell\n$name = \"World\" # string\n$count = 42 # integer\n$items = @(1, 2, 3) # array\n$hash = @{ a = 1 } # hashtable\n$env:PATH # environment variable\n$_ # current pipeline object\n```\n**Variables** start with `$`. PowerShell is dynamically typed. `$env:` accesses environment variables."
28
+ "value": "```powershell\n$name = 'World' # string\n$count = 42 # integer\n$items = @(1, 2, 3) # array\n$hash = @{ a = 1 } # hashtable\n$env:PATH # environment variable\n$_ # current pipeline object\n```\n**Variables** start with `$`. PowerShell is dynamically typed."
29
29
  }
30
30
  ]
31
31
  },
32
32
  "Get-Service": {
33
33
  "contents": [
34
34
  {
35
- "value": "```powershell\nGet-Service | Where-Object Status -eq 'Running'\nGet-Service -Name 'nginx'\nRestart-Service -Name 'nginx' -Force\nStop-Service -Name 'IISAdmin'\n```\n**Service cmdlets** manage Windows services. Get, Start, Stop, Restart, Set, and New are available."
35
+ "value": "```powershell\nGet-Service | Where-Object Status -eq 'Running'\nRestart-Service -Name 'nginx' -Force\n```\n**Service cmdlets** manage Windows services: Get, Start, Stop, Restart, Set."
36
36
  }
37
37
  ]
38
38
  },
39
39
  "error_handling": {
40
40
  "contents": [
41
41
  {
42
- "value": "```powershell\ntry {\n Get-Item \"nonexistent\" -ErrorAction Stop\n} catch {\n Write-Error \"Failed: $($_.Exception.Message)\"\n} finally {\n # cleanup\n}\n```\n**try/catch** handles terminating errors. Use `-ErrorAction Stop` to convert non-terminating errors."
42
+ "value": "```powershell\ntry {\n Get-Item 'nonexistent' -ErrorAction Stop\n} catch {\n Write-Error \"Failed: $($_.Exception.Message)\"\n} finally {\n # cleanup\n}\n```\n**try/catch** handles terminating errors. Use `-ErrorAction Stop` to convert non-terminating errors."
43
43
  }
44
44
  ]
45
45
  },
46
46
  "splatting": {
47
47
  "contents": [
48
48
  {
49
- "value": "```powershell\n$params = @{\n Path = 'C:\\logs'\n Filter = '*.log'\n Recurse = $true\n}\nGet-ChildItem @params\n```\n**Splatting** passes a hashtable of parameters using `@` instead of `$`. Cleaner than long single-line commands."
49
+ "value": "```powershell\n$params = @{\n Path = 'C:\\logs'\n Filter = '*.log'\n Recurse = $true\n}\nGet-ChildItem @params\n```\n**Splatting** passes a hashtable of parameters using `@` instead of `$`."
50
+ }
51
+ ]
52
+ },
53
+ "Get-ChildItem": {
54
+ "contents": [
55
+ {
56
+ "value": "```powershell\nGet-ChildItem -Path . -Recurse -Filter *.ps1\nGet-ChildItem C:\\Users -Directory\nGet-ChildItem -File | Measure-Object -Property Length -Sum\n```\n**Get-ChildItem** (alias: `ls`, `dir`, `gci`) lists directory contents. `-Recurse` for subdirectories."
57
+ }
58
+ ]
59
+ },
60
+ "Select-Object": {
61
+ "contents": [
62
+ {
63
+ "value": "```powershell\nGet-Process | Select-Object -First 5 Name, CPU\nGet-Process | Select-Object -Property Name, @{N='MB';E={$_.WorkingSet/1MB}}\n```\n**Select-Object** picks properties and limits results. Supports calculated properties with `@{N=;E=}`."
64
+ }
65
+ ]
66
+ },
67
+ "Where-Object": {
68
+ "contents": [
69
+ {
70
+ "value": "```powershell\nGet-Process | Where-Object { $_.CPU -gt 10 }\nGet-Process | Where-Object Name -like 'chrome*'\nGet-Service | Where-Object Status -eq 'Running'\n```\n**Where-Object** (alias: `where`, `?`) filters pipeline objects by condition."
71
+ }
72
+ ]
73
+ },
74
+ "ForEach-Object": {
75
+ "contents": [
76
+ {
77
+ "value": "```powershell\n1..10 | ForEach-Object { $_ * 2 }\nGet-ChildItem *.txt | ForEach-Object { $_.Name.ToUpper() }\n```\n**ForEach-Object** (alias: `%`) executes a block for each pipeline object. `$_` is the current object."
78
+ }
79
+ ]
80
+ },
81
+ "Sort-Object": {
82
+ "contents": [
83
+ {
84
+ "value": "```powershell\nGet-Process | Sort-Object CPU -Descending\nGet-ChildItem | Sort-Object Length\n```\n**Sort-Object** (alias: `sort`) orders pipeline objects by property values."
85
+ }
86
+ ]
87
+ },
88
+ "Group-Object": {
89
+ "contents": [
90
+ {
91
+ "value": "```powershell\nGet-Process | Group-Object ProcessName\nGet-ChildItem | Group-Object Extension | Sort-Object Count -Descending\n```\n**Group-Object** groups objects by a property value. Returns Name, Count, and Group."
92
+ }
93
+ ]
94
+ },
95
+ "Measure-Object": {
96
+ "contents": [
97
+ {
98
+ "value": "```powershell\nGet-ChildItem | Measure-Object -Property Length -Sum -Average\n1..100 | Measure-Object -Sum\n```\n**Measure-Object** computes statistics: Count, Sum, Average, Minimum, Maximum."
99
+ }
100
+ ]
101
+ },
102
+ "string_ops": {
103
+ "contents": [
104
+ {
105
+ "value": "```powershell\n\"Hello $name\" # variable expansion\n\"Value: $($obj.Prop)\" # expression expansion\n'Literal $no_expand' # single quotes: no expansion\n@\"\nHere-string with $vars\n\"@\n```\n**String interpolation** — Double quotes expand variables, single quotes don't. `$()` for expressions."
106
+ }
107
+ ]
108
+ },
109
+ "hashtable": {
110
+ "contents": [
111
+ {
112
+ "value": "```powershell\n$hash = @{\n Name = 'John'\n Age = 30\n}\n$hash['Name']\n$hash.Age\n$hash.Keys\n$hash.ContainsKey('Name')\n```\n**Hashtables** are key-value collections. Access with `[]` or dot notation. Ordered with `[ordered]@{}`."
113
+ }
114
+ ]
115
+ },
116
+ "array": {
117
+ "contents": [
118
+ {
119
+ "value": "```powershell\n$arr = @(1, 2, 3)\n$arr += 4\n$arr[0] # first element\n$arr[-1] # last element\n$arr[1..3] # slice\n$arr.Count\n```\n**Arrays** use `@()`. `+=` creates a new array (inefficient for large additions; use ArrayList)."
120
+ }
121
+ ]
122
+ },
123
+ "if_else": {
124
+ "contents": [
125
+ {
126
+ "value": "```powershell\nif ($condition) {\n 'true'\n} elseif ($other) {\n 'other'\n} else {\n 'false'\n}\n\n# Ternary (PS 7+):\n$result = $condition ? 'yes' : 'no'\n```\n**if/elseif/else** conditional execution. PowerShell 7+ supports ternary operator."
127
+ }
128
+ ]
129
+ },
130
+ "switch": {
131
+ "contents": [
132
+ {
133
+ "value": "```powershell\nswitch ($value) {\n 'A' { 'Alpha' }\n 'B' { 'Beta' }\n { $_ -gt 10 } { 'Large number' }\n default { 'Unknown' }\n}\n\nswitch -Regex ($text) {\n '^Error' { 'Error found' }\n}\n```\n**switch** matches values, scriptblocks, or regex patterns. Supports `-Regex`, `-Wildcard`, `-File`."
134
+ }
135
+ ]
136
+ },
137
+ "foreach": {
138
+ "contents": [
139
+ {
140
+ "value": "```powershell\nforeach ($item in $collection) {\n Write-Host $item\n}\n\n# With index:\nfor ($i = 0; $i -lt $arr.Count; $i++) {\n Write-Host \"$i: $($arr[$i])\"\n}\n```\n**foreach** statement iterates over collections. Faster than `ForEach-Object` for in-memory data."
141
+ }
142
+ ]
143
+ },
144
+ "while_do": {
145
+ "contents": [
146
+ {
147
+ "value": "```powershell\nwhile ($i -lt 10) {\n $i++\n}\n\ndo {\n $input = Read-Host 'Enter value'\n} while ($input -ne 'quit')\n```\n**while/do-while** loops. `do-while` guarantees at least one execution."
148
+ }
149
+ ]
150
+ },
151
+ "CmdletBinding": {
152
+ "contents": [
153
+ {
154
+ "value": "```powershell\nfunction Get-Data {\n [CmdletBinding()]\n param(\n [Parameter(Mandatory, ValueFromPipeline)]\n [string[]]$Name,\n [switch]$Detailed\n )\n process {\n foreach ($n in $Name) { }\n }\n}\n```\n**[CmdletBinding()]** makes a function act like a cmdlet with -Verbose, -Debug, pipeline support, etc."
155
+ }
156
+ ]
157
+ },
158
+ "Parameter": {
159
+ "contents": [
160
+ {
161
+ "value": "```powershell\nparam(\n [Parameter(Mandatory, Position=0)]\n [ValidateNotNullOrEmpty()]\n [string]$Name,\n\n [Parameter()]\n [ValidateSet('Dev','Staging','Prod')]\n [string]$Environment = 'Dev'\n)\n```\n**[Parameter()]** attributes control behavior: `Mandatory`, `Position`, `ValueFromPipeline`, `HelpMessage`."
162
+ }
163
+ ]
164
+ },
165
+ "ValidateSet": {
166
+ "contents": [
167
+ {
168
+ "value": "```powershell\nparam(\n [ValidateSet('Error','Warning','Info')]\n [string]$Level,\n\n [ValidateRange(1,100)]\n [int]$Percent,\n\n [ValidatePattern('^\\d{3}-\\d{4}$')]\n [string]$Phone\n)\n```\n**Validation attributes** — `ValidateSet`, `ValidateRange`, `ValidatePattern`, `ValidateScript`, `ValidateNotNull`."
169
+ }
170
+ ]
171
+ },
172
+ "Import-Module": {
173
+ "contents": [
174
+ {
175
+ "value": "```powershell\nImport-Module ActiveDirectory\nImport-Module Az.Accounts\nGet-Command -Module ActiveDirectory\n```\n**Import-Module** loads a PowerShell module. Modules provide cmdlets, functions, and variables."
176
+ }
177
+ ]
178
+ },
179
+ "Get-Help": {
180
+ "contents": [
181
+ {
182
+ "value": "```powershell\nGet-Help Get-Process\nGet-Help Get-Process -Full\nGet-Help Get-Process -Examples\nGet-Help about_Operators\n```\n**Get-Help** displays documentation. `-Full` for complete docs, `-Examples` for usage examples."
183
+ }
184
+ ]
185
+ },
186
+ "Get-Member": {
187
+ "contents": [
188
+ {
189
+ "value": "```powershell\nGet-Process | Get-Member\n'hello' | Get-Member -MemberType Method\n@{} | Get-Member\n```\n**Get-Member** shows properties and methods of objects. Essential for discovering what you can do with pipeline output."
190
+ }
191
+ ]
192
+ },
193
+ "Out-File": {
194
+ "contents": [
195
+ {
196
+ "value": "```powershell\nGet-Process | Out-File processes.txt\nGet-Process | Export-Csv processes.csv -NoTypeInformation\nGet-Process | ConvertTo-Json | Set-Content data.json\n```\n**Output cmdlets** — `Out-File` for text, `Export-Csv` for CSV, `ConvertTo-Json` for JSON."
197
+ }
198
+ ]
199
+ },
200
+ "Invoke-RestMethod": {
201
+ "contents": [
202
+ {
203
+ "value": "```powershell\n$response = Invoke-RestMethod -Uri 'https://api.example.com/data'\n\n$body = @{ name = 'test' } | ConvertTo-Json\nInvoke-RestMethod -Uri $url -Method Post -Body $body -ContentType 'application/json'\n```\n**Invoke-RestMethod** makes HTTP API calls. Auto-parses JSON responses into PowerShell objects."
204
+ }
205
+ ]
206
+ },
207
+ "Invoke-WebRequest": {
208
+ "contents": [
209
+ {
210
+ "value": "```powershell\n$page = Invoke-WebRequest -Uri 'https://example.com'\n$page.StatusCode\n$page.Content\n$page.Links\n```\n**Invoke-WebRequest** (alias: `iwr`) fetches web pages. Returns status, headers, content, and parsed links."
211
+ }
212
+ ]
213
+ },
214
+ "Get-Content": {
215
+ "contents": [
216
+ {
217
+ "value": "```powershell\nGet-Content file.txt\nGet-Content file.txt -Tail 10\nGet-Content file.txt -Wait # like tail -f\n$data = Get-Content data.json | ConvertFrom-Json\n```\n**Get-Content** (alias: `cat`, `gc`) reads file contents. `-Tail` for last N lines, `-Wait` for live monitoring."
218
+ }
219
+ ]
220
+ },
221
+ "Set-Content": {
222
+ "contents": [
223
+ {
224
+ "value": "```powershell\n'Hello World' | Set-Content file.txt\n$data | ConvertTo-Json | Set-Content data.json -Encoding UTF8\n'Append this' | Add-Content log.txt\n```\n**Set-Content** writes to files (overwrites). **Add-Content** appends. Specify `-Encoding` for UTF-8."
225
+ }
226
+ ]
227
+ },
228
+ "Test-Path": {
229
+ "contents": [
230
+ {
231
+ "value": "```powershell\nif (Test-Path $path) { 'Exists' }\nTest-Path $file -PathType Leaf # file\nTest-Path $dir -PathType Container # directory\n```\n**Test-Path** checks if a path exists. `-PathType Leaf` for files, `Container` for directories."
232
+ }
233
+ ]
234
+ },
235
+ "New-Item": {
236
+ "contents": [
237
+ {
238
+ "value": "```powershell\nNew-Item -Path file.txt -ItemType File\nNew-Item -Path mydir -ItemType Directory\nNew-Item -Path link -ItemType SymbolicLink -Target target\n```\n**New-Item** creates files, directories, and symbolic links."
239
+ }
240
+ ]
241
+ },
242
+ "Copy-Item": {
243
+ "contents": [
244
+ {
245
+ "value": "```powershell\nCopy-Item source.txt dest.txt\nCopy-Item -Path ./src -Destination ./backup -Recurse\n```\n**Copy-Item** copies files and directories. `-Recurse` for directory trees."
246
+ }
247
+ ]
248
+ },
249
+ "Remove-Item": {
250
+ "contents": [
251
+ {
252
+ "value": "```powershell\nRemove-Item file.txt\nRemove-Item -Path ./temp -Recurse -Force\n```\n**Remove-Item** (alias: `rm`, `del`) deletes files/dirs. `-Recurse -Force` for non-empty directories."
253
+ }
254
+ ]
255
+ },
256
+ "Select-String": {
257
+ "contents": [
258
+ {
259
+ "value": "```powershell\nSelect-String -Path *.log -Pattern 'error'\nGet-Content file.txt | Select-String -Pattern '\\d{3}-\\d{4}'\n```\n**Select-String** (alias: `sls`) searches text with regex. Like grep for PowerShell."
260
+ }
261
+ ]
262
+ },
263
+ "ConvertTo-Json": {
264
+ "contents": [
265
+ {
266
+ "value": "```powershell\n$obj | ConvertTo-Json -Depth 10\n$json | ConvertFrom-Json\n\n$data = @{ name = 'test'; items = @(1,2,3) }\n$data | ConvertTo-Json\n```\n**ConvertTo-Json / ConvertFrom-Json** serialize and deserialize JSON. Set `-Depth` for nested objects."
267
+ }
268
+ ]
269
+ },
270
+ "Start-Job": {
271
+ "contents": [
272
+ {
273
+ "value": "```powershell\n$job = Start-Job -ScriptBlock { Get-Process }\nWait-Job $job\nReceive-Job $job\nRemove-Job $job\n\n# Or parallel (PS 7+):\n1..10 | ForEach-Object -Parallel { $_ * 2 }\n```\n**Start-Job** runs commands in background. PS 7+ has `ForEach-Object -Parallel` for parallel execution."
274
+ }
275
+ ]
276
+ },
277
+ "PSCustomObject": {
278
+ "contents": [
279
+ {
280
+ "value": "```powershell\n$obj = [PSCustomObject]@{\n Name = 'Server01'\n IP = '10.0.0.1'\n Status = 'Running'\n}\n$obj.Name\n```\n**[PSCustomObject]** creates custom objects. Commonly used for structured output from functions."
281
+ }
282
+ ]
283
+ },
284
+ "class": {
285
+ "contents": [
286
+ {
287
+ "value": "```powershell\nclass Person {\n [string]$Name\n [int]$Age\n\n [string] Greet() {\n return \"Hello, I'm $($this.Name)\"\n }\n}\n$p = [Person]@{ Name = 'John'; Age = 30 }\n```\n**class** (PS 5+) defines a .NET class. Supports constructors, methods, inheritance."
288
+ }
289
+ ]
290
+ },
291
+ "modules_path": {
292
+ "contents": [
293
+ {
294
+ "value": "```powershell\n# Module paths:\n$env:PSModulePath -split ';'\n\n# Install from gallery:\nInstall-Module -Name Az -Scope CurrentUser\nFind-Module -Name *Azure*\n```\n**Module management** — Install-Module from PowerShell Gallery. Modules auto-load from PSModulePath."
50
295
  }
51
296
  ]
52
297
  }