@enjoys/context-engine 1.1.1 → 1.1.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 (999) hide show
  1. package/data/codeActions/abap.json +12 -0
  2. package/data/codeActions/apex.json +10 -0
  3. package/data/codeActions/azcli.json +26 -0
  4. package/data/codeActions/bicep.json +26 -0
  5. package/data/codeActions/cameligo.json +26 -0
  6. package/data/codeActions/clojure.json +26 -0
  7. package/data/codeActions/coffee.json +26 -0
  8. package/data/codeActions/cypher.json +26 -0
  9. package/data/codeActions/doctest.json +26 -0
  10. package/data/codeActions/ecl.json +26 -0
  11. package/data/codeActions/elixir.json +26 -0
  12. package/data/codeActions/flow9.json +26 -0
  13. package/data/codeActions/freemarker2.json +26 -0
  14. package/data/codeActions/julia.json +26 -0
  15. package/data/codeActions/less.json +26 -0
  16. package/data/codeActions/lexon.json +26 -0
  17. package/data/codeActions/liquid.json +26 -0
  18. package/data/codeActions/m3.json +26 -0
  19. package/data/codeActions/mdx.json +26 -0
  20. package/data/codeActions/mips.json +26 -0
  21. package/data/codeActions/msdax.json +26 -0
  22. package/data/codeActions/mysql.json +26 -0
  23. package/data/codeActions/objective-c.json +26 -0
  24. package/data/codeActions/pascal.json +26 -0
  25. package/data/codeActions/pascaligo.json +26 -0
  26. package/data/codeActions/pgsql.json +26 -0
  27. package/data/codeActions/pla.json +26 -0
  28. package/data/codeActions/postiats.json +26 -0
  29. package/data/codeActions/powerquery.json +26 -0
  30. package/data/codeActions/qsharp.json +26 -0
  31. package/data/codeActions/r.json +71 -0
  32. package/data/codeActions/razor.json +26 -0
  33. package/data/codeActions/redis.json +26 -0
  34. package/data/codeActions/redshift.json +26 -0
  35. package/data/codeActions/restructuredtext.json +26 -0
  36. package/data/codeActions/sb.json +26 -0
  37. package/data/codeActions/scheme.json +26 -0
  38. package/data/codeActions/scss.json +26 -0
  39. package/data/codeActions/shell.json +26 -0
  40. package/data/codeActions/sol.json +26 -0
  41. package/data/codeActions/sparql.json +26 -0
  42. package/data/codeActions/st.json +26 -0
  43. package/data/codeActions/systemverilog.json +26 -0
  44. package/data/codeActions/tcl.json +26 -0
  45. package/data/codeActions/twig.json +26 -0
  46. package/data/codeActions/vb.json +26 -0
  47. package/data/codeActions/wgsl.json +26 -0
  48. package/data/codeLens/abap.json +7 -0
  49. package/data/codeLens/apex.json +7 -0
  50. package/data/codeLens/azcli.json +11 -0
  51. package/data/codeLens/bicep.json +17 -0
  52. package/data/codeLens/cameligo.json +17 -0
  53. package/data/codeLens/clojure.json +17 -0
  54. package/data/codeLens/coffee.json +17 -0
  55. package/data/codeLens/cypher.json +26 -0
  56. package/data/codeLens/docker-compose.json +24 -2
  57. package/data/codeLens/dockerfile.json +26 -4
  58. package/data/codeLens/doctest.json +11 -0
  59. package/data/codeLens/dotenv.json +26 -4
  60. package/data/codeLens/ecl.json +17 -0
  61. package/data/codeLens/elixir.json +17 -0
  62. package/data/codeLens/flow9.json +17 -0
  63. package/data/codeLens/freemarker2.json +17 -0
  64. package/data/codeLens/ini.json +26 -4
  65. package/data/codeLens/json.json +26 -4
  66. package/data/codeLens/julia.json +17 -0
  67. package/data/codeLens/less.json +17 -0
  68. package/data/codeLens/lexon.json +17 -0
  69. package/data/codeLens/liquid.json +17 -0
  70. package/data/codeLens/m3.json +17 -0
  71. package/data/codeLens/markdown.json +26 -4
  72. package/data/codeLens/mdx.json +17 -0
  73. package/data/codeLens/mips.json +17 -0
  74. package/data/codeLens/msdax.json +17 -0
  75. package/data/codeLens/mysql.json +17 -0
  76. package/data/codeLens/objective-c.json +17 -0
  77. package/data/codeLens/pascal.json +17 -0
  78. package/data/codeLens/pascaligo.json +17 -0
  79. package/data/codeLens/pgsql.json +17 -0
  80. package/data/codeLens/pla.json +11 -0
  81. package/data/codeLens/postiats.json +17 -0
  82. package/data/codeLens/powerquery.json +17 -0
  83. package/data/codeLens/qsharp.json +17 -0
  84. package/data/codeLens/r.json +33 -0
  85. package/data/codeLens/razor.json +17 -0
  86. package/data/codeLens/redis-cli.json +26 -4
  87. package/data/codeLens/redis.json +26 -0
  88. package/data/codeLens/redshift.json +17 -0
  89. package/data/codeLens/restructuredtext.json +17 -0
  90. package/data/codeLens/sb.json +17 -0
  91. package/data/codeLens/scheme.json +17 -0
  92. package/data/codeLens/scss.json +17 -0
  93. package/data/codeLens/shell.json +17 -0
  94. package/data/codeLens/sol.json +17 -0
  95. package/data/codeLens/sparql.json +17 -0
  96. package/data/codeLens/ssh_config.json +26 -4
  97. package/data/codeLens/st.json +17 -0
  98. package/data/codeLens/systemd.json +26 -4
  99. package/data/codeLens/systemverilog.json +17 -0
  100. package/data/codeLens/tcl.json +17 -0
  101. package/data/codeLens/toml.json +26 -4
  102. package/data/codeLens/twig.json +17 -0
  103. package/data/codeLens/vb.json +17 -0
  104. package/data/codeLens/wgsl.json +17 -0
  105. package/data/codeLens/yaml.json +26 -4
  106. package/data/color/abap.json +20 -0
  107. package/data/color/apex.json +20 -0
  108. package/data/color/awk.json +80 -6
  109. package/data/color/azcli.json +20 -0
  110. package/data/color/bicep.json +20 -0
  111. package/data/color/c.json +30 -6
  112. package/data/color/caddy.json +24 -6
  113. package/data/color/cameligo.json +19 -0
  114. package/data/color/clojure.json +19 -0
  115. package/data/color/coffee.json +19 -0
  116. package/data/color/cpp.json +30 -6
  117. package/data/color/crontab.json +24 -6
  118. package/data/color/csharp.json +109 -6
  119. package/data/color/cypher.json +19 -0
  120. package/data/color/docker-compose.json +21 -3
  121. package/data/color/dockerfile.json +24 -6
  122. package/data/color/doctest.json +20 -0
  123. package/data/color/dotenv.json +24 -6
  124. package/data/color/ecl.json +20 -0
  125. package/data/color/elixir.json +109 -0
  126. package/data/color/flow9.json +19 -0
  127. package/data/color/freemarker2.json +121 -0
  128. package/data/color/go.json +30 -6
  129. package/data/color/graphql.json +24 -6
  130. package/data/color/hcl.json +24 -6
  131. package/data/color/ini.json +24 -6
  132. package/data/color/java.json +109 -6
  133. package/data/color/json.json +24 -6
  134. package/data/color/julia.json +109 -0
  135. package/data/color/less.json +19 -0
  136. package/data/color/lexon.json +20 -0
  137. package/data/color/liquid.json +121 -0
  138. package/data/color/lua.json +30 -6
  139. package/data/color/m3.json +19 -0
  140. package/data/color/makefile.json +24 -6
  141. package/data/color/markdown.json +121 -6
  142. package/data/color/mdx.json +121 -0
  143. package/data/color/mips.json +20 -0
  144. package/data/color/msdax.json +19 -0
  145. package/data/color/mysql.json +19 -0
  146. package/data/color/nginx.json +24 -6
  147. package/data/color/objective-c.json +30 -0
  148. package/data/color/pascal.json +19 -0
  149. package/data/color/pascaligo.json +19 -0
  150. package/data/color/perl.json +30 -6
  151. package/data/color/pgsql.json +19 -0
  152. package/data/color/pla.json +20 -0
  153. package/data/color/postiats.json +19 -0
  154. package/data/color/powerquery.json +20 -0
  155. package/data/color/powershell.json +80 -6
  156. package/data/color/protobuf.json +24 -6
  157. package/data/color/python.json +109 -6
  158. package/data/color/qsharp.json +20 -0
  159. package/data/color/r.json +109 -0
  160. package/data/color/razor.json +121 -0
  161. package/data/color/redis-cli.json +20 -6
  162. package/data/color/redis.json +20 -0
  163. package/data/color/redshift.json +19 -0
  164. package/data/color/restructuredtext.json +20 -0
  165. package/data/color/ruby.json +109 -6
  166. package/data/color/rust.json +30 -6
  167. package/data/color/sb.json +20 -0
  168. package/data/color/scheme.json +19 -0
  169. package/data/color/scss.json +19 -0
  170. package/data/color/shell.json +80 -0
  171. package/data/color/sol.json +20 -0
  172. package/data/color/sparql.json +19 -0
  173. package/data/color/sql.json +19 -6
  174. package/data/color/ssh_config.json +24 -6
  175. package/data/color/st.json +20 -0
  176. package/data/color/systemd.json +24 -6
  177. package/data/color/systemverilog.json +20 -0
  178. package/data/color/tcl.json +80 -0
  179. package/data/color/toml.json +24 -6
  180. package/data/color/twig.json +121 -0
  181. package/data/color/vb.json +109 -0
  182. package/data/color/wgsl.json +20 -0
  183. package/data/color/xml.json +121 -6
  184. package/data/color/yaml.json +24 -6
  185. package/data/color/zsh.json +80 -6
  186. package/data/commands/abap.json +41 -0
  187. package/data/commands/apex.json +15 -0
  188. package/data/commands/azcli.json +59 -0
  189. package/data/commands/bicep.json +47 -0
  190. package/data/commands/c.json +35 -0
  191. package/data/commands/cameligo.json +47 -0
  192. package/data/commands/clojure.json +41 -0
  193. package/data/commands/coffee.json +41 -0
  194. package/data/commands/cpp.json +35 -0
  195. package/data/commands/crontab.json +35 -0
  196. package/data/commands/csharp.json +47 -0
  197. package/data/commands/cypher.json +35 -0
  198. package/data/commands/doctest.json +29 -0
  199. package/data/commands/dotenv.json +16 -0
  200. package/data/commands/ecl.json +35 -0
  201. package/data/commands/elixir.json +71 -0
  202. package/data/commands/flow9.json +29 -0
  203. package/data/commands/freemarker2.json +23 -0
  204. package/data/commands/graphql.json +16 -0
  205. package/data/commands/hcl.json +53 -0
  206. package/data/commands/html.json +16 -0
  207. package/data/commands/ini.json +16 -0
  208. package/data/commands/javascript.json +35 -0
  209. package/data/commands/json.json +41 -0
  210. package/data/commands/julia.json +41 -0
  211. package/data/commands/less.json +35 -0
  212. package/data/commands/lexon.json +16 -0
  213. package/data/commands/liquid.json +16 -0
  214. package/data/commands/m3.json +16 -0
  215. package/data/commands/makefile.json +41 -0
  216. package/data/commands/manifest.json +72 -1
  217. package/data/commands/markdown.json +16 -0
  218. package/data/commands/mdx.json +16 -0
  219. package/data/commands/mips.json +23 -0
  220. package/data/commands/msdax.json +16 -0
  221. package/data/commands/objective-c.json +29 -0
  222. package/data/commands/pascal.json +29 -0
  223. package/data/commands/pascaligo.json +29 -0
  224. package/data/commands/perl.json +35 -0
  225. package/data/commands/pgsql.json +41 -0
  226. package/data/commands/pla.json +16 -0
  227. package/data/commands/postiats.json +29 -0
  228. package/data/commands/powerquery.json +16 -0
  229. package/data/commands/powershell.json +35 -0
  230. package/data/commands/protobuf.json +35 -0
  231. package/data/commands/qsharp.json +35 -0
  232. package/data/commands/r.json +100 -0
  233. package/data/commands/razor.json +35 -0
  234. package/data/commands/redis.json +47 -0
  235. package/data/commands/redshift.json +23 -0
  236. package/data/commands/restructuredtext.json +35 -0
  237. package/data/commands/sb.json +16 -0
  238. package/data/commands/scheme.json +23 -0
  239. package/data/commands/scss.json +35 -0
  240. package/data/commands/shell.json +41 -0
  241. package/data/commands/sol.json +35 -0
  242. package/data/commands/sparql.json +16 -0
  243. package/data/commands/ssh_config.json +35 -0
  244. package/data/commands/st.json +16 -0
  245. package/data/commands/systemd.json +53 -0
  246. package/data/commands/systemverilog.json +29 -0
  247. package/data/commands/tcl.json +23 -0
  248. package/data/commands/toml.json +16 -0
  249. package/data/commands/twig.json +16 -0
  250. package/data/commands/typescript.json +41 -0
  251. package/data/commands/vb.json +29 -0
  252. package/data/commands/wgsl.json +16 -0
  253. package/data/commands/xml.json +41 -0
  254. package/data/commands/yaml.json +35 -0
  255. package/data/completion/abap.json +341 -0
  256. package/data/completion/apex.json +43 -0
  257. package/data/completion/azcli.json +238 -0
  258. package/data/completion/bicep.json +368 -0
  259. package/data/completion/cameligo.json +487 -0
  260. package/data/completion/clojure.json +488 -0
  261. package/data/completion/coffee.json +479 -0
  262. package/data/completion/cypher.json +628 -0
  263. package/data/completion/doctest.json +526 -0
  264. package/data/completion/ecl.json +598 -0
  265. package/data/completion/elixir.json +649 -0
  266. package/data/completion/flow9.json +376 -0
  267. package/data/completion/freemarker2.json +579 -0
  268. package/data/completion/julia.json +638 -0
  269. package/data/completion/less.json +378 -0
  270. package/data/completion/lexon.json +296 -0
  271. package/data/completion/liquid.json +499 -0
  272. package/data/completion/m3.json +587 -0
  273. package/data/completion/mdx.json +88 -0
  274. package/data/completion/mips.json +378 -0
  275. package/data/completion/msdax.json +467 -0
  276. package/data/completion/mysql.json +638 -0
  277. package/data/completion/objective-c.json +629 -0
  278. package/data/completion/pascal.json +649 -0
  279. package/data/completion/pascaligo.json +517 -0
  280. package/data/completion/pgsql.json +638 -0
  281. package/data/completion/pla.json +155 -0
  282. package/data/completion/postiats.json +417 -0
  283. package/data/completion/powerquery.json +587 -0
  284. package/data/completion/qsharp.json +587 -0
  285. package/data/completion/r.json +1985 -0
  286. package/data/completion/razor.json +488 -0
  287. package/data/completion/redis.json +389 -0
  288. package/data/completion/redshift.json +638 -0
  289. package/data/completion/restructuredtext.json +499 -0
  290. package/data/completion/sb.json +398 -0
  291. package/data/completion/scheme.json +510 -0
  292. package/data/completion/scss.json +500 -0
  293. package/data/completion/shell.json +510 -0
  294. package/data/completion/sol.json +660 -0
  295. package/data/completion/sparql.json +587 -0
  296. package/data/completion/st.json +638 -0
  297. package/data/completion/systemverilog.json +638 -0
  298. package/data/completion/tcl.json +499 -0
  299. package/data/completion/twig.json +510 -0
  300. package/data/completion/vb.json +660 -0
  301. package/data/completion/wgsl.json +649 -0
  302. package/data/declaration/abap.json +11 -0
  303. package/data/declaration/apex.json +10 -0
  304. package/data/declaration/azcli.json +42 -0
  305. package/data/declaration/bicep.json +36 -0
  306. package/data/declaration/cameligo.json +24 -0
  307. package/data/declaration/clojure.json +36 -0
  308. package/data/declaration/coffee.json +24 -0
  309. package/data/declaration/crontab.json +36 -12
  310. package/data/declaration/cypher.json +36 -0
  311. package/data/declaration/doctest.json +36 -0
  312. package/data/declaration/dotenv.json +42 -12
  313. package/data/declaration/ecl.json +24 -0
  314. package/data/declaration/elixir.json +36 -0
  315. package/data/declaration/flow9.json +42 -0
  316. package/data/declaration/freemarker2.json +24 -0
  317. package/data/declaration/html.json +60 -18
  318. package/data/declaration/ini.json +36 -18
  319. package/data/declaration/json.json +30 -12
  320. package/data/declaration/julia.json +36 -0
  321. package/data/declaration/less.json +24 -0
  322. package/data/declaration/lexon.json +42 -0
  323. package/data/declaration/liquid.json +24 -0
  324. package/data/declaration/m3.json +30 -0
  325. package/data/declaration/markdown.json +42 -18
  326. package/data/declaration/mdx.json +24 -0
  327. package/data/declaration/mips.json +42 -0
  328. package/data/declaration/msdax.json +42 -0
  329. package/data/declaration/mysql.json +30 -0
  330. package/data/declaration/objective-c.json +36 -0
  331. package/data/declaration/pascal.json +36 -0
  332. package/data/declaration/pascaligo.json +24 -0
  333. package/data/declaration/pgsql.json +36 -0
  334. package/data/declaration/pla.json +48 -0
  335. package/data/declaration/postiats.json +30 -0
  336. package/data/declaration/powerquery.json +48 -0
  337. package/data/declaration/qsharp.json +30 -0
  338. package/data/declaration/r.json +625 -0
  339. package/data/declaration/razor.json +24 -0
  340. package/data/declaration/redis-cli.json +217 -186
  341. package/data/declaration/redis.json +36 -0
  342. package/data/declaration/redshift.json +48 -0
  343. package/data/declaration/restructuredtext.json +54 -0
  344. package/data/declaration/sb.json +42 -0
  345. package/data/declaration/scheme.json +24 -0
  346. package/data/declaration/scss.json +36 -0
  347. package/data/declaration/shell.json +24 -0
  348. package/data/declaration/sol.json +36 -0
  349. package/data/declaration/sparql.json +48 -0
  350. package/data/declaration/ssh_config.json +48 -18
  351. package/data/declaration/st.json +30 -0
  352. package/data/declaration/systemd.json +54 -18
  353. package/data/declaration/systemverilog.json +36 -0
  354. package/data/declaration/tcl.json +24 -0
  355. package/data/declaration/twig.json +24 -0
  356. package/data/declaration/vb.json +36 -0
  357. package/data/declaration/wgsl.json +30 -0
  358. package/data/defination/abap.json +188 -0
  359. package/data/defination/apex.json +294 -0
  360. package/data/defination/azcli.json +184 -0
  361. package/data/defination/bicep.json +109 -0
  362. package/data/defination/cameligo.json +147 -0
  363. package/data/defination/clojure.json +92 -0
  364. package/data/defination/coffee.json +192 -0
  365. package/data/defination/cypher.json +105 -0
  366. package/data/defination/dart.json +360 -369
  367. package/data/defination/doctest.json +106 -0
  368. package/data/defination/ecl.json +92 -0
  369. package/data/defination/elixir.json +244 -0
  370. package/data/defination/flow9.json +156 -0
  371. package/data/defination/freemarker2.json +176 -0
  372. package/data/defination/julia.json +232 -0
  373. package/data/defination/kotlin.json +269 -789
  374. package/data/defination/less.json +65 -0
  375. package/data/defination/lexon.json +65 -0
  376. package/data/defination/liquid.json +176 -0
  377. package/data/defination/m3.json +220 -0
  378. package/data/defination/mdx.json +78 -0
  379. package/data/defination/mips.json +185 -0
  380. package/data/defination/msdax.json +125 -0
  381. package/data/defination/mysql.json +149 -0
  382. package/data/defination/objective-c.json +217 -0
  383. package/data/defination/pascal.json +175 -0
  384. package/data/defination/pascaligo.json +183 -0
  385. package/data/defination/pgsql.json +119 -0
  386. package/data/defination/pla.json +83 -0
  387. package/data/defination/postiats.json +89 -0
  388. package/data/defination/powerquery.json +101 -0
  389. package/data/defination/qsharp.json +95 -0
  390. package/data/defination/r.json +84 -0
  391. package/data/defination/razor.json +108 -0
  392. package/data/defination/redis.json +125 -0
  393. package/data/defination/redshift.json +112 -0
  394. package/data/defination/restructuredtext.json +77 -0
  395. package/data/defination/sb.json +341 -0
  396. package/data/defination/scheme.json +107 -0
  397. package/data/defination/scss.json +95 -0
  398. package/data/defination/shell.json +95 -0
  399. package/data/defination/sol.json +186 -0
  400. package/data/defination/sparql.json +83 -0
  401. package/data/defination/st.json +329 -0
  402. package/data/defination/systemverilog.json +101 -0
  403. package/data/defination/tcl.json +226 -0
  404. package/data/defination/twig.json +113 -0
  405. package/data/defination/vb.json +113 -0
  406. package/data/defination/wgsl.json +113 -0
  407. package/data/documentHighlight/abap.json +15 -0
  408. package/data/documentHighlight/apex.json +13 -0
  409. package/data/documentHighlight/azcli.json +143 -0
  410. package/data/documentHighlight/bicep.json +92 -0
  411. package/data/documentHighlight/cameligo.json +95 -0
  412. package/data/documentHighlight/clojure.json +130 -0
  413. package/data/documentHighlight/coffee.json +146 -0
  414. package/data/documentHighlight/cypher.json +186 -0
  415. package/data/documentHighlight/doctest.json +102 -0
  416. package/data/documentHighlight/ecl.json +146 -0
  417. package/data/documentHighlight/elixir.json +174 -0
  418. package/data/documentHighlight/flow9.json +119 -0
  419. package/data/documentHighlight/freemarker2.json +174 -0
  420. package/data/documentHighlight/julia.json +166 -0
  421. package/data/documentHighlight/less.json +96 -0
  422. package/data/documentHighlight/lexon.json +106 -0
  423. package/data/documentHighlight/liquid.json +154 -0
  424. package/data/documentHighlight/m3.json +218 -0
  425. package/data/documentHighlight/markdown.json +100 -23
  426. package/data/documentHighlight/mdx.json +103 -0
  427. package/data/documentHighlight/mips.json +248 -0
  428. package/data/documentHighlight/msdax.json +153 -0
  429. package/data/documentHighlight/mysql.json +346 -0
  430. package/data/documentHighlight/objective-c.json +266 -0
  431. package/data/documentHighlight/pascal.json +278 -0
  432. package/data/documentHighlight/pascaligo.json +166 -0
  433. package/data/documentHighlight/pgsql.json +410 -0
  434. package/data/documentHighlight/pla.json +173 -0
  435. package/data/documentHighlight/postiats.json +198 -0
  436. package/data/documentHighlight/powerquery.json +242 -0
  437. package/data/documentHighlight/qsharp.json +222 -0
  438. package/data/documentHighlight/r.json +45 -0
  439. package/data/documentHighlight/razor.json +162 -0
  440. package/data/documentHighlight/redis.json +282 -0
  441. package/data/documentHighlight/redshift.json +374 -0
  442. package/data/documentHighlight/restructuredtext.json +214 -0
  443. package/data/documentHighlight/sb.json +198 -0
  444. package/data/documentHighlight/scheme.json +230 -0
  445. package/data/documentHighlight/scss.json +194 -0
  446. package/data/documentHighlight/shell.json +334 -0
  447. package/data/documentHighlight/sol.json +290 -0
  448. package/data/documentHighlight/sparql.json +446 -0
  449. package/data/documentHighlight/st.json +226 -0
  450. package/data/documentHighlight/systemverilog.json +410 -0
  451. package/data/documentHighlight/tcl.json +334 -0
  452. package/data/documentHighlight/twig.json +254 -0
  453. package/data/documentHighlight/vb.json +394 -0
  454. package/data/documentHighlight/wgsl.json +322 -0
  455. package/data/documentSymbol/abap.json +12 -0
  456. package/data/documentSymbol/apex.json +10 -0
  457. package/data/documentSymbol/azcli.json +12 -0
  458. package/data/documentSymbol/bicep.json +40 -0
  459. package/data/documentSymbol/cameligo.json +26 -0
  460. package/data/documentSymbol/clojure.json +47 -0
  461. package/data/documentSymbol/coffee.json +26 -0
  462. package/data/documentSymbol/cypher.json +47 -0
  463. package/data/documentSymbol/doctest.json +12 -0
  464. package/data/documentSymbol/ecl.json +26 -0
  465. package/data/documentSymbol/elixir.json +40 -0
  466. package/data/documentSymbol/flow9.json +19 -0
  467. package/data/documentSymbol/freemarker2.json +26 -0
  468. package/data/documentSymbol/julia.json +47 -0
  469. package/data/documentSymbol/less.json +26 -0
  470. package/data/documentSymbol/lexon.json +19 -0
  471. package/data/documentSymbol/liquid.json +26 -0
  472. package/data/documentSymbol/m3.json +33 -0
  473. package/data/documentSymbol/mdx.json +26 -0
  474. package/data/documentSymbol/mips.json +19 -0
  475. package/data/documentSymbol/msdax.json +19 -0
  476. package/data/documentSymbol/mysql.json +33 -0
  477. package/data/documentSymbol/objective-c.json +40 -0
  478. package/data/documentSymbol/pascal.json +47 -0
  479. package/data/documentSymbol/pascaligo.json +26 -0
  480. package/data/documentSymbol/pgsql.json +40 -0
  481. package/data/documentSymbol/pla.json +12 -0
  482. package/data/documentSymbol/postiats.json +33 -0
  483. package/data/documentSymbol/powerquery.json +19 -0
  484. package/data/documentSymbol/qsharp.json +33 -0
  485. package/data/documentSymbol/r.json +68 -0
  486. package/data/documentSymbol/razor.json +26 -0
  487. package/data/documentSymbol/redis-cli.json +26 -4
  488. package/data/documentSymbol/redis.json +26 -0
  489. package/data/documentSymbol/redshift.json +19 -0
  490. package/data/documentSymbol/restructuredtext.json +19 -0
  491. package/data/documentSymbol/sb.json +19 -0
  492. package/data/documentSymbol/scheme.json +26 -0
  493. package/data/documentSymbol/scss.json +40 -0
  494. package/data/documentSymbol/shell.json +26 -0
  495. package/data/documentSymbol/sol.json +68 -0
  496. package/data/documentSymbol/sparql.json +19 -0
  497. package/data/documentSymbol/st.json +33 -0
  498. package/data/documentSymbol/systemverilog.json +47 -0
  499. package/data/documentSymbol/tcl.json +26 -0
  500. package/data/documentSymbol/twig.json +26 -0
  501. package/data/documentSymbol/vb.json +54 -0
  502. package/data/documentSymbol/wgsl.json +33 -0
  503. package/data/formatting/abap.json +11 -0
  504. package/data/formatting/apex.json +11 -0
  505. package/data/formatting/azcli.json +19 -0
  506. package/data/formatting/bicep.json +19 -0
  507. package/data/formatting/cameligo.json +19 -0
  508. package/data/formatting/clojure.json +19 -0
  509. package/data/formatting/coffee.json +19 -0
  510. package/data/formatting/cypher.json +19 -0
  511. package/data/formatting/doctest.json +19 -0
  512. package/data/formatting/ecl.json +19 -0
  513. package/data/formatting/elixir.json +19 -0
  514. package/data/formatting/flow9.json +19 -0
  515. package/data/formatting/freemarker2.json +19 -0
  516. package/data/formatting/julia.json +19 -0
  517. package/data/formatting/less.json +19 -0
  518. package/data/formatting/lexon.json +19 -0
  519. package/data/formatting/liquid.json +19 -0
  520. package/data/formatting/m3.json +19 -0
  521. package/data/formatting/mdx.json +19 -0
  522. package/data/formatting/mips.json +19 -0
  523. package/data/formatting/msdax.json +19 -0
  524. package/data/formatting/mysql.json +19 -0
  525. package/data/formatting/objective-c.json +19 -0
  526. package/data/formatting/pascal.json +19 -0
  527. package/data/formatting/pascaligo.json +19 -0
  528. package/data/formatting/pgsql.json +19 -0
  529. package/data/formatting/pla.json +19 -0
  530. package/data/formatting/postiats.json +19 -0
  531. package/data/formatting/powerquery.json +19 -0
  532. package/data/formatting/qsharp.json +19 -0
  533. package/data/formatting/r.json +33 -0
  534. package/data/formatting/razor.json +19 -0
  535. package/data/formatting/redis.json +19 -0
  536. package/data/formatting/redshift.json +19 -0
  537. package/data/formatting/restructuredtext.json +19 -0
  538. package/data/formatting/sb.json +19 -0
  539. package/data/formatting/scheme.json +19 -0
  540. package/data/formatting/scss.json +19 -0
  541. package/data/formatting/shell.json +19 -0
  542. package/data/formatting/sol.json +19 -0
  543. package/data/formatting/sparql.json +19 -0
  544. package/data/formatting/st.json +19 -0
  545. package/data/formatting/systemverilog.json +19 -0
  546. package/data/formatting/tcl.json +19 -0
  547. package/data/formatting/twig.json +19 -0
  548. package/data/formatting/vb.json +19 -0
  549. package/data/formatting/wgsl.json +19 -0
  550. package/data/hover/abap.json +14 -0
  551. package/data/hover/apex.json +10 -0
  552. package/data/hover/azcli.json +75 -0
  553. package/data/hover/bicep.json +75 -0
  554. package/data/hover/cameligo.json +75 -0
  555. package/data/hover/clojure.json +75 -0
  556. package/data/hover/coffee.json +75 -0
  557. package/data/hover/cypher.json +75 -0
  558. package/data/hover/doctest.json +75 -0
  559. package/data/hover/ecl.json +75 -0
  560. package/data/hover/elixir.json +75 -0
  561. package/data/hover/flow9.json +75 -0
  562. package/data/hover/freemarker2.json +75 -0
  563. package/data/hover/julia.json +75 -0
  564. package/data/hover/less.json +75 -0
  565. package/data/hover/lexon.json +40 -0
  566. package/data/hover/liquid.json +75 -0
  567. package/data/hover/m3.json +75 -0
  568. package/data/hover/mdx.json +40 -0
  569. package/data/hover/mips.json +75 -0
  570. package/data/hover/msdax.json +75 -0
  571. package/data/hover/mysql.json +75 -0
  572. package/data/hover/objective-c.json +75 -0
  573. package/data/hover/pascal.json +75 -0
  574. package/data/hover/pascaligo.json +75 -0
  575. package/data/hover/pgsql.json +75 -0
  576. package/data/hover/pla.json +40 -0
  577. package/data/hover/postiats.json +75 -0
  578. package/data/hover/powerquery.json +75 -0
  579. package/data/hover/qsharp.json +75 -0
  580. package/data/hover/r.json +845 -0
  581. package/data/hover/razor.json +75 -0
  582. package/data/hover/redis.json +40 -0
  583. package/data/hover/redshift.json +75 -0
  584. package/data/hover/restructuredtext.json +75 -0
  585. package/data/hover/sb.json +75 -0
  586. package/data/hover/scheme.json +75 -0
  587. package/data/hover/scss.json +75 -0
  588. package/data/hover/shell.json +75 -0
  589. package/data/hover/sol.json +75 -0
  590. package/data/hover/sparql.json +75 -0
  591. package/data/hover/st.json +75 -0
  592. package/data/hover/systemverilog.json +75 -0
  593. package/data/hover/tcl.json +75 -0
  594. package/data/hover/twig.json +75 -0
  595. package/data/hover/vb.json +75 -0
  596. package/data/hover/wgsl.json +75 -0
  597. package/data/implementation/abap.json +47 -0
  598. package/data/implementation/apex.json +48 -0
  599. package/data/implementation/awk.json +34 -2
  600. package/data/implementation/azcli.json +26 -0
  601. package/data/implementation/bicep.json +48 -0
  602. package/data/implementation/c.json +36 -2
  603. package/data/implementation/caddy.json +37 -2
  604. package/data/implementation/cameligo.json +40 -0
  605. package/data/implementation/clojure.json +56 -0
  606. package/data/implementation/coffee.json +40 -0
  607. package/data/implementation/crontab.json +26 -7
  608. package/data/implementation/cypher.json +42 -0
  609. package/data/implementation/docker-compose.json +37 -7
  610. package/data/implementation/dockerfile.json +37 -2
  611. package/data/implementation/doctest.json +26 -0
  612. package/data/implementation/dotenv.json +26 -7
  613. package/data/implementation/ecl.json +42 -0
  614. package/data/implementation/elixir.json +54 -0
  615. package/data/implementation/flow9.json +39 -0
  616. package/data/implementation/freemarker2.json +33 -0
  617. package/data/implementation/go.json +39 -2
  618. package/data/implementation/hcl.json +37 -2
  619. package/data/implementation/html.json +38 -7
  620. package/data/implementation/ini.json +26 -7
  621. package/data/implementation/json.json +26 -7
  622. package/data/implementation/julia.json +48 -0
  623. package/data/implementation/less.json +40 -0
  624. package/data/implementation/lexon.json +33 -0
  625. package/data/implementation/liquid.json +40 -0
  626. package/data/implementation/lua.json +43 -2
  627. package/data/implementation/m3.json +48 -0
  628. package/data/implementation/makefile.json +35 -2
  629. package/data/implementation/markdown.json +26 -7
  630. package/data/implementation/mdx.json +24 -0
  631. package/data/implementation/mips.json +34 -0
  632. package/data/implementation/msdax.json +35 -0
  633. package/data/implementation/mysql.json +24 -0
  634. package/data/implementation/nginx.json +38 -2
  635. package/data/implementation/objective-c.json +48 -0
  636. package/data/implementation/pascal.json +47 -0
  637. package/data/implementation/pascaligo.json +40 -0
  638. package/data/implementation/perl.json +53 -2
  639. package/data/implementation/pgsql.json +24 -0
  640. package/data/implementation/pla.json +36 -0
  641. package/data/implementation/postiats.json +48 -0
  642. package/data/implementation/powerquery.json +42 -0
  643. package/data/implementation/powershell.json +41 -2
  644. package/data/implementation/protobuf.json +41 -2
  645. package/data/implementation/python.json +49 -2
  646. package/data/implementation/qsharp.json +49 -0
  647. package/data/implementation/r.json +54 -0
  648. package/data/implementation/razor.json +48 -0
  649. package/data/implementation/redis-cli.json +26 -7
  650. package/data/implementation/redis.json +26 -0
  651. package/data/implementation/redshift.json +42 -0
  652. package/data/implementation/restructuredtext.json +20 -0
  653. package/data/implementation/sb.json +27 -0
  654. package/data/implementation/scheme.json +24 -0
  655. package/data/implementation/scss.json +47 -0
  656. package/data/implementation/shell.json +34 -0
  657. package/data/implementation/sol.json +47 -0
  658. package/data/implementation/sparql.json +26 -0
  659. package/data/implementation/sql.json +43 -2
  660. package/data/implementation/ssh_config.json +26 -7
  661. package/data/implementation/st.json +48 -0
  662. package/data/implementation/systemd.json +32 -7
  663. package/data/implementation/systemverilog.json +48 -0
  664. package/data/implementation/tcl.json +56 -0
  665. package/data/implementation/toml.json +26 -7
  666. package/data/implementation/twig.json +46 -0
  667. package/data/implementation/vb.json +24 -0
  668. package/data/implementation/wgsl.json +24 -0
  669. package/data/implementation/xml.json +32 -7
  670. package/data/implementation/yaml.json +32 -7
  671. package/data/implementation/zsh.json +36 -2
  672. package/data/inlayHints/abap.json +39 -0
  673. package/data/inlayHints/apex.json +43 -0
  674. package/data/inlayHints/azcli.json +27 -0
  675. package/data/inlayHints/bicep.json +47 -0
  676. package/data/inlayHints/cameligo.json +31 -0
  677. package/data/inlayHints/clojure.json +51 -0
  678. package/data/inlayHints/coffee.json +39 -0
  679. package/data/inlayHints/crontab.json +27 -26
  680. package/data/inlayHints/cypher.json +31 -0
  681. package/data/inlayHints/doctest.json +31 -0
  682. package/data/inlayHints/dotenv.json +35 -26
  683. package/data/inlayHints/ecl.json +27 -0
  684. package/data/inlayHints/elixir.json +55 -0
  685. package/data/inlayHints/flow9.json +27 -0
  686. package/data/inlayHints/freemarker2.json +27 -0
  687. package/data/inlayHints/graphql.json +43 -26
  688. package/data/inlayHints/html.json +27 -26
  689. package/data/inlayHints/ini.json +27 -26
  690. package/data/inlayHints/json.json +39 -26
  691. package/data/inlayHints/julia.json +51 -0
  692. package/data/inlayHints/less.json +39 -0
  693. package/data/inlayHints/lexon.json +27 -0
  694. package/data/inlayHints/liquid.json +31 -0
  695. package/data/inlayHints/m3.json +31 -0
  696. package/data/inlayHints/markdown.json +27 -26
  697. package/data/inlayHints/mdx.json +31 -0
  698. package/data/inlayHints/mips.json +31 -0
  699. package/data/inlayHints/msdax.json +31 -0
  700. package/data/inlayHints/mysql.json +35 -0
  701. package/data/inlayHints/objective-c.json +47 -0
  702. package/data/inlayHints/pascal.json +39 -0
  703. package/data/inlayHints/pascaligo.json +27 -0
  704. package/data/inlayHints/pgsql.json +39 -0
  705. package/data/inlayHints/pla.json +27 -0
  706. package/data/inlayHints/postiats.json +27 -0
  707. package/data/inlayHints/powerquery.json +39 -0
  708. package/data/inlayHints/protobuf.json +27 -26
  709. package/data/inlayHints/qsharp.json +39 -0
  710. package/data/inlayHints/r.json +95 -0
  711. package/data/inlayHints/razor.json +39 -0
  712. package/data/inlayHints/redis.json +27 -0
  713. package/data/inlayHints/redshift.json +31 -0
  714. package/data/inlayHints/restructuredtext.json +27 -0
  715. package/data/inlayHints/sb.json +27 -0
  716. package/data/inlayHints/scheme.json +51 -0
  717. package/data/inlayHints/scss.json +51 -0
  718. package/data/inlayHints/shell.json +35 -0
  719. package/data/inlayHints/sol.json +43 -0
  720. package/data/inlayHints/sparql.json +31 -0
  721. package/data/inlayHints/ssh_config.json +31 -26
  722. package/data/inlayHints/st.json +39 -0
  723. package/data/inlayHints/systemd.json +39 -26
  724. package/data/inlayHints/systemverilog.json +35 -0
  725. package/data/inlayHints/tcl.json +31 -0
  726. package/data/inlayHints/toml.json +39 -26
  727. package/data/inlayHints/twig.json +39 -0
  728. package/data/inlayHints/vb.json +43 -0
  729. package/data/inlayHints/wgsl.json +39 -0
  730. package/data/inlayHints/xml.json +27 -26
  731. package/data/inlayHints/yaml.json +35 -26
  732. package/data/inlineCompletions/abap.json +35 -0
  733. package/data/inlineCompletions/apex.json +35 -0
  734. package/data/inlineCompletions/azcli.json +35 -0
  735. package/data/inlineCompletions/bicep.json +35 -0
  736. package/data/inlineCompletions/caddy.json +25 -1
  737. package/data/inlineCompletions/cameligo.json +29 -0
  738. package/data/inlineCompletions/clojure.json +35 -0
  739. package/data/inlineCompletions/coffee.json +35 -0
  740. package/data/inlineCompletions/crontab.json +26 -2
  741. package/data/inlineCompletions/cypher.json +29 -0
  742. package/data/inlineCompletions/dockerfile.json +24 -0
  743. package/data/inlineCompletions/doctest.json +23 -0
  744. package/data/inlineCompletions/dotenv.json +26 -1
  745. package/data/inlineCompletions/ecl.json +29 -0
  746. package/data/inlineCompletions/elixir.json +35 -0
  747. package/data/inlineCompletions/flow9.json +29 -0
  748. package/data/inlineCompletions/freemarker2.json +29 -0
  749. package/data/inlineCompletions/html.json +25 -1
  750. package/data/inlineCompletions/ini.json +20 -1
  751. package/data/inlineCompletions/json.json +20 -1
  752. package/data/inlineCompletions/julia.json +35 -0
  753. package/data/inlineCompletions/less.json +29 -0
  754. package/data/inlineCompletions/lexon.json +23 -0
  755. package/data/inlineCompletions/liquid.json +29 -0
  756. package/data/inlineCompletions/m3.json +29 -0
  757. package/data/inlineCompletions/makefile.json +21 -3
  758. package/data/inlineCompletions/markdown.json +32 -1
  759. package/data/inlineCompletions/mdx.json +29 -0
  760. package/data/inlineCompletions/mips.json +35 -0
  761. package/data/inlineCompletions/msdax.json +23 -0
  762. package/data/inlineCompletions/mysql.json +35 -0
  763. package/data/inlineCompletions/objective-c.json +35 -0
  764. package/data/inlineCompletions/pascal.json +35 -0
  765. package/data/inlineCompletions/pascaligo.json +29 -0
  766. package/data/inlineCompletions/pgsql.json +35 -0
  767. package/data/inlineCompletions/pla.json +29 -0
  768. package/data/inlineCompletions/postiats.json +29 -0
  769. package/data/inlineCompletions/powerquery.json +29 -0
  770. package/data/inlineCompletions/qsharp.json +35 -0
  771. package/data/inlineCompletions/r.json +41 -0
  772. package/data/inlineCompletions/razor.json +35 -0
  773. package/data/inlineCompletions/redis-cli.json +32 -1
  774. package/data/inlineCompletions/redis.json +29 -0
  775. package/data/inlineCompletions/redshift.json +29 -0
  776. package/data/inlineCompletions/restructuredtext.json +35 -0
  777. package/data/inlineCompletions/sb.json +35 -0
  778. package/data/inlineCompletions/scheme.json +35 -0
  779. package/data/inlineCompletions/scss.json +35 -0
  780. package/data/inlineCompletions/shell.json +35 -0
  781. package/data/inlineCompletions/sol.json +35 -0
  782. package/data/inlineCompletions/sparql.json +35 -0
  783. package/data/inlineCompletions/ssh_config.json +24 -0
  784. package/data/inlineCompletions/st.json +35 -0
  785. package/data/inlineCompletions/systemd.json +26 -1
  786. package/data/inlineCompletions/systemverilog.json +35 -0
  787. package/data/inlineCompletions/tcl.json +35 -0
  788. package/data/inlineCompletions/toml.json +26 -1
  789. package/data/inlineCompletions/twig.json +35 -0
  790. package/data/inlineCompletions/vb.json +35 -0
  791. package/data/inlineCompletions/wgsl.json +35 -0
  792. package/data/inlineCompletions/xml.json +32 -1
  793. package/data/inlineCompletions/yaml.json +32 -1
  794. package/data/links/abap.json +35 -0
  795. package/data/links/apex.json +25 -0
  796. package/data/links/awk.json +11 -1
  797. package/data/links/azcli.json +20 -0
  798. package/data/links/bicep.json +35 -0
  799. package/data/links/cameligo.json +20 -0
  800. package/data/links/clojure.json +35 -0
  801. package/data/links/coffee.json +30 -0
  802. package/data/links/crontab.json +6 -1
  803. package/data/links/cypher.json +20 -0
  804. package/data/links/doctest.json +20 -0
  805. package/data/links/dotenv.json +6 -1
  806. package/data/links/ecl.json +25 -0
  807. package/data/links/elixir.json +35 -0
  808. package/data/links/flow9.json +15 -0
  809. package/data/links/freemarker2.json +35 -0
  810. package/data/links/graphql.json +11 -1
  811. package/data/links/ini.json +6 -1
  812. package/data/links/json.json +16 -1
  813. package/data/links/julia.json +25 -0
  814. package/data/links/less.json +35 -0
  815. package/data/links/lexon.json +10 -0
  816. package/data/links/liquid.json +40 -0
  817. package/data/links/m3.json +20 -0
  818. package/data/links/mdx.json +30 -0
  819. package/data/links/mips.json +15 -0
  820. package/data/links/msdax.json +10 -0
  821. package/data/links/mysql.json +25 -0
  822. package/data/links/objective-c.json +30 -0
  823. package/data/links/pascal.json +30 -0
  824. package/data/links/pascaligo.json +20 -0
  825. package/data/links/pgsql.json +30 -0
  826. package/data/links/pla.json +10 -0
  827. package/data/links/postiats.json +25 -0
  828. package/data/links/powerquery.json +20 -0
  829. package/data/links/qsharp.json +20 -0
  830. package/data/links/r.json +20 -0
  831. package/data/links/razor.json +40 -0
  832. package/data/links/redis-cli.json +1 -1
  833. package/data/links/redis.json +10 -0
  834. package/data/links/redshift.json +25 -0
  835. package/data/links/restructuredtext.json +45 -0
  836. package/data/links/sb.json +10 -0
  837. package/data/links/scheme.json +35 -0
  838. package/data/links/scss.json +55 -0
  839. package/data/links/shell.json +30 -0
  840. package/data/links/sol.json +30 -0
  841. package/data/links/sparql.json +20 -0
  842. package/data/links/sql.json +11 -1
  843. package/data/links/st.json +20 -0
  844. package/data/links/systemd.json +11 -1
  845. package/data/links/systemverilog.json +20 -0
  846. package/data/links/tcl.json +25 -0
  847. package/data/links/toml.json +16 -1
  848. package/data/links/twig.json +60 -0
  849. package/data/links/vb.json +25 -0
  850. package/data/links/wgsl.json +10 -0
  851. package/data/links/yaml.json +26 -1
  852. package/data/manifest.json +3473 -1535
  853. package/data/references/abap.json +9 -0
  854. package/data/references/apex.json +8 -0
  855. package/data/references/azcli.json +50 -0
  856. package/data/references/bicep.json +86 -0
  857. package/data/references/cameligo.json +67 -0
  858. package/data/references/clojure.json +87 -0
  859. package/data/references/coffee.json +69 -0
  860. package/data/references/crontab.json +41 -5
  861. package/data/references/cypher.json +93 -0
  862. package/data/references/dockerfile.json +86 -5
  863. package/data/references/doctest.json +49 -0
  864. package/data/references/dotenv.json +40 -5
  865. package/data/references/ecl.json +71 -0
  866. package/data/references/elixir.json +100 -0
  867. package/data/references/flow9.json +49 -0
  868. package/data/references/freemarker2.json +63 -0
  869. package/data/references/graphql.json +82 -5
  870. package/data/references/html.json +70 -5
  871. package/data/references/ini.json +40 -5
  872. package/data/references/json.json +39 -5
  873. package/data/references/julia.json +88 -0
  874. package/data/references/less.json +71 -0
  875. package/data/references/lexon.json +67 -0
  876. package/data/references/liquid.json +62 -0
  877. package/data/references/m3.json +67 -0
  878. package/data/references/markdown.json +60 -5
  879. package/data/references/mdx.json +59 -0
  880. package/data/references/mips.json +48 -0
  881. package/data/references/msdax.json +57 -0
  882. package/data/references/mysql.json +95 -0
  883. package/data/references/nginx.json +81 -5
  884. package/data/references/objective-c.json +85 -0
  885. package/data/references/pascal.json +74 -0
  886. package/data/references/pascaligo.json +59 -0
  887. package/data/references/pgsql.json +102 -0
  888. package/data/references/pla.json +43 -0
  889. package/data/references/postiats.json +64 -0
  890. package/data/references/powerquery.json +68 -0
  891. package/data/references/protobuf.json +84 -5
  892. package/data/references/qsharp.json +84 -0
  893. package/data/references/r.json +49 -0
  894. package/data/references/razor.json +69 -0
  895. package/data/references/redis.json +70 -0
  896. package/data/references/redshift.json +86 -0
  897. package/data/references/restructuredtext.json +74 -0
  898. package/data/references/sb.json +80 -0
  899. package/data/references/scheme.json +99 -0
  900. package/data/references/scss.json +82 -0
  901. package/data/references/shell.json +92 -0
  902. package/data/references/sol.json +98 -0
  903. package/data/references/sparql.json +92 -0
  904. package/data/references/ssh_config.json +65 -5
  905. package/data/references/st.json +71 -0
  906. package/data/references/systemd.json +76 -5
  907. package/data/references/systemverilog.json +111 -0
  908. package/data/references/tcl.json +101 -0
  909. package/data/references/toml.json +48 -5
  910. package/data/references/twig.json +77 -0
  911. package/data/references/vb.json +106 -0
  912. package/data/references/wgsl.json +84 -0
  913. package/data/references/xml.json +71 -5
  914. package/data/references/yaml.json +57 -5
  915. package/data/typeDefinition/abap.json +18 -0
  916. package/data/typeDefinition/apex.json +20 -0
  917. package/data/typeDefinition/awk.json +35 -29
  918. package/data/typeDefinition/azcli.json +35 -0
  919. package/data/typeDefinition/bicep.json +25 -0
  920. package/data/typeDefinition/c.json +89 -149
  921. package/data/typeDefinition/caddy.json +35 -4
  922. package/data/typeDefinition/cameligo.json +65 -0
  923. package/data/typeDefinition/clojure.json +89 -0
  924. package/data/typeDefinition/coffee.json +75 -0
  925. package/data/typeDefinition/cpp.json +101 -257
  926. package/data/typeDefinition/crontab.json +35 -4
  927. package/data/typeDefinition/csharp.json +117 -251
  928. package/data/typeDefinition/cypher.json +61 -0
  929. package/data/typeDefinition/docker-compose.json +37 -1
  930. package/data/typeDefinition/dockerfile.json +40 -4
  931. package/data/typeDefinition/doctest.json +41 -0
  932. package/data/typeDefinition/dotenv.json +30 -4
  933. package/data/typeDefinition/ecl.json +49 -0
  934. package/data/typeDefinition/elixir.json +65 -0
  935. package/data/typeDefinition/flow9.json +37 -0
  936. package/data/typeDefinition/freemarker2.json +37 -0
  937. package/data/typeDefinition/go.json +101 -173
  938. package/data/typeDefinition/graphql.json +45 -35
  939. package/data/typeDefinition/hcl.json +55 -59
  940. package/data/typeDefinition/html.json +40 -4
  941. package/data/typeDefinition/ini.json +30 -4
  942. package/data/typeDefinition/java.json +99 -311
  943. package/data/typeDefinition/javascript.json +113 -293
  944. package/data/typeDefinition/json.json +35 -41
  945. package/data/typeDefinition/julia.json +65 -0
  946. package/data/typeDefinition/less.json +45 -0
  947. package/data/typeDefinition/lexon.json +25 -0
  948. package/data/typeDefinition/liquid.json +35 -0
  949. package/data/typeDefinition/lua.json +59 -53
  950. package/data/typeDefinition/m3.json +49 -0
  951. package/data/typeDefinition/makefile.json +35 -4
  952. package/data/typeDefinition/markdown.json +50 -4
  953. package/data/typeDefinition/mdx.json +35 -0
  954. package/data/typeDefinition/mips.json +45 -0
  955. package/data/typeDefinition/msdax.json +41 -0
  956. package/data/typeDefinition/mysql.json +65 -0
  957. package/data/typeDefinition/nginx.json +40 -4
  958. package/data/typeDefinition/objective-c.json +65 -0
  959. package/data/typeDefinition/pascal.json +65 -0
  960. package/data/typeDefinition/pascaligo.json +65 -0
  961. package/data/typeDefinition/perl.json +52 -47
  962. package/data/typeDefinition/pgsql.json +65 -0
  963. package/data/typeDefinition/php.json +77 -311
  964. package/data/typeDefinition/pla.json +45 -0
  965. package/data/typeDefinition/postiats.json +41 -0
  966. package/data/typeDefinition/powerquery.json +65 -0
  967. package/data/typeDefinition/powershell.json +70 -167
  968. package/data/typeDefinition/protobuf.json +75 -197
  969. package/data/typeDefinition/python.json +95 -293
  970. package/data/typeDefinition/qsharp.json +49 -0
  971. package/data/typeDefinition/r.json +125 -0
  972. package/data/typeDefinition/razor.json +45 -0
  973. package/data/typeDefinition/redis-cli.json +35 -59
  974. package/data/typeDefinition/redis.json +41 -0
  975. package/data/typeDefinition/redshift.json +65 -0
  976. package/data/typeDefinition/restructuredtext.json +35 -0
  977. package/data/typeDefinition/ruby.json +89 -317
  978. package/data/typeDefinition/rust.json +143 -521
  979. package/data/typeDefinition/sb.json +25 -0
  980. package/data/typeDefinition/scheme.json +71 -0
  981. package/data/typeDefinition/scss.json +45 -0
  982. package/data/typeDefinition/shell.json +40 -0
  983. package/data/typeDefinition/sol.json +65 -0
  984. package/data/typeDefinition/sparql.json +49 -0
  985. package/data/typeDefinition/sql.json +80 -281
  986. package/data/typeDefinition/ssh_config.json +35 -4
  987. package/data/typeDefinition/st.json +65 -0
  988. package/data/typeDefinition/systemd.json +40 -4
  989. package/data/typeDefinition/systemverilog.json +65 -0
  990. package/data/typeDefinition/tcl.json +53 -0
  991. package/data/typeDefinition/toml.json +45 -65
  992. package/data/typeDefinition/twig.json +35 -0
  993. package/data/typeDefinition/typescript.json +120 -425
  994. package/data/typeDefinition/vb.json +65 -0
  995. package/data/typeDefinition/wgsl.json +65 -0
  996. package/data/typeDefinition/xml.json +45 -4
  997. package/data/typeDefinition/yaml.json +55 -71
  998. package/data/typeDefinition/zsh.json +40 -35
  999. package/package.json +1 -1
@@ -0,0 +1,1985 @@
1
+ {
2
+ "language": "r",
3
+ "completions": [
4
+ {
5
+ "label": "if",
6
+ "kind": 14,
7
+ "detail": "Conditional execution (keyword)",
8
+ "documentation": { "value": "Conditional branching.\n\n```r\nif (condition) {\n # true branch\n} else {\n # false branch\n}\n```" },
9
+ "insertText": "if (${1:condition}) {\n ${2}\n}",
10
+ "insertTextRules": 4,
11
+ "sortText": "00_if"
12
+ },
13
+ {
14
+ "label": "else",
15
+ "kind": 14,
16
+ "detail": "Alternative branch (keyword)",
17
+ "documentation": { "value": "Alternative branch in `if` statement.\n\n```r\nif (x > 0) {\n print(\"positive\")\n} else {\n print(\"non-positive\")\n}\n```" },
18
+ "insertText": "else {\n ${1}\n}",
19
+ "insertTextRules": 4,
20
+ "sortText": "00_else"
21
+ },
22
+ {
23
+ "label": "for",
24
+ "kind": 14,
25
+ "detail": "For loop (keyword)",
26
+ "documentation": { "value": "Iterate over elements of a vector.\n\n```r\nfor (i in 1:10) {\n print(i)\n}\n\nfor (item in my_list) {\n cat(item, \"\\n\")\n}\n```" },
27
+ "insertText": "for (${1:i} in ${2:seq}) {\n ${3}\n}",
28
+ "insertTextRules": 4,
29
+ "sortText": "00_for"
30
+ },
31
+ {
32
+ "label": "while",
33
+ "kind": 14,
34
+ "detail": "While loop (keyword)",
35
+ "documentation": { "value": "Execute a block while a condition is TRUE.\n\n```r\nwhile (x > 0) {\n x <- x - 1\n}\n```" },
36
+ "insertText": "while (${1:condition}) {\n ${2}\n}",
37
+ "insertTextRules": 4,
38
+ "sortText": "00_while"
39
+ },
40
+ {
41
+ "label": "repeat",
42
+ "kind": 14,
43
+ "detail": "Infinite loop (keyword)",
44
+ "documentation": { "value": "Execute a block indefinitely until `break` is called.\n\n```r\nrepeat {\n x <- x + 1\n if (x > 10) break\n}\n```" },
45
+ "insertText": "repeat {\n ${1}\n if (${2:condition}) break\n}",
46
+ "insertTextRules": 4,
47
+ "sortText": "00_repeat"
48
+ },
49
+ {
50
+ "label": "in",
51
+ "kind": 14,
52
+ "detail": "Membership operator (keyword)",
53
+ "documentation": { "value": "Used in `for` loops to iterate over sequences.\n\n```r\nfor (x in 1:10) print(x)\n```" },
54
+ "insertText": "in",
55
+ "sortText": "00_in"
56
+ },
57
+ {
58
+ "label": "next",
59
+ "kind": 14,
60
+ "detail": "Skip to next iteration (keyword)",
61
+ "documentation": { "value": "Skip the rest of the current iteration and proceed to the next.\n\n```r\nfor (i in 1:10) {\n if (i %% 2 == 0) next\n print(i)\n}\n```" },
62
+ "insertText": "next",
63
+ "sortText": "00_next"
64
+ },
65
+ {
66
+ "label": "break",
67
+ "kind": 14,
68
+ "detail": "Exit loop (keyword)",
69
+ "documentation": { "value": "Exit the current `for`, `while`, or `repeat` loop.\n\n```r\nfor (i in 1:100) {\n if (i > 10) break\n}\n```" },
70
+ "insertText": "break",
71
+ "sortText": "00_break"
72
+ },
73
+ {
74
+ "label": "function",
75
+ "kind": 14,
76
+ "detail": "Define a function (keyword)",
77
+ "documentation": { "value": "Create a function object.\n\n```r\nmy_func <- function(x, y = 1) {\n x + y\n}\n\n# Anonymous function\nsapply(1:5, function(x) x^2)\n```" },
78
+ "insertText": "function(${1:args}) {\n ${2}\n}",
79
+ "insertTextRules": 4,
80
+ "sortText": "00_function"
81
+ },
82
+ {
83
+ "label": "return",
84
+ "kind": 14,
85
+ "detail": "Return value from function (keyword)",
86
+ "documentation": { "value": "Explicitly return a value from a function.\n\n```r\nmy_func <- function(x) {\n if (x < 0) return(NULL)\n sqrt(x)\n}\n```" },
87
+ "insertText": "return(${1:value})",
88
+ "insertTextRules": 4,
89
+ "sortText": "00_return"
90
+ },
91
+ {
92
+ "label": "TRUE",
93
+ "kind": 14,
94
+ "detail": "Logical constant TRUE",
95
+ "documentation": { "value": "Logical truth value.\n\n```r\nx <- TRUE\nis.logical(TRUE) # TRUE\n```" },
96
+ "insertText": "TRUE",
97
+ "sortText": "00_TRUE"
98
+ },
99
+ {
100
+ "label": "FALSE",
101
+ "kind": 14,
102
+ "detail": "Logical constant FALSE",
103
+ "documentation": { "value": "Logical false value.\n\n```r\nx <- FALSE\n!FALSE # TRUE\n```" },
104
+ "insertText": "FALSE",
105
+ "sortText": "00_FALSE"
106
+ },
107
+ {
108
+ "label": "NULL",
109
+ "kind": 14,
110
+ "detail": "Null object",
111
+ "documentation": { "value": "The NULL object represents the absence of a value.\n\n```r\nx <- NULL\nis.null(x) # TRUE\nlength(NULL) # 0\n```" },
112
+ "insertText": "NULL",
113
+ "sortText": "00_NULL"
114
+ },
115
+ {
116
+ "label": "NA",
117
+ "kind": 14,
118
+ "detail": "Missing value indicator",
119
+ "documentation": { "value": "Logical constant representing a missing value.\n\n```r\nx <- c(1, NA, 3)\nis.na(x) # FALSE TRUE FALSE\nna.rm = TRUE # common argument to ignore NAs\n```" },
120
+ "insertText": "NA",
121
+ "sortText": "00_NA"
122
+ },
123
+ {
124
+ "label": "NA_integer_",
125
+ "kind": 14,
126
+ "detail": "Integer NA",
127
+ "documentation": { "value": "Missing value of integer type.\n\n```r\nx <- NA_integer_\nis.na(x) # TRUE\ntypeof(x) # \"integer\"\n```" },
128
+ "insertText": "NA_integer_",
129
+ "sortText": "00_NA_integer_"
130
+ },
131
+ {
132
+ "label": "NA_real_",
133
+ "kind": 14,
134
+ "detail": "Double/real NA",
135
+ "documentation": { "value": "Missing value of double type.\n\n```r\nx <- NA_real_\ntypeof(x) # \"double\"\n```" },
136
+ "insertText": "NA_real_",
137
+ "sortText": "00_NA_real_"
138
+ },
139
+ {
140
+ "label": "NA_complex_",
141
+ "kind": 14,
142
+ "detail": "Complex NA",
143
+ "documentation": { "value": "Missing value of complex type.\n\n```r\nx <- NA_complex_\ntypeof(x) # \"complex\"\n```" },
144
+ "insertText": "NA_complex_",
145
+ "sortText": "00_NA_complex_"
146
+ },
147
+ {
148
+ "label": "NA_character_",
149
+ "kind": 14,
150
+ "detail": "Character NA",
151
+ "documentation": { "value": "Missing value of character type.\n\n```r\nx <- NA_character_\ntypeof(x) # \"character\"\n```" },
152
+ "insertText": "NA_character_",
153
+ "sortText": "00_NA_character_"
154
+ },
155
+ {
156
+ "label": "Inf",
157
+ "kind": 14,
158
+ "detail": "Positive infinity",
159
+ "documentation": { "value": "Positive infinity.\n\n```r\n1 / 0 # Inf\nis.infinite(Inf) # TRUE\n```" },
160
+ "insertText": "Inf",
161
+ "sortText": "00_Inf"
162
+ },
163
+ {
164
+ "label": "NaN",
165
+ "kind": 14,
166
+ "detail": "Not a Number",
167
+ "documentation": { "value": "Not a Number — result of undefined numeric operations.\n\n```r\n0 / 0 # NaN\nis.nan(NaN) # TRUE\n```" },
168
+ "insertText": "NaN",
169
+ "sortText": "00_NaN"
170
+ },
171
+ {
172
+ "label": "library",
173
+ "kind": 1,
174
+ "detail": "Load and attach a package",
175
+ "documentation": { "value": "Load and attach a package namespace.\n\n```r\nlibrary(dplyr)\nlibrary(ggplot2)\nlibrary(tidyr, warn.conflicts = FALSE)\n```" },
176
+ "insertText": "library(${1:package})",
177
+ "insertTextRules": 4,
178
+ "sortText": "00_library"
179
+ },
180
+ {
181
+ "label": "require",
182
+ "kind": 1,
183
+ "detail": "Load a package (returns logical)",
184
+ "documentation": { "value": "Try to load a package. Returns TRUE/FALSE instead of erroring.\n\n```r\nif (!require(dplyr)) install.packages(\"dplyr\")\n```" },
185
+ "insertText": "require(${1:package})",
186
+ "insertTextRules": 4,
187
+ "sortText": "00_require"
188
+ },
189
+ {
190
+ "label": "source",
191
+ "kind": 1,
192
+ "detail": "Read and evaluate R code from a file",
193
+ "documentation": { "value": "Parse and evaluate R expressions from a file.\n\n```r\nsource(\"helper_functions.R\")\nsource(\"config.R\", local = TRUE)\n```" },
194
+ "insertText": "source(\"${1:file.R}\")",
195
+ "insertTextRules": 4,
196
+ "sortText": "00_source"
197
+ },
198
+ {
199
+ "label": "local",
200
+ "kind": 1,
201
+ "detail": "Evaluate in a local environment",
202
+ "documentation": { "value": "Evaluate expression in a local environment.\n\n```r\nresult <- local({\n tmp <- 42\n tmp * 2\n})\n```" },
203
+ "insertText": "local({\n ${1}\n})",
204
+ "insertTextRules": 4,
205
+ "sortText": "00_local"
206
+ },
207
+ {
208
+ "label": "switch",
209
+ "kind": 1,
210
+ "detail": "Multi-way conditional",
211
+ "documentation": { "value": "Select one of several alternatives based on a value.\n\n```r\nresult <- switch(x,\n \"a\" = 1,\n \"b\" = 2,\n \"c\" = 3,\n -1 # default\n)\n```" },
212
+ "insertText": "switch(${1:expr},\n ${2:case1} = ${3:value1},\n ${4:default}\n)",
213
+ "insertTextRules": 4,
214
+ "sortText": "00_switch"
215
+ },
216
+ {
217
+ "label": "print",
218
+ "kind": 1,
219
+ "detail": "Print values",
220
+ "documentation": { "value": "Generic print function for displaying objects.\n\n```r\nprint(x)\nprint(df, n = 20)\nprint(\"hello\")\n```" },
221
+ "insertText": "print(${1:x})",
222
+ "insertTextRules": 4,
223
+ "sortText": "01_print"
224
+ },
225
+ {
226
+ "label": "cat",
227
+ "kind": 1,
228
+ "detail": "Concatenate and print",
229
+ "documentation": { "value": "Concatenate and print to stdout or a file.\n\n```r\ncat(\"Hello\", \"world\\n\")\ncat(\"x =\", x, \"\\n\")\ncat(\"line\\n\", file = \"out.txt\", append = TRUE)\n```" },
230
+ "insertText": "cat(${1:...})",
231
+ "insertTextRules": 4,
232
+ "sortText": "01_cat"
233
+ },
234
+ {
235
+ "label": "paste",
236
+ "kind": 1,
237
+ "detail": "Concatenate strings with separator",
238
+ "documentation": { "value": "Concatenate strings with a separator (default space).\n\n```r\npaste(\"Hello\", \"world\") # \"Hello world\"\npaste(\"a\", \"b\", sep = \"-\") # \"a-b\"\npaste0(\"x\", 1:3) # \"x1\" \"x2\" \"x3\"\n```" },
239
+ "insertText": "paste(${1:...}, sep = \"${2: }\")",
240
+ "insertTextRules": 4,
241
+ "sortText": "01_paste"
242
+ },
243
+ {
244
+ "label": "paste0",
245
+ "kind": 1,
246
+ "detail": "Concatenate strings without separator",
247
+ "documentation": { "value": "Concatenate strings with no separator (equivalent to `paste(..., sep = \"\")`.\n\n```r\npaste0(\"file\", 1:3, \".csv\") # \"file1.csv\" \"file2.csv\" \"file3.csv\"\npaste0(\"prefix_\", name)\n```" },
248
+ "insertText": "paste0(${1:...})",
249
+ "insertTextRules": 4,
250
+ "sortText": "01_paste0"
251
+ },
252
+ {
253
+ "label": "sprintf",
254
+ "kind": 1,
255
+ "detail": "Formatted string output",
256
+ "documentation": { "value": "C-style string formatting.\n\n```r\nsprintf(\"%s is %d years old\", name, age)\nsprintf(\"%.2f%%\", pct * 100)\nsprintf(\"%05d\", id)\n```" },
257
+ "insertText": "sprintf(\"${1:%s}\", ${2:...})",
258
+ "insertTextRules": 4,
259
+ "sortText": "01_sprintf"
260
+ },
261
+ {
262
+ "label": "c",
263
+ "kind": 1,
264
+ "detail": "Combine values into a vector",
265
+ "documentation": { "value": "Combine values into a vector or list.\n\n```r\nx <- c(1, 2, 3)\nnames <- c(\"Alice\", \"Bob\")\nmixed <- c(a = 1, b = 2)\n```" },
266
+ "insertText": "c(${1:...})",
267
+ "insertTextRules": 4,
268
+ "sortText": "01_c"
269
+ },
270
+ {
271
+ "label": "length",
272
+ "kind": 1,
273
+ "detail": "Length of an object",
274
+ "documentation": { "value": "Get or set the length of a vector or list.\n\n```r\nlength(1:10) # 10\nlength(list(a=1)) # 1\nlength(NULL) # 0\n```" },
275
+ "insertText": "length(${1:x})",
276
+ "insertTextRules": 4,
277
+ "sortText": "01_length"
278
+ },
279
+ {
280
+ "label": "nchar",
281
+ "kind": 1,
282
+ "detail": "Number of characters in a string",
283
+ "documentation": { "value": "Count the number of characters in a string.\n\n```r\nnchar(\"hello\") # 5\nnchar(c(\"a\", \"bb\")) # 1 2\n```" },
284
+ "insertText": "nchar(${1:x})",
285
+ "insertTextRules": 4,
286
+ "sortText": "01_nchar"
287
+ },
288
+ {
289
+ "label": "seq",
290
+ "kind": 1,
291
+ "detail": "Generate a sequence",
292
+ "documentation": { "value": "Generate regular sequences.\n\n```r\nseq(1, 10) # 1 2 ... 10\nseq(0, 1, by = 0.1) # 0.0 0.1 ... 1.0\nseq_len(5) # 1 2 3 4 5\nseq_along(x) # 1:length(x)\n```" },
293
+ "insertText": "seq(${1:from}, ${2:to}, by = ${3:1})",
294
+ "insertTextRules": 4,
295
+ "sortText": "01_seq"
296
+ },
297
+ {
298
+ "label": "seq_along",
299
+ "kind": 1,
300
+ "detail": "Sequence along an object",
301
+ "documentation": { "value": "Generate a sequence `1, 2, ..., length(x)`.\n\n```r\nfor (i in seq_along(x)) {\n cat(i, x[i], \"\\n\")\n}\n```" },
302
+ "insertText": "seq_along(${1:x})",
303
+ "insertTextRules": 4,
304
+ "sortText": "01_seq_along"
305
+ },
306
+ {
307
+ "label": "seq_len",
308
+ "kind": 1,
309
+ "detail": "Sequence of given length",
310
+ "documentation": { "value": "Generate sequence `1:length.out`.\n\n```r\nseq_len(5) # 1 2 3 4 5\n```" },
311
+ "insertText": "seq_len(${1:n})",
312
+ "insertTextRules": 4,
313
+ "sortText": "01_seq_len"
314
+ },
315
+ {
316
+ "label": "rep",
317
+ "kind": 1,
318
+ "detail": "Replicate elements",
319
+ "documentation": { "value": "Replicate elements of a vector.\n\n```r\nrep(0, 5) # 0 0 0 0 0\nrep(1:3, times = 2) # 1 2 3 1 2 3\nrep(1:3, each = 2) # 1 1 2 2 3 3\n```" },
320
+ "insertText": "rep(${1:x}, ${2:times})",
321
+ "insertTextRules": 4,
322
+ "sortText": "01_rep"
323
+ },
324
+ {
325
+ "label": "rev",
326
+ "kind": 1,
327
+ "detail": "Reverse a vector",
328
+ "documentation": { "value": "Reverse the elements of a vector.\n\n```r\nrev(1:5) # 5 4 3 2 1\nrev(c(\"a\", \"b\")) # \"b\" \"a\"\n```" },
329
+ "insertText": "rev(${1:x})",
330
+ "insertTextRules": 4,
331
+ "sortText": "01_rev"
332
+ },
333
+ {
334
+ "label": "sort",
335
+ "kind": 1,
336
+ "detail": "Sort a vector",
337
+ "documentation": { "value": "Sort a vector in ascending or descending order.\n\n```r\nsort(c(3, 1, 2)) # 1 2 3\nsort(c(3, 1, 2), decreasing = TRUE) # 3 2 1\n```" },
338
+ "insertText": "sort(${1:x})",
339
+ "insertTextRules": 4,
340
+ "sortText": "01_sort"
341
+ },
342
+ {
343
+ "label": "order",
344
+ "kind": 1,
345
+ "detail": "Ordering permutation",
346
+ "documentation": { "value": "Return a permutation which rearranges its argument into ascending or descending order.\n\n```r\nx <- c(3, 1, 2)\norder(x) # 2 3 1\nx[order(x)] # 1 2 3\ndf[order(df$age), ]\n```" },
347
+ "insertText": "order(${1:...})",
348
+ "insertTextRules": 4,
349
+ "sortText": "01_order"
350
+ },
351
+ {
352
+ "label": "which",
353
+ "kind": 1,
354
+ "detail": "Which indices are TRUE",
355
+ "documentation": { "value": "Return indices where a logical vector is TRUE.\n\n```r\nwhich(c(FALSE, TRUE, TRUE)) # 2 3\nwhich(x > 5)\nwhich.min(x)\nwhich.max(x)\n```" },
356
+ "insertText": "which(${1:x})",
357
+ "insertTextRules": 4,
358
+ "sortText": "01_which"
359
+ },
360
+ {
361
+ "label": "match",
362
+ "kind": 1,
363
+ "detail": "Value matching",
364
+ "documentation": { "value": "Return positions of first matches of first argument in second.\n\n```r\nmatch(c(\"b\", \"d\"), c(\"a\", \"b\", \"c\")) # 2 NA\nx %in% table # logical vector\n```" },
365
+ "insertText": "match(${1:x}, ${2:table})",
366
+ "insertTextRules": 4,
367
+ "sortText": "01_match"
368
+ },
369
+ {
370
+ "label": "unique",
371
+ "kind": 1,
372
+ "detail": "Unique values",
373
+ "documentation": { "value": "Return unique elements of a vector.\n\n```r\nunique(c(1, 2, 2, 3, 3, 3)) # 1 2 3\n```" },
374
+ "insertText": "unique(${1:x})",
375
+ "insertTextRules": 4,
376
+ "sortText": "01_unique"
377
+ },
378
+ {
379
+ "label": "duplicated",
380
+ "kind": 1,
381
+ "detail": "Determine duplicate elements",
382
+ "documentation": { "value": "Return a logical vector indicating which elements are duplicates.\n\n```r\nduplicated(c(1, 2, 2, 3)) # FALSE FALSE TRUE FALSE\nx[!duplicated(x)] # remove duplicates\n```" },
383
+ "insertText": "duplicated(${1:x})",
384
+ "insertTextRules": 4,
385
+ "sortText": "01_duplicated"
386
+ },
387
+ {
388
+ "label": "table",
389
+ "kind": 1,
390
+ "detail": "Contingency table",
391
+ "documentation": { "value": "Build a frequency table of factor levels.\n\n```r\ntable(c(\"a\", \"b\", \"a\", \"c\", \"a\")) # a:3 b:1 c:1\ntable(df$gender, df$group)\n```" },
392
+ "insertText": "table(${1:...})",
393
+ "insertTextRules": 4,
394
+ "sortText": "01_table"
395
+ },
396
+ {
397
+ "label": "sum",
398
+ "kind": 1,
399
+ "detail": "Sum of values",
400
+ "documentation": { "value": "Compute the sum of all values.\n\n```r\nsum(1:10) # 55\nsum(x, na.rm = TRUE)\n```" },
401
+ "insertText": "sum(${1:...})",
402
+ "insertTextRules": 4,
403
+ "sortText": "01_sum"
404
+ },
405
+ {
406
+ "label": "mean",
407
+ "kind": 1,
408
+ "detail": "Arithmetic mean",
409
+ "documentation": { "value": "Compute the arithmetic mean.\n\n```r\nmean(1:10) # 5.5\nmean(x, na.rm = TRUE)\nmean(x, trim = 0.1)\n```" },
410
+ "insertText": "mean(${1:x})",
411
+ "insertTextRules": 4,
412
+ "sortText": "01_mean"
413
+ },
414
+ {
415
+ "label": "median",
416
+ "kind": 1,
417
+ "detail": "Median value",
418
+ "documentation": { "value": "Compute the median value.\n\n```r\nmedian(c(1, 3, 5, 7, 9)) # 5\nmedian(x, na.rm = TRUE)\n```" },
419
+ "insertText": "median(${1:x})",
420
+ "insertTextRules": 4,
421
+ "sortText": "01_median"
422
+ },
423
+ {
424
+ "label": "sd",
425
+ "kind": 1,
426
+ "detail": "Standard deviation",
427
+ "documentation": { "value": "Compute the standard deviation.\n\n```r\nsd(c(1, 2, 3, 4, 5)) # 1.581139\nsd(x, na.rm = TRUE)\n```" },
428
+ "insertText": "sd(${1:x})",
429
+ "insertTextRules": 4,
430
+ "sortText": "01_sd"
431
+ },
432
+ {
433
+ "label": "var",
434
+ "kind": 1,
435
+ "detail": "Variance",
436
+ "documentation": { "value": "Compute variance (or covariance matrix).\n\n```r\nvar(1:10)\nvar(x, y) # covariance\nvar(df) # covariance matrix\n```" },
437
+ "insertText": "var(${1:x})",
438
+ "insertTextRules": 4,
439
+ "sortText": "01_var"
440
+ },
441
+ {
442
+ "label": "min",
443
+ "kind": 1,
444
+ "detail": "Minimum value",
445
+ "documentation": { "value": "Return the minimum of all values.\n\n```r\nmin(5, 3, 8) # 3\nmin(x, na.rm = TRUE)\n```" },
446
+ "insertText": "min(${1:...})",
447
+ "insertTextRules": 4,
448
+ "sortText": "01_min"
449
+ },
450
+ {
451
+ "label": "max",
452
+ "kind": 1,
453
+ "detail": "Maximum value",
454
+ "documentation": { "value": "Return the maximum of all values.\n\n```r\nmax(5, 3, 8) # 8\nmax(x, na.rm = TRUE)\n```" },
455
+ "insertText": "max(${1:...})",
456
+ "insertTextRules": 4,
457
+ "sortText": "01_max"
458
+ },
459
+ {
460
+ "label": "range",
461
+ "kind": 1,
462
+ "detail": "Range of values (min and max)",
463
+ "documentation": { "value": "Return the minimum and maximum of a vector.\n\n```r\nrange(c(3, 1, 5)) # 1 5\n```" },
464
+ "insertText": "range(${1:...})",
465
+ "insertTextRules": 4,
466
+ "sortText": "01_range"
467
+ },
468
+ {
469
+ "label": "abs",
470
+ "kind": 1,
471
+ "detail": "Absolute value",
472
+ "documentation": { "value": "Compute the absolute value.\n\n```r\nabs(-5) # 5\nabs(c(-1, 2, -3)) # 1 2 3\n```" },
473
+ "insertText": "abs(${1:x})",
474
+ "insertTextRules": 4,
475
+ "sortText": "01_abs"
476
+ },
477
+ {
478
+ "label": "sqrt",
479
+ "kind": 1,
480
+ "detail": "Square root",
481
+ "documentation": { "value": "Compute the square root.\n\n```r\nsqrt(16) # 4\nsqrt(1:5)\n```" },
482
+ "insertText": "sqrt(${1:x})",
483
+ "insertTextRules": 4,
484
+ "sortText": "01_sqrt"
485
+ },
486
+ {
487
+ "label": "log",
488
+ "kind": 1,
489
+ "detail": "Natural logarithm",
490
+ "documentation": { "value": "Compute the natural logarithm (or with specified base).\n\n```r\nlog(exp(1)) # 1\nlog(100, base = 10) # 2\n```" },
491
+ "insertText": "log(${1:x})",
492
+ "insertTextRules": 4,
493
+ "sortText": "01_log"
494
+ },
495
+ {
496
+ "label": "log2",
497
+ "kind": 1,
498
+ "detail": "Base-2 logarithm",
499
+ "documentation": { "value": "Compute the base-2 logarithm.\n\n```r\nlog2(8) # 3\nlog2(1024) # 10\n```" },
500
+ "insertText": "log2(${1:x})",
501
+ "insertTextRules": 4,
502
+ "sortText": "01_log2"
503
+ },
504
+ {
505
+ "label": "log10",
506
+ "kind": 1,
507
+ "detail": "Base-10 logarithm",
508
+ "documentation": { "value": "Compute the base-10 logarithm.\n\n```r\nlog10(1000) # 3\n```" },
509
+ "insertText": "log10(${1:x})",
510
+ "insertTextRules": 4,
511
+ "sortText": "01_log10"
512
+ },
513
+ {
514
+ "label": "exp",
515
+ "kind": 1,
516
+ "detail": "Exponential function",
517
+ "documentation": { "value": "Compute the exponential function e^x.\n\n```r\nexp(1) # 2.718282\nexp(0) # 1\n```" },
518
+ "insertText": "exp(${1:x})",
519
+ "insertTextRules": 4,
520
+ "sortText": "01_exp"
521
+ },
522
+ {
523
+ "label": "ceiling",
524
+ "kind": 1,
525
+ "detail": "Round up",
526
+ "documentation": { "value": "Round up to the nearest integer.\n\n```r\nceiling(2.3) # 3\nceiling(-2.3) # -2\n```" },
527
+ "insertText": "ceiling(${1:x})",
528
+ "insertTextRules": 4,
529
+ "sortText": "01_ceiling"
530
+ },
531
+ {
532
+ "label": "floor",
533
+ "kind": 1,
534
+ "detail": "Round down",
535
+ "documentation": { "value": "Round down to the nearest integer.\n\n```r\nfloor(2.7) # 2\nfloor(-2.3) # -3\n```" },
536
+ "insertText": "floor(${1:x})",
537
+ "insertTextRules": 4,
538
+ "sortText": "01_floor"
539
+ },
540
+ {
541
+ "label": "round",
542
+ "kind": 1,
543
+ "detail": "Round to n decimal places",
544
+ "documentation": { "value": "Round a number to n digits.\n\n```r\nround(3.14159, 2) # 3.14\nround(2.5) # 2 (banker's rounding)\n```" },
545
+ "insertText": "round(${1:x}, digits = ${2:0})",
546
+ "insertTextRules": 4,
547
+ "sortText": "01_round"
548
+ },
549
+ {
550
+ "label": "trunc",
551
+ "kind": 1,
552
+ "detail": "Truncate to integer",
553
+ "documentation": { "value": "Truncate towards zero.\n\n```r\ntrunc(2.9) # 2\ntrunc(-2.9) # -2\n```" },
554
+ "insertText": "trunc(${1:x})",
555
+ "insertTextRules": 4,
556
+ "sortText": "01_trunc"
557
+ },
558
+ {
559
+ "label": "sign",
560
+ "kind": 1,
561
+ "detail": "Sign of values",
562
+ "documentation": { "value": "Return the sign: -1, 0, or 1.\n\n```r\nsign(-5) # -1\nsign(0) # 0\nsign(3) # 1\n```" },
563
+ "insertText": "sign(${1:x})",
564
+ "insertTextRules": 4,
565
+ "sortText": "01_sign"
566
+ },
567
+ {
568
+ "label": "cumsum",
569
+ "kind": 1,
570
+ "detail": "Cumulative sum",
571
+ "documentation": { "value": "Compute the cumulative sum.\n\n```r\ncumsum(1:5) # 1 3 6 10 15\n```" },
572
+ "insertText": "cumsum(${1:x})",
573
+ "insertTextRules": 4,
574
+ "sortText": "01_cumsum"
575
+ },
576
+ {
577
+ "label": "cumprod",
578
+ "kind": 1,
579
+ "detail": "Cumulative product",
580
+ "documentation": { "value": "Compute the cumulative product.\n\n```r\ncumprod(1:5) # 1 2 6 24 120\n```" },
581
+ "insertText": "cumprod(${1:x})",
582
+ "insertTextRules": 4,
583
+ "sortText": "01_cumprod"
584
+ },
585
+ {
586
+ "label": "cummax",
587
+ "kind": 1,
588
+ "detail": "Cumulative maximum",
589
+ "documentation": { "value": "Compute the cumulative maxima.\n\n```r\ncummax(c(3, 1, 4, 1, 5)) # 3 3 4 4 5\n```" },
590
+ "insertText": "cummax(${1:x})",
591
+ "insertTextRules": 4,
592
+ "sortText": "01_cummax"
593
+ },
594
+ {
595
+ "label": "cummin",
596
+ "kind": 1,
597
+ "detail": "Cumulative minimum",
598
+ "documentation": { "value": "Compute the cumulative minima.\n\n```r\ncummin(c(3, 1, 4, 1, 5)) # 3 1 1 1 1\n```" },
599
+ "insertText": "cummin(${1:x})",
600
+ "insertTextRules": 4,
601
+ "sortText": "01_cummin"
602
+ },
603
+ {
604
+ "label": "diff",
605
+ "kind": 1,
606
+ "detail": "Lagged differences",
607
+ "documentation": { "value": "Compute lagged differences.\n\n```r\ndiff(c(1, 3, 6, 10)) # 2 3 4\ndiff(x, lag = 2)\n```" },
608
+ "insertText": "diff(${1:x})",
609
+ "insertTextRules": 4,
610
+ "sortText": "01_diff"
611
+ },
612
+ {
613
+ "label": "head",
614
+ "kind": 1,
615
+ "detail": "First n elements",
616
+ "documentation": { "value": "Return the first n elements.\n\n```r\nhead(1:100) # 1 2 3 4 5 6\nhead(df, 10)\n```" },
617
+ "insertText": "head(${1:x})",
618
+ "insertTextRules": 4,
619
+ "sortText": "01_head"
620
+ },
621
+ {
622
+ "label": "tail",
623
+ "kind": 1,
624
+ "detail": "Last n elements",
625
+ "documentation": { "value": "Return the last n elements.\n\n```r\ntail(1:100) # 95 96 97 98 99 100\ntail(df, 5)\n```" },
626
+ "insertText": "tail(${1:x})",
627
+ "insertTextRules": 4,
628
+ "sortText": "01_tail"
629
+ },
630
+ {
631
+ "label": "nrow",
632
+ "kind": 1,
633
+ "detail": "Number of rows",
634
+ "documentation": { "value": "Return the number of rows of a matrix or data frame.\n\n```r\nnrow(mtcars) # 32\n```" },
635
+ "insertText": "nrow(${1:x})",
636
+ "insertTextRules": 4,
637
+ "sortText": "01_nrow"
638
+ },
639
+ {
640
+ "label": "ncol",
641
+ "kind": 1,
642
+ "detail": "Number of columns",
643
+ "documentation": { "value": "Return the number of columns of a matrix or data frame.\n\n```r\nncol(mtcars) # 11\n```" },
644
+ "insertText": "ncol(${1:x})",
645
+ "insertTextRules": 4,
646
+ "sortText": "01_ncol"
647
+ },
648
+ {
649
+ "label": "dim",
650
+ "kind": 1,
651
+ "detail": "Dimensions of an object",
652
+ "documentation": { "value": "Get or set the dimensions of an object.\n\n```r\ndim(mtcars) # 32 11\ndim(matrix(1:6, nrow = 2)) # 2 3\n```" },
653
+ "insertText": "dim(${1:x})",
654
+ "insertTextRules": 4,
655
+ "sortText": "01_dim"
656
+ },
657
+ {
658
+ "label": "names",
659
+ "kind": 1,
660
+ "detail": "Get or set names",
661
+ "documentation": { "value": "Get or set the names of an object.\n\n```r\nnames(x)\nnames(x) <- c(\"a\", \"b\", \"c\")\n```" },
662
+ "insertText": "names(${1:x})",
663
+ "insertTextRules": 4,
664
+ "sortText": "01_names"
665
+ },
666
+ {
667
+ "label": "colnames",
668
+ "kind": 1,
669
+ "detail": "Column names",
670
+ "documentation": { "value": "Get or set column names.\n\n```r\ncolnames(df)\ncolnames(df) <- c(\"x\", \"y\", \"z\")\n```" },
671
+ "insertText": "colnames(${1:x})",
672
+ "insertTextRules": 4,
673
+ "sortText": "01_colnames"
674
+ },
675
+ {
676
+ "label": "rownames",
677
+ "kind": 1,
678
+ "detail": "Row names",
679
+ "documentation": { "value": "Get or set row names.\n\n```r\nrownames(df)\nrownames(df) <- paste0(\"row\", 1:nrow(df))\n```" },
680
+ "insertText": "rownames(${1:x})",
681
+ "insertTextRules": 4,
682
+ "sortText": "01_rownames"
683
+ },
684
+ {
685
+ "label": "str",
686
+ "kind": 1,
687
+ "detail": "Display structure of an object",
688
+ "documentation": { "value": "Compactly display the internal structure.\n\n```r\nstr(mtcars)\nstr(my_list)\n```" },
689
+ "insertText": "str(${1:object})",
690
+ "insertTextRules": 4,
691
+ "sortText": "01_str"
692
+ },
693
+ {
694
+ "label": "summary",
695
+ "kind": 1,
696
+ "detail": "Summary of an object",
697
+ "documentation": { "value": "Produce result summaries (dispatched by class).\n\n```r\nsummary(mtcars)\nsummary(lm_fit)\nsummary(factor_var)\n```" },
698
+ "insertText": "summary(${1:object})",
699
+ "insertTextRules": 4,
700
+ "sortText": "01_summary"
701
+ },
702
+ {
703
+ "label": "class",
704
+ "kind": 1,
705
+ "detail": "Object class",
706
+ "documentation": { "value": "Get or set the class attribute.\n\n```r\nclass(mtcars) # \"data.frame\"\nclass(1:5) # \"integer\"\n```" },
707
+ "insertText": "class(${1:x})",
708
+ "insertTextRules": 4,
709
+ "sortText": "01_class"
710
+ },
711
+ {
712
+ "label": "typeof",
713
+ "kind": 1,
714
+ "detail": "Internal type of an object",
715
+ "documentation": { "value": "Return the internal storage type.\n\n```r\ntypeof(1L) # \"integer\"\ntypeof(1.0) # \"double\"\ntypeof(\"a\") # \"character\"\n```" },
716
+ "insertText": "typeof(${1:x})",
717
+ "insertTextRules": 4,
718
+ "sortText": "01_typeof"
719
+ },
720
+ {
721
+ "label": "is.numeric",
722
+ "kind": 1,
723
+ "detail": "Test if numeric",
724
+ "documentation": { "value": "Test whether an object is numeric (integer or double).\n\n```r\nis.numeric(1.5) # TRUE\nis.numeric(\"a\") # FALSE\n```" },
725
+ "insertText": "is.numeric(${1:x})",
726
+ "insertTextRules": 4,
727
+ "sortText": "01_is.numeric"
728
+ },
729
+ {
730
+ "label": "is.character",
731
+ "kind": 1,
732
+ "detail": "Test if character",
733
+ "documentation": { "value": "Test whether an object is of type character.\n\n```r\nis.character(\"hello\") # TRUE\nis.character(42) # FALSE\n```" },
734
+ "insertText": "is.character(${1:x})",
735
+ "insertTextRules": 4,
736
+ "sortText": "01_is.character"
737
+ },
738
+ {
739
+ "label": "is.logical",
740
+ "kind": 1,
741
+ "detail": "Test if logical",
742
+ "documentation": { "value": "Test whether an object is of type logical.\n\n```r\nis.logical(TRUE) # TRUE\nis.logical(1) # FALSE\n```" },
743
+ "insertText": "is.logical(${1:x})",
744
+ "insertTextRules": 4,
745
+ "sortText": "01_is.logical"
746
+ },
747
+ {
748
+ "label": "is.na",
749
+ "kind": 1,
750
+ "detail": "Test for NA values",
751
+ "documentation": { "value": "Test each element for NA.\n\n```r\nis.na(c(1, NA, 3)) # FALSE TRUE FALSE\nsum(is.na(x)) # count NAs\n```" },
752
+ "insertText": "is.na(${1:x})",
753
+ "insertTextRules": 4,
754
+ "sortText": "01_is.na"
755
+ },
756
+ {
757
+ "label": "is.null",
758
+ "kind": 1,
759
+ "detail": "Test for NULL",
760
+ "documentation": { "value": "Test if an object is NULL.\n\n```r\nis.null(NULL) # TRUE\nis.null(NA) # FALSE\n```" },
761
+ "insertText": "is.null(${1:x})",
762
+ "insertTextRules": 4,
763
+ "sortText": "01_is.null"
764
+ },
765
+ {
766
+ "label": "as.numeric",
767
+ "kind": 1,
768
+ "detail": "Coerce to numeric",
769
+ "documentation": { "value": "Coerce an object to numeric (double).\n\n```r\nas.numeric(\"3.14\") # 3.14\nas.numeric(TRUE) # 1\n```" },
770
+ "insertText": "as.numeric(${1:x})",
771
+ "insertTextRules": 4,
772
+ "sortText": "01_as.numeric"
773
+ },
774
+ {
775
+ "label": "as.character",
776
+ "kind": 1,
777
+ "detail": "Coerce to character",
778
+ "documentation": { "value": "Coerce an object to character string.\n\n```r\nas.character(42) # \"42\"\nas.character(TRUE) # \"TRUE\"\n```" },
779
+ "insertText": "as.character(${1:x})",
780
+ "insertTextRules": 4,
781
+ "sortText": "01_as.character"
782
+ },
783
+ {
784
+ "label": "as.logical",
785
+ "kind": 1,
786
+ "detail": "Coerce to logical",
787
+ "documentation": { "value": "Coerce to logical.\n\n```r\nas.logical(0) # FALSE\nas.logical(1) # TRUE\nas.logical(\"TRUE\") # TRUE\n```" },
788
+ "insertText": "as.logical(${1:x})",
789
+ "insertTextRules": 4,
790
+ "sortText": "01_as.logical"
791
+ },
792
+ {
793
+ "label": "as.integer",
794
+ "kind": 1,
795
+ "detail": "Coerce to integer",
796
+ "documentation": { "value": "Coerce to integer.\n\n```r\nas.integer(3.7) # 3\nas.integer(\"42\") # 42\n```" },
797
+ "insertText": "as.integer(${1:x})",
798
+ "insertTextRules": 4,
799
+ "sortText": "01_as.integer"
800
+ },
801
+ {
802
+ "label": "as.double",
803
+ "kind": 1,
804
+ "detail": "Coerce to double",
805
+ "documentation": { "value": "Coerce to double-precision floating point.\n\n```r\nas.double(1L) # 1\nas.double(\"3.14\") # 3.14\n```" },
806
+ "insertText": "as.double(${1:x})",
807
+ "insertTextRules": 4,
808
+ "sortText": "01_as.double"
809
+ },
810
+ {
811
+ "label": "as.data.frame",
812
+ "kind": 1,
813
+ "detail": "Coerce to data frame",
814
+ "documentation": { "value": "Coerce to a data.frame.\n\n```r\nas.data.frame(matrix(1:6, nrow = 2))\nas.data.frame(my_list)\n```" },
815
+ "insertText": "as.data.frame(${1:x})",
816
+ "insertTextRules": 4,
817
+ "sortText": "01_as.data.frame"
818
+ },
819
+ {
820
+ "label": "data.frame",
821
+ "kind": 1,
822
+ "detail": "Create a data frame",
823
+ "documentation": { "value": "Create a data frame from column vectors.\n\n```r\ndf <- data.frame(\n name = c(\"Alice\", \"Bob\"),\n age = c(25, 30),\n stringsAsFactors = FALSE\n)\n```" },
824
+ "insertText": "data.frame(${1:...})",
825
+ "insertTextRules": 4,
826
+ "sortText": "01_data.frame"
827
+ },
828
+ {
829
+ "label": "matrix",
830
+ "kind": 1,
831
+ "detail": "Create a matrix",
832
+ "documentation": { "value": "Create a matrix from the given values.\n\n```r\nmatrix(1:6, nrow = 2, ncol = 3)\nmatrix(0, nrow = 3, ncol = 3)\n```" },
833
+ "insertText": "matrix(${1:data}, nrow = ${2:nrow})",
834
+ "insertTextRules": 4,
835
+ "sortText": "01_matrix"
836
+ },
837
+ {
838
+ "label": "array",
839
+ "kind": 1,
840
+ "detail": "Create a multi-dimensional array",
841
+ "documentation": { "value": "Create a multi-dimensional array.\n\n```r\narray(1:24, dim = c(2, 3, 4))\n```" },
842
+ "insertText": "array(${1:data}, dim = c(${2:dims}))",
843
+ "insertTextRules": 4,
844
+ "sortText": "01_array"
845
+ },
846
+ {
847
+ "label": "list",
848
+ "kind": 1,
849
+ "detail": "Create a list",
850
+ "documentation": { "value": "Create a list (generic container).\n\n```r\nx <- list(a = 1, b = \"text\", c = TRUE)\nx[[1]]\nx$a\n```" },
851
+ "insertText": "list(${1:...})",
852
+ "insertTextRules": 4,
853
+ "sortText": "01_list"
854
+ },
855
+ {
856
+ "label": "vector",
857
+ "kind": 1,
858
+ "detail": "Create a vector",
859
+ "documentation": { "value": "Create a vector of given mode and length.\n\n```r\nvector(\"numeric\", 5) # 0 0 0 0 0\nvector(\"character\", 3) # \"\" \"\" \"\"\n```" },
860
+ "insertText": "vector(\"${1:mode}\", ${2:length})",
861
+ "insertTextRules": 4,
862
+ "sortText": "01_vector"
863
+ },
864
+ {
865
+ "label": "factor",
866
+ "kind": 1,
867
+ "detail": "Create a factor",
868
+ "documentation": { "value": "Encode a vector as a factor (categorical variable).\n\n```r\nfactor(c(\"low\", \"med\", \"high\"), levels = c(\"low\", \"med\", \"high\"), ordered = TRUE)\n```" },
869
+ "insertText": "factor(${1:x})",
870
+ "insertTextRules": 4,
871
+ "sortText": "01_factor"
872
+ },
873
+ {
874
+ "label": "read.csv",
875
+ "kind": 1,
876
+ "detail": "Read CSV file",
877
+ "documentation": { "value": "Read a CSV file into a data frame.\n\n```r\ndf <- read.csv(\"data.csv\")\ndf <- read.csv(\"data.csv\", stringsAsFactors = FALSE, na.strings = c(\"\", \"NA\"))\n```" },
878
+ "insertText": "read.csv(\"${1:file.csv}\")",
879
+ "insertTextRules": 4,
880
+ "sortText": "01_read.csv"
881
+ },
882
+ {
883
+ "label": "read.table",
884
+ "kind": 1,
885
+ "detail": "Read tabular data",
886
+ "documentation": { "value": "Read a table formatted file into a data frame.\n\n```r\ndf <- read.table(\"data.txt\", header = TRUE, sep = \"\\t\")\n```" },
887
+ "insertText": "read.table(\"${1:file}\", header = ${2:TRUE}, sep = \"${3:\\t}\")",
888
+ "insertTextRules": 4,
889
+ "sortText": "01_read.table"
890
+ },
891
+ {
892
+ "label": "write.csv",
893
+ "kind": 1,
894
+ "detail": "Write CSV file",
895
+ "documentation": { "value": "Write a data frame to a CSV file.\n\n```r\nwrite.csv(df, \"output.csv\", row.names = FALSE)\n```" },
896
+ "insertText": "write.csv(${1:x}, \"${2:file.csv}\", row.names = FALSE)",
897
+ "insertTextRules": 4,
898
+ "sortText": "01_write.csv"
899
+ },
900
+ {
901
+ "label": "write.table",
902
+ "kind": 1,
903
+ "detail": "Write tabular data",
904
+ "documentation": { "value": "Write a data frame to a file.\n\n```r\nwrite.table(df, \"output.txt\", sep = \"\\t\", row.names = FALSE)\n```" },
905
+ "insertText": "write.table(${1:x}, \"${2:file}\", sep = \"${3:\\t}\")",
906
+ "insertTextRules": 4,
907
+ "sortText": "01_write.table"
908
+ },
909
+ {
910
+ "label": "readRDS",
911
+ "kind": 1,
912
+ "detail": "Read RDS file",
913
+ "documentation": { "value": "Read a single R object from file.\n\n```r\nobj <- readRDS(\"data.rds\")\n```" },
914
+ "insertText": "readRDS(\"${1:file.rds}\")",
915
+ "insertTextRules": 4,
916
+ "sortText": "01_readRDS"
917
+ },
918
+ {
919
+ "label": "saveRDS",
920
+ "kind": 1,
921
+ "detail": "Save RDS file",
922
+ "documentation": { "value": "Serialize an R object to file.\n\n```r\nsaveRDS(obj, \"data.rds\")\n```" },
923
+ "insertText": "saveRDS(${1:object}, \"${2:file.rds}\")",
924
+ "insertTextRules": 4,
925
+ "sortText": "01_saveRDS"
926
+ },
927
+ {
928
+ "label": "file.path",
929
+ "kind": 1,
930
+ "detail": "Construct file paths",
931
+ "documentation": { "value": "Construct platform-independent file paths.\n\n```r\nfile.path(\"data\", \"input\", \"file.csv\")\n```" },
932
+ "insertText": "file.path(${1:...})",
933
+ "insertTextRules": 4,
934
+ "sortText": "01_file.path"
935
+ },
936
+ {
937
+ "label": "file.exists",
938
+ "kind": 1,
939
+ "detail": "Check if file exists",
940
+ "documentation": { "value": "Test whether files exist.\n\n```r\nfile.exists(\"data.csv\") # TRUE/FALSE\n```" },
941
+ "insertText": "file.exists(\"${1:path}\")",
942
+ "insertTextRules": 4,
943
+ "sortText": "01_file.exists"
944
+ },
945
+ {
946
+ "label": "dir.create",
947
+ "kind": 1,
948
+ "detail": "Create a directory",
949
+ "documentation": { "value": "Create a directory.\n\n```r\ndir.create(\"output\", recursive = TRUE, showWarnings = FALSE)\n```" },
950
+ "insertText": "dir.create(\"${1:path}\", recursive = TRUE)",
951
+ "insertTextRules": 4,
952
+ "sortText": "01_dir.create"
953
+ },
954
+ {
955
+ "label": "getwd",
956
+ "kind": 1,
957
+ "detail": "Get working directory",
958
+ "documentation": { "value": "Return the current working directory.\n\n```r\ngetwd() # \"/home/user/project\"\n```" },
959
+ "insertText": "getwd()",
960
+ "sortText": "01_getwd"
961
+ },
962
+ {
963
+ "label": "setwd",
964
+ "kind": 1,
965
+ "detail": "Set working directory",
966
+ "documentation": { "value": "Change the working directory.\n\n```r\nsetwd(\"/path/to/project\")\n```" },
967
+ "insertText": "setwd(\"${1:dir}\")",
968
+ "insertTextRules": 4,
969
+ "sortText": "01_setwd"
970
+ },
971
+ {
972
+ "label": "Sys.time",
973
+ "kind": 1,
974
+ "detail": "Current date/time",
975
+ "documentation": { "value": "Return the current date and time.\n\n```r\nSys.time() # \"2024-01-15 14:30:00 UTC\"\n```" },
976
+ "insertText": "Sys.time()",
977
+ "sortText": "01_Sys.time"
978
+ },
979
+ {
980
+ "label": "Sys.sleep",
981
+ "kind": 1,
982
+ "detail": "Pause execution",
983
+ "documentation": { "value": "Suspend execution for a given number of seconds.\n\n```r\nSys.sleep(2) # pause 2 seconds\n```" },
984
+ "insertText": "Sys.sleep(${1:seconds})",
985
+ "insertTextRules": 4,
986
+ "sortText": "01_Sys.sleep"
987
+ },
988
+ {
989
+ "label": "system",
990
+ "kind": 1,
991
+ "detail": "Run system command",
992
+ "documentation": { "value": "Invoke an OS command.\n\n```r\nsystem(\"ls -la\")\noutput <- system(\"whoami\", intern = TRUE)\n```" },
993
+ "insertText": "system(\"${1:command}\", intern = ${2:TRUE})",
994
+ "insertTextRules": 4,
995
+ "sortText": "01_system"
996
+ },
997
+ {
998
+ "label": "system2",
999
+ "kind": 1,
1000
+ "detail": "Run system command (modern)",
1001
+ "documentation": { "value": "Invoke an OS command (safer interface).\n\n```r\nsystem2(\"git\", c(\"status\", \"--short\"), stdout = TRUE)\n```" },
1002
+ "insertText": "system2(\"${1:command}\", args = c(${2:}))",
1003
+ "insertTextRules": 4,
1004
+ "sortText": "01_system2"
1005
+ },
1006
+ {
1007
+ "label": "tryCatch",
1008
+ "kind": 1,
1009
+ "detail": "Error handling",
1010
+ "documentation": { "value": "Handle errors and conditions.\n\n```r\nresult <- tryCatch({\n log(-1)\n}, warning = function(w) {\n message(\"Warning: \", w$message)\n}, error = function(e) {\n message(\"Error: \", e$message)\n NA\n}, finally = {\n cat(\"Done\\n\")\n})\n```" },
1011
+ "insertText": "tryCatch({\n ${1}\n}, error = function(e) {\n ${2:message(e$message)}\n})",
1012
+ "insertTextRules": 4,
1013
+ "sortText": "01_tryCatch"
1014
+ },
1015
+ {
1016
+ "label": "withCallingHandlers",
1017
+ "kind": 1,
1018
+ "detail": "Condition handler (non-exiting)",
1019
+ "documentation": { "value": "Establish calling handlers for conditions.\n\n```r\nwithCallingHandlers(\n expr,\n warning = function(w) invokeRestart(\"muffleWarning\")\n)\n```" },
1020
+ "insertText": "withCallingHandlers({\n ${1}\n}, warning = function(w) {\n ${2}\n})",
1021
+ "insertTextRules": 4,
1022
+ "sortText": "01_withCallingHandlers"
1023
+ },
1024
+ {
1025
+ "label": "stop",
1026
+ "kind": 1,
1027
+ "detail": "Signal an error",
1028
+ "documentation": { "value": "Stop execution and signal an error condition.\n\n```r\nstop(\"invalid argument\")\nstop(\"x must be > 0, got: \", x)\n```" },
1029
+ "insertText": "stop(\"${1:message}\")",
1030
+ "insertTextRules": 4,
1031
+ "sortText": "01_stop"
1032
+ },
1033
+ {
1034
+ "label": "warning",
1035
+ "kind": 1,
1036
+ "detail": "Signal a warning",
1037
+ "documentation": { "value": "Generate a warning message.\n\n```r\nwarning(\"deprecated function\")\nwarning(\"NAs introduced by coercion\", call. = FALSE)\n```" },
1038
+ "insertText": "warning(\"${1:message}\")",
1039
+ "insertTextRules": 4,
1040
+ "sortText": "01_warning"
1041
+ },
1042
+ {
1043
+ "label": "message",
1044
+ "kind": 1,
1045
+ "detail": "Diagnostic message",
1046
+ "documentation": { "value": "Generate a diagnostic message (to stderr).\n\n```r\nmessage(\"Processing file: \", filename)\nmessage(\"Step \", i, \" of \", n)\n```" },
1047
+ "insertText": "message(\"${1:...}\")",
1048
+ "insertTextRules": 4,
1049
+ "sortText": "01_message"
1050
+ },
1051
+ {
1052
+ "label": "format",
1053
+ "kind": 1,
1054
+ "detail": "Format values",
1055
+ "documentation": { "value": "Format an R object for pretty printing.\n\n```r\nformat(3.14159, digits = 3) # \"3.14\"\nformat(Sys.Date(), \"%Y-%m-%d\")\n```" },
1056
+ "insertText": "format(${1:x})",
1057
+ "insertTextRules": 4,
1058
+ "sortText": "01_format"
1059
+ },
1060
+ {
1061
+ "label": "substr",
1062
+ "kind": 1,
1063
+ "detail": "Extract/replace substring",
1064
+ "documentation": { "value": "Extract or replace substrings.\n\n```r\nsubstr(\"Hello\", 1, 3) # \"Hel\"\n```" },
1065
+ "insertText": "substr(${1:x}, ${2:start}, ${3:stop})",
1066
+ "insertTextRules": 4,
1067
+ "sortText": "01_substr"
1068
+ },
1069
+ {
1070
+ "label": "substring",
1071
+ "kind": 1,
1072
+ "detail": "Extract substring (vectorized)",
1073
+ "documentation": { "value": "Extract substrings (compatible with replacement).\n\n```r\nsubstring(\"Hello world\", 7) # \"world\"\n```" },
1074
+ "insertText": "substring(${1:text}, ${2:first})",
1075
+ "insertTextRules": 4,
1076
+ "sortText": "01_substring"
1077
+ },
1078
+ {
1079
+ "label": "gsub",
1080
+ "kind": 1,
1081
+ "detail": "Global pattern replacement",
1082
+ "documentation": { "value": "Replace all occurrences of a pattern.\n\n```r\ngsub(\"o\", \"0\", \"foo bar boo\") # \"f00 bar b00\"\ngsub(\"[[:space:]]+\", \"_\", text)\n```" },
1083
+ "insertText": "gsub(\"${1:pattern}\", \"${2:replacement}\", ${3:x})",
1084
+ "insertTextRules": 4,
1085
+ "sortText": "01_gsub"
1086
+ },
1087
+ {
1088
+ "label": "sub",
1089
+ "kind": 1,
1090
+ "detail": "First pattern replacement",
1091
+ "documentation": { "value": "Replace the first occurrence of a pattern.\n\n```r\nsub(\"o\", \"0\", \"foo\") # \"f0o\"\n```" },
1092
+ "insertText": "sub(\"${1:pattern}\", \"${2:replacement}\", ${3:x})",
1093
+ "insertTextRules": 4,
1094
+ "sortText": "01_sub"
1095
+ },
1096
+ {
1097
+ "label": "grep",
1098
+ "kind": 1,
1099
+ "detail": "Pattern matching (indices)",
1100
+ "documentation": { "value": "Search for pattern matches and return indices.\n\n```r\ngrep(\"^a\", c(\"apple\", \"banana\", \"avocado\")) # 1 3\ngrep(\"error\", log_lines, value = TRUE)\n```" },
1101
+ "insertText": "grep(\"${1:pattern}\", ${2:x})",
1102
+ "insertTextRules": 4,
1103
+ "sortText": "01_grep"
1104
+ },
1105
+ {
1106
+ "label": "grepl",
1107
+ "kind": 1,
1108
+ "detail": "Pattern matching (logical)",
1109
+ "documentation": { "value": "Test for pattern matches, return logical vector.\n\n```r\ngrepl(\"^a\", c(\"apple\", \"banana\")) # TRUE FALSE\n```" },
1110
+ "insertText": "grepl(\"${1:pattern}\", ${2:x})",
1111
+ "insertTextRules": 4,
1112
+ "sortText": "01_grepl"
1113
+ },
1114
+ {
1115
+ "label": "regexpr",
1116
+ "kind": 1,
1117
+ "detail": "First regex match position",
1118
+ "documentation": { "value": "Find the first match of a pattern.\n\n```r\nm <- regexpr(\"[0-9]+\", \"abc123def\")\nregmatches(\"abc123def\", m) # \"123\"\n```" },
1119
+ "insertText": "regexpr(\"${1:pattern}\", ${2:text})",
1120
+ "insertTextRules": 4,
1121
+ "sortText": "01_regexpr"
1122
+ },
1123
+ {
1124
+ "label": "gregexpr",
1125
+ "kind": 1,
1126
+ "detail": "All regex match positions",
1127
+ "documentation": { "value": "Find all matches of a pattern.\n\n```r\nm <- gregexpr(\"[0-9]+\", \"a1b2c3\")\nregmatches(\"a1b2c3\", m) # list(c(\"1\", \"2\", \"3\"))\n```" },
1128
+ "insertText": "gregexpr(\"${1:pattern}\", ${2:text})",
1129
+ "insertTextRules": 4,
1130
+ "sortText": "01_gregexpr"
1131
+ },
1132
+ {
1133
+ "label": "strsplit",
1134
+ "kind": 1,
1135
+ "detail": "Split strings",
1136
+ "documentation": { "value": "Split character strings by a pattern.\n\n```r\nstrsplit(\"a,b,c\", \",\") # list(c(\"a\", \"b\", \"c\"))\nstrsplit(\"hello\", \"\") # list(c(\"h\",\"e\",\"l\",\"l\",\"o\"))\n```" },
1137
+ "insertText": "strsplit(${1:x}, \"${2:split}\")",
1138
+ "insertTextRules": 4,
1139
+ "sortText": "01_strsplit"
1140
+ },
1141
+ {
1142
+ "label": "trimws",
1143
+ "kind": 1,
1144
+ "detail": "Trim whitespace",
1145
+ "documentation": { "value": "Remove leading and/or trailing whitespace.\n\n```r\ntrimws(\" hello \") # \"hello\"\ntrimws(\" hello \", \"left\") # \"hello \"\n```" },
1146
+ "insertText": "trimws(${1:x})",
1147
+ "insertTextRules": 4,
1148
+ "sortText": "01_trimws"
1149
+ },
1150
+ {
1151
+ "label": "toupper",
1152
+ "kind": 1,
1153
+ "detail": "Convert to uppercase",
1154
+ "documentation": { "value": "Convert strings to uppercase.\n\n```r\ntoupper(\"hello\") # \"HELLO\"\n```" },
1155
+ "insertText": "toupper(${1:x})",
1156
+ "insertTextRules": 4,
1157
+ "sortText": "01_toupper"
1158
+ },
1159
+ {
1160
+ "label": "tolower",
1161
+ "kind": 1,
1162
+ "detail": "Convert to lowercase",
1163
+ "documentation": { "value": "Convert strings to lowercase.\n\n```r\ntolower(\"HELLO\") # \"hello\"\n```" },
1164
+ "insertText": "tolower(${1:x})",
1165
+ "insertTextRules": 4,
1166
+ "sortText": "01_tolower"
1167
+ },
1168
+ {
1169
+ "label": "startsWith",
1170
+ "kind": 1,
1171
+ "detail": "Test if string starts with prefix",
1172
+ "documentation": { "value": "Test if strings start with a prefix.\n\n```r\nstartsWith(\"Hello\", \"He\") # TRUE\n```" },
1173
+ "insertText": "startsWith(${1:x}, \"${2:prefix}\")",
1174
+ "insertTextRules": 4,
1175
+ "sortText": "01_startsWith"
1176
+ },
1177
+ {
1178
+ "label": "endsWith",
1179
+ "kind": 1,
1180
+ "detail": "Test if string ends with suffix",
1181
+ "documentation": { "value": "Test if strings end with a suffix.\n\n```r\nendsWith(\"file.csv\", \".csv\") # TRUE\n```" },
1182
+ "insertText": "endsWith(${1:x}, \"${2:suffix}\")",
1183
+ "insertTextRules": 4,
1184
+ "sortText": "01_endsWith"
1185
+ },
1186
+ {
1187
+ "label": "apply",
1188
+ "kind": 1,
1189
+ "detail": "Apply function over margins",
1190
+ "documentation": { "value": "Apply a function over rows or columns of a matrix.\n\n```r\napply(mat, 1, sum) # row sums\napply(mat, 2, mean) # column means\n```" },
1191
+ "insertText": "apply(${1:X}, ${2:MARGIN}, ${3:FUN})",
1192
+ "insertTextRules": 4,
1193
+ "sortText": "01_apply"
1194
+ },
1195
+ {
1196
+ "label": "sapply",
1197
+ "kind": 1,
1198
+ "detail": "Apply and simplify",
1199
+ "documentation": { "value": "Apply a function and simplify the result.\n\n```r\nsapply(1:5, function(x) x^2) # 1 4 9 16 25\nsapply(df, class)\n```" },
1200
+ "insertText": "sapply(${1:X}, ${2:FUN})",
1201
+ "insertTextRules": 4,
1202
+ "sortText": "01_sapply"
1203
+ },
1204
+ {
1205
+ "label": "lapply",
1206
+ "kind": 1,
1207
+ "detail": "Apply and return list",
1208
+ "documentation": { "value": "Apply a function over a list and return a list.\n\n```r\nlapply(1:3, function(x) x^2) # list(1, 4, 9)\nlapply(files, read.csv)\n```" },
1209
+ "insertText": "lapply(${1:X}, ${2:FUN})",
1210
+ "insertTextRules": 4,
1211
+ "sortText": "01_lapply"
1212
+ },
1213
+ {
1214
+ "label": "vapply",
1215
+ "kind": 1,
1216
+ "detail": "Apply with type-safe return",
1217
+ "documentation": { "value": "Apply with specified return type (safer than sapply).\n\n```r\nvapply(1:5, sqrt, numeric(1))\n```" },
1218
+ "insertText": "vapply(${1:X}, ${2:FUN}, ${3:FUN.VALUE})",
1219
+ "insertTextRules": 4,
1220
+ "sortText": "01_vapply"
1221
+ },
1222
+ {
1223
+ "label": "tapply",
1224
+ "kind": 1,
1225
+ "detail": "Apply by groups",
1226
+ "documentation": { "value": "Apply a function to groups defined by an index.\n\n```r\ntapply(mtcars$mpg, mtcars$cyl, mean)\n```" },
1227
+ "insertText": "tapply(${1:X}, ${2:INDEX}, ${3:FUN})",
1228
+ "insertTextRules": 4,
1229
+ "sortText": "01_tapply"
1230
+ },
1231
+ {
1232
+ "label": "mapply",
1233
+ "kind": 1,
1234
+ "detail": "Multivariate apply",
1235
+ "documentation": { "value": "Apply a function to multiple lists/vectors element-wise.\n\n```r\nmapply(rep, 1:4, 4:1) # rep(1,4), rep(2,3), etc.\n```" },
1236
+ "insertText": "mapply(${1:FUN}, ${2:...})",
1237
+ "insertTextRules": 4,
1238
+ "sortText": "01_mapply"
1239
+ },
1240
+ {
1241
+ "label": "Map",
1242
+ "kind": 1,
1243
+ "detail": "Wrapper for mapply (no simplify)",
1244
+ "documentation": { "value": "Apply a function to corresponding elements (returns list).\n\n```r\nMap(`+`, 1:3, 4:6) # list(5, 7, 9)\n```" },
1245
+ "insertText": "Map(${1:f}, ${2:...})",
1246
+ "insertTextRules": 4,
1247
+ "sortText": "01_Map"
1248
+ },
1249
+ {
1250
+ "label": "Reduce",
1251
+ "kind": 1,
1252
+ "detail": "Reduce a list to a single value",
1253
+ "documentation": { "value": "Apply a binary function cumulatively.\n\n```r\nReduce(`+`, 1:5) # 15\nReduce(merge, list_of_dfs)\n```" },
1254
+ "insertText": "Reduce(${1:f}, ${2:x})",
1255
+ "insertTextRules": 4,
1256
+ "sortText": "01_Reduce"
1257
+ },
1258
+ {
1259
+ "label": "Filter",
1260
+ "kind": 1,
1261
+ "detail": "Filter elements by predicate",
1262
+ "documentation": { "value": "Select elements for which a function returns TRUE.\n\n```r\nFilter(is.numeric, my_list)\nFilter(function(x) x > 0, vec)\n```" },
1263
+ "insertText": "Filter(${1:f}, ${2:x})",
1264
+ "insertTextRules": 4,
1265
+ "sortText": "01_Filter"
1266
+ },
1267
+ {
1268
+ "label": "do.call",
1269
+ "kind": 1,
1270
+ "detail": "Call a function with args list",
1271
+ "documentation": { "value": "Execute a function call with arguments from a list.\n\n```r\ndo.call(rbind, list_of_dfs)\ndo.call(paste, c(words, sep = \"-\"))\n```" },
1272
+ "insertText": "do.call(${1:what}, ${2:args})",
1273
+ "insertTextRules": 4,
1274
+ "sortText": "01_do.call"
1275
+ },
1276
+ {
1277
+ "label": "Vectorize",
1278
+ "kind": 1,
1279
+ "detail": "Vectorize a scalar function",
1280
+ "documentation": { "value": "Create a vectorized version of a function.\n\n```r\nvfunc <- Vectorize(my_scalar_func)\nvfunc(1:5)\n```" },
1281
+ "insertText": "Vectorize(${1:FUN})",
1282
+ "insertTextRules": 4,
1283
+ "sortText": "01_Vectorize"
1284
+ },
1285
+ {
1286
+ "label": "ifelse",
1287
+ "kind": 1,
1288
+ "detail": "Vectorized conditional",
1289
+ "documentation": { "value": "Vectorized conditional: returns values depending on test.\n\n```r\nifelse(x > 0, \"pos\", \"non-pos\")\nifelse(is.na(x), 0, x)\n```" },
1290
+ "insertText": "ifelse(${1:test}, ${2:yes}, ${3:no})",
1291
+ "insertTextRules": 4,
1292
+ "sortText": "01_ifelse"
1293
+ },
1294
+ {
1295
+ "label": "plot",
1296
+ "kind": 1,
1297
+ "detail": "Generic X-Y plotting",
1298
+ "documentation": { "value": "Generic function for plotting R objects.\n\n```r\nplot(x, y)\nplot(1:10, main = \"Title\", xlab = \"X\", ylab = \"Y\", type = \"l\")\n```" },
1299
+ "insertText": "plot(${1:x}, ${2:y})",
1300
+ "insertTextRules": 4,
1301
+ "sortText": "02_plot"
1302
+ },
1303
+ {
1304
+ "label": "hist",
1305
+ "kind": 1,
1306
+ "detail": "Histogram",
1307
+ "documentation": { "value": "Draw a histogram.\n\n```r\nhist(rnorm(1000))\nhist(x, breaks = 30, col = \"steelblue\", main = \"Distribution\")\n```" },
1308
+ "insertText": "hist(${1:x})",
1309
+ "insertTextRules": 4,
1310
+ "sortText": "02_hist"
1311
+ },
1312
+ {
1313
+ "label": "barplot",
1314
+ "kind": 1,
1315
+ "detail": "Bar plot",
1316
+ "documentation": { "value": "Draw a bar plot.\n\n```r\nbarplot(table(x), col = \"steelblue\")\nbarplot(height, names.arg = labels)\n```" },
1317
+ "insertText": "barplot(${1:height})",
1318
+ "insertTextRules": 4,
1319
+ "sortText": "02_barplot"
1320
+ },
1321
+ {
1322
+ "label": "boxplot",
1323
+ "kind": 1,
1324
+ "detail": "Box-and-whisker plot",
1325
+ "documentation": { "value": "Produce box-and-whisker plots.\n\n```r\nboxplot(mpg ~ cyl, data = mtcars)\n```" },
1326
+ "insertText": "boxplot(${1:formula}, data = ${2:df})",
1327
+ "insertTextRules": 4,
1328
+ "sortText": "02_boxplot"
1329
+ },
1330
+ {
1331
+ "label": "lines",
1332
+ "kind": 1,
1333
+ "detail": "Add lines to a plot",
1334
+ "documentation": { "value": "Add connected line segments to an existing plot.\n\n```r\nlines(x, y, col = \"red\", lty = 2)\n```" },
1335
+ "insertText": "lines(${1:x}, ${2:y})",
1336
+ "insertTextRules": 4,
1337
+ "sortText": "02_lines"
1338
+ },
1339
+ {
1340
+ "label": "points",
1341
+ "kind": 1,
1342
+ "detail": "Add points to a plot",
1343
+ "documentation": { "value": "Add points to an existing plot.\n\n```r\npoints(x, y, col = \"red\", pch = 19)\n```" },
1344
+ "insertText": "points(${1:x}, ${2:y})",
1345
+ "insertTextRules": 4,
1346
+ "sortText": "02_points"
1347
+ },
1348
+ {
1349
+ "label": "abline",
1350
+ "kind": 1,
1351
+ "detail": "Add straight line to a plot",
1352
+ "documentation": { "value": "Add straight lines to a plot.\n\n```r\nabline(h = 0, col = \"gray\")\nabline(v = mean(x), lty = 2)\nabline(lm_fit, col = \"red\")\n```" },
1353
+ "insertText": "abline(${1:a}, ${2:b})",
1354
+ "insertTextRules": 4,
1355
+ "sortText": "02_abline"
1356
+ },
1357
+ {
1358
+ "label": "legend",
1359
+ "kind": 1,
1360
+ "detail": "Add legend to a plot",
1361
+ "documentation": { "value": "Add a legend to a plot.\n\n```r\nlegend(\"topright\", legend = c(\"A\", \"B\"), col = c(\"red\", \"blue\"), lty = 1)\n```" },
1362
+ "insertText": "legend(\"${1:topright}\", legend = c(${2:...}))",
1363
+ "insertTextRules": 4,
1364
+ "sortText": "02_legend"
1365
+ },
1366
+ {
1367
+ "label": "title",
1368
+ "kind": 1,
1369
+ "detail": "Add title to a plot",
1370
+ "documentation": { "value": "Add annotations to a plot.\n\n```r\ntitle(main = \"Main Title\", sub = \"Subtitle\", xlab = \"X\", ylab = \"Y\")\n```" },
1371
+ "insertText": "title(main = \"${1:Title}\")",
1372
+ "insertTextRules": 4,
1373
+ "sortText": "02_title"
1374
+ },
1375
+ {
1376
+ "label": "par",
1377
+ "kind": 1,
1378
+ "detail": "Set graphical parameters",
1379
+ "documentation": { "value": "Set or query graphical parameters.\n\n```r\npar(mfrow = c(2, 2)) # 2x2 plot layout\npar(mar = c(5, 4, 4, 2) + 0.1)\n```" },
1380
+ "insertText": "par(${1:...})",
1381
+ "insertTextRules": 4,
1382
+ "sortText": "02_par"
1383
+ },
1384
+ {
1385
+ "label": "ggplot",
1386
+ "kind": 1,
1387
+ "detail": "Create a ggplot2 plot",
1388
+ "documentation": { "value": "Initialize a ggplot2 plot.\n\n```r\nlibrary(ggplot2)\nggplot(df, aes(x = x, y = y)) +\n geom_point() +\n theme_minimal()\n```" },
1389
+ "insertText": "ggplot(${1:data}, aes(x = ${2:x}, y = ${3:y})) +\n ${4:geom_point()}",
1390
+ "insertTextRules": 4,
1391
+ "sortText": "02_ggplot"
1392
+ },
1393
+ {
1394
+ "label": "aes",
1395
+ "kind": 1,
1396
+ "detail": "Aesthetic mapping (ggplot2)",
1397
+ "documentation": { "value": "Define aesthetic mappings for ggplot2.\n\n```r\naes(x = var1, y = var2, color = group)\naes(fill = category, size = value)\n```" },
1398
+ "insertText": "aes(x = ${1:x}, y = ${2:y})",
1399
+ "insertTextRules": 4,
1400
+ "sortText": "02_aes"
1401
+ },
1402
+ {
1403
+ "label": "geom_point",
1404
+ "kind": 1,
1405
+ "detail": "Scatter plot layer (ggplot2)",
1406
+ "documentation": { "value": "Add a scatter plot layer.\n\n```r\nggplot(df, aes(x, y)) + geom_point(size = 3, alpha = 0.7)\n```" },
1407
+ "insertText": "geom_point(${1:})",
1408
+ "insertTextRules": 4,
1409
+ "sortText": "02_geom_point"
1410
+ },
1411
+ {
1412
+ "label": "geom_line",
1413
+ "kind": 1,
1414
+ "detail": "Line plot layer (ggplot2)",
1415
+ "documentation": { "value": "Add a line plot layer.\n\n```r\nggplot(df, aes(x, y)) + geom_line(color = \"blue\")\n```" },
1416
+ "insertText": "geom_line(${1:})",
1417
+ "insertTextRules": 4,
1418
+ "sortText": "02_geom_line"
1419
+ },
1420
+ {
1421
+ "label": "geom_bar",
1422
+ "kind": 1,
1423
+ "detail": "Bar chart layer (ggplot2)",
1424
+ "documentation": { "value": "Add a bar chart layer.\n\n```r\nggplot(df, aes(x = category)) + geom_bar()\nggplot(df, aes(x = cat, y = val)) + geom_bar(stat = \"identity\")\n```" },
1425
+ "insertText": "geom_bar(${1:})",
1426
+ "insertTextRules": 4,
1427
+ "sortText": "02_geom_bar"
1428
+ },
1429
+ {
1430
+ "label": "facet_wrap",
1431
+ "kind": 1,
1432
+ "detail": "Facet by variable (ggplot2)",
1433
+ "documentation": { "value": "Facet a plot by a single variable.\n\n```r\nggplot(df, aes(x, y)) + geom_point() + facet_wrap(~group)\n```" },
1434
+ "insertText": "facet_wrap(~${1:variable})",
1435
+ "insertTextRules": 4,
1436
+ "sortText": "02_facet_wrap"
1437
+ },
1438
+ {
1439
+ "label": "theme",
1440
+ "kind": 1,
1441
+ "detail": "Customize plot theme (ggplot2)",
1442
+ "documentation": { "value": "Modify the non-data components of a plot.\n\n```r\ntheme_minimal()\ntheme(axis.text.x = element_text(angle = 45, hjust = 1))\n```" },
1443
+ "insertText": "theme(${1:})",
1444
+ "insertTextRules": 4,
1445
+ "sortText": "02_theme"
1446
+ },
1447
+ {
1448
+ "label": "install.packages",
1449
+ "kind": 1,
1450
+ "detail": "Install CRAN packages",
1451
+ "documentation": { "value": "Download and install packages from CRAN.\n\n```r\ninstall.packages(\"dplyr\")\ninstall.packages(c(\"ggplot2\", \"tidyr\"))\n```" },
1452
+ "insertText": "install.packages(\"${1:package}\")",
1453
+ "insertTextRules": 4,
1454
+ "sortText": "03_install.packages"
1455
+ },
1456
+ {
1457
+ "label": "remove.packages",
1458
+ "kind": 1,
1459
+ "detail": "Remove installed packages",
1460
+ "documentation": { "value": "Remove installed packages.\n\n```r\nremove.packages(\"old_pkg\")\n```" },
1461
+ "insertText": "remove.packages(\"${1:package}\")",
1462
+ "insertTextRules": 4,
1463
+ "sortText": "03_remove.packages"
1464
+ },
1465
+ {
1466
+ "label": "loadNamespace",
1467
+ "kind": 1,
1468
+ "detail": "Load a namespace without attaching",
1469
+ "documentation": { "value": "Load the namespace of a package without attaching it.\n\n```r\nns <- loadNamespace(\"dplyr\")\n```" },
1470
+ "insertText": "loadNamespace(\"${1:package}\")",
1471
+ "insertTextRules": 4,
1472
+ "sortText": "03_loadNamespace"
1473
+ },
1474
+ {
1475
+ "label": "packageVersion",
1476
+ "kind": 1,
1477
+ "detail": "Get package version",
1478
+ "documentation": { "value": "Return the version of an installed package.\n\n```r\npackageVersion(\"ggplot2\") # '3.4.4'\n```" },
1479
+ "insertText": "packageVersion(\"${1:package}\")",
1480
+ "insertTextRules": 4,
1481
+ "sortText": "03_packageVersion"
1482
+ },
1483
+ {
1484
+ "label": "update.packages",
1485
+ "kind": 1,
1486
+ "detail": "Update installed packages",
1487
+ "documentation": { "value": "Update outdated packages.\n\n```r\nupdate.packages(ask = FALSE)\n```" },
1488
+ "insertText": "update.packages(ask = FALSE)",
1489
+ "sortText": "03_update.packages"
1490
+ },
1491
+ {
1492
+ "label": "available.packages",
1493
+ "kind": 1,
1494
+ "detail": "List available packages on CRAN",
1495
+ "documentation": { "value": "Return a matrix of available packages on CRAN.\n\n```r\npkgs <- available.packages()\n```" },
1496
+ "insertText": "available.packages()",
1497
+ "sortText": "03_available.packages"
1498
+ },
1499
+ {
1500
+ "label": "lm",
1501
+ "kind": 1,
1502
+ "detail": "Fit a linear model",
1503
+ "documentation": { "value": "Fit a linear model using ordinary least squares.\n\n```r\nfit <- lm(y ~ x1 + x2, data = df)\nsummary(fit)\ncoef(fit)\n```" },
1504
+ "insertText": "lm(${1:formula}, data = ${2:df})",
1505
+ "insertTextRules": 4,
1506
+ "sortText": "03_lm"
1507
+ },
1508
+ {
1509
+ "label": "glm",
1510
+ "kind": 1,
1511
+ "detail": "Fit a generalized linear model",
1512
+ "documentation": { "value": "Fit a generalized linear model.\n\n```r\nfit <- glm(y ~ x, data = df, family = binomial)\nsummary(fit)\n```" },
1513
+ "insertText": "glm(${1:formula}, data = ${2:df}, family = ${3:binomial})",
1514
+ "insertTextRules": 4,
1515
+ "sortText": "03_glm"
1516
+ },
1517
+ {
1518
+ "label": "t.test",
1519
+ "kind": 1,
1520
+ "detail": "Student's t-test",
1521
+ "documentation": { "value": "Perform a t-test.\n\n```r\nt.test(x, mu = 0)\nt.test(x, y, paired = TRUE)\n```" },
1522
+ "insertText": "t.test(${1:x})",
1523
+ "insertTextRules": 4,
1524
+ "sortText": "03_t.test"
1525
+ },
1526
+ {
1527
+ "label": "cor",
1528
+ "kind": 1,
1529
+ "detail": "Correlation",
1530
+ "documentation": { "value": "Compute correlation between vectors or columns.\n\n```r\ncor(x, y)\ncor(df, use = \"complete.obs\")\n```" },
1531
+ "insertText": "cor(${1:x}, ${2:y})",
1532
+ "insertTextRules": 4,
1533
+ "sortText": "03_cor"
1534
+ },
1535
+ {
1536
+ "label": "cor.test",
1537
+ "kind": 1,
1538
+ "detail": "Test for correlation",
1539
+ "documentation": { "value": "Test for association between paired samples.\n\n```r\ncor.test(x, y, method = \"pearson\")\n```" },
1540
+ "insertText": "cor.test(${1:x}, ${2:y})",
1541
+ "insertTextRules": 4,
1542
+ "sortText": "03_cor.test"
1543
+ },
1544
+ {
1545
+ "label": "chisq.test",
1546
+ "kind": 1,
1547
+ "detail": "Chi-squared test",
1548
+ "documentation": { "value": "Perform a chi-squared test.\n\n```r\nchisq.test(table(x, y))\n```" },
1549
+ "insertText": "chisq.test(${1:x})",
1550
+ "insertTextRules": 4,
1551
+ "sortText": "03_chisq.test"
1552
+ },
1553
+ {
1554
+ "label": "aov",
1555
+ "kind": 1,
1556
+ "detail": "Analysis of variance",
1557
+ "documentation": { "value": "Fit an analysis of variance model.\n\n```r\nfit <- aov(y ~ group, data = df)\nsummary(fit)\n```" },
1558
+ "insertText": "aov(${1:formula}, data = ${2:df})",
1559
+ "insertTextRules": 4,
1560
+ "sortText": "03_aov"
1561
+ },
1562
+ {
1563
+ "label": "anova",
1564
+ "kind": 1,
1565
+ "detail": "ANOVA table",
1566
+ "documentation": { "value": "Compute analysis of variance tables for fitted model objects.\n\n```r\nanova(fit1)\nanova(fit1, fit2)\n```" },
1567
+ "insertText": "anova(${1:object})",
1568
+ "insertTextRules": 4,
1569
+ "sortText": "03_anova"
1570
+ },
1571
+ {
1572
+ "label": "predict",
1573
+ "kind": 1,
1574
+ "detail": "Model predictions",
1575
+ "documentation": { "value": "Obtain predictions from a fitted model.\n\n```r\npredict(fit, newdata = test_df)\npredict(fit, interval = \"confidence\")\n```" },
1576
+ "insertText": "predict(${1:object}, newdata = ${2:newdata})",
1577
+ "insertTextRules": 4,
1578
+ "sortText": "03_predict"
1579
+ },
1580
+ {
1581
+ "label": "residuals",
1582
+ "kind": 1,
1583
+ "detail": "Model residuals",
1584
+ "documentation": { "value": "Extract model residuals.\n\n```r\nresiduals(fit)\nresid(fit) # alias\n```" },
1585
+ "insertText": "residuals(${1:object})",
1586
+ "insertTextRules": 4,
1587
+ "sortText": "03_residuals"
1588
+ },
1589
+ {
1590
+ "label": "fitted",
1591
+ "kind": 1,
1592
+ "detail": "Fitted values",
1593
+ "documentation": { "value": "Extract fitted values from a model.\n\n```r\nfitted(fit)\n```" },
1594
+ "insertText": "fitted(${1:object})",
1595
+ "insertTextRules": 4,
1596
+ "sortText": "03_fitted"
1597
+ },
1598
+ {
1599
+ "label": "confint",
1600
+ "kind": 1,
1601
+ "detail": "Confidence intervals",
1602
+ "documentation": { "value": "Compute confidence intervals for model parameters.\n\n```r\nconfint(fit)\nconfint(fit, level = 0.99)\n```" },
1603
+ "insertText": "confint(${1:object})",
1604
+ "insertTextRules": 4,
1605
+ "sortText": "03_confint"
1606
+ },
1607
+ {
1608
+ "label": "coef",
1609
+ "kind": 1,
1610
+ "detail": "Model coefficients",
1611
+ "documentation": { "value": "Extract model coefficients.\n\n```r\ncoef(fit)\n```" },
1612
+ "insertText": "coef(${1:object})",
1613
+ "insertTextRules": 4,
1614
+ "sortText": "03_coef"
1615
+ },
1616
+ {
1617
+ "label": "setClass",
1618
+ "kind": 1,
1619
+ "detail": "Define S4 class",
1620
+ "documentation": { "value": "Create an S4 class definition.\n\n```r\nsetClass(\"Person\", representation(\n name = \"character\",\n age = \"numeric\"\n))\n```" },
1621
+ "insertText": "setClass(\"${1:Class}\", representation(\n ${2:slot} = \"${3:type}\"\n))",
1622
+ "insertTextRules": 4,
1623
+ "sortText": "04_setClass"
1624
+ },
1625
+ {
1626
+ "label": "setGeneric",
1627
+ "kind": 1,
1628
+ "detail": "Define S4 generic",
1629
+ "documentation": { "value": "Create an S4 generic function.\n\n```r\nsetGeneric(\"greet\", function(object) standardGeneric(\"greet\"))\n```" },
1630
+ "insertText": "setGeneric(\"${1:name}\", function(${2:object}) standardGeneric(\"${1:name}\"))",
1631
+ "insertTextRules": 4,
1632
+ "sortText": "04_setGeneric"
1633
+ },
1634
+ {
1635
+ "label": "setMethod",
1636
+ "kind": 1,
1637
+ "detail": "Define S4 method",
1638
+ "documentation": { "value": "Define an S4 method for a generic.\n\n```r\nsetMethod(\"greet\", \"Person\", function(object) {\n cat(\"Hello,\", object@name, \"\\n\")\n})\n```" },
1639
+ "insertText": "setMethod(\"${1:generic}\", \"${2:Class}\", function(${3:object}) {\n ${4}\n})",
1640
+ "insertTextRules": 4,
1641
+ "sortText": "04_setMethod"
1642
+ },
1643
+ {
1644
+ "label": "setRefClass",
1645
+ "kind": 1,
1646
+ "detail": "Define reference class (R5)",
1647
+ "documentation": { "value": "Create a mutable reference class.\n\n```r\nPerson <- setRefClass(\"Person\",\n fields = list(name = \"character\", age = \"numeric\"),\n methods = list(\n greet = function() cat(\"Hello,\", name, \"\\n\")\n )\n)\n```" },
1648
+ "insertText": "setRefClass(\"${1:Class}\",\n fields = list(${2:}),\n methods = list(${3:})\n)",
1649
+ "insertTextRules": 4,
1650
+ "sortText": "04_setRefClass"
1651
+ },
1652
+ {
1653
+ "label": "R6Class",
1654
+ "kind": 1,
1655
+ "detail": "Define R6 class",
1656
+ "documentation": { "value": "Create an R6 class (requires R6 package).\n\n```r\nlibrary(R6)\nPerson <- R6Class(\"Person\",\n public = list(\n name = NULL,\n initialize = function(name) self$name <- name,\n greet = function() cat(\"Hello,\", self$name, \"\\n\")\n )\n)\np <- Person$new(\"Alice\")\n```" },
1657
+ "insertText": "R6Class(\"${1:Class}\",\n public = list(\n initialize = function(${2:}) {\n ${3}\n }\n )\n)",
1658
+ "insertTextRules": 4,
1659
+ "sortText": "04_R6Class"
1660
+ },
1661
+ {
1662
+ "label": "new.env",
1663
+ "kind": 1,
1664
+ "detail": "Create a new environment",
1665
+ "documentation": { "value": "Create a new environment.\n\n```r\ne <- new.env(parent = emptyenv())\nassign(\"x\", 42, envir = e)\n```" },
1666
+ "insertText": "new.env(parent = ${1:emptyenv()})",
1667
+ "insertTextRules": 4,
1668
+ "sortText": "04_new.env"
1669
+ },
1670
+ {
1671
+ "label": "environment",
1672
+ "kind": 1,
1673
+ "detail": "Get/set function environment",
1674
+ "documentation": { "value": "Get or set the environment of a function.\n\n```r\nenvironment(my_func)\nenvironment() # current environment\n```" },
1675
+ "insertText": "environment(${1:fun})",
1676
+ "insertTextRules": 4,
1677
+ "sortText": "04_environment"
1678
+ },
1679
+ {
1680
+ "label": "globalenv",
1681
+ "kind": 1,
1682
+ "detail": "Global environment",
1683
+ "documentation": { "value": "Return the global environment.\n\n```r\nglobalenv()\nls(envir = globalenv())\n```" },
1684
+ "insertText": "globalenv()",
1685
+ "sortText": "04_globalenv"
1686
+ },
1687
+ {
1688
+ "label": "baseenv",
1689
+ "kind": 1,
1690
+ "detail": "Base environment",
1691
+ "documentation": { "value": "Return the base environment.\n\n```r\nbaseenv()\n```" },
1692
+ "insertText": "baseenv()",
1693
+ "sortText": "04_baseenv"
1694
+ },
1695
+ {
1696
+ "label": "emptyenv",
1697
+ "kind": 1,
1698
+ "detail": "Empty environment",
1699
+ "documentation": { "value": "Return the empty environment (has no parent).\n\n```r\nemptyenv()\n```" },
1700
+ "insertText": "emptyenv()",
1701
+ "sortText": "04_emptyenv"
1702
+ },
1703
+ {
1704
+ "label": "parent.env",
1705
+ "kind": 1,
1706
+ "detail": "Parent environment",
1707
+ "documentation": { "value": "Return or set the parent (enclosing) environment.\n\n```r\nparent.env(e)\n```" },
1708
+ "insertText": "parent.env(${1:env})",
1709
+ "insertTextRules": 4,
1710
+ "sortText": "04_parent.env"
1711
+ },
1712
+ {
1713
+ "label": "exists",
1714
+ "kind": 1,
1715
+ "detail": "Check if variable exists",
1716
+ "documentation": { "value": "Check if a variable exists in an environment.\n\n```r\nexists(\"x\") # TRUE/FALSE\nexists(\"x\", envir = my_env)\n```" },
1717
+ "insertText": "exists(\"${1:name}\")",
1718
+ "insertTextRules": 4,
1719
+ "sortText": "04_exists"
1720
+ },
1721
+ {
1722
+ "label": "get",
1723
+ "kind": 1,
1724
+ "detail": "Get value of variable",
1725
+ "documentation": { "value": "Retrieve a variable by name.\n\n```r\nget(\"x\")\nget(\"func\", envir = ns)\n```" },
1726
+ "insertText": "get(\"${1:name}\")",
1727
+ "insertTextRules": 4,
1728
+ "sortText": "04_get"
1729
+ },
1730
+ {
1731
+ "label": "assign",
1732
+ "kind": 1,
1733
+ "detail": "Assign value to variable",
1734
+ "documentation": { "value": "Assign a value to a name in an environment.\n\n```r\nassign(\"x\", 42)\nassign(\"y\", 100, envir = my_env)\n```" },
1735
+ "insertText": "assign(\"${1:name}\", ${2:value})",
1736
+ "insertTextRules": 4,
1737
+ "sortText": "04_assign"
1738
+ },
1739
+ {
1740
+ "label": "rm",
1741
+ "kind": 1,
1742
+ "detail": "Remove objects",
1743
+ "documentation": { "value": "Remove objects from an environment.\n\n```r\nrm(x, y)\nrm(list = ls()) # clear all\n```" },
1744
+ "insertText": "rm(${1:...})",
1745
+ "insertTextRules": 4,
1746
+ "sortText": "04_rm"
1747
+ },
1748
+ {
1749
+ "label": "ls",
1750
+ "kind": 1,
1751
+ "detail": "List objects",
1752
+ "documentation": { "value": "List objects in an environment.\n\n```r\nls()\nls(envir = my_env)\nls(pattern = \"^data\")\n```" },
1753
+ "insertText": "ls()",
1754
+ "sortText": "04_ls"
1755
+ },
1756
+ {
1757
+ "label": "attach",
1758
+ "kind": 1,
1759
+ "detail": "Attach data to search path",
1760
+ "documentation": { "value": "Attach a data frame or list to the search path.\n\n```r\nattach(mtcars)\nmpg # directly accessible\ndetach(mtcars)\n```" },
1761
+ "insertText": "attach(${1:what})",
1762
+ "insertTextRules": 4,
1763
+ "sortText": "04_attach"
1764
+ },
1765
+ {
1766
+ "label": "detach",
1767
+ "kind": 1,
1768
+ "detail": "Detach from search path",
1769
+ "documentation": { "value": "Detach a previously attached object.\n\n```r\ndetach(mtcars)\ndetach(\"package:dplyr\")\n```" },
1770
+ "insertText": "detach(${1:name})",
1771
+ "insertTextRules": 4,
1772
+ "sortText": "04_detach"
1773
+ },
1774
+ {
1775
+ "label": "search",
1776
+ "kind": 1,
1777
+ "detail": "Show search path",
1778
+ "documentation": { "value": "Return the current search path.\n\n```r\nsearch()\n# \".GlobalEnv\" \"package:stats\" ...\n```" },
1779
+ "insertText": "search()",
1780
+ "sortText": "04_search"
1781
+ },
1782
+ {
1783
+ "label": "for_loop",
1784
+ "kind": 27,
1785
+ "detail": "Snippet: for loop",
1786
+ "documentation": { "value": "Standard for loop iterating over a sequence.\n\n```r\nfor (i in 1:n) {\n # body\n}\n```" },
1787
+ "insertText": "for (${1:i} in ${2:1:n}) {\n ${3}\n}",
1788
+ "insertTextRules": 4,
1789
+ "sortText": "05_for_loop"
1790
+ },
1791
+ {
1792
+ "label": "while_loop",
1793
+ "kind": 27,
1794
+ "detail": "Snippet: while loop",
1795
+ "documentation": { "value": "While loop.\n\n```r\nwhile (condition) {\n # body\n}\n```" },
1796
+ "insertText": "while (${1:condition}) {\n ${2}\n}",
1797
+ "insertTextRules": 4,
1798
+ "sortText": "05_while_loop"
1799
+ },
1800
+ {
1801
+ "label": "func_def",
1802
+ "kind": 27,
1803
+ "detail": "Snippet: function definition",
1804
+ "documentation": { "value": "Define a named function.\n\n```r\nmy_func <- function(x, y = 1) {\n x + y\n}\n```" },
1805
+ "insertText": "${1:name} <- function(${2:args}) {\n ${3}\n}",
1806
+ "insertTextRules": 4,
1807
+ "sortText": "05_func_def"
1808
+ },
1809
+ {
1810
+ "label": "if_else_block",
1811
+ "kind": 27,
1812
+ "detail": "Snippet: if-else block",
1813
+ "documentation": { "value": "Full if/else if/else block.\n\n```r\nif (cond1) {\n # ...\n} else if (cond2) {\n # ...\n} else {\n # ...\n}\n```" },
1814
+ "insertText": "if (${1:condition}) {\n ${2}\n} else {\n ${3}\n}",
1815
+ "insertTextRules": 4,
1816
+ "sortText": "05_if_else_block"
1817
+ },
1818
+ {
1819
+ "label": "trycatch_block",
1820
+ "kind": 27,
1821
+ "detail": "Snippet: tryCatch block",
1822
+ "documentation": { "value": "Error handling block.\n\n```r\ntryCatch({\n # risky code\n}, error = function(e) {\n message(e$message)\n})\n```" },
1823
+ "insertText": "tryCatch({\n ${1}\n}, warning = function(w) {\n message(\"Warning: \", w$message)\n}, error = function(e) {\n message(\"Error: \", e$message)\n ${2:NULL}\n})",
1824
+ "insertTextRules": 4,
1825
+ "sortText": "05_trycatch_block"
1826
+ },
1827
+ {
1828
+ "label": "read_csv_snippet",
1829
+ "kind": 27,
1830
+ "detail": "Snippet: read CSV file",
1831
+ "documentation": { "value": "Read a CSV file into a data frame.\n\n```r\ndf <- read.csv(\"data.csv\", stringsAsFactors = FALSE)\nstr(df)\nhead(df)\n```" },
1832
+ "insertText": "${1:df} <- read.csv(\"${2:data.csv}\", stringsAsFactors = FALSE)\nstr(${1:df})\nhead(${1:df})",
1833
+ "insertTextRules": 4,
1834
+ "sortText": "05_read_csv_snippet"
1835
+ },
1836
+ {
1837
+ "label": "ggplot_snippet",
1838
+ "kind": 27,
1839
+ "detail": "Snippet: ggplot scatter plot",
1840
+ "documentation": { "value": "A quick ggplot2 scatter plot.\n\n```r\nlibrary(ggplot2)\nggplot(df, aes(x = x, y = y)) +\n geom_point() +\n labs(title = \"Title\") +\n theme_minimal()\n```" },
1841
+ "insertText": "library(ggplot2)\nggplot(${1:df}, aes(x = ${2:x}, y = ${3:y})) +\n geom_point() +\n labs(title = \"${4:Title}\") +\n theme_minimal()",
1842
+ "insertTextRules": 4,
1843
+ "sortText": "05_ggplot_snippet"
1844
+ },
1845
+ {
1846
+ "label": "pipe_data",
1847
+ "kind": 27,
1848
+ "detail": "Snippet: data pipeline (pipes)",
1849
+ "documentation": { "value": "Data transformation pipeline using the native pipe.\n\n```r\nlibrary(dplyr)\nresult <- df |>\n filter(x > 0) |>\n mutate(y = x * 2) |>\n summarise(mean_y = mean(y))\n```" },
1850
+ "insertText": "${1:result} <- ${2:df} |>\n filter(${3:condition}) |>\n mutate(${4:new_col} = ${5:expr}) |>\n summarise(${6:agg} = ${7:mean}(${8:col}))",
1851
+ "insertTextRules": 4,
1852
+ "sortText": "05_pipe_data"
1853
+ },
1854
+ {
1855
+ "label": "shiny_app",
1856
+ "kind": 27,
1857
+ "detail": "Snippet: Shiny app skeleton",
1858
+ "documentation": { "value": "Basic Shiny application template.\n\n```r\nlibrary(shiny)\nui <- fluidPage(\n titlePanel(\"My App\"),\n sidebarLayout(\n sidebarPanel(sliderInput(\"n\", \"N:\", 1, 100, 50)),\n mainPanel(plotOutput(\"plot\"))\n )\n)\nserver <- function(input, output) {\n output$plot <- renderPlot({ hist(rnorm(input$n)) })\n}\nshinyApp(ui, server)\n```" },
1859
+ "insertText": "library(shiny)\n\nui <- fluidPage(\n titlePanel(\"${1:My App}\"),\n sidebarLayout(\n sidebarPanel(\n ${2:sliderInput(\"n\", \"N:\", 1, 100, 50)}\n ),\n mainPanel(\n ${3:plotOutput(\"plot\")}\n )\n )\n)\n\nserver <- function(input, output) {\n output\\$${4:plot} <- renderPlot({\n ${5:hist(rnorm(input\\$n))}\n })\n}\n\nshinyApp(ui, server)",
1860
+ "insertTextRules": 4,
1861
+ "sortText": "05_shiny_app"
1862
+ },
1863
+ {
1864
+ "label": "r6_class_snippet",
1865
+ "kind": 27,
1866
+ "detail": "Snippet: R6 class definition",
1867
+ "documentation": { "value": "R6 class template.\n\n```r\nlibrary(R6)\nMyClass <- R6Class(\"MyClass\",\n public = list(\n initialize = function(...) { },\n method = function() { }\n )\n)\n```" },
1868
+ "insertText": "library(R6)\n${1:MyClass} <- R6Class(\"${1:MyClass}\",\n public = list(\n ${2:field} = NULL,\n initialize = function(${3:}) {\n self\\$${2:field} <- ${3:}\n },\n ${4:method} = function() {\n ${5}\n }\n )\n)",
1869
+ "insertTextRules": 4,
1870
+ "sortText": "05_r6_class_snippet"
1871
+ },
1872
+ {
1873
+ "label": "integer",
1874
+ "kind": 7,
1875
+ "detail": "Type: integer",
1876
+ "documentation": { "value": "Integer type. Created with `L` suffix or `as.integer()`.\n\n```r\nx <- 42L\ntypeof(x) # \"integer\"\n```" },
1877
+ "insertText": "integer",
1878
+ "sortText": "06_integer"
1879
+ },
1880
+ {
1881
+ "label": "double",
1882
+ "kind": 7,
1883
+ "detail": "Type: double",
1884
+ "documentation": { "value": "Double-precision floating point number.\n\n```r\nx <- 3.14\ntypeof(x) # \"double\"\n```" },
1885
+ "insertText": "double",
1886
+ "sortText": "06_double"
1887
+ },
1888
+ {
1889
+ "label": "character",
1890
+ "kind": 7,
1891
+ "detail": "Type: character",
1892
+ "documentation": { "value": "Character (string) type.\n\n```r\nx <- \"hello\"\ntypeof(x) # \"character\"\n```" },
1893
+ "insertText": "character",
1894
+ "sortText": "06_character"
1895
+ },
1896
+ {
1897
+ "label": "logical",
1898
+ "kind": 7,
1899
+ "detail": "Type: logical",
1900
+ "documentation": { "value": "Logical type (TRUE/FALSE/NA).\n\n```r\nx <- TRUE\ntypeof(x) # \"logical\"\n```" },
1901
+ "insertText": "logical",
1902
+ "sortText": "06_logical"
1903
+ },
1904
+ {
1905
+ "label": "complex",
1906
+ "kind": 7,
1907
+ "detail": "Type: complex",
1908
+ "documentation": { "value": "Complex number type.\n\n```r\nx <- 1 + 2i\ntypeof(x) # \"complex\"\n```" },
1909
+ "insertText": "complex",
1910
+ "sortText": "06_complex"
1911
+ },
1912
+ {
1913
+ "label": "raw",
1914
+ "kind": 7,
1915
+ "detail": "Type: raw",
1916
+ "documentation": { "value": "Raw byte type.\n\n```r\nx <- charToRaw(\"A\")\ntypeof(x) # \"raw\"\n```" },
1917
+ "insertText": "raw",
1918
+ "sortText": "06_raw"
1919
+ },
1920
+ {
1921
+ "label": "data.frame_type",
1922
+ "kind": 7,
1923
+ "detail": "Type: data.frame",
1924
+ "documentation": { "value": "Data frame — tabular data structure with named columns.\n\n```r\ndf <- data.frame(x = 1:3, y = c(\"a\", \"b\", \"c\"))\nclass(df) # \"data.frame\"\n```" },
1925
+ "insertText": "data.frame",
1926
+ "sortText": "06_data.frame"
1927
+ },
1928
+ {
1929
+ "label": "matrix_type",
1930
+ "kind": 7,
1931
+ "detail": "Type: matrix",
1932
+ "documentation": { "value": "Matrix — 2D array of same-type elements.\n\n```r\nm <- matrix(1:6, nrow = 2)\nclass(m) # \"matrix\" \"array\"\n```" },
1933
+ "insertText": "matrix",
1934
+ "sortText": "06_matrix"
1935
+ },
1936
+ {
1937
+ "label": "factor_type",
1938
+ "kind": 7,
1939
+ "detail": "Type: factor",
1940
+ "documentation": { "value": "Factor — categorical variable with fixed levels.\n\n```r\nf <- factor(c(\"low\", \"med\", \"high\"))\nclass(f) # \"factor\"\n```" },
1941
+ "insertText": "factor",
1942
+ "sortText": "06_factor"
1943
+ },
1944
+ {
1945
+ "label": "environment_type",
1946
+ "kind": 7,
1947
+ "detail": "Type: environment",
1948
+ "documentation": { "value": "Environment — frame for variable bindings.\n\n```r\ne <- new.env()\nis.environment(e) # TRUE\n```" },
1949
+ "insertText": "environment",
1950
+ "sortText": "06_environment"
1951
+ },
1952
+ {
1953
+ "label": "formula",
1954
+ "kind": 7,
1955
+ "detail": "Type: formula",
1956
+ "documentation": { "value": "Formula — symbolic model specification.\n\n```r\nf <- y ~ x1 + x2\nclass(f) # \"formula\"\n```" },
1957
+ "insertText": "formula",
1958
+ "sortText": "06_formula"
1959
+ },
1960
+ {
1961
+ "label": "expression",
1962
+ "kind": 7,
1963
+ "detail": "Type: expression",
1964
+ "documentation": { "value": "Expression — unevaluated R expressions.\n\n```r\ne <- expression(1 + 2)\neval(e) # 3\n```" },
1965
+ "insertText": "expression",
1966
+ "sortText": "06_expression"
1967
+ },
1968
+ {
1969
+ "label": "call_type",
1970
+ "kind": 7,
1971
+ "detail": "Type: call",
1972
+ "documentation": { "value": "Call — an unevaluated function call.\n\n```r\ncl <- quote(mean(x))\nclass(cl) # \"call\"\n```" },
1973
+ "insertText": "call",
1974
+ "sortText": "06_call"
1975
+ },
1976
+ {
1977
+ "label": "symbol_type",
1978
+ "kind": 7,
1979
+ "detail": "Type: symbol/name",
1980
+ "documentation": { "value": "Symbol — a variable name.\n\n```r\ns <- as.name(\"x\")\nclass(s) # \"name\"\n```" },
1981
+ "insertText": "symbol",
1982
+ "sortText": "06_symbol"
1983
+ }
1984
+ ]
1985
+ }