@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
@@ -1,579 +0,0 @@
1
- {
2
- "language": "bash",
3
- "hovers": {
4
- "echo": {
5
- "contents": [
6
- {
7
- "value": "```bash\necho [-neE] [string ...]\n```\nDisplay a line of text to stdout. `-n` suppresses the trailing newline. `-e` enables interpretation of backslash escapes (`\\t`, `\\n`, `\\\\`, `\\a`, `\\b`, `\\c`, `\\0nnn`, `\\xHH`). `-E` disables escape interpretation (default)."
8
- }
9
- ]
10
- },
11
- "printf": {
12
- "contents": [
13
- {
14
- "value": "```bash\nprintf [-v var] format [arguments ...]\n```\nWrite formatted output to stdout. Format specifiers: `%s` (string), `%d` (decimal), `%f` (float), `%x` (hex), `%o` (octal), `%b` (backslash escapes), `%%` (literal %). `-v var` stores the result in a variable instead of printing."
15
- }
16
- ]
17
- },
18
- "read": {
19
- "contents": [
20
- {
21
- "value": "```bash\nread [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]\n```\nRead a line from stdin and split it into fields. `-r` disables backslash escaping. `-p` displays a prompt. `-t` sets a timeout in seconds. `-a` reads into an array. `-s` hides input (for passwords). `-d` sets an alternate delimiter."
22
- }
23
- ]
24
- },
25
- "cd": {
26
- "contents": [
27
- {
28
- "value": "```bash\ncd [-L|-P] [directory]\n```\nChange the shell working directory. Without arguments, changes to `$HOME`. `cd -` changes to `$OLDPWD` (previous directory). `-L` follows symbolic links (default). `-P` uses the physical directory structure (resolves symlinks)."
29
- }
30
- ]
31
- },
32
- "pwd": {
33
- "contents": [
34
- {
35
- "value": "```bash\npwd [-LP]\n```\nPrint the absolute pathname of the current working directory. `-L` displays the logical path preserving symlinks (default). `-P` displays the physical path with all symlinks resolved."
36
- }
37
- ]
38
- },
39
- "export": {
40
- "contents": [
41
- {
42
- "value": "```bash\nexport [-fn] [-p] [name[=value] ...]\n```\nSet environment variables for child processes. Variables marked for export are inherited by any subsequently executed commands. `-n` removes the export property. `-f` exports shell functions. `-p` lists all exported variables."
43
- }
44
- ]
45
- },
46
- "source": {
47
- "contents": [
48
- {
49
- "value": "```bash\nsource filename [arguments]\n# or: . filename [arguments]\n```\nRead and execute commands from a file in the **current** shell environment. Unlike executing a script (which runs in a subshell), sourced files can modify variables, functions, and aliases in the calling shell."
50
- }
51
- ]
52
- },
53
- "alias": {
54
- "contents": [
55
- {
56
- "value": "```bash\nalias [-p] [name[=value] ...]\n```\nDefine or display command aliases. An alias substitutes a string for the first word of a simple command. Aliases are expanded when a command is read, not when it is executed. Use `\\command` to bypass an alias."
57
- }
58
- ]
59
- },
60
- "trap": {
61
- "contents": [
62
- {
63
- "value": "```bash\ntrap [-lp] [action] [signal ...]\n```\nExecute a command when the shell receives a signal or on certain events. Common signals: `EXIT` (on shell exit), `ERR` (on command failure with `set -e`), `INT` (Ctrl+C), `TERM` (termination), `DEBUG` (before every command), `RETURN` (after function/source return). Use `trap - signal` to reset to default."
64
- }
65
- ]
66
- },
67
- "set": {
68
- "contents": [
69
- {
70
- "value": "```bash\nset [-abefhkmnptuvxBCEHPT] [-o option-name] [--] [arg ...]\n```\nSet or unset shell options and positional parameters. Common options:\n- `-e` — exit immediately if a command exits with non-zero status\n- `-u` — treat unset variables as an error\n- `-x` — print commands and arguments as they are executed\n- `-o pipefail` — return the exit status of the rightmost failed command in a pipeline\n- `--` — end of options; remaining args become positional parameters"
71
- }
72
- ]
73
- },
74
- "declare": {
75
- "contents": [
76
- {
77
- "value": "```bash\ndeclare [-aAfFgiIlnrtux] [-p] [name[=value] ...]\n```\nDeclare variables and set their attributes. Flags: `-i` (integer), `-a` (indexed array), `-A` (associative array), `-r` (readonly), `-x` (export), `-l` (lowercase on assignment), `-u` (uppercase on assignment), `-n` (nameref), `-g` (global scope in functions). Inside functions, `declare` creates local variables unless `-g` is specified."
78
- }
79
- ]
80
- },
81
- "local": {
82
- "contents": [
83
- {
84
- "value": "```bash\nlocal [-aAfFgiIlnrtux] [name[=value] ...]\n```\nDeclare a variable as local to a function. The variable is visible only within the function and its child functions. Accepts the same attribute flags as `declare`. Can only be used within a function body."
85
- }
86
- ]
87
- },
88
- "test": {
89
- "contents": [
90
- {
91
- "value": "```bash\ntest expression\n[ expression ]\n[[ expression ]]\n```\nEvaluate conditional expressions. Returns 0 (true) or 1 (false).\n\n**File tests:** `-f` (regular file), `-d` (directory), `-e` (exists), `-r` (readable), `-w` (writable), `-x` (executable), `-s` (non-empty), `-L` (symlink)\n\n**String tests:** `-z` (empty), `-n` (non-empty), `=` / `==` (equal), `!=` (not equal)\n\n**Integer tests:** `-eq`, `-ne`, `-gt`, `-lt`, `-ge`, `-le`\n\n**Logical:** `!` (not), `-a` / `&&` (and), `-o` / `||` (or)\n\nPrefer `[[ ]]` for safer word-splitting behavior and regex support (`=~`)."
92
- }
93
- ]
94
- },
95
- "if": {
96
- "contents": [
97
- {
98
- "value": "```bash\nif command-list; then\n command-list\n[elif command-list; then\n command-list] ...\n[else\n command-list]\nfi\n```\nConditional execution. The `if` command-list is executed; if its exit status is 0, the `then` block runs. Otherwise, each `elif` is tested in turn. If none match, the `else` block runs (if present). Note: `if` tests the **exit status** of a command, not a boolean expression directly."
99
- }
100
- ]
101
- },
102
- "for": {
103
- "contents": [
104
- {
105
- "value": "```bash\n# List form:\nfor name [in word ...]; do\n command-list\ndone\n\n# C-style form:\nfor (( expr1; expr2; expr3 )); do\n command-list\ndone\n```\nIterate over a list of words or use arithmetic expressions. In the list form, if `in word ...` is omitted, iterates over `\"$@\"`. The variable `name` is set to each word in turn."
106
- }
107
- ]
108
- },
109
- "while": {
110
- "contents": [
111
- {
112
- "value": "```bash\nwhile command-list; do\n command-list\ndone\n```\nExecute commands repeatedly as long as the test command-list returns exit status 0. Commonly used with `read` to process files line by line: `while IFS= read -r line; do ... done < file`."
113
- }
114
- ]
115
- },
116
- "until": {
117
- "contents": [
118
- {
119
- "value": "```bash\nuntil command-list; do\n command-list\ndone\n```\nExecute commands repeatedly until the test command-list returns exit status 0. Logically equivalent to `while ! command-list; do ... done`."
120
- }
121
- ]
122
- },
123
- "case": {
124
- "contents": [
125
- {
126
- "value": "```bash\ncase word in\n pattern1 | pattern2) commands ;;\n pattern3) commands ;;&\n pattern4) commands ;&\n *) default-commands ;;\nesac\n```\nPattern matching construct. Each pattern is a glob pattern. `;;` terminates the clause. `;&` falls through to the next clause unconditionally. `;;&` tests the next pattern. `*` matches anything (default case). Patterns support `*`, `?`, `[...]`, and extended globs if `extglob` is set."
127
- }
128
- ]
129
- },
130
- "select": {
131
- "contents": [
132
- {
133
- "value": "```bash\nselect name [in word ...]; do\n command-list\ndone\n```\nCreate a numbered menu from `word` list. Displays items with numbers, prompts with `$PS3`, stores the chosen word in `name` and the user's raw input in `$REPLY`. Loops until `break` or EOF (Ctrl+D). If `in word ...` is omitted, uses positional parameters."
134
- }
135
- ]
136
- },
137
- "function": {
138
- "contents": [
139
- {
140
- "value": "```bash\n# Two forms:\nname() { command-list; }\nfunction name [()] { command-list; }\n```\nDefine a function that can be called by name. Arguments are accessed as `$1`, `$2`, etc. `$@` for all arguments, `$#` for count. Use `local` for local variables. Use `return [n]` to exit with a status. Functions can be exported with `export -f name`."
141
- }
142
- ]
143
- },
144
- "shift": {
145
- "contents": [
146
- {
147
- "value": "```bash\nshift [n]\n```\nShift positional parameters to the left by `n` positions (default 1). After `shift`, `$1` takes the value formerly in `$2`, `$2` takes `$3`, and so on. `$#` is decremented. Commonly used in argument-parsing loops."
148
- }
149
- ]
150
- },
151
- "eval": {
152
- "contents": [
153
- {
154
- "value": "```bash\neval [arg ...]\n```\nConcatenate all arguments into a single command string and execute it in the current shell. Useful for executing dynamically constructed commands. **Use with caution** — eval can introduce code injection vulnerabilities if used with untrusted input."
155
- }
156
- ]
157
- },
158
- "exec": {
159
- "contents": [
160
- {
161
- "value": "```bash\nexec [-cl] [-a name] [command [arguments ...]] [redirections ...]\n```\nReplace the current shell process with the specified command (no new process is created). If no command is given, redirections apply to the current shell. `-c` causes the command to execute with an empty environment. Commonly used for file descriptor manipulation: `exec 3>file`, `exec > >(tee log)`."
162
- }
163
- ]
164
- },
165
- "return": {
166
- "contents": [
167
- {
168
- "value": "```bash\nreturn [n]\n```\nReturn from a shell function or sourced script with exit status `n`. If `n` is omitted, returns the exit status of the last command executed. Only valid inside a function or a sourced (`.`/`source`) script."
169
- }
170
- ]
171
- },
172
- "exit": {
173
- "contents": [
174
- {
175
- "value": "```bash\nexit [n]\n```\nExit the shell with status `n`. If `n` is omitted, the status is that of the last command executed. Convention: 0 = success, 1 = general error, 2 = misuse of built-in, 126 = not executable, 127 = command not found, 128+N = killed by signal N."
176
- }
177
- ]
178
- },
179
- "readonly": {
180
- "contents": [
181
- {
182
- "value": "```bash\nreadonly [-aAfp] [name[=value] ...]\n```\nMark variables or functions as read-only. Readonly variables cannot be reassigned or unset. `-a` for indexed arrays, `-A` for associative arrays, `-f` for functions. `-p` displays all readonly names."
183
- }
184
- ]
185
- },
186
- "getopts": {
187
- "contents": [
188
- {
189
- "value": "```bash\ngetopts optstring name [args]\n```\nParse command-line options. Each call processes one option. `optstring` lists valid option letters; append `:` for options requiring arguments. On success, stores the option in `name`, the argument in `$OPTARG`, and advances `$OPTIND`. Returns non-zero when all options are processed."
190
- }
191
- ]
192
- },
193
- "wait": {
194
- "contents": [
195
- {
196
- "value": "```bash\nwait [-fn] [-p varname] [id ...]\n```\nWait for background processes to finish. Without arguments, waits for all child processes. With a PID/job ID, waits for that specific process. `-n` waits for the next job to terminate and returns its exit status. `-p varname` stores the PID of the waited process (Bash 5.1+)."
197
- }
198
- ]
199
- },
200
- "shopt": {
201
- "contents": [
202
- {
203
- "value": "```bash\nshopt [-pqsu] [-o] [optname ...]\n```\nSet or unset shell optional behavior. `-s` enables, `-u` disables. Common options:\n- `extglob` — extended pattern matching (`?(pat)`, `*(pat)`, `+(pat)`, `@(pat)`, `!(pat)`)\n- `globstar` — `**` matches directories recursively\n- `nullglob` — unmatched globs expand to nothing\n- `dotglob` — globs match dotfiles\n- `nocasematch` — case-insensitive matching in `case` and `[[`"
204
- }
205
- ]
206
- },
207
- "$?": {
208
- "contents": [
209
- {
210
- "value": "```bash\n$?\n```\nThe exit status of the most recently executed foreground pipeline. `0` indicates success, non-zero indicates failure. After a pipeline, `$?` reflects the status of the last command (or rightmost failing command with `set -o pipefail`). Use `${PIPESTATUS[@]}` to access individual exit codes from each pipeline stage."
211
- }
212
- ]
213
- },
214
- "$#": {
215
- "contents": [
216
- {
217
- "value": "```bash\n$#\n```\nThe number of positional parameters (command-line arguments). In a script, counts the arguments passed on invocation. Inside a function, counts the function's arguments. Does not include `$0`."
218
- }
219
- ]
220
- },
221
- "$@": {
222
- "contents": [
223
- {
224
- "value": "```bash\n$@\n\"$@\"\n```\nAll positional parameters. When quoted (`\"$@\"`), each parameter is preserved as a separate word, correctly handling arguments with spaces. This is almost always the correct way to forward arguments. Equivalent to `\"$1\" \"$2\" ...`."
225
- }
226
- ]
227
- },
228
- "$*": {
229
- "contents": [
230
- {
231
- "value": "```bash\n$*\n\"$*\"\n```\nAll positional parameters. When quoted (`\"$*\"`), expands to a single string with parameters joined by the first character of `$IFS` (default: space). Unquoted, behaves like `$@`. Rarely preferred over `\"$@\"`."
232
- }
233
- ]
234
- },
235
- "$$": {
236
- "contents": [
237
- {
238
- "value": "```bash\n$$\n```\nThe process ID (PID) of the current shell. In a subshell `(...)`, `$$` still refers to the parent shell's PID. Use `$BASHPID` to get the actual PID of the current subshell (Bash 4.0+). Commonly used to create unique temporary filenames."
239
- }
240
- ]
241
- },
242
- "$!": {
243
- "contents": [
244
- {
245
- "value": "```bash\n$!\n```\nThe PID of the most recently backgrounded process (started with `&`). Useful for tracking background jobs: `command & pid=$!; wait $pid`."
246
- }
247
- ]
248
- },
249
- "$0": {
250
- "contents": [
251
- {
252
- "value": "```bash\n$0\n```\nThe name of the shell or the shell script being executed. In an interactive shell, typically `bash` or `-bash`. In a script, it is the path used to invoke the script. Use `${BASH_SOURCE[0]}` for the actual source file (works inside sourced scripts)."
253
- }
254
- ]
255
- },
256
- "IFS": {
257
- "contents": [
258
- {
259
- "value": "```bash\nIFS=$' \\t\\n' # default value\n```\nInternal Field Separator. Determines how the shell splits words after expansion and how `read` splits input. Default: space, tab, newline. Set `IFS=''` to disable splitting. Set `IFS=:` to split PATH-like variables. Often set locally in a subshell or function: `(IFS=,; echo \"${array[*]}\")`."
260
- }
261
- ]
262
- },
263
- "PATH": {
264
- "contents": [
265
- {
266
- "value": "```bash\nPATH=/usr/local/bin:/usr/bin:/bin\n```\nColon-separated list of directories the shell searches (left to right) when locating commands. Prepend directories for priority: `PATH=\"/my/bin:$PATH\"`. Append for fallback: `PATH=\"$PATH:/my/bin\"`. Empty components (`::`or leading/trailing `:`) refer to the current directory."
267
- }
268
- ]
269
- },
270
- "HOME": {
271
- "contents": [
272
- {
273
- "value": "```bash\nHOME=/home/username\n```\nThe home directory of the current user. Set at login from `/etc/passwd`. Used as the default directory for `cd` (no arguments), and for tilde expansion (`~` expands to `$HOME`, `~user` to that user's home)."
274
- }
275
- ]
276
- },
277
- "BASH_SOURCE": {
278
- "contents": [
279
- {
280
- "value": "```bash\nBASH_SOURCE # array variable\n```\nAn array whose members are the source filenames for each function in the call stack. `${BASH_SOURCE[0]}` is the file containing the currently executing code. Particularly useful for finding the script's own directory:\n```bash\nSCRIPT_DIR=\"$(cd \"$(dirname \"${BASH_SOURCE[0]}\")\" && pwd)\"\n```"
281
- }
282
- ]
283
- },
284
- "PIPESTATUS": {
285
- "contents": [
286
- {
287
- "value": "```bash\nPIPESTATUS # array variable\n```\nAn array containing the exit statuses of the processes in the most recently executed foreground pipeline. `${PIPESTATUS[0]}` is the first command's status, `${PIPESTATUS[1]}` the second, etc. Useful for checking individual stages: `cmd1 | cmd2; echo \"${PIPESTATUS[@]}\"`."
288
- }
289
- ]
290
- },
291
- "RANDOM": {
292
- "contents": [
293
- {
294
- "value": "```bash\nRANDOM\n```\nEach reference generates a random integer between 0 and 32767. Assigning a value seeds the generator for reproducible sequences. For a range 0 to N-1: `$((RANDOM % N))`. For better randomness in scripts, consider `/dev/urandom`."
295
- }
296
- ]
297
- },
298
- "SECONDS": {
299
- "contents": [
300
- {
301
- "value": "```bash\nSECONDS\n```\nThe number of seconds since the shell was started. Assigning a value resets the counter:\n```bash\nSECONDS=0\n# ... operations ...\necho \"Elapsed: ${SECONDS}s\"\n```"
302
- }
303
- ]
304
- },
305
- "FUNCNAME": {
306
- "contents": [
307
- {
308
- "value": "```bash\nFUNCNAME # array variable\n```\nAn array of function names in the call stack. `${FUNCNAME[0]}` is the current function, `${FUNCNAME[1]}` is the caller, etc. The last element is `main` (for top-level code). Only meaningful inside functions."
309
- }
310
- ]
311
- },
312
- "BASH_REMATCH": {
313
- "contents": [
314
- {
315
- "value": "```bash\nBASH_REMATCH # array variable\n```\nPopulated by the `=~` operator in `[[ ]]`. Element 0 contains the entire match, elements 1+ contain capture group matches:\n```bash\nif [[ \"hello123\" =~ ^([a-z]+)([0-9]+)$ ]]; then\n echo \"${BASH_REMATCH[0]}\" # hello123\n echo \"${BASH_REMATCH[1]}\" # hello\n echo \"${BASH_REMATCH[2]}\" # 123\nfi\n```"
316
- }
317
- ]
318
- },
319
- "mapfile": {
320
- "contents": [
321
- {
322
- "value": "```bash\nmapfile [-d delim] [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]\n```\nRead lines from stdin into an indexed array. Default array is `MAPFILE`. `-t` strips trailing delimiters. `-n count` reads at most N lines. `-s count` skips the first N lines. Also available as `readarray`.\n```bash\nmapfile -t lines < file.txt\necho \"${lines[0]}\"\n```"
323
- }
324
- ]
325
- },
326
- "let": {
327
- "contents": [
328
- {
329
- "value": "```bash\nlet expression [expression ...]\n```\nEvaluate arithmetic expressions. Each expression is an arithmetic expression using C-style operators: `+`, `-`, `*`, `/`, `%`, `**`, `++`, `--`, comparisons, bitwise and logical operators. Returns 0 if the last expression is non-zero, 1 otherwise. Equivalent to `(( expression ))`."
330
- }
331
- ]
332
- },
333
- "history": {
334
- "contents": [
335
- {
336
- "value": "```bash\nhistory [-c] [-d offset] [n]\nhistory -anrw [filename]\n```\nDisplay or manipulate command history. `history n` shows the last N entries. `-c` clears the history list. `-d N` deletes entry N. `-a` appends new entries to the history file. `-r` reads the history file. `-w` writes the current history to the file. `HISTSIZE` controls the in-memory list size, `HISTFILESIZE` the file size."
337
- }
338
- ]
339
- },
340
- "unalias": {
341
- "contents": [
342
- {
343
- "value": "```bash\nunalias [-a] name [name ...]\n```\nRemove alias definitions. Each `name` is removed from the list of aliases. The `-a` flag removes **all** aliases. Returns success unless a given name is not a defined alias."
344
- }
345
- ]
346
- },
347
- "type": {
348
- "contents": [
349
- {
350
- "value": "```bash\ntype [-afptP] name [name ...]\n```\nIndicate how each `name` would be interpreted as a command. `-t` outputs a single word: `alias`, `keyword`, `function`, `builtin`, or `file`. `-a` displays all locations containing an executable named `name`. `-p` returns the disk file path (only for external commands). `-P` forces a PATH search even for builtins."
351
- }
352
- ]
353
- },
354
- "unset": {
355
- "contents": [
356
- {
357
- "value": "```bash\nunset [-fv] [name ...]\n```\nRemove variable or function definitions. `-v` removes variables (default), `-f` removes functions. Readonly variables cannot be unset. Returns `0` unless a name is readonly. Unsetting `RANDOM`, `SECONDS`, etc. removes their special behavior."
358
- }
359
- ]
360
- },
361
- "[[": {
362
- "contents": [
363
- {
364
- "value": "```bash\n[[ expression ]]\n```\nExtended conditional command. Unlike `[ ]`, supports `&&` and `||` operators, pattern matching with `==` (glob) and `=~` (regex), and no word splitting or pathname expansion inside. Returns `0` (true) or `1` (false). Use `BASH_REMATCH` array to access regex capture groups from `=~`."
365
- }
366
- ]
367
- },
368
- "jobs": {
369
- "contents": [
370
- {
371
- "value": "```bash\njobs [-lnprs] [jobspec ...]\n```\nList active jobs. `-l` adds process IDs, `-p` lists PIDs only, `-r` restricts to running jobs, `-s` restricts to stopped jobs, `-n` lists only jobs whose status has changed since last notification. Job specs use `%n` (job number), `%string` (command prefix), `%%` or `%+` (current job), `%-` (previous job)."
372
- }
373
- ]
374
- },
375
- "kill": {
376
- "contents": [
377
- {
378
- "value": "```bash\nkill [-s sigspec] [-n signum] [-sigspec] pid|jobspec ...\nkill -l|-L [sigspec]\n```\nSend signals to processes or jobs. Default signal is `TERM` (15). Common signals: `HUP` (1) — reload config, `INT` (2) — interrupt (Ctrl+C), `KILL` (9) — force kill (uncatchable), `STOP` (19) — pause, `CONT` (18) — resume. `-l` lists all signal names. Use `%jobspec` for background jobs."
379
- }
380
- ]
381
- },
382
- "bg": {
383
- "contents": [
384
- {
385
- "value": "```bash\nbg [jobspec ...]\n```\nResume a suspended job in the background, as if it had been started with `&`. If no `jobspec` is given, the current job (`%%`) is used. The shell prints `[jobnumber] PID` when the job is resumed."
386
- }
387
- ]
388
- },
389
- "fg": {
390
- "contents": [
391
- {
392
- "value": "```bash\nfg [jobspec]\n```\nMove a background or stopped job to the foreground, making it the current job. The shell waits for it to complete. If no `jobspec` is given, the current job (`%%`) is used. The resumed command's exit status becomes `$?`."
393
- }
394
- ]
395
- },
396
- "pushd": {
397
- "contents": [
398
- {
399
- "value": "```bash\npushd [-n] [+n|-n|dir]\n```\nPush a directory onto the directory stack and `cd` to it. `-n` suppresses the directory change (only modifies the stack). `+n` rotates the stack so the nth directory (counting from the left) is at the top. `dirs` shows the stack. Used with `popd` for navigating multiple directories."
400
- }
401
- ]
402
- },
403
- "popd": {
404
- "contents": [
405
- {
406
- "value": "```bash\npopd [-n] [+n|-n]\n```\nRemove the top entry from the directory stack and `cd` to the new top directory. `-n` suppresses the directory change (only modifies the stack). `+n`/`-n` removes the nth entry from the left/right of the stack. Use `dirs` to view the current stack."
407
- }
408
- ]
409
- },
410
- "complete": {
411
- "contents": [
412
- {
413
- "value": "```bash\ncomplete [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] name [name ...]\n```\nDefine programmable completion for command `name`. `-F function` calls a shell function to generate completions. `-W wordlist` provides a list of words. `-o filenames` enables filename-style processing. `-o nospace` suppresses trailing space. Use with `compgen` inside completion functions."
414
- }
415
- ]
416
- },
417
- "compgen": {
418
- "contents": [
419
- {
420
- "value": "```bash\ncompgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]\n```\nGenerate possible completions for `word`. Used within programmable completion functions (invoked by `complete -F`). `-W wordlist` generates from a word list. `-A action` generates from built-in categories (`file`, `directory`, `command`, `variable`, etc.). Output is one match per line."
421
- }
422
- ]
423
- },
424
- "enable": {
425
- "contents": [
426
- {
427
- "value": "```bash\nenable [-a] [-dnps] [-f filename] [name ...]\n```\nEnable or disable shell builtin commands. `-n` disables the named builtins, causing the shell to use external commands instead. `-a` lists all builtins showing enabled/disabled state. `-f filename` loads a new builtin from a shared object file. Disabling builtins is useful for testing or replacing them with custom implementations."
428
- }
429
- ]
430
- },
431
- "ulimit": {
432
- "contents": [
433
- {
434
- "value": "```bash\nulimit [-HSabcdefiklmnpqrstuvxPRT] [limit]\n```\nGet or set user-level resource limits. `-S` for soft limits, `-H` for hard limits. Common options: `-n` (max open files, default 1024), `-u` (max user processes), `-v` (virtual memory in KB), `-s` (stack size in KB), `-c` (core file size), `-f` (max file size). Use `unlimited` to remove a limit. Changes affect the current shell and its children."
435
- }
436
- ]
437
- },
438
- "umask": {
439
- "contents": [
440
- {
441
- "value": "```bash\numask [-p] [-S] [mode]\n```\nSet the file creation permission mask. The mask is bits to **remove** from default permissions (777 for directories, 666 for files). Common values: `022` (owner full, group/others read+execute), `077` (owner only), `002` (group writable). `-S` displays in symbolic form (`u=rwx,g=rx,o=rx`). `-p` outputs in a form reusable as input."
442
- }
443
- ]
444
- },
445
- "$_": {
446
- "contents": [
447
- {
448
- "value": "```bash\n$_\n```\nThe last argument of the previous command. At shell startup, set to the absolute pathname of the shell or script being executed. After a command runs, set to the last argument of that command. In interactive shells, pressing `Esc .` or `Alt+.` inserts the equivalent value."
449
- }
450
- ]
451
- },
452
- "$-": {
453
- "contents": [
454
- {
455
- "value": "```bash\n$-\n```\nThe current set of active shell option flags. Each letter represents an enabled option (e.g., `h` for hashall, `i` for interactive, `m` for monitor, `B` for brace expansion, `H` for history expansion). Equivalent to the flags that `set` is currently using. Example: `himBH` for a typical interactive shell."
456
- }
457
- ]
458
- },
459
- "PWD": {
460
- "contents": [
461
- {
462
- "value": "```bash\nPWD\n```\nThe absolute pathname of the current working directory. Automatically updated by `cd`. May contain symlinks unless `cd -P` was used. Equivalent to the output of `pwd -L` (logical path). Set by the shell at startup and after each directory change."
463
- }
464
- ]
465
- },
466
- "OLDPWD": {
467
- "contents": [
468
- {
469
- "value": "```bash\nOLDPWD\n```\nThe previous working directory, set by `cd`. `cd -` changes to `$OLDPWD` and prints the new directory. Unset if `cd` has not been called since the shell started. Useful for toggling between two directories."
470
- }
471
- ]
472
- },
473
- "SHELL": {
474
- "contents": [
475
- {
476
- "value": "```bash\nSHELL=/bin/bash\n```\nThe full pathname of the user's login shell, as defined in `/etc/passwd`. This variable is **not** changed when a different shell is invoked — it always reflects the login shell. Programs like terminal emulators use it to determine which shell to start."
477
- }
478
- ]
479
- },
480
- "USER": {
481
- "contents": [
482
- {
483
- "value": "```bash\nUSER\n```\nThe name of the current user. Set at login. Unlike `$EUID` (numeric), `$USER` is the textual username. Equivalent to `$(whoami)` in most cases. Note: this can be overwritten since it's not readonly — use `id -un` for a reliable alternative."
484
- }
485
- ]
486
- },
487
- "HOSTNAME": {
488
- "contents": [
489
- {
490
- "value": "```bash\nHOSTNAME\n```\nThe name of the current host, automatically set at shell startup. Equivalent to the output of the `hostname` command. Used in the default prompt (`$PS1`) with `\\h` (short hostname) or `\\H` (FQDN)."
491
- }
492
- ]
493
- },
494
- "LINENO": {
495
- "contents": [
496
- {
497
- "value": "```bash\nLINENO\n```\nThe current line number in the script or function being executed (1-based). Dynamically updated as each line is processed. Useful for debugging and error messages:\n```bash\necho \"Error at line $LINENO\" >&2\n```\nInside a function, `LINENO` reflects the line within the function, not the script."
498
- }
499
- ]
500
- },
501
- "BASH_LINENO": {
502
- "contents": [
503
- {
504
- "value": "```bash\nBASH_LINENO # array variable\n```\nAn array of line numbers corresponding to the call stack. `${BASH_LINENO[0]}` is the line number in the calling script where the current function was invoked. Used with `FUNCNAME` and `BASH_SOURCE` to construct stack traces:\n```bash\necho \"Called from ${BASH_SOURCE[1]}:${BASH_LINENO[0]}\"\n```"
505
- }
506
- ]
507
- },
508
- "OPTARG": {
509
- "contents": [
510
- {
511
- "value": "```bash\nOPTARG\n```\nSet by the `getopts` builtin. Contains the argument value when processing an option that requires one (indicated by `:` after the option letter in the optstring). When an invalid option is encountered, `OPTARG` holds the invalid option character if optstring starts with `:`."
512
- }
513
- ]
514
- },
515
- "OPTIND": {
516
- "contents": [
517
- {
518
- "value": "```bash\nOPTIND\n```\nThe index of the next argument to be processed by `getopts`. Initialized to `1` each time the shell starts or a script is invoked. After `getopts` finishes, `shift $((OPTIND - 1))` removes all processed options, leaving only non-option arguments in `$@`."
519
- }
520
- ]
521
- },
522
- "REPLY": {
523
- "contents": [
524
- {
525
- "value": "```bash\nREPLY\n```\nDefault variable for `read` when no variable name is supplied: `read` stores the entire input line in `$REPLY`. Also set by the `select` construct to the user's raw input string (the number they typed). Always a string value."
526
- }
527
- ]
528
- },
529
- "BASH_VERSION": {
530
- "contents": [
531
- {
532
- "value": "```bash\nBASH_VERSION\n```\nA string describing the version of this Bash instance (e.g., `5.2.15(1)-release`). For structured version info, use `BASH_VERSINFO` array: `[0]`=major, `[1]`=minor, `[2]`=patch, `[3]`=build, `[4]`=status, `[5]`=machine type. Useful for feature detection:\n```bash\nif ((BASH_VERSINFO[0] >= 4)); then echo \"Bash 4+\"; fi\n```"
533
- }
534
- ]
535
- },
536
- "EUID": {
537
- "contents": [
538
- {
539
- "value": "```bash\nEUID\n```\nThe effective user ID of the current user (read-only). `0` indicates root/superuser. May differ from `$UID` when running with `sudo` or setuid programs. Common use:\n```bash\nif [[ $EUID -ne 0 ]]; then echo \"Run as root\"; exit 1; fi\n```"
540
- }
541
- ]
542
- },
543
- "UID": {
544
- "contents": [
545
- {
546
- "value": "```bash\nUID\n```\nThe real user ID of the current user (read-only). Unlike `$EUID`, `$UID` reflects the original user even under `sudo`. Both values are integers. Use `id -u` for a portable equivalent."
547
- }
548
- ]
549
- },
550
- "array": {
551
- "contents": [
552
- {
553
- "value": "```bash\nname=(value1 value2 ...)\nname[index]=value\n```\nIndexed arrays hold ordered lists of values, accessed by integer index starting at `0`. Key operations: `${arr[@]}` (all elements), `${#arr[@]}` (length), `${!arr[@]}` (all indices), `arr+=(val)` (append), `${arr[@]:offset:length}` (slice), `unset 'arr[i]'` (remove element). Arrays can be sparse — indices don't need to be contiguous."
554
- }
555
- ]
556
- },
557
- "associative_array": {
558
- "contents": [
559
- {
560
- "value": "```bash\ndeclare -A name=([key1]=value1 [key2]=value2)\n```\nAssociative arrays use arbitrary strings as keys. **Must** be declared with `declare -A` before use. Key operations: `${map[key]}` (get), `map[key]=value` (set), `${!map[@]}` (all keys), `${#map[@]}` (size), `unset 'map[key]'` (delete). Available since Bash 4.0. Cannot be exported to child processes."
561
- }
562
- ]
563
- },
564
- "string_operations": {
565
- "contents": [
566
- {
567
- "value": "```bash\n${parameter...}\n```\nBash parameter expansion provides extensive string manipulation:\n- `${#var}` — length\n- `${var:offset:length}` — substring\n- `${var:-default}` — default value\n- `${var:=default}` — assign default\n- `${var:+alternate}` — alternate value\n- `${var:?error}` — error if unset\n- `${var#pattern}` / `${var##pattern}` — remove prefix (shortest/longest)\n- `${var%pattern}` / `${var%%pattern}` — remove suffix\n- `${var/pat/rep}` / `${var//pat/rep}` — replace first/all\n- `${var^}` / `${var^^}` — uppercase first/all\n- `${var,}` / `${var,,}` — lowercase first/all"
568
- }
569
- ]
570
- },
571
- "arithmetic": {
572
- "contents": [
573
- {
574
- "value": "```bash\n$(( expression ))\n(( expression ))\nlet expression\n```\nBash integer arithmetic supports C-style operators: `+`, `-`, `*`, `/`, `%`, `**` (power), `++`, `--`, bitwise (`&`, `|`, `^`, `~`, `<<`, `>>`), logical (`&&`, `||`, `!`), ternary (`?:`), comma, and all compound assignments (`+=`, `-=`, etc.). Variables are referenced by name without `$`. Use `$(( ))` for substitution, `(( ))` for conditions/side-effects."
575
- }
576
- ]
577
- }
578
- }
579
- }