@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,670 +1,790 @@
1
- {
2
- "language": "ruby",
3
- "definitions": {
4
- "String": {
5
- "signature": "class String",
6
- "description": "A String object holds an arbitrary sequence of bytes, typically representing text. Strings are mutable unless frozen. String literals can be created with single quotes, double quotes, heredocs, and percent literals.",
7
- "type": "class",
8
- "module": "Core",
9
- "members": {
10
- "length": {
11
- "signature": "str.length -> Integer",
12
- "description": "Returns the number of characters in the string. Multibyte characters are counted as single characters.",
13
- "returns": "Integer"
14
- },
15
- "reverse": {
16
- "signature": "str.reverse -> String",
17
- "description": "Returns a new string with the characters in reverse order.",
18
- "returns": "String"
19
- },
20
- "upcase": {
21
- "signature": "str.upcase(*options) -> String",
22
- "description": "Returns a copy of the string with all lowercase letters replaced with their uppercase counterparts. Supports Unicode case mapping.",
23
- "returns": "String"
24
- },
25
- "downcase": {
26
- "signature": "str.downcase(*options) -> String",
27
- "description": "Returns a copy of the string with all uppercase letters replaced with their lowercase counterparts.",
28
- "returns": "String"
29
- },
30
- "capitalize": {
31
- "signature": "str.capitalize(*options) -> String",
32
- "description": "Returns a copy of the string with the first character converted to uppercase and the remainder to lowercase.",
33
- "returns": "String"
34
- },
35
- "strip": {
36
- "signature": "str.strip -> String",
37
- "description": "Returns a copy of the string with leading and trailing whitespace removed.",
38
- "returns": "String"
39
- },
40
- "gsub": {
41
- "signature": "str.gsub(pattern, replacement) -> String\nstr.gsub(pattern) { |match| block } -> String",
42
- "description": "Returns a copy of the string with all occurrences of the pattern substituted. The pattern can be a string or a Regexp.",
43
- "returns": "String"
44
- },
45
- "sub": {
46
- "signature": "str.sub(pattern, replacement) -> String\nstr.sub(pattern) { |match| block } -> String",
47
- "description": "Returns a copy of the string with the first occurrence of the pattern replaced.",
48
- "returns": "String"
49
- },
50
- "split": {
51
- "signature": "str.split(pattern = $;, limit = -1) -> Array",
52
- "description": "Divides the string into substrings based on a delimiter, returning an array. Default delimiter is whitespace.",
53
- "returns": "Array"
54
- },
55
- "chars": {
56
- "signature": "str.chars -> Array",
57
- "description": "Returns an array of characters in the string. Each element is a single-character string.",
58
- "returns": "Array"
59
- },
60
- "include?": {
61
- "signature": "str.include?(other_str) -> true or false",
62
- "description": "Returns true if the string contains the given substring.",
63
- "returns": "Boolean"
64
- },
65
- "start_with?": {
66
- "signature": "str.start_with?(*prefixes) -> true or false",
67
- "description": "Returns true if the string starts with any of the given prefixes. Each prefix can be a String or a Regexp.",
68
- "returns": "Boolean"
69
- },
70
- "end_with?": {
71
- "signature": "str.end_with?(*suffixes) -> true or false",
72
- "description": "Returns true if the string ends with any of the given suffixes.",
73
- "returns": "Boolean"
74
- },
75
- "match?": {
76
- "signature": "str.match?(pattern, pos = 0) -> true or false",
77
- "description": "Returns true if the string matches the given pattern. Faster than match because it does not create a MatchData object.",
78
- "returns": "Boolean"
79
- },
80
- "scan": {
81
- "signature": "str.scan(pattern) -> Array\nstr.scan(pattern) { |match| block } -> String",
82
- "description": "Scans the string for all occurrences of the pattern and returns an array of matches.",
83
- "returns": "Array"
84
- },
85
- "tr": {
86
- "signature": "str.tr(from_str, to_str) -> String",
87
- "description": "Returns a copy of the string with characters in from_str replaced by the corresponding characters in to_str.",
88
- "returns": "String"
89
- },
90
- "to_i": {
91
- "signature": "str.to_i(base = 10) -> Integer",
92
- "description": "Interprets leading characters of the string as an integer in the given base. Returns 0 if no valid number is found.",
93
- "returns": "Integer"
94
- },
95
- "to_f": {
96
- "signature": "str.to_f -> Float",
97
- "description": "Interprets leading characters of the string as a floating-point number. Returns 0.0 if no valid number is found.",
98
- "returns": "Float"
99
- },
100
- "to_sym": {
101
- "signature": "str.to_sym -> Symbol",
102
- "description": "Returns the Symbol corresponding to the string, creating the symbol if it did not previously exist.",
103
- "returns": "Symbol"
104
- },
105
- "encode": {
106
- "signature": "str.encode(encoding, **options) -> String",
107
- "description": "Returns a copy of the string transcoded to the specified encoding.",
108
- "returns": "String"
109
- },
110
- "freeze": {
111
- "signature": "str.freeze -> String",
112
- "description": "Freezes the string, preventing further modifications. Returns the frozen string.",
113
- "returns": "String"
114
- },
115
- "replace": {
116
- "signature": "str.replace(other_str) -> String",
117
- "description": "Replaces the contents and encoding of the string with the corresponding values from other_str.",
118
- "returns": "String"
119
- },
120
- "chomp": {
121
- "signature": "str.chomp(separator = $/) -> String",
122
- "description": "Returns a new string with the given record separator removed from the end. Default separator is newline.",
123
- "returns": "String"
124
- },
125
- "chop": {
126
- "signature": "str.chop -> String",
127
- "description": "Returns a new string with the last character removed. If the string ends with \\r\\n, both characters are removed.",
128
- "returns": "String"
129
- },
130
- "center": {
131
- "signature": "str.center(width, padstr = ' ') -> String",
132
- "description": "Centers the string in a field of the given width, padding with the pad string on both sides.",
133
- "returns": "String"
134
- },
135
- "ljust": {
136
- "signature": "str.ljust(width, padstr = ' ') -> String",
137
- "description": "Left-justifies the string in a field of the given width, padding on the right with the pad string.",
138
- "returns": "String"
139
- },
140
- "rjust": {
141
- "signature": "str.rjust(width, padstr = ' ') -> String",
142
- "description": "Right-justifies the string in a field of the given width, padding on the left with the pad string.",
143
- "returns": "String"
144
- },
145
- "squeeze": {
146
- "signature": "str.squeeze(*selectors) -> String",
147
- "description": "Returns a new string where runs of the same character (matching the optional selectors) are replaced by a single character.",
148
- "returns": "String"
149
- },
150
- "delete": {
151
- "signature": "str.delete(*selectors) -> String",
152
- "description": "Returns a copy of the string with all characters in the intersection of the given selectors deleted.",
153
- "returns": "String"
154
- }
155
- }
156
- },
157
- "Array": {
158
- "signature": "class Array",
159
- "description": "Arrays are ordered, integer-indexed collections of any object. Array indexing starts at 0. A negative index counts from the end. Arrays can contain mixed types and can be nested.",
160
- "type": "class",
161
- "module": "Core",
162
- "members": {
163
- "push": {
164
- "signature": "ary.push(*objects) -> Array",
165
- "description": "Appends the given object(s) to the end of the array. Returns the array itself, so several pushes may be chained together.",
166
- "returns": "Array"
167
- },
168
- "pop": {
169
- "signature": "ary.pop -> object or nil\nary.pop(n) -> Array",
170
- "description": "Removes the last element from the array and returns it, or nil if the array is empty. With an argument, removes and returns the last n elements.",
171
- "returns": "Object or Array"
172
- },
173
- "shift": {
174
- "signature": "ary.shift -> object or nil\nary.shift(n) -> Array",
175
- "description": "Removes the first element and returns it, shifting all other elements down by one. Returns nil if the array is empty.",
176
- "returns": "Object or Array"
177
- },
178
- "unshift": {
179
- "signature": "ary.unshift(*objects) -> Array",
180
- "description": "Prepends objects to the front of the array, moving other elements upwards.",
181
- "returns": "Array"
182
- },
183
- "first": {
184
- "signature": "ary.first -> object or nil\nary.first(n) -> Array",
185
- "description": "Returns the first element, or the first n elements as an array.",
186
- "returns": "Object or Array"
187
- },
188
- "last": {
189
- "signature": "ary.last -> object or nil\nary.last(n) -> Array",
190
- "description": "Returns the last element, or the last n elements as an array.",
191
- "returns": "Object or Array"
192
- },
193
- "length": {
194
- "signature": "ary.length -> Integer",
195
- "description": "Returns the number of elements in the array. Alias: size.",
196
- "returns": "Integer"
197
- },
198
- "empty?": {
199
- "signature": "ary.empty? -> true or false",
200
- "description": "Returns true if the array contains no elements.",
201
- "returns": "Boolean"
202
- },
203
- "include?": {
204
- "signature": "ary.include?(object) -> true or false",
205
- "description": "Returns true if any element equals the given object (using ==).",
206
- "returns": "Boolean"
207
- },
208
- "flatten": {
209
- "signature": "ary.flatten(depth = -1) -> Array",
210
- "description": "Returns a new array that is a recursive flattening of the original. The optional depth argument limits the recursion depth.",
211
- "returns": "Array"
212
- },
213
- "compact": {
214
- "signature": "ary.compact -> Array",
215
- "description": "Returns a new array with all nil elements removed.",
216
- "returns": "Array"
217
- },
218
- "uniq": {
219
- "signature": "ary.uniq -> Array\nary.uniq { |element| block } -> Array",
220
- "description": "Returns a new array with duplicate values removed. If a block is given, uses the block's return value for comparison.",
221
- "returns": "Array"
222
- },
223
- "sort": {
224
- "signature": "ary.sort -> Array\nary.sort { |a, b| block } -> Array",
225
- "description": "Returns a new array with elements sorted. Without a block, uses <=> for comparison.",
226
- "returns": "Array"
227
- },
228
- "sort_by": {
229
- "signature": "ary.sort_by { |element| block } -> Array",
230
- "description": "Sorts elements using the values returned by the given block as sort keys.",
231
- "returns": "Array"
232
- },
233
- "reverse": {
234
- "signature": "ary.reverse -> Array",
235
- "description": "Returns a new array with elements in reverse order.",
236
- "returns": "Array"
237
- },
238
- "each": {
239
- "signature": "ary.each { |element| block } -> Array\nary.each -> Enumerator",
240
- "description": "Calls the given block once for each element in the array, passing that element as a parameter.",
241
- "returns": "Array or Enumerator"
242
- },
243
- "map": {
244
- "signature": "ary.map { |element| block } -> Array\nary.map -> Enumerator",
245
- "description": "Returns a new array containing the values returned by the block for each element. Alias: collect.",
246
- "returns": "Array or Enumerator"
247
- },
248
- "select": {
249
- "signature": "ary.select { |element| block } -> Array\nary.select -> Enumerator",
250
- "description": "Returns a new array containing all elements for which the block returns a truthy value. Alias: filter.",
251
- "returns": "Array or Enumerator"
252
- },
253
- "reject": {
254
- "signature": "ary.reject { |element| block } -> Array\nary.reject -> Enumerator",
255
- "description": "Returns a new array excluding all elements for which the block returns a truthy value.",
256
- "returns": "Array or Enumerator"
257
- },
258
- "reduce": {
259
- "signature": "ary.reduce(initial, sym) -> object\nary.reduce(initial) { |memo, element| block } -> object",
260
- "description": "Combines all elements by applying a binary operation, specified by a block or a symbol naming a method. Alias: inject.",
261
- "returns": "Object"
262
- },
263
- "find": {
264
- "signature": "ary.find(ifnone = nil) { |element| block } -> object or nil",
265
- "description": "Returns the first element for which the block returns truthy, or calls ifnone if no match is found. Alias: detect.",
266
- "returns": "Object or nil"
267
- },
268
- "any?": {
269
- "signature": "ary.any? { |element| block } -> true or false\nary.any?(pattern) -> true or false",
270
- "description": "Returns true if the block ever returns a truthy value for any element. With a pattern, checks if any element === pattern.",
271
- "returns": "Boolean"
272
- },
273
- "all?": {
274
- "signature": "ary.all? { |element| block } -> true or false\nary.all?(pattern) -> true or false",
275
- "description": "Returns true if the block returns a truthy value for every element.",
276
- "returns": "Boolean"
277
- },
278
- "none?": {
279
- "signature": "ary.none? { |element| block } -> true or false\nary.none?(pattern) -> true or false",
280
- "description": "Returns true if the block returns a falsy value for every element.",
281
- "returns": "Boolean"
282
- },
283
- "count": {
284
- "signature": "ary.count -> Integer\nary.count(obj) -> Integer\nary.count { |element| block } -> Integer",
285
- "description": "Returns the number of elements. With an argument, counts elements equal to the argument. With a block, counts elements for which the block returns truthy.",
286
- "returns": "Integer"
287
- },
288
- "min": {
289
- "signature": "ary.min -> object\nary.min(n) -> Array\nary.min { |a, b| block } -> object",
290
- "description": "Returns the minimum element, using <=> or the given block for comparison.",
291
- "returns": "Object or Array"
292
- },
293
- "max": {
294
- "signature": "ary.max -> object\nary.max(n) -> Array\nary.max { |a, b| block } -> object",
295
- "description": "Returns the maximum element, using <=> or the given block for comparison.",
296
- "returns": "Object or Array"
297
- },
298
- "sum": {
299
- "signature": "ary.sum(init = 0) -> number\nary.sum(init = 0) { |element| block } -> number",
300
- "description": "Returns the sum of elements. With a block, sums the results of running the block for each element.",
301
- "returns": "Numeric"
302
- },
303
- "zip": {
304
- "signature": "ary.zip(*other_arrays) -> Array\nary.zip(*other_arrays) { |arr| block } -> nil",
305
- "description": "Merges elements of self with corresponding elements from each argument array, returning an array of arrays.",
306
- "returns": "Array or nil"
307
- },
308
- "flat_map": {
309
- "signature": "ary.flat_map { |element| block } -> Array",
310
- "description": "Returns a new array with the concatenated results of running the block for every element. Equivalent to map then flatten(1).",
311
- "returns": "Array"
312
- },
313
- "each_with_index": {
314
- "signature": "ary.each_with_index { |element, index| block } -> Array",
315
- "description": "Calls the block with each element and its index.",
316
- "returns": "Array or Enumerator"
317
- },
318
- "group_by": {
319
- "signature": "ary.group_by { |element| block } -> Hash",
320
- "description": "Groups elements into a hash where keys are the block's return values and values are arrays of corresponding elements.",
321
- "returns": "Hash"
322
- },
323
- "tally": {
324
- "signature": "ary.tally -> Hash",
325
- "description": "Counts the occurrences of each element and returns a hash. Keys are elements, values are counts.",
326
- "returns": "Hash"
327
- },
328
- "sample": {
329
- "signature": "ary.sample -> object or nil\nary.sample(n) -> Array\nary.sample(n, random: rng) -> Array",
330
- "description": "Returns a random element or n random elements from the array.",
331
- "returns": "Object or Array"
332
- },
333
- "shuffle": {
334
- "signature": "ary.shuffle -> Array\nary.shuffle(random: rng) -> Array",
335
- "description": "Returns a new array with elements shuffled in random order.",
336
- "returns": "Array"
337
- },
338
- "join": {
339
- "signature": "ary.join(separator = $,) -> String",
340
- "description": "Converts each element to a string (via to_s) and joins them with the given separator.",
341
- "returns": "String"
342
- },
343
- "dig": {
344
- "signature": "ary.dig(index, *identifiers) -> object or nil",
345
- "description": "Extracts the nested value specified by the sequence of indices. Returns nil if any intermediate step is nil.",
346
- "returns": "Object or nil"
347
- },
348
- "take": {
349
- "signature": "ary.take(n) -> Array",
350
- "description": "Returns the first n elements of the array.",
351
- "returns": "Array"
352
- },
353
- "drop": {
354
- "signature": "ary.drop(n) -> Array",
355
- "description": "Returns the array minus its first n elements.",
356
- "returns": "Array"
357
- },
358
- "combination": {
359
- "signature": "ary.combination(n) { |c| block } -> Array\nary.combination(n) -> Enumerator",
360
- "description": "Yields all combinations of length n of elements from the array.",
361
- "returns": "Array or Enumerator"
362
- },
363
- "permutation": {
364
- "signature": "ary.permutation(n = self.size) { |p| block } -> Array\nary.permutation(n) -> Enumerator",
365
- "description": "Yields all permutations of length n of elements from the array.",
366
- "returns": "Array or Enumerator"
367
- },
368
- "intersection": {
369
- "signature": "ary.intersection(*other_arrays) -> Array",
370
- "description": "Returns a new array containing elements common to self and all given arrays, removing duplicates. Order is preserved from self.",
371
- "returns": "Array"
372
- },
373
- "union": {
374
- "signature": "ary.union(*other_arrays) -> Array",
375
- "description": "Returns a new array that is the union of self and all given arrays, removing duplicates. Order is preserved.",
376
- "returns": "Array"
377
- },
378
- "difference": {
379
- "signature": "ary.difference(*other_arrays) -> Array",
380
- "description": "Returns a new array containing elements from self that are not in any of the given arrays.",
381
- "returns": "Array"
382
- }
383
- }
384
- },
385
- "Hash": {
386
- "signature": "class Hash",
387
- "description": "A Hash is a collection of key-value pairs. It is similar to an Array, except that indexing is done via arbitrary keys of any type, not integer indices. The order of key-value pairs is the insertion order.",
388
- "type": "class",
389
- "module": "Core",
390
- "members": {
391
- "keys": {
392
- "signature": "hsh.keys -> Array",
393
- "description": "Returns a new array populated with the keys from the hash.",
394
- "returns": "Array"
395
- },
396
- "values": {
397
- "signature": "hsh.values -> Array",
398
- "description": "Returns a new array populated with the values from the hash.",
399
- "returns": "Array"
400
- },
401
- "each": {
402
- "signature": "hsh.each { |key, value| block } -> Hash\nhsh.each -> Enumerator",
403
- "description": "Calls the block once for each key-value pair in the hash, passing the key and value as parameters.",
404
- "returns": "Hash or Enumerator"
405
- },
406
- "map": {
407
- "signature": "hsh.map { |key, value| block } -> Array",
408
- "description": "Returns a new array with the results of running the block once for every key-value pair.",
409
- "returns": "Array"
410
- },
411
- "select": {
412
- "signature": "hsh.select { |key, value| block } -> Hash\nhsh.select -> Enumerator",
413
- "description": "Returns a new hash consisting of key-value pairs for which the block returns a truthy value. Alias: filter.",
414
- "returns": "Hash or Enumerator"
415
- },
416
- "reject": {
417
- "signature": "hsh.reject { |key, value| block } -> Hash",
418
- "description": "Returns a new hash consisting of key-value pairs for which the block returns a falsy value.",
419
- "returns": "Hash"
420
- },
421
- "merge": {
422
- "signature": "hsh.merge(*other_hashes) -> Hash\nhsh.merge(*other_hashes) { |key, old_val, new_val| block } -> Hash",
423
- "description": "Returns a new hash containing the contents of self and the other hashes. For duplicate keys, the value from the last hash wins, unless a block is given.",
424
- "returns": "Hash"
425
- },
426
- "fetch": {
427
- "signature": "hsh.fetch(key) -> value\nhsh.fetch(key, default) -> value\nhsh.fetch(key) { |key| block } -> value",
428
- "description": "Returns the value for the given key. If the key is not found, raises KeyError (no default), returns the default value, or calls the block.",
429
- "returns": "Object"
430
- },
431
- "dig": {
432
- "signature": "hsh.dig(key, *identifiers) -> object or nil",
433
- "description": "Extracts the nested value specified by the sequence of keys. Returns nil if any intermediate step is nil.",
434
- "returns": "Object or nil"
435
- },
436
- "has_key?": {
437
- "signature": "hsh.has_key?(key) -> true or false",
438
- "description": "Returns true if the given key is present in the hash. Aliases: include?, key?, member?.",
439
- "returns": "Boolean"
440
- },
441
- "delete": {
442
- "signature": "hsh.delete(key) -> value or nil\nhsh.delete(key) { |key| block } -> value",
443
- "description": "Deletes the key-value pair and returns the value. If the key is not found, returns nil or calls the block.",
444
- "returns": "Object or nil"
445
- },
446
- "transform_keys": {
447
- "signature": "hsh.transform_keys { |key| block } -> Hash\nhsh.transform_keys(hash_mapping) -> Hash",
448
- "description": "Returns a new hash with keys transformed by the block or mapping. Added in Ruby 2.5.",
449
- "returns": "Hash"
450
- },
451
- "transform_values": {
452
- "signature": "hsh.transform_values { |value| block } -> Hash",
453
- "description": "Returns a new hash with values transformed by the block.",
454
- "returns": "Hash"
455
- },
456
- "to_a": {
457
- "signature": "hsh.to_a -> Array",
458
- "description": "Converts the hash to a nested array of [key, value] pairs.",
459
- "returns": "Array"
460
- },
461
- "invert": {
462
- "signature": "hsh.invert -> Hash",
463
- "description": "Returns a new hash with keys and values swapped. If there are duplicate values, the last one wins.",
464
- "returns": "Hash"
465
- },
466
- "any?": {
467
- "signature": "hsh.any? { |key, value| block } -> true or false",
468
- "description": "Returns true if the block returns a truthy value for any key-value pair.",
469
- "returns": "Boolean"
470
- },
471
- "all?": {
472
- "signature": "hsh.all? { |key, value| block } -> true or false",
473
- "description": "Returns true if the block returns a truthy value for every key-value pair.",
474
- "returns": "Boolean"
475
- },
476
- "count": {
477
- "signature": "hsh.count -> Integer\nhsh.count { |key, value| block } -> Integer",
478
- "description": "Returns the number of key-value pairs. With a block, counts pairs for which the block returns truthy.",
479
- "returns": "Integer"
480
- },
481
- "empty?": {
482
- "signature": "hsh.empty? -> true or false",
483
- "description": "Returns true if the hash contains no key-value pairs.",
484
- "returns": "Boolean"
485
- },
486
- "slice": {
487
- "signature": "hsh.slice(*keys) -> Hash",
488
- "description": "Returns a new hash containing only the given keys and their values. Added in Ruby 2.5.",
489
- "returns": "Hash"
490
- },
491
- "except": {
492
- "signature": "hsh.except(*keys) -> Hash",
493
- "description": "Returns a new hash excluding the specified keys. Added in Ruby 3.0.",
494
- "returns": "Hash"
495
- }
496
- }
497
- },
498
- "Enumerable": {
499
- "signature": "module Enumerable",
500
- "description": "The Enumerable mixin provides collection classes with traversal, searching, and sorting methods. The class must provide a method each, which yields successive members of the collection. Many core classes include Enumerable: Array, Hash, Range, Set, etc.",
501
- "type": "module",
502
- "module": "Core",
503
- "members": {
504
- "each": {
505
- "signature": "enum.each { |element| block } -> enum",
506
- "description": "Calls the given block once for each element in the collection. Required method for Enumerable inclusion.",
507
- "returns": "Enumerator or self"
508
- },
509
- "map": {
510
- "signature": "enum.map { |element| block } -> Array",
511
- "description": "Returns a new array with the results of running the block for every element. Alias: collect.",
512
- "returns": "Array"
513
- },
514
- "select": {
515
- "signature": "enum.select { |element| block } -> Array",
516
- "description": "Returns an array of all elements for which the block returns a truthy value. Alias: filter.",
517
- "returns": "Array"
518
- },
519
- "reject": {
520
- "signature": "enum.reject { |element| block } -> Array",
521
- "description": "Returns an array of all elements for which the block returns a falsy value.",
522
- "returns": "Array"
523
- },
524
- "reduce": {
525
- "signature": "enum.reduce(initial, sym) -> object\nenum.reduce(initial) { |memo, element| block } -> object",
526
- "description": "Combines all elements by applying a binary operation. Alias: inject.",
527
- "returns": "Object"
528
- },
529
- "flat_map": {
530
- "signature": "enum.flat_map { |element| block } -> Array",
531
- "description": "Returns a new array with the concatenated results of running the block for every element, then flattening one level.",
532
- "returns": "Array"
533
- },
534
- "group_by": {
535
- "signature": "enum.group_by { |element| block } -> Hash",
536
- "description": "Groups the collection's elements into a hash keyed by the block's return value.",
537
- "returns": "Hash"
538
- },
539
- "sort_by": {
540
- "signature": "enum.sort_by { |element| block } -> Array",
541
- "description": "Sorts elements by the values returned by the block. Uses a Schwartzian transform internally.",
542
- "returns": "Array"
543
- },
544
- "min_by": {
545
- "signature": "enum.min_by { |element| block } -> object\nenum.min_by(n) { |element| block } -> Array",
546
- "description": "Returns the element for which the block returns the minimum value.",
547
- "returns": "Object or Array"
548
- },
549
- "max_by": {
550
- "signature": "enum.max_by { |element| block } -> object\nenum.max_by(n) { |element| block } -> Array",
551
- "description": "Returns the element for which the block returns the maximum value.",
552
- "returns": "Object or Array"
553
- },
554
- "tally": {
555
- "signature": "enum.tally -> Hash\nenum.tally_by { |element| block } -> Hash",
556
- "description": "Counts occurrences of each element and returns a hash. Added in Ruby 2.7.",
557
- "returns": "Hash"
558
- },
559
- "sum": {
560
- "signature": "enum.sum(init = 0) -> number\nenum.sum(init = 0) { |element| block } -> number",
561
- "description": "Returns the sum of elements, optionally transformed by a block.",
562
- "returns": "Numeric"
563
- },
564
- "zip": {
565
- "signature": "enum.zip(*lists) -> Array",
566
- "description": "Takes one element from the enumerable and merges corresponding elements from each argument.",
567
- "returns": "Array"
568
- },
569
- "lazy": {
570
- "signature": "enum.lazy -> Enumerator::Lazy",
571
- "description": "Returns a lazy enumerator. Transformations are deferred until values are needed, enabling work with infinite sequences.",
572
- "returns": "Enumerator::Lazy"
573
- },
574
- "filter_map": {
575
- "signature": "enum.filter_map { |element| block } -> Array",
576
- "description": "Returns an array containing the truthy results of running the block for every element. Equivalent to filter + map in one pass. Added in Ruby 2.7.",
577
- "returns": "Array"
578
- },
579
- "each_with_object": {
580
- "signature": "enum.each_with_object(obj) { |element, obj| block } -> obj",
581
- "description": "Iterates over the collection, passing each element and the given object to the block. Returns the object.",
582
- "returns": "Object"
583
- },
584
- "chunk": {
585
- "signature": "enum.chunk { |element| block } -> Enumerator",
586
- "description": "Enumerates over items, chunking them together based on consecutive elements that return the same block value.",
587
- "returns": "Enumerator"
588
- }
589
- }
590
- },
591
- "File": {
592
- "signature": "class File < IO",
593
- "description": "File is an abstraction of any file object accessible in the underlying operating system. File includes the methods of module FileTest as class methods.",
594
- "type": "class",
595
- "module": "Core",
596
- "members": {
597
- "read": {
598
- "signature": "File.read(filename, length = nil, offset = 0, **opts) -> String",
599
- "description": "Opens the file, optionally seeks to the given offset, reads length bytes (or all if nil), closes the file, and returns the data as a string.",
600
- "returns": "String"
601
- },
602
- "write": {
603
- "signature": "File.write(filename, string, offset = nil, **opts) -> Integer",
604
- "description": "Opens the file, optionally seeks to the given offset, writes the string, closes the file, and returns the number of bytes written.",
605
- "returns": "Integer"
606
- },
607
- "open": {
608
- "signature": "File.open(filename, mode = 'r', **opts) -> File\nFile.open(filename, mode = 'r', **opts) { |f| block } -> object",
609
- "description": "With no block, opens the file and returns a File object. With a block, passes the File to the block and ensures the file is closed afterward.",
610
- "returns": "File or Object"
611
- },
612
- "exist?": {
613
- "signature": "File.exist?(path) -> true or false",
614
- "description": "Returns true if the named file exists. Follows symbolic links.",
615
- "returns": "Boolean"
616
- },
617
- "delete": {
618
- "signature": "File.delete(*filenames) -> Integer",
619
- "description": "Deletes the named file(s). Returns the number of files deleted. Alias: unlink.",
620
- "returns": "Integer"
621
- },
622
- "rename": {
623
- "signature": "File.rename(old_name, new_name) -> 0",
624
- "description": "Renames the given file to the new name. Raises SystemCallError on failure.",
625
- "returns": "Integer"
626
- },
627
- "join": {
628
- "signature": "File.join(*parts) -> String",
629
- "description": "Returns a new string consisting of the parts joined with File::SEPARATOR.",
630
- "returns": "String"
631
- },
632
- "dirname": {
633
- "signature": "File.dirname(path, level = 1) -> String",
634
- "description": "Returns all components of the filename given in path except the last one.",
635
- "returns": "String"
636
- },
637
- "basename": {
638
- "signature": "File.basename(path, suffix = '') -> String",
639
- "description": "Returns the last component of the filename. If suffix is given, it is removed from the result.",
640
- "returns": "String"
641
- },
642
- "extname": {
643
- "signature": "File.extname(path) -> String",
644
- "description": "Returns the extension (the portion of the file name after the last dot, including the dot).",
645
- "returns": "String"
646
- },
647
- "size": {
648
- "signature": "File.size(path) -> Integer",
649
- "description": "Returns the size of the file in bytes.",
650
- "returns": "Integer"
651
- },
652
- "mtime": {
653
- "signature": "File.mtime(path) -> Time",
654
- "description": "Returns the modification time of the named file as a Time object.",
655
- "returns": "Time"
656
- },
657
- "directory?": {
658
- "signature": "File.directory?(path) -> true or false",
659
- "description": "Returns true if the named file is a directory.",
660
- "returns": "Boolean"
661
- },
662
- "file?": {
663
- "signature": "File.file?(path) -> true or false",
664
- "description": "Returns true if the named file exists and is a regular file.",
665
- "returns": "Boolean"
666
- }
667
- }
668
- }
669
- }
1
+ {
2
+ "language": "ruby",
3
+ "definitions": {
4
+ "String": {
5
+ "signature": "class String",
6
+ "description": "A String object holds an arbitrary sequence of bytes, typically representing text. Strings are mutable unless frozen. String literals can be created with single quotes, double quotes, heredocs, and percent literals.",
7
+ "type": "class",
8
+ "module": "Core",
9
+ "members": {
10
+ "length": {
11
+ "signature": "str.length -> Integer",
12
+ "description": "Returns the number of characters in the string. Multibyte characters are counted as single characters.",
13
+ "returns": "Integer"
14
+ },
15
+ "reverse": {
16
+ "signature": "str.reverse -> String",
17
+ "description": "Returns a new string with the characters in reverse order.",
18
+ "returns": "String"
19
+ },
20
+ "upcase": {
21
+ "signature": "str.upcase(*options) -> String",
22
+ "description": "Returns a copy of the string with all lowercase letters replaced with their uppercase counterparts. Supports Unicode case mapping.",
23
+ "returns": "String"
24
+ },
25
+ "downcase": {
26
+ "signature": "str.downcase(*options) -> String",
27
+ "description": "Returns a copy of the string with all uppercase letters replaced with their lowercase counterparts.",
28
+ "returns": "String"
29
+ },
30
+ "capitalize": {
31
+ "signature": "str.capitalize(*options) -> String",
32
+ "description": "Returns a copy of the string with the first character converted to uppercase and the remainder to lowercase.",
33
+ "returns": "String"
34
+ },
35
+ "strip": {
36
+ "signature": "str.strip -> String",
37
+ "description": "Returns a copy of the string with leading and trailing whitespace removed.",
38
+ "returns": "String"
39
+ },
40
+ "gsub": {
41
+ "signature": "str.gsub(pattern, replacement) -> String\nstr.gsub(pattern) { |match| block } -> String",
42
+ "description": "Returns a copy of the string with all occurrences of the pattern substituted. The pattern can be a string or a Regexp.",
43
+ "returns": "String"
44
+ },
45
+ "sub": {
46
+ "signature": "str.sub(pattern, replacement) -> String\nstr.sub(pattern) { |match| block } -> String",
47
+ "description": "Returns a copy of the string with the first occurrence of the pattern replaced.",
48
+ "returns": "String"
49
+ },
50
+ "split": {
51
+ "signature": "str.split(pattern = $;, limit = -1) -> Array",
52
+ "description": "Divides the string into substrings based on a delimiter, returning an array. Default delimiter is whitespace.",
53
+ "returns": "Array"
54
+ },
55
+ "chars": {
56
+ "signature": "str.chars -> Array",
57
+ "description": "Returns an array of characters in the string. Each element is a single-character string.",
58
+ "returns": "Array"
59
+ },
60
+ "include?": {
61
+ "signature": "str.include?(other_str) -> true or false",
62
+ "description": "Returns true if the string contains the given substring.",
63
+ "returns": "Boolean"
64
+ },
65
+ "start_with?": {
66
+ "signature": "str.start_with?(*prefixes) -> true or false",
67
+ "description": "Returns true if the string starts with any of the given prefixes. Each prefix can be a String or a Regexp.",
68
+ "returns": "Boolean"
69
+ },
70
+ "end_with?": {
71
+ "signature": "str.end_with?(*suffixes) -> true or false",
72
+ "description": "Returns true if the string ends with any of the given suffixes.",
73
+ "returns": "Boolean"
74
+ },
75
+ "match?": {
76
+ "signature": "str.match?(pattern, pos = 0) -> true or false",
77
+ "description": "Returns true if the string matches the given pattern. Faster than match because it does not create a MatchData object.",
78
+ "returns": "Boolean"
79
+ },
80
+ "scan": {
81
+ "signature": "str.scan(pattern) -> Array\nstr.scan(pattern) { |match| block } -> String",
82
+ "description": "Scans the string for all occurrences of the pattern and returns an array of matches.",
83
+ "returns": "Array"
84
+ },
85
+ "tr": {
86
+ "signature": "str.tr(from_str, to_str) -> String",
87
+ "description": "Returns a copy of the string with characters in from_str replaced by the corresponding characters in to_str.",
88
+ "returns": "String"
89
+ },
90
+ "to_i": {
91
+ "signature": "str.to_i(base = 10) -> Integer",
92
+ "description": "Interprets leading characters of the string as an integer in the given base. Returns 0 if no valid number is found.",
93
+ "returns": "Integer"
94
+ },
95
+ "to_f": {
96
+ "signature": "str.to_f -> Float",
97
+ "description": "Interprets leading characters of the string as a floating-point number. Returns 0.0 if no valid number is found.",
98
+ "returns": "Float"
99
+ },
100
+ "to_sym": {
101
+ "signature": "str.to_sym -> Symbol",
102
+ "description": "Returns the Symbol corresponding to the string, creating the symbol if it did not previously exist.",
103
+ "returns": "Symbol"
104
+ },
105
+ "encode": {
106
+ "signature": "str.encode(encoding, **options) -> String",
107
+ "description": "Returns a copy of the string transcoded to the specified encoding.",
108
+ "returns": "String"
109
+ },
110
+ "freeze": {
111
+ "signature": "str.freeze -> String",
112
+ "description": "Freezes the string, preventing further modifications. Returns the frozen string.",
113
+ "returns": "String"
114
+ },
115
+ "replace": {
116
+ "signature": "str.replace(other_str) -> String",
117
+ "description": "Replaces the contents and encoding of the string with the corresponding values from other_str.",
118
+ "returns": "String"
119
+ },
120
+ "chomp": {
121
+ "signature": "str.chomp(separator = $/) -> String",
122
+ "description": "Returns a new string with the given record separator removed from the end. Default separator is newline.",
123
+ "returns": "String"
124
+ },
125
+ "chop": {
126
+ "signature": "str.chop -> String",
127
+ "description": "Returns a new string with the last character removed. If the string ends with \\r\\n, both characters are removed.",
128
+ "returns": "String"
129
+ },
130
+ "center": {
131
+ "signature": "str.center(width, padstr = ' ') -> String",
132
+ "description": "Centers the string in a field of the given width, padding with the pad string on both sides.",
133
+ "returns": "String"
134
+ },
135
+ "ljust": {
136
+ "signature": "str.ljust(width, padstr = ' ') -> String",
137
+ "description": "Left-justifies the string in a field of the given width, padding on the right with the pad string.",
138
+ "returns": "String"
139
+ },
140
+ "rjust": {
141
+ "signature": "str.rjust(width, padstr = ' ') -> String",
142
+ "description": "Right-justifies the string in a field of the given width, padding on the left with the pad string.",
143
+ "returns": "String"
144
+ },
145
+ "squeeze": {
146
+ "signature": "str.squeeze(*selectors) -> String",
147
+ "description": "Returns a new string where runs of the same character (matching the optional selectors) are replaced by a single character.",
148
+ "returns": "String"
149
+ },
150
+ "delete": {
151
+ "signature": "str.delete(*selectors) -> String",
152
+ "description": "Returns a copy of the string with all characters in the intersection of the given selectors deleted.",
153
+ "returns": "String"
154
+ }
155
+ }
156
+ },
157
+ "Array": {
158
+ "signature": "class Array",
159
+ "description": "Arrays are ordered, integer-indexed collections of any object. Array indexing starts at 0. A negative index counts from the end. Arrays can contain mixed types and can be nested.",
160
+ "type": "class",
161
+ "module": "Core",
162
+ "members": {
163
+ "push": {
164
+ "signature": "ary.push(*objects) -> Array",
165
+ "description": "Appends the given object(s) to the end of the array. Returns the array itself, so several pushes may be chained together.",
166
+ "returns": "Array"
167
+ },
168
+ "pop": {
169
+ "signature": "ary.pop -> object or nil\nary.pop(n) -> Array",
170
+ "description": "Removes the last element from the array and returns it, or nil if the array is empty. With an argument, removes and returns the last n elements.",
171
+ "returns": "Object or Array"
172
+ },
173
+ "shift": {
174
+ "signature": "ary.shift -> object or nil\nary.shift(n) -> Array",
175
+ "description": "Removes the first element and returns it, shifting all other elements down by one. Returns nil if the array is empty.",
176
+ "returns": "Object or Array"
177
+ },
178
+ "unshift": {
179
+ "signature": "ary.unshift(*objects) -> Array",
180
+ "description": "Prepends objects to the front of the array, moving other elements upwards.",
181
+ "returns": "Array"
182
+ },
183
+ "first": {
184
+ "signature": "ary.first -> object or nil\nary.first(n) -> Array",
185
+ "description": "Returns the first element, or the first n elements as an array.",
186
+ "returns": "Object or Array"
187
+ },
188
+ "last": {
189
+ "signature": "ary.last -> object or nil\nary.last(n) -> Array",
190
+ "description": "Returns the last element, or the last n elements as an array.",
191
+ "returns": "Object or Array"
192
+ },
193
+ "length": {
194
+ "signature": "ary.length -> Integer",
195
+ "description": "Returns the number of elements in the array. Alias: size.",
196
+ "returns": "Integer"
197
+ },
198
+ "empty?": {
199
+ "signature": "ary.empty? -> true or false",
200
+ "description": "Returns true if the array contains no elements.",
201
+ "returns": "Boolean"
202
+ },
203
+ "include?": {
204
+ "signature": "ary.include?(object) -> true or false",
205
+ "description": "Returns true if any element equals the given object (using ==).",
206
+ "returns": "Boolean"
207
+ },
208
+ "flatten": {
209
+ "signature": "ary.flatten(depth = -1) -> Array",
210
+ "description": "Returns a new array that is a recursive flattening of the original. The optional depth argument limits the recursion depth.",
211
+ "returns": "Array"
212
+ },
213
+ "compact": {
214
+ "signature": "ary.compact -> Array",
215
+ "description": "Returns a new array with all nil elements removed.",
216
+ "returns": "Array"
217
+ },
218
+ "uniq": {
219
+ "signature": "ary.uniq -> Array\nary.uniq { |element| block } -> Array",
220
+ "description": "Returns a new array with duplicate values removed. If a block is given, uses the block's return value for comparison.",
221
+ "returns": "Array"
222
+ },
223
+ "sort": {
224
+ "signature": "ary.sort -> Array\nary.sort { |a, b| block } -> Array",
225
+ "description": "Returns a new array with elements sorted. Without a block, uses <=> for comparison.",
226
+ "returns": "Array"
227
+ },
228
+ "sort_by": {
229
+ "signature": "ary.sort_by { |element| block } -> Array",
230
+ "description": "Sorts elements using the values returned by the given block as sort keys.",
231
+ "returns": "Array"
232
+ },
233
+ "reverse": {
234
+ "signature": "ary.reverse -> Array",
235
+ "description": "Returns a new array with elements in reverse order.",
236
+ "returns": "Array"
237
+ },
238
+ "each": {
239
+ "signature": "ary.each { |element| block } -> Array\nary.each -> Enumerator",
240
+ "description": "Calls the given block once for each element in the array, passing that element as a parameter.",
241
+ "returns": "Array or Enumerator"
242
+ },
243
+ "map": {
244
+ "signature": "ary.map { |element| block } -> Array\nary.map -> Enumerator",
245
+ "description": "Returns a new array containing the values returned by the block for each element. Alias: collect.",
246
+ "returns": "Array or Enumerator"
247
+ },
248
+ "select": {
249
+ "signature": "ary.select { |element| block } -> Array\nary.select -> Enumerator",
250
+ "description": "Returns a new array containing all elements for which the block returns a truthy value. Alias: filter.",
251
+ "returns": "Array or Enumerator"
252
+ },
253
+ "reject": {
254
+ "signature": "ary.reject { |element| block } -> Array\nary.reject -> Enumerator",
255
+ "description": "Returns a new array excluding all elements for which the block returns a truthy value.",
256
+ "returns": "Array or Enumerator"
257
+ },
258
+ "reduce": {
259
+ "signature": "ary.reduce(initial, sym) -> object\nary.reduce(initial) { |memo, element| block } -> object",
260
+ "description": "Combines all elements by applying a binary operation, specified by a block or a symbol naming a method. Alias: inject.",
261
+ "returns": "Object"
262
+ },
263
+ "find": {
264
+ "signature": "ary.find(ifnone = nil) { |element| block } -> object or nil",
265
+ "description": "Returns the first element for which the block returns truthy, or calls ifnone if no match is found. Alias: detect.",
266
+ "returns": "Object or nil"
267
+ },
268
+ "any?": {
269
+ "signature": "ary.any? { |element| block } -> true or false\nary.any?(pattern) -> true or false",
270
+ "description": "Returns true if the block ever returns a truthy value for any element. With a pattern, checks if any element === pattern.",
271
+ "returns": "Boolean"
272
+ },
273
+ "all?": {
274
+ "signature": "ary.all? { |element| block } -> true or false\nary.all?(pattern) -> true or false",
275
+ "description": "Returns true if the block returns a truthy value for every element.",
276
+ "returns": "Boolean"
277
+ },
278
+ "none?": {
279
+ "signature": "ary.none? { |element| block } -> true or false\nary.none?(pattern) -> true or false",
280
+ "description": "Returns true if the block returns a falsy value for every element.",
281
+ "returns": "Boolean"
282
+ },
283
+ "count": {
284
+ "signature": "ary.count -> Integer\nary.count(obj) -> Integer\nary.count { |element| block } -> Integer",
285
+ "description": "Returns the number of elements. With an argument, counts elements equal to the argument. With a block, counts elements for which the block returns truthy.",
286
+ "returns": "Integer"
287
+ },
288
+ "min": {
289
+ "signature": "ary.min -> object\nary.min(n) -> Array\nary.min { |a, b| block } -> object",
290
+ "description": "Returns the minimum element, using <=> or the given block for comparison.",
291
+ "returns": "Object or Array"
292
+ },
293
+ "max": {
294
+ "signature": "ary.max -> object\nary.max(n) -> Array\nary.max { |a, b| block } -> object",
295
+ "description": "Returns the maximum element, using <=> or the given block for comparison.",
296
+ "returns": "Object or Array"
297
+ },
298
+ "sum": {
299
+ "signature": "ary.sum(init = 0) -> number\nary.sum(init = 0) { |element| block } -> number",
300
+ "description": "Returns the sum of elements. With a block, sums the results of running the block for each element.",
301
+ "returns": "Numeric"
302
+ },
303
+ "zip": {
304
+ "signature": "ary.zip(*other_arrays) -> Array\nary.zip(*other_arrays) { |arr| block } -> nil",
305
+ "description": "Merges elements of self with corresponding elements from each argument array, returning an array of arrays.",
306
+ "returns": "Array or nil"
307
+ },
308
+ "flat_map": {
309
+ "signature": "ary.flat_map { |element| block } -> Array",
310
+ "description": "Returns a new array with the concatenated results of running the block for every element. Equivalent to map then flatten(1).",
311
+ "returns": "Array"
312
+ },
313
+ "each_with_index": {
314
+ "signature": "ary.each_with_index { |element, index| block } -> Array",
315
+ "description": "Calls the block with each element and its index.",
316
+ "returns": "Array or Enumerator"
317
+ },
318
+ "group_by": {
319
+ "signature": "ary.group_by { |element| block } -> Hash",
320
+ "description": "Groups elements into a hash where keys are the block's return values and values are arrays of corresponding elements.",
321
+ "returns": "Hash"
322
+ },
323
+ "tally": {
324
+ "signature": "ary.tally -> Hash",
325
+ "description": "Counts the occurrences of each element and returns a hash. Keys are elements, values are counts.",
326
+ "returns": "Hash"
327
+ },
328
+ "sample": {
329
+ "signature": "ary.sample -> object or nil\nary.sample(n) -> Array\nary.sample(n, random: rng) -> Array",
330
+ "description": "Returns a random element or n random elements from the array.",
331
+ "returns": "Object or Array"
332
+ },
333
+ "shuffle": {
334
+ "signature": "ary.shuffle -> Array\nary.shuffle(random: rng) -> Array",
335
+ "description": "Returns a new array with elements shuffled in random order.",
336
+ "returns": "Array"
337
+ },
338
+ "join": {
339
+ "signature": "ary.join(separator = $,) -> String",
340
+ "description": "Converts each element to a string (via to_s) and joins them with the given separator.",
341
+ "returns": "String"
342
+ },
343
+ "dig": {
344
+ "signature": "ary.dig(index, *identifiers) -> object or nil",
345
+ "description": "Extracts the nested value specified by the sequence of indices. Returns nil if any intermediate step is nil.",
346
+ "returns": "Object or nil"
347
+ },
348
+ "take": {
349
+ "signature": "ary.take(n) -> Array",
350
+ "description": "Returns the first n elements of the array.",
351
+ "returns": "Array"
352
+ },
353
+ "drop": {
354
+ "signature": "ary.drop(n) -> Array",
355
+ "description": "Returns the array minus its first n elements.",
356
+ "returns": "Array"
357
+ },
358
+ "combination": {
359
+ "signature": "ary.combination(n) { |c| block } -> Array\nary.combination(n) -> Enumerator",
360
+ "description": "Yields all combinations of length n of elements from the array.",
361
+ "returns": "Array or Enumerator"
362
+ },
363
+ "permutation": {
364
+ "signature": "ary.permutation(n = self.size) { |p| block } -> Array\nary.permutation(n) -> Enumerator",
365
+ "description": "Yields all permutations of length n of elements from the array.",
366
+ "returns": "Array or Enumerator"
367
+ },
368
+ "intersection": {
369
+ "signature": "ary.intersection(*other_arrays) -> Array",
370
+ "description": "Returns a new array containing elements common to self and all given arrays, removing duplicates. Order is preserved from self.",
371
+ "returns": "Array"
372
+ },
373
+ "union": {
374
+ "signature": "ary.union(*other_arrays) -> Array",
375
+ "description": "Returns a new array that is the union of self and all given arrays, removing duplicates. Order is preserved.",
376
+ "returns": "Array"
377
+ },
378
+ "difference": {
379
+ "signature": "ary.difference(*other_arrays) -> Array",
380
+ "description": "Returns a new array containing elements from self that are not in any of the given arrays.",
381
+ "returns": "Array"
382
+ }
383
+ }
384
+ },
385
+ "Hash": {
386
+ "signature": "class Hash",
387
+ "description": "A Hash is a collection of key-value pairs. It is similar to an Array, except that indexing is done via arbitrary keys of any type, not integer indices. The order of key-value pairs is the insertion order.",
388
+ "type": "class",
389
+ "module": "Core",
390
+ "members": {
391
+ "keys": {
392
+ "signature": "hsh.keys -> Array",
393
+ "description": "Returns a new array populated with the keys from the hash.",
394
+ "returns": "Array"
395
+ },
396
+ "values": {
397
+ "signature": "hsh.values -> Array",
398
+ "description": "Returns a new array populated with the values from the hash.",
399
+ "returns": "Array"
400
+ },
401
+ "each": {
402
+ "signature": "hsh.each { |key, value| block } -> Hash\nhsh.each -> Enumerator",
403
+ "description": "Calls the block once for each key-value pair in the hash, passing the key and value as parameters.",
404
+ "returns": "Hash or Enumerator"
405
+ },
406
+ "map": {
407
+ "signature": "hsh.map { |key, value| block } -> Array",
408
+ "description": "Returns a new array with the results of running the block once for every key-value pair.",
409
+ "returns": "Array"
410
+ },
411
+ "select": {
412
+ "signature": "hsh.select { |key, value| block } -> Hash\nhsh.select -> Enumerator",
413
+ "description": "Returns a new hash consisting of key-value pairs for which the block returns a truthy value. Alias: filter.",
414
+ "returns": "Hash or Enumerator"
415
+ },
416
+ "reject": {
417
+ "signature": "hsh.reject { |key, value| block } -> Hash",
418
+ "description": "Returns a new hash consisting of key-value pairs for which the block returns a falsy value.",
419
+ "returns": "Hash"
420
+ },
421
+ "merge": {
422
+ "signature": "hsh.merge(*other_hashes) -> Hash\nhsh.merge(*other_hashes) { |key, old_val, new_val| block } -> Hash",
423
+ "description": "Returns a new hash containing the contents of self and the other hashes. For duplicate keys, the value from the last hash wins, unless a block is given.",
424
+ "returns": "Hash"
425
+ },
426
+ "fetch": {
427
+ "signature": "hsh.fetch(key) -> value\nhsh.fetch(key, default) -> value\nhsh.fetch(key) { |key| block } -> value",
428
+ "description": "Returns the value for the given key. If the key is not found, raises KeyError (no default), returns the default value, or calls the block.",
429
+ "returns": "Object"
430
+ },
431
+ "dig": {
432
+ "signature": "hsh.dig(key, *identifiers) -> object or nil",
433
+ "description": "Extracts the nested value specified by the sequence of keys. Returns nil if any intermediate step is nil.",
434
+ "returns": "Object or nil"
435
+ },
436
+ "has_key?": {
437
+ "signature": "hsh.has_key?(key) -> true or false",
438
+ "description": "Returns true if the given key is present in the hash. Aliases: include?, key?, member?.",
439
+ "returns": "Boolean"
440
+ },
441
+ "delete": {
442
+ "signature": "hsh.delete(key) -> value or nil\nhsh.delete(key) { |key| block } -> value",
443
+ "description": "Deletes the key-value pair and returns the value. If the key is not found, returns nil or calls the block.",
444
+ "returns": "Object or nil"
445
+ },
446
+ "transform_keys": {
447
+ "signature": "hsh.transform_keys { |key| block } -> Hash\nhsh.transform_keys(hash_mapping) -> Hash",
448
+ "description": "Returns a new hash with keys transformed by the block or mapping. Added in Ruby 2.5.",
449
+ "returns": "Hash"
450
+ },
451
+ "transform_values": {
452
+ "signature": "hsh.transform_values { |value| block } -> Hash",
453
+ "description": "Returns a new hash with values transformed by the block.",
454
+ "returns": "Hash"
455
+ },
456
+ "to_a": {
457
+ "signature": "hsh.to_a -> Array",
458
+ "description": "Converts the hash to a nested array of [key, value] pairs.",
459
+ "returns": "Array"
460
+ },
461
+ "invert": {
462
+ "signature": "hsh.invert -> Hash",
463
+ "description": "Returns a new hash with keys and values swapped. If there are duplicate values, the last one wins.",
464
+ "returns": "Hash"
465
+ },
466
+ "any?": {
467
+ "signature": "hsh.any? { |key, value| block } -> true or false",
468
+ "description": "Returns true if the block returns a truthy value for any key-value pair.",
469
+ "returns": "Boolean"
470
+ },
471
+ "all?": {
472
+ "signature": "hsh.all? { |key, value| block } -> true or false",
473
+ "description": "Returns true if the block returns a truthy value for every key-value pair.",
474
+ "returns": "Boolean"
475
+ },
476
+ "count": {
477
+ "signature": "hsh.count -> Integer\nhsh.count { |key, value| block } -> Integer",
478
+ "description": "Returns the number of key-value pairs. With a block, counts pairs for which the block returns truthy.",
479
+ "returns": "Integer"
480
+ },
481
+ "empty?": {
482
+ "signature": "hsh.empty? -> true or false",
483
+ "description": "Returns true if the hash contains no key-value pairs.",
484
+ "returns": "Boolean"
485
+ },
486
+ "slice": {
487
+ "signature": "hsh.slice(*keys) -> Hash",
488
+ "description": "Returns a new hash containing only the given keys and their values. Added in Ruby 2.5.",
489
+ "returns": "Hash"
490
+ },
491
+ "except": {
492
+ "signature": "hsh.except(*keys) -> Hash",
493
+ "description": "Returns a new hash excluding the specified keys. Added in Ruby 3.0.",
494
+ "returns": "Hash"
495
+ }
496
+ }
497
+ },
498
+ "Enumerable": {
499
+ "signature": "module Enumerable",
500
+ "description": "The Enumerable mixin provides collection classes with traversal, searching, and sorting methods. The class must provide a method each, which yields successive members of the collection. Many core classes include Enumerable: Array, Hash, Range, Set, etc.",
501
+ "type": "module",
502
+ "module": "Core",
503
+ "members": {
504
+ "each": {
505
+ "signature": "enum.each { |element| block } -> enum",
506
+ "description": "Calls the given block once for each element in the collection. Required method for Enumerable inclusion.",
507
+ "returns": "Enumerator or self"
508
+ },
509
+ "map": {
510
+ "signature": "enum.map { |element| block } -> Array",
511
+ "description": "Returns a new array with the results of running the block for every element. Alias: collect.",
512
+ "returns": "Array"
513
+ },
514
+ "select": {
515
+ "signature": "enum.select { |element| block } -> Array",
516
+ "description": "Returns an array of all elements for which the block returns a truthy value. Alias: filter.",
517
+ "returns": "Array"
518
+ },
519
+ "reject": {
520
+ "signature": "enum.reject { |element| block } -> Array",
521
+ "description": "Returns an array of all elements for which the block returns a falsy value.",
522
+ "returns": "Array"
523
+ },
524
+ "reduce": {
525
+ "signature": "enum.reduce(initial, sym) -> object\nenum.reduce(initial) { |memo, element| block } -> object",
526
+ "description": "Combines all elements by applying a binary operation. Alias: inject.",
527
+ "returns": "Object"
528
+ },
529
+ "flat_map": {
530
+ "signature": "enum.flat_map { |element| block } -> Array",
531
+ "description": "Returns a new array with the concatenated results of running the block for every element, then flattening one level.",
532
+ "returns": "Array"
533
+ },
534
+ "group_by": {
535
+ "signature": "enum.group_by { |element| block } -> Hash",
536
+ "description": "Groups the collection's elements into a hash keyed by the block's return value.",
537
+ "returns": "Hash"
538
+ },
539
+ "sort_by": {
540
+ "signature": "enum.sort_by { |element| block } -> Array",
541
+ "description": "Sorts elements by the values returned by the block. Uses a Schwartzian transform internally.",
542
+ "returns": "Array"
543
+ },
544
+ "min_by": {
545
+ "signature": "enum.min_by { |element| block } -> object\nenum.min_by(n) { |element| block } -> Array",
546
+ "description": "Returns the element for which the block returns the minimum value.",
547
+ "returns": "Object or Array"
548
+ },
549
+ "max_by": {
550
+ "signature": "enum.max_by { |element| block } -> object\nenum.max_by(n) { |element| block } -> Array",
551
+ "description": "Returns the element for which the block returns the maximum value.",
552
+ "returns": "Object or Array"
553
+ },
554
+ "tally": {
555
+ "signature": "enum.tally -> Hash\nenum.tally_by { |element| block } -> Hash",
556
+ "description": "Counts occurrences of each element and returns a hash. Added in Ruby 2.7.",
557
+ "returns": "Hash"
558
+ },
559
+ "sum": {
560
+ "signature": "enum.sum(init = 0) -> number\nenum.sum(init = 0) { |element| block } -> number",
561
+ "description": "Returns the sum of elements, optionally transformed by a block.",
562
+ "returns": "Numeric"
563
+ },
564
+ "zip": {
565
+ "signature": "enum.zip(*lists) -> Array",
566
+ "description": "Takes one element from the enumerable and merges corresponding elements from each argument.",
567
+ "returns": "Array"
568
+ },
569
+ "lazy": {
570
+ "signature": "enum.lazy -> Enumerator::Lazy",
571
+ "description": "Returns a lazy enumerator. Transformations are deferred until values are needed, enabling work with infinite sequences.",
572
+ "returns": "Enumerator::Lazy"
573
+ },
574
+ "filter_map": {
575
+ "signature": "enum.filter_map { |element| block } -> Array",
576
+ "description": "Returns an array containing the truthy results of running the block for every element. Equivalent to filter + map in one pass. Added in Ruby 2.7.",
577
+ "returns": "Array"
578
+ },
579
+ "each_with_object": {
580
+ "signature": "enum.each_with_object(obj) { |element, obj| block } -> obj",
581
+ "description": "Iterates over the collection, passing each element and the given object to the block. Returns the object.",
582
+ "returns": "Object"
583
+ },
584
+ "chunk": {
585
+ "signature": "enum.chunk { |element| block } -> Enumerator",
586
+ "description": "Enumerates over items, chunking them together based on consecutive elements that return the same block value.",
587
+ "returns": "Enumerator"
588
+ }
589
+ }
590
+ },
591
+ "File": {
592
+ "signature": "class File < IO",
593
+ "description": "File is an abstraction of any file object accessible in the underlying operating system. File includes the methods of module FileTest as class methods.",
594
+ "type": "class",
595
+ "module": "Core",
596
+ "members": {
597
+ "read": {
598
+ "signature": "File.read(filename, length = nil, offset = 0, **opts) -> String",
599
+ "description": "Opens the file, optionally seeks to the given offset, reads length bytes (or all if nil), closes the file, and returns the data as a string.",
600
+ "returns": "String"
601
+ },
602
+ "write": {
603
+ "signature": "File.write(filename, string, offset = nil, **opts) -> Integer",
604
+ "description": "Opens the file, optionally seeks to the given offset, writes the string, closes the file, and returns the number of bytes written.",
605
+ "returns": "Integer"
606
+ },
607
+ "open": {
608
+ "signature": "File.open(filename, mode = 'r', **opts) -> File\nFile.open(filename, mode = 'r', **opts) { |f| block } -> object",
609
+ "description": "With no block, opens the file and returns a File object. With a block, passes the File to the block and ensures the file is closed afterward.",
610
+ "returns": "File or Object"
611
+ },
612
+ "exist?": {
613
+ "signature": "File.exist?(path) -> true or false",
614
+ "description": "Returns true if the named file exists. Follows symbolic links.",
615
+ "returns": "Boolean"
616
+ },
617
+ "delete": {
618
+ "signature": "File.delete(*filenames) -> Integer",
619
+ "description": "Deletes the named file(s). Returns the number of files deleted. Alias: unlink.",
620
+ "returns": "Integer"
621
+ },
622
+ "rename": {
623
+ "signature": "File.rename(old_name, new_name) -> 0",
624
+ "description": "Renames the given file to the new name. Raises SystemCallError on failure.",
625
+ "returns": "Integer"
626
+ },
627
+ "join": {
628
+ "signature": "File.join(*parts) -> String",
629
+ "description": "Returns a new string consisting of the parts joined with File::SEPARATOR.",
630
+ "returns": "String"
631
+ },
632
+ "dirname": {
633
+ "signature": "File.dirname(path, level = 1) -> String",
634
+ "description": "Returns all components of the filename given in path except the last one.",
635
+ "returns": "String"
636
+ },
637
+ "basename": {
638
+ "signature": "File.basename(path, suffix = '') -> String",
639
+ "description": "Returns the last component of the filename. If suffix is given, it is removed from the result.",
640
+ "returns": "String"
641
+ },
642
+ "extname": {
643
+ "signature": "File.extname(path) -> String",
644
+ "description": "Returns the extension (the portion of the file name after the last dot, including the dot).",
645
+ "returns": "String"
646
+ },
647
+ "size": {
648
+ "signature": "File.size(path) -> Integer",
649
+ "description": "Returns the size of the file in bytes.",
650
+ "returns": "Integer"
651
+ },
652
+ "mtime": {
653
+ "signature": "File.mtime(path) -> Time",
654
+ "description": "Returns the modification time of the named file as a Time object.",
655
+ "returns": "Time"
656
+ },
657
+ "directory?": {
658
+ "signature": "File.directory?(path) -> true or false",
659
+ "description": "Returns true if the named file is a directory.",
660
+ "returns": "Boolean"
661
+ },
662
+ "file?": {
663
+ "signature": "File.file?(path) -> true or false",
664
+ "description": "Returns true if the named file exists and is a regular file.",
665
+ "returns": "Boolean"
666
+ }
667
+ }
668
+ },
669
+ "IO": {
670
+ "signature": "class IO",
671
+ "description": "The basis for all input and output in Ruby.",
672
+ "type": "class",
673
+ "module": "core",
674
+ "members": {
675
+ "puts": {
676
+ "signature": "puts(obj, ...) -> nil",
677
+ "description": "Writes the given objects, appending a newline.",
678
+ "type": "method",
679
+ "returns": "nil"
680
+ },
681
+ "print": {
682
+ "signature": "print(obj, ...) -> nil",
683
+ "description": "Writes the given objects to ios.",
684
+ "type": "method",
685
+ "returns": "nil"
686
+ },
687
+ "gets": {
688
+ "signature": "gets(sep=$/) -> string or nil",
689
+ "description": "Reads the next line from I/O stream.",
690
+ "type": "method",
691
+ "returns": "String"
692
+ },
693
+ "read": {
694
+ "signature": "read(length=nil) -> string or nil",
695
+ "description": "Reads length bytes from the I/O stream.",
696
+ "type": "method",
697
+ "returns": "String"
698
+ },
699
+ "write": {
700
+ "signature": "write(string) -> integer",
701
+ "description": "Writes the string to ios.",
702
+ "type": "method",
703
+ "returns": "Integer"
704
+ },
705
+ "close": {
706
+ "signature": "close -> nil",
707
+ "description": "Closes ios and flushes any pending writes.",
708
+ "type": "method",
709
+ "returns": "nil"
710
+ }
711
+ }
712
+ },
713
+ "Regexp": {
714
+ "signature": "class Regexp",
715
+ "description": "Holds a regular expression, used to match a pattern against strings.",
716
+ "type": "class",
717
+ "module": "core",
718
+ "members": {
719
+ "match": {
720
+ "signature": "match(str) -> matchdata or nil",
721
+ "description": "Returns a MatchData object if the regexp matches the string.",
722
+ "type": "method",
723
+ "returns": "MatchData"
724
+ },
725
+ "match?": {
726
+ "signature": "match?(str) -> bool",
727
+ "description": "Returns true if the regexp matches the string, without updating $~.",
728
+ "type": "method",
729
+ "returns": "Boolean"
730
+ },
731
+ "source": {
732
+ "signature": "source -> str",
733
+ "description": "Returns the original string of the pattern.",
734
+ "type": "method",
735
+ "returns": "String"
736
+ }
737
+ }
738
+ },
739
+ "Integer": {
740
+ "signature": "class Integer < Numeric",
741
+ "description": "Holds integer values. This is the parent class for Fixnum and Bignum.",
742
+ "type": "class",
743
+ "module": "core",
744
+ "members": {
745
+ "times": {
746
+ "signature": "times {|i| block} -> self",
747
+ "description": "Iterates the given block int times, passing values from 0 to int-1.",
748
+ "type": "method",
749
+ "returns": "Integer"
750
+ },
751
+ "upto": {
752
+ "signature": "upto(limit) {|i| block} -> self",
753
+ "description": "Iterates the given block, passing values from int up to and including limit.",
754
+ "type": "method",
755
+ "returns": "Integer"
756
+ },
757
+ "downto": {
758
+ "signature": "downto(limit) {|i| block} -> self",
759
+ "description": "Iterates the given block, passing decreasing values from int down to limit.",
760
+ "type": "method",
761
+ "returns": "Integer"
762
+ },
763
+ "even?": {
764
+ "signature": "even? -> bool",
765
+ "description": "Returns true if int is an even number.",
766
+ "type": "method",
767
+ "returns": "Boolean"
768
+ },
769
+ "odd?": {
770
+ "signature": "odd? -> bool",
771
+ "description": "Returns true if int is an odd number.",
772
+ "type": "method",
773
+ "returns": "Boolean"
774
+ },
775
+ "to_s": {
776
+ "signature": "to_s(base=10) -> string",
777
+ "description": "Returns a string containing the representation of int.",
778
+ "type": "method",
779
+ "returns": "String"
780
+ },
781
+ "abs": {
782
+ "signature": "abs -> integer",
783
+ "description": "Returns the absolute value.",
784
+ "type": "method",
785
+ "returns": "Integer"
786
+ }
787
+ }
788
+ }
789
+ }
670
790
  }