@enjoys/context-engine 1.4.2 → 1.5.1

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 (1747) hide show
  1. package/data/codeActions/azcli.json +47 -26
  2. package/data/codeActions/bicep.json +47 -26
  3. package/data/codeActions/cameligo.json +47 -26
  4. package/data/codeActions/clojure.json +47 -26
  5. package/data/codeActions/coffee.json +40 -26
  6. package/data/codeActions/crontab.json +21 -0
  7. package/data/codeActions/css.json +119 -111
  8. package/data/codeActions/cypher.json +47 -26
  9. package/data/codeActions/dart.json +190 -31
  10. package/data/codeActions/doctest.json +47 -26
  11. package/data/codeActions/dotenv.json +23 -1
  12. package/data/codeActions/ecl.json +47 -26
  13. package/data/codeActions/elixir.json +47 -26
  14. package/data/codeActions/flow9.json +47 -26
  15. package/data/codeActions/freemarker2.json +47 -26
  16. package/data/codeActions/html.json +21 -0
  17. package/data/codeActions/ini.json +23 -1
  18. package/data/codeActions/json.json +23 -1
  19. package/data/codeActions/julia.json +47 -26
  20. package/data/codeActions/less.json +40 -26
  21. package/data/codeActions/lexon.json +47 -26
  22. package/data/codeActions/liquid.json +47 -26
  23. package/data/codeActions/m3.json +47 -26
  24. package/data/codeActions/markdown.json +21 -0
  25. package/data/codeActions/mdx.json +47 -26
  26. package/data/codeActions/mips.json +47 -26
  27. package/data/codeActions/msdax.json +47 -26
  28. package/data/codeActions/mysql.json +47 -26
  29. package/data/codeActions/nestjs.json +124 -124
  30. package/data/codeActions/objective-c.json +47 -26
  31. package/data/codeActions/pascal.json +47 -26
  32. package/data/codeActions/pascaligo.json +47 -26
  33. package/data/codeActions/pgsql.json +47 -26
  34. package/data/codeActions/pla.json +47 -26
  35. package/data/codeActions/postiats.json +47 -26
  36. package/data/codeActions/powerquery.json +47 -26
  37. package/data/codeActions/qsharp.json +47 -26
  38. package/data/codeActions/r.json +69 -71
  39. package/data/codeActions/razor.json +47 -26
  40. package/data/codeActions/redis-cli.json +21 -0
  41. package/data/codeActions/redis.json +47 -26
  42. package/data/codeActions/redshift.json +47 -26
  43. package/data/codeActions/restructuredtext.json +47 -26
  44. package/data/codeActions/sb.json +48 -26
  45. package/data/codeActions/scala.json +154 -26
  46. package/data/codeActions/scheme.json +48 -26
  47. package/data/codeActions/scss.json +40 -26
  48. package/data/codeActions/shadcn.json +112 -112
  49. package/data/codeActions/shell.json +2 -2
  50. package/data/codeActions/sol.json +47 -26
  51. package/data/codeActions/sparql.json +47 -26
  52. package/data/codeActions/st.json +47 -26
  53. package/data/codeActions/systemd.json +21 -0
  54. package/data/codeActions/systemverilog.json +47 -26
  55. package/data/codeActions/tailwindcss.json +83 -76
  56. package/data/codeActions/tcl.json +47 -26
  57. package/data/codeActions/toml.json +23 -1
  58. package/data/codeActions/twig.json +47 -26
  59. package/data/codeActions/vb.json +47 -26
  60. package/data/codeActions/wgsl.json +47 -26
  61. package/data/codeActions/xml.json +21 -0
  62. package/data/codeActions/yaml.json +23 -1
  63. package/data/codeLens/abap.json +40 -7
  64. package/data/codeLens/angular.json +141 -22
  65. package/data/codeLens/apex.json +40 -7
  66. package/data/codeLens/awk.json +28 -1
  67. package/data/codeLens/azcli.json +30 -2
  68. package/data/codeLens/bicep.json +40 -17
  69. package/data/codeLens/c.json +27 -1
  70. package/data/codeLens/caddy.json +28 -1
  71. package/data/codeLens/cameligo.json +40 -17
  72. package/data/codeLens/clojure.json +40 -17
  73. package/data/codeLens/coffee.json +40 -17
  74. package/data/codeLens/cpp.json +14 -0
  75. package/data/codeLens/crontab.json +28 -1
  76. package/data/codeLens/csharp.json +7 -0
  77. package/data/codeLens/cypher.json +40 -26
  78. package/data/codeLens/docker-compose.json +40 -26
  79. package/data/codeLens/dockerfile.json +40 -26
  80. package/data/codeLens/doctest.json +30 -2
  81. package/data/codeLens/dotenv.json +40 -26
  82. package/data/codeLens/ecl.json +40 -17
  83. package/data/codeLens/elixir.json +40 -17
  84. package/data/codeLens/flow9.json +40 -17
  85. package/data/codeLens/freemarker2.json +40 -17
  86. package/data/codeLens/go.json +14 -0
  87. package/data/codeLens/graphql.json +7 -0
  88. package/data/codeLens/hcl.json +27 -1
  89. package/data/codeLens/html.json +27 -1
  90. package/data/codeLens/ini.json +40 -26
  91. package/data/codeLens/java.json +7 -0
  92. package/data/codeLens/json.json +40 -26
  93. package/data/codeLens/julia.json +40 -17
  94. package/data/codeLens/less.json +40 -17
  95. package/data/codeLens/lexon.json +40 -17
  96. package/data/codeLens/liquid.json +40 -17
  97. package/data/codeLens/lua.json +27 -1
  98. package/data/codeLens/m3.json +40 -17
  99. package/data/codeLens/makefile.json +21 -0
  100. package/data/codeLens/markdown.json +40 -26
  101. package/data/codeLens/mdx.json +40 -17
  102. package/data/codeLens/mips.json +40 -17
  103. package/data/codeLens/msdax.json +40 -17
  104. package/data/codeLens/mysql.json +40 -17
  105. package/data/codeLens/nginx.json +27 -1
  106. package/data/codeLens/objective-c.json +40 -17
  107. package/data/codeLens/pascal.json +40 -17
  108. package/data/codeLens/pascaligo.json +40 -17
  109. package/data/codeLens/perl.json +21 -0
  110. package/data/codeLens/pgsql.json +40 -17
  111. package/data/codeLens/pla.json +30 -2
  112. package/data/codeLens/postiats.json +40 -17
  113. package/data/codeLens/powerquery.json +40 -17
  114. package/data/codeLens/powershell.json +14 -0
  115. package/data/codeLens/protobuf.json +14 -0
  116. package/data/codeLens/python.json +14 -0
  117. package/data/codeLens/qsharp.json +40 -17
  118. package/data/codeLens/r.json +40 -33
  119. package/data/codeLens/razor.json +40 -17
  120. package/data/codeLens/redis-cli.json +40 -26
  121. package/data/codeLens/redis.json +40 -26
  122. package/data/codeLens/redshift.json +40 -17
  123. package/data/codeLens/restructuredtext.json +40 -17
  124. package/data/codeLens/ruby.json +14 -0
  125. package/data/codeLens/sb.json +40 -17
  126. package/data/codeLens/scheme.json +40 -17
  127. package/data/codeLens/scss.json +40 -17
  128. package/data/codeLens/shadcn.json +117 -89
  129. package/data/codeLens/shell.json +4 -2
  130. package/data/codeLens/sol.json +40 -17
  131. package/data/codeLens/sparql.json +40 -17
  132. package/data/codeLens/sql.json +7 -0
  133. package/data/codeLens/ssh_config.json +40 -26
  134. package/data/codeLens/st.json +40 -17
  135. package/data/codeLens/systemd.json +40 -26
  136. package/data/codeLens/systemverilog.json +40 -17
  137. package/data/codeLens/tcl.json +40 -17
  138. package/data/codeLens/toml.json +40 -26
  139. package/data/codeLens/twig.json +40 -17
  140. package/data/codeLens/vb.json +40 -17
  141. package/data/codeLens/wgsl.json +40 -17
  142. package/data/codeLens/xml.json +27 -1
  143. package/data/codeLens/yaml.json +40 -26
  144. package/data/color/abap.json +40 -20
  145. package/data/color/angular.json +67 -21
  146. package/data/color/apex.json +40 -20
  147. package/data/color/azcli.json +40 -20
  148. package/data/color/bicep.json +40 -20
  149. package/data/color/c.json +40 -30
  150. package/data/color/caddy.json +44 -24
  151. package/data/color/cameligo.json +39 -19
  152. package/data/color/clojure.json +39 -19
  153. package/data/color/coffee.json +39 -19
  154. package/data/color/cpp.json +40 -30
  155. package/data/color/crontab.json +44 -24
  156. package/data/color/css.json +140 -124
  157. package/data/color/cypher.json +39 -19
  158. package/data/color/docker-compose.json +44 -24
  159. package/data/color/dockerfile.json +44 -24
  160. package/data/color/doctest.json +40 -20
  161. package/data/color/dotenv.json +44 -24
  162. package/data/color/ecl.json +40 -20
  163. package/data/color/flow9.json +39 -19
  164. package/data/color/go.json +40 -30
  165. package/data/color/graphql.json +44 -24
  166. package/data/color/hcl.json +44 -24
  167. package/data/color/ini.json +44 -24
  168. package/data/color/json.json +44 -24
  169. package/data/color/less.json +39 -19
  170. package/data/color/lexon.json +40 -20
  171. package/data/color/lua.json +40 -30
  172. package/data/color/m3.json +39 -19
  173. package/data/color/makefile.json +44 -24
  174. package/data/color/mips.json +40 -20
  175. package/data/color/msdax.json +39 -19
  176. package/data/color/mysql.json +39 -19
  177. package/data/color/nginx.json +44 -24
  178. package/data/color/objective-c.json +40 -30
  179. package/data/color/pascal.json +39 -19
  180. package/data/color/pascaligo.json +39 -19
  181. package/data/color/perl.json +40 -30
  182. package/data/color/pgsql.json +39 -19
  183. package/data/color/pla.json +40 -20
  184. package/data/color/postiats.json +39 -19
  185. package/data/color/powerquery.json +40 -20
  186. package/data/color/protobuf.json +44 -24
  187. package/data/color/qsharp.json +40 -20
  188. package/data/color/redis-cli.json +40 -20
  189. package/data/color/redis.json +40 -20
  190. package/data/color/redshift.json +39 -19
  191. package/data/color/restructuredtext.json +40 -20
  192. package/data/color/rust.json +40 -30
  193. package/data/color/sb.json +40 -20
  194. package/data/color/scala.json +44 -13
  195. package/data/color/scheme.json +39 -19
  196. package/data/color/scss.json +39 -19
  197. package/data/color/shadcn.json +80 -66
  198. package/data/color/sol.json +40 -20
  199. package/data/color/sparql.json +39 -19
  200. package/data/color/sql.json +39 -19
  201. package/data/color/ssh_config.json +44 -24
  202. package/data/color/st.json +40 -20
  203. package/data/color/systemd.json +44 -24
  204. package/data/color/systemverilog.json +40 -20
  205. package/data/color/tailwindcss.json +87 -53
  206. package/data/color/toml.json +44 -24
  207. package/data/color/wgsl.json +40 -20
  208. package/data/color/yaml.json +44 -24
  209. package/data/commands/abap.json +201 -41
  210. package/data/commands/angular.json +24 -2
  211. package/data/commands/apex.json +211 -15
  212. package/data/commands/awk.json +160 -26
  213. package/data/commands/azcli.json +164 -59
  214. package/data/commands/bicep.json +161 -47
  215. package/data/commands/c.json +153 -35
  216. package/data/commands/caddy.json +390 -194
  217. package/data/commands/cameligo.json +157 -47
  218. package/data/commands/clojure.json +164 -41
  219. package/data/commands/coffee.json +160 -41
  220. package/data/commands/cpp.json +153 -35
  221. package/data/commands/crontab.json +156 -30
  222. package/data/commands/csharp.json +165 -47
  223. package/data/commands/css.json +160 -41
  224. package/data/commands/cypher.json +158 -31
  225. package/data/commands/dart.json +288 -216
  226. package/data/commands/docker-compose.json +451 -384
  227. package/data/commands/dockerfile.json +269 -90
  228. package/data/commands/doctest.json +158 -28
  229. package/data/commands/dotenv.json +165 -29
  230. package/data/commands/ecl.json +178 -31
  231. package/data/commands/elixir.json +169 -71
  232. package/data/commands/flow9.json +161 -29
  233. package/data/commands/freemarker2.json +163 -29
  234. package/data/commands/go.json +437 -161
  235. package/data/commands/graphql.json +177 -30
  236. package/data/commands/hcl.json +167 -53
  237. package/data/commands/html.json +179 -30
  238. package/data/commands/ini.json +174 -30
  239. package/data/commands/java.json +153 -31
  240. package/data/commands/javascript.json +167 -34
  241. package/data/commands/json.json +161 -41
  242. package/data/commands/julia.json +161 -41
  243. package/data/commands/kotlin.json +174 -45
  244. package/data/commands/less.json +166 -31
  245. package/data/commands/lexon.json +166 -28
  246. package/data/commands/linux.json +10256 -3812
  247. package/data/commands/liquid.json +181 -31
  248. package/data/commands/lua.json +190 -66
  249. package/data/commands/m3.json +156 -30
  250. package/data/commands/makefile.json +165 -41
  251. package/data/commands/manifest.json +1 -0
  252. package/data/commands/markdown.json +183 -30
  253. package/data/commands/mdx.json +170 -29
  254. package/data/commands/mips.json +155 -31
  255. package/data/commands/msdax.json +175 -28
  256. package/data/commands/mysql.json +225 -81
  257. package/data/commands/nestjs.json +24 -2
  258. package/data/commands/nextjs.json +72 -2
  259. package/data/commands/nginx.json +265 -146
  260. package/data/commands/objective-c.json +162 -31
  261. package/data/commands/pascal.json +162 -32
  262. package/data/commands/pascaligo.json +171 -31
  263. package/data/commands/perl.json +167 -35
  264. package/data/commands/pgsql.json +161 -41
  265. package/data/commands/php.json +187 -157
  266. package/data/commands/pla.json +171 -28
  267. package/data/commands/postiats.json +161 -31
  268. package/data/commands/powerquery.json +173 -28
  269. package/data/commands/powershell.json +159 -33
  270. package/data/commands/protobuf.json +171 -32
  271. package/data/commands/python.json +150 -30
  272. package/data/commands/qsharp.json +170 -31
  273. package/data/commands/r.json +241 -100
  274. package/data/commands/razor.json +170 -31
  275. package/data/commands/react.json +48 -2
  276. package/data/commands/redis-cli.json +257 -148
  277. package/data/commands/redis.json +161 -47
  278. package/data/commands/redshift.json +162 -32
  279. package/data/commands/restructuredtext.json +172 -34
  280. package/data/commands/ruby.json +165 -108
  281. package/data/commands/rust.json +378 -35
  282. package/data/commands/sb.json +162 -28
  283. package/data/commands/scala.json +429 -171
  284. package/data/commands/scheme.json +161 -30
  285. package/data/commands/scss.json +164 -32
  286. package/data/commands/shadcn.json +20 -2
  287. package/data/commands/shell.json +239 -239
  288. package/data/commands/sol.json +164 -32
  289. package/data/commands/sparql.json +181 -30
  290. package/data/commands/sql.json +213 -48
  291. package/data/commands/ssh_config.json +168 -36
  292. package/data/commands/st.json +175 -28
  293. package/data/commands/swift.json +198 -67
  294. package/data/commands/systemd.json +163 -53
  295. package/data/commands/systemverilog.json +165 -31
  296. package/data/commands/tailwindcss.json +101 -2
  297. package/data/commands/tcl.json +158 -28
  298. package/data/commands/toml.json +178 -30
  299. package/data/commands/twig.json +169 -29
  300. package/data/commands/typescript.json +164 -41
  301. package/data/commands/vb.json +163 -32
  302. package/data/commands/wgsl.json +169 -29
  303. package/data/commands/xml.json +161 -41
  304. package/data/commands/yaml.json +170 -34
  305. package/data/completion/redis-cli.json +3465 -3405
  306. package/data/declaration/abap.json +66 -11
  307. package/data/declaration/angular.json +271 -46
  308. package/data/declaration/apex.json +60 -10
  309. package/data/declaration/awk.json +30 -0
  310. package/data/declaration/azcli.json +72 -42
  311. package/data/declaration/bicep.json +66 -36
  312. package/data/declaration/c.json +30 -0
  313. package/data/declaration/caddy.json +30 -0
  314. package/data/declaration/cameligo.json +54 -24
  315. package/data/declaration/clojure.json +66 -36
  316. package/data/declaration/coffee.json +54 -24
  317. package/data/declaration/cpp.json +30 -0
  318. package/data/declaration/crontab.json +66 -36
  319. package/data/declaration/csharp.json +30 -0
  320. package/data/declaration/css.json +91 -59
  321. package/data/declaration/cypher.json +66 -36
  322. package/data/declaration/dart.json +150 -25
  323. package/data/declaration/docker-compose.json +72 -42
  324. package/data/declaration/dockerfile.json +30 -0
  325. package/data/declaration/doctest.json +66 -36
  326. package/data/declaration/dotenv.json +72 -42
  327. package/data/declaration/ecl.json +54 -24
  328. package/data/declaration/elixir.json +66 -36
  329. package/data/declaration/flow9.json +72 -42
  330. package/data/declaration/freemarker2.json +54 -24
  331. package/data/declaration/go.json +30 -0
  332. package/data/declaration/graphql.json +30 -0
  333. package/data/declaration/hcl.json +30 -0
  334. package/data/declaration/html.json +90 -60
  335. package/data/declaration/ini.json +66 -36
  336. package/data/declaration/java.json +30 -0
  337. package/data/declaration/javascript.json +30 -0
  338. package/data/declaration/json.json +60 -30
  339. package/data/declaration/julia.json +66 -36
  340. package/data/declaration/kotlin.json +84 -14
  341. package/data/declaration/less.json +54 -24
  342. package/data/declaration/lexon.json +72 -42
  343. package/data/declaration/liquid.json +54 -24
  344. package/data/declaration/lua.json +30 -0
  345. package/data/declaration/m3.json +60 -30
  346. package/data/declaration/makefile.json +30 -0
  347. package/data/declaration/markdown.json +72 -42
  348. package/data/declaration/mdx.json +54 -24
  349. package/data/declaration/mips.json +72 -42
  350. package/data/declaration/msdax.json +72 -42
  351. package/data/declaration/mysql.json +60 -30
  352. package/data/declaration/nestjs.json +302 -47
  353. package/data/declaration/nextjs.json +304 -274
  354. package/data/declaration/nginx.json +30 -0
  355. package/data/declaration/objective-c.json +66 -36
  356. package/data/declaration/pascal.json +66 -36
  357. package/data/declaration/pascaligo.json +54 -24
  358. package/data/declaration/perl.json +30 -0
  359. package/data/declaration/pgsql.json +66 -36
  360. package/data/declaration/php.json +30 -0
  361. package/data/declaration/pla.json +78 -48
  362. package/data/declaration/postiats.json +60 -30
  363. package/data/declaration/powerquery.json +78 -48
  364. package/data/declaration/powershell.json +30 -0
  365. package/data/declaration/protobuf.json +30 -0
  366. package/data/declaration/python.json +30 -0
  367. package/data/declaration/qsharp.json +60 -30
  368. package/data/declaration/r.json +655 -625
  369. package/data/declaration/razor.json +54 -24
  370. package/data/declaration/react.json +229 -199
  371. package/data/declaration/redis-cli.json +247 -217
  372. package/data/declaration/redis.json +66 -36
  373. package/data/declaration/redshift.json +78 -48
  374. package/data/declaration/restructuredtext.json +84 -54
  375. package/data/declaration/ruby.json +30 -0
  376. package/data/declaration/rust.json +30 -0
  377. package/data/declaration/sb.json +72 -42
  378. package/data/declaration/scala.json +138 -23
  379. package/data/declaration/scheme.json +54 -24
  380. package/data/declaration/scss.json +66 -36
  381. package/data/declaration/shadcn.json +241 -211
  382. package/data/declaration/shell.json +30 -0
  383. package/data/declaration/sol.json +66 -36
  384. package/data/declaration/sparql.json +78 -48
  385. package/data/declaration/sql.json +30 -0
  386. package/data/declaration/ssh_config.json +78 -48
  387. package/data/declaration/st.json +60 -30
  388. package/data/declaration/swift.json +108 -18
  389. package/data/declaration/systemd.json +84 -54
  390. package/data/declaration/systemverilog.json +66 -36
  391. package/data/declaration/tailwindcss.json +169 -137
  392. package/data/declaration/tcl.json +54 -24
  393. package/data/declaration/toml.json +30 -0
  394. package/data/declaration/twig.json +54 -24
  395. package/data/declaration/typescript.json +30 -0
  396. package/data/declaration/vb.json +66 -36
  397. package/data/declaration/wgsl.json +60 -30
  398. package/data/declaration/xml.json +30 -0
  399. package/data/declaration/yaml.json +30 -0
  400. package/data/definition/apex.json +41 -1
  401. package/data/definition/azcli.json +45 -0
  402. package/data/definition/bicep.json +45 -0
  403. package/data/definition/cameligo.json +45 -0
  404. package/data/definition/clojure.json +45 -0
  405. package/data/definition/coffee.json +31 -1
  406. package/data/definition/crontab.json +132 -107
  407. package/data/definition/csharp.json +616 -144
  408. package/data/definition/cypher.json +45 -0
  409. package/data/definition/dart.json +36 -1
  410. package/data/definition/doctest.json +45 -0
  411. package/data/definition/dotenv.json +116 -71
  412. package/data/definition/ecl.json +45 -0
  413. package/data/definition/elixir.json +41 -1
  414. package/data/definition/graphql.json +134 -119
  415. package/data/definition/ini.json +122 -77
  416. package/data/definition/java.json +31 -1
  417. package/data/definition/javascript.json +941 -265
  418. package/data/definition/json.json +123 -83
  419. package/data/definition/julia.json +35 -0
  420. package/data/definition/kotlin.json +41 -1
  421. package/data/definition/less.json +45 -0
  422. package/data/definition/lexon.json +45 -0
  423. package/data/definition/m3.json +45 -0
  424. package/data/definition/makefile.json +133 -113
  425. package/data/definition/markdown.json +132 -107
  426. package/data/definition/mdx.json +45 -0
  427. package/data/definition/objective-c.json +45 -0
  428. package/data/definition/pascal.json +30 -0
  429. package/data/definition/pascaligo.json +45 -0
  430. package/data/definition/perl.json +131 -101
  431. package/data/definition/pgsql.json +15 -0
  432. package/data/definition/pla.json +45 -0
  433. package/data/definition/postiats.json +40 -0
  434. package/data/definition/powerquery.json +30 -0
  435. package/data/definition/powershell.json +134 -119
  436. package/data/definition/protobuf.json +134 -119
  437. package/data/definition/qsharp.json +35 -0
  438. package/data/definition/razor.json +30 -0
  439. package/data/definition/redshift.json +35 -0
  440. package/data/definition/restructuredtext.json +45 -0
  441. package/data/definition/ruby.json +36 -1
  442. package/data/definition/rust.json +41 -1
  443. package/data/definition/sb.json +41 -1
  444. package/data/definition/scheme.json +25 -0
  445. package/data/definition/scss.json +35 -0
  446. package/data/definition/sol.json +45 -0
  447. package/data/definition/sparql.json +45 -0
  448. package/data/definition/ssh_config.json +129 -89
  449. package/data/definition/systemverilog.json +40 -0
  450. package/data/definition/tcl.json +45 -0
  451. package/data/definition/twig.json +133 -113
  452. package/data/definition/vb.json +133 -113
  453. package/data/definition/wgsl.json +133 -113
  454. package/data/definition/xml.json +128 -83
  455. package/data/documentHighlight/css.json +227 -125
  456. package/data/documentHighlight/nextjs.json +270 -212
  457. package/data/documentHighlight/r.json +207 -45
  458. package/data/documentHighlight/scala.json +380 -79
  459. package/data/documentHighlight/tailwindcss.json +252 -160
  460. package/data/documentRangeFormatting/abap.json +62 -35
  461. package/data/documentRangeFormatting/angular.json +81 -45
  462. package/data/documentRangeFormatting/apex.json +75 -41
  463. package/data/documentRangeFormatting/awk.json +62 -35
  464. package/data/documentRangeFormatting/azcli.json +61 -29
  465. package/data/documentRangeFormatting/bicep.json +67 -35
  466. package/data/documentRangeFormatting/c.json +75 -41
  467. package/data/documentRangeFormatting/caddy.json +59 -29
  468. package/data/documentRangeFormatting/cameligo.json +65 -35
  469. package/data/documentRangeFormatting/clojure.json +67 -35
  470. package/data/documentRangeFormatting/coffee.json +67 -35
  471. package/data/documentRangeFormatting/cpp.json +83 -47
  472. package/data/documentRangeFormatting/crontab.json +61 -29
  473. package/data/documentRangeFormatting/csharp.json +81 -47
  474. package/data/documentRangeFormatting/css.json +133 -101
  475. package/data/documentRangeFormatting/cypher.json +67 -35
  476. package/data/documentRangeFormatting/dart.json +75 -41
  477. package/data/documentRangeFormatting/docker-compose.json +67 -35
  478. package/data/documentRangeFormatting/dockerfile.json +69 -35
  479. package/data/documentRangeFormatting/doctest.json +59 -29
  480. package/data/documentRangeFormatting/dotenv.json +63 -29
  481. package/data/documentRangeFormatting/ecl.json +67 -35
  482. package/data/documentRangeFormatting/elixir.json +73 -41
  483. package/data/documentRangeFormatting/flow9.json +60 -35
  484. package/data/documentRangeFormatting/freemarker2.json +65 -35
  485. package/data/documentRangeFormatting/go.json +75 -41
  486. package/data/documentRangeFormatting/graphql.json +65 -35
  487. package/data/documentRangeFormatting/hcl.json +73 -41
  488. package/data/documentRangeFormatting/html.json +75 -41
  489. package/data/documentRangeFormatting/ini.json +61 -29
  490. package/data/documentRangeFormatting/java.json +83 -47
  491. package/data/documentRangeFormatting/javascript.json +83 -47
  492. package/data/documentRangeFormatting/json.json +67 -35
  493. package/data/documentRangeFormatting/julia.json +70 -41
  494. package/data/documentRangeFormatting/kotlin.json +83 -47
  495. package/data/documentRangeFormatting/less.json +67 -35
  496. package/data/documentRangeFormatting/lexon.json +59 -29
  497. package/data/documentRangeFormatting/liquid.json +65 -35
  498. package/data/documentRangeFormatting/lua.json +62 -35
  499. package/data/documentRangeFormatting/m3.json +67 -35
  500. package/data/documentRangeFormatting/makefile.json +69 -35
  501. package/data/documentRangeFormatting/markdown.json +67 -35
  502. package/data/documentRangeFormatting/mdx.json +67 -35
  503. package/data/documentRangeFormatting/mips.json +67 -35
  504. package/data/documentRangeFormatting/msdax.json +62 -35
  505. package/data/documentRangeFormatting/mysql.json +75 -41
  506. package/data/documentRangeFormatting/nestjs.json +26 -1
  507. package/data/documentRangeFormatting/nextjs.json +26 -1
  508. package/data/documentRangeFormatting/nginx.json +67 -35
  509. package/data/documentRangeFormatting/objective-c.json +75 -41
  510. package/data/documentRangeFormatting/pascal.json +67 -35
  511. package/data/documentRangeFormatting/pascaligo.json +67 -35
  512. package/data/documentRangeFormatting/perl.json +75 -41
  513. package/data/documentRangeFormatting/pgsql.json +90 -47
  514. package/data/documentRangeFormatting/php.json +96 -53
  515. package/data/documentRangeFormatting/pla.json +71 -35
  516. package/data/documentRangeFormatting/postiats.json +79 -41
  517. package/data/documentRangeFormatting/powerquery.json +87 -47
  518. package/data/documentRangeFormatting/powershell.json +95 -53
  519. package/data/documentRangeFormatting/protobuf.json +97 -53
  520. package/data/documentRangeFormatting/python.json +95 -53
  521. package/data/documentRangeFormatting/qsharp.json +87 -47
  522. package/data/documentRangeFormatting/r.json +87 -47
  523. package/data/documentRangeFormatting/razor.json +85 -47
  524. package/data/documentRangeFormatting/react.json +26 -1
  525. package/data/documentRangeFormatting/redis-cli.json +71 -35
  526. package/data/documentRangeFormatting/redis.json +71 -35
  527. package/data/documentRangeFormatting/redshift.json +90 -47
  528. package/data/documentRangeFormatting/restructuredtext.json +80 -41
  529. package/data/documentRangeFormatting/ruby.json +96 -53
  530. package/data/documentRangeFormatting/rust.json +103 -59
  531. package/data/documentRangeFormatting/sb.json +81 -41
  532. package/data/documentRangeFormatting/scala.json +103 -59
  533. package/data/documentRangeFormatting/scheme.json +87 -47
  534. package/data/documentRangeFormatting/scss.json +96 -53
  535. package/data/documentRangeFormatting/shadcn.json +81 -45
  536. package/data/documentRangeFormatting/shell.json +27 -1
  537. package/data/documentRangeFormatting/sol.json +95 -53
  538. package/data/documentRangeFormatting/sparql.json +89 -47
  539. package/data/documentRangeFormatting/sql.json +98 -53
  540. package/data/documentRangeFormatting/ssh_config.json +72 -35
  541. package/data/documentRangeFormatting/st.json +87 -47
  542. package/data/documentRangeFormatting/swift.json +104 -59
  543. package/data/documentRangeFormatting/systemd.json +72 -35
  544. package/data/documentRangeFormatting/systemverilog.json +106 -59
  545. package/data/documentRangeFormatting/tailwindcss.json +87 -55
  546. package/data/documentRangeFormatting/tcl.json +87 -47
  547. package/data/documentRangeFormatting/toml.json +79 -41
  548. package/data/documentRangeFormatting/twig.json +99 -53
  549. package/data/documentRangeFormatting/typescript.json +104 -59
  550. package/data/documentRangeFormatting/vb.json +109 -59
  551. package/data/documentRangeFormatting/wgsl.json +85 -47
  552. package/data/documentRangeFormatting/xml.json +89 -47
  553. package/data/documentRangeFormatting/yaml.json +89 -47
  554. package/data/documentSymbol/abap.json +22 -1
  555. package/data/documentSymbol/apex.json +36 -1
  556. package/data/documentSymbol/awk.json +50 -1
  557. package/data/documentSymbol/azcli.json +75 -12
  558. package/data/documentSymbol/bicep.json +36 -1
  559. package/data/documentSymbol/c.json +50 -1
  560. package/data/documentSymbol/caddy.json +57 -1
  561. package/data/documentSymbol/cameligo.json +75 -26
  562. package/data/documentSymbol/clojure.json +29 -1
  563. package/data/documentSymbol/coffee.json +75 -26
  564. package/data/documentSymbol/cpp.json +35 -0
  565. package/data/documentSymbol/crontab.json +63 -0
  566. package/data/documentSymbol/csharp.json +28 -0
  567. package/data/documentSymbol/css.json +14 -14
  568. package/data/documentSymbol/cypher.json +75 -47
  569. package/data/documentSymbol/dockerfile.json +50 -1
  570. package/data/documentSymbol/doctest.json +75 -12
  571. package/data/documentSymbol/dotenv.json +63 -0
  572. package/data/documentSymbol/ecl.json +75 -26
  573. package/data/documentSymbol/elixir.json +36 -1
  574. package/data/documentSymbol/flow9.json +75 -19
  575. package/data/documentSymbol/freemarker2.json +75 -26
  576. package/data/documentSymbol/go.json +43 -1
  577. package/data/documentSymbol/graphql.json +30 -2
  578. package/data/documentSymbol/hcl.json +43 -1
  579. package/data/documentSymbol/html.json +29 -1
  580. package/data/documentSymbol/ini.json +56 -0
  581. package/data/documentSymbol/java.json +36 -1
  582. package/data/documentSymbol/javascript.json +36 -1
  583. package/data/documentSymbol/json.json +63 -0
  584. package/data/documentSymbol/julia.json +29 -1
  585. package/data/documentSymbol/less.json +50 -1
  586. package/data/documentSymbol/lexon.json +75 -19
  587. package/data/documentSymbol/liquid.json +75 -26
  588. package/data/documentSymbol/lua.json +36 -1
  589. package/data/documentSymbol/m3.json +75 -33
  590. package/data/documentSymbol/makefile.json +43 -1
  591. package/data/documentSymbol/markdown.json +22 -1
  592. package/data/documentSymbol/mdx.json +75 -26
  593. package/data/documentSymbol/mips.json +75 -19
  594. package/data/documentSymbol/msdax.json +75 -19
  595. package/data/documentSymbol/mysql.json +43 -1
  596. package/data/documentSymbol/nginx.json +50 -1
  597. package/data/documentSymbol/objective-c.json +75 -40
  598. package/data/documentSymbol/pascal.json +29 -1
  599. package/data/documentSymbol/pascaligo.json +75 -26
  600. package/data/documentSymbol/perl.json +50 -1
  601. package/data/documentSymbol/pgsql.json +36 -1
  602. package/data/documentSymbol/php.json +29 -1
  603. package/data/documentSymbol/pla.json +75 -12
  604. package/data/documentSymbol/postiats.json +75 -33
  605. package/data/documentSymbol/powerquery.json +75 -19
  606. package/data/documentSymbol/powershell.json +43 -1
  607. package/data/documentSymbol/protobuf.json +43 -1
  608. package/data/documentSymbol/python.json +50 -1
  609. package/data/documentSymbol/qsharp.json +75 -33
  610. package/data/documentSymbol/r.json +8 -1
  611. package/data/documentSymbol/razor.json +75 -26
  612. package/data/documentSymbol/redis-cli.json +75 -26
  613. package/data/documentSymbol/redis.json +75 -26
  614. package/data/documentSymbol/redshift.json +15 -1
  615. package/data/documentSymbol/restructuredtext.json +75 -19
  616. package/data/documentSymbol/ruby.json +43 -1
  617. package/data/documentSymbol/rust.json +8 -1
  618. package/data/documentSymbol/sb.json +75 -19
  619. package/data/documentSymbol/scheme.json +50 -1
  620. package/data/documentSymbol/scss.json +36 -1
  621. package/data/documentSymbol/sol.json +75 -68
  622. package/data/documentSymbol/sparql.json +75 -19
  623. package/data/documentSymbol/sql.json +36 -1
  624. package/data/documentSymbol/ssh_config.json +56 -0
  625. package/data/documentSymbol/st.json +75 -33
  626. package/data/documentSymbol/systemd.json +56 -0
  627. package/data/documentSymbol/systemverilog.json +75 -47
  628. package/data/documentSymbol/tcl.json +75 -26
  629. package/data/documentSymbol/toml.json +49 -0
  630. package/data/documentSymbol/twig.json +75 -26
  631. package/data/documentSymbol/typescript.json +15 -1
  632. package/data/documentSymbol/vb.json +22 -1
  633. package/data/documentSymbol/wgsl.json +75 -33
  634. package/data/documentSymbol/xml.json +56 -0
  635. package/data/documentSymbol/yaml.json +50 -1
  636. package/data/foldingRange/abap.json +106 -76
  637. package/data/foldingRange/angular.json +24 -0
  638. package/data/foldingRange/apex.json +94 -70
  639. package/data/foldingRange/awk.json +88 -64
  640. package/data/foldingRange/azcli.json +58 -34
  641. package/data/foldingRange/bicep.json +94 -70
  642. package/data/foldingRange/c.json +82 -58
  643. package/data/foldingRange/caddy.json +64 -40
  644. package/data/foldingRange/cameligo.json +82 -58
  645. package/data/foldingRange/clojure.json +100 -76
  646. package/data/foldingRange/coffee.json +105 -76
  647. package/data/foldingRange/cpp.json +100 -76
  648. package/data/foldingRange/crontab.json +52 -28
  649. package/data/foldingRange/csharp.json +100 -76
  650. package/data/foldingRange/css.json +90 -66
  651. package/data/foldingRange/cypher.json +76 -52
  652. package/data/foldingRange/dart.json +106 -82
  653. package/data/foldingRange/docker-compose.json +87 -58
  654. package/data/foldingRange/dockerfile.json +76 -52
  655. package/data/foldingRange/doctest.json +82 -58
  656. package/data/foldingRange/dotenv.json +52 -28
  657. package/data/foldingRange/ecl.json +112 -82
  658. package/data/foldingRange/elixir.json +147 -118
  659. package/data/foldingRange/flow9.json +40 -16
  660. package/data/foldingRange/freemarker2.json +64 -34
  661. package/data/foldingRange/go.json +70 -46
  662. package/data/foldingRange/graphql.json +64 -40
  663. package/data/foldingRange/hcl.json +76 -52
  664. package/data/foldingRange/html.json +64 -34
  665. package/data/foldingRange/ini.json +46 -22
  666. package/data/foldingRange/java.json +76 -52
  667. package/data/foldingRange/javascript.json +70 -46
  668. package/data/foldingRange/json.json +46 -22
  669. package/data/foldingRange/julia.json +76 -52
  670. package/data/foldingRange/kotlin.json +76 -52
  671. package/data/foldingRange/less.json +58 -34
  672. package/data/foldingRange/lexon.json +46 -22
  673. package/data/foldingRange/liquid.json +64 -34
  674. package/data/foldingRange/lua.json +82 -52
  675. package/data/foldingRange/m3.json +64 -34
  676. package/data/foldingRange/makefile.json +57 -28
  677. package/data/foldingRange/markdown.json +58 -34
  678. package/data/foldingRange/mdx.json +64 -34
  679. package/data/foldingRange/mips.json +58 -34
  680. package/data/foldingRange/msdax.json +52 -28
  681. package/data/foldingRange/mysql.json +58 -34
  682. package/data/foldingRange/nestjs.json +24 -0
  683. package/data/foldingRange/nextjs.json +24 -0
  684. package/data/foldingRange/nginx.json +70 -46
  685. package/data/foldingRange/objective-c.json +70 -46
  686. package/data/foldingRange/pascal.json +76 -46
  687. package/data/foldingRange/pascaligo.json +52 -28
  688. package/data/foldingRange/perl.json +76 -52
  689. package/data/foldingRange/pgsql.json +64 -40
  690. package/data/foldingRange/php.json +70 -46
  691. package/data/foldingRange/pla.json +52 -28
  692. package/data/foldingRange/postiats.json +58 -28
  693. package/data/foldingRange/powerquery.json +52 -28
  694. package/data/foldingRange/powershell.json +76 -52
  695. package/data/foldingRange/protobuf.json +64 -40
  696. package/data/foldingRange/python.json +93 -64
  697. package/data/foldingRange/qsharp.json +52 -28
  698. package/data/foldingRange/r.json +70 -46
  699. package/data/foldingRange/razor.json +70 -40
  700. package/data/foldingRange/react.json +24 -0
  701. package/data/foldingRange/redis-cli.json +46 -22
  702. package/data/foldingRange/redis.json +46 -22
  703. package/data/foldingRange/redshift.json +52 -28
  704. package/data/foldingRange/restructuredtext.json +51 -22
  705. package/data/foldingRange/ruby.json +87 -52
  706. package/data/foldingRange/rust.json +88 -64
  707. package/data/foldingRange/sb.json +64 -34
  708. package/data/foldingRange/scala.json +76 -52
  709. package/data/foldingRange/scheme.json +64 -40
  710. package/data/foldingRange/scss.json +64 -40
  711. package/data/foldingRange/shadcn.json +24 -0
  712. package/data/foldingRange/shell.json +24 -0
  713. package/data/foldingRange/sol.json +70 -46
  714. package/data/foldingRange/sparql.json +58 -34
  715. package/data/foldingRange/sql.json +58 -34
  716. package/data/foldingRange/ssh_config.json +46 -22
  717. package/data/foldingRange/st.json +70 -40
  718. package/data/foldingRange/swift.json +82 -58
  719. package/data/foldingRange/systemd.json +70 -46
  720. package/data/foldingRange/systemverilog.json +64 -40
  721. package/data/foldingRange/tailwindcss.json +78 -60
  722. package/data/foldingRange/tcl.json +76 -46
  723. package/data/foldingRange/toml.json +46 -22
  724. package/data/foldingRange/twig.json +64 -34
  725. package/data/foldingRange/typescript.json +88 -64
  726. package/data/foldingRange/vb.json +82 -52
  727. package/data/foldingRange/wgsl.json +70 -46
  728. package/data/foldingRange/xml.json +58 -28
  729. package/data/foldingRange/yaml.json +51 -22
  730. package/data/formatting/abap.json +31 -2
  731. package/data/formatting/apex.json +31 -2
  732. package/data/formatting/awk.json +21 -1
  733. package/data/formatting/azcli.json +32 -3
  734. package/data/formatting/bicep.json +31 -2
  735. package/data/formatting/c.json +21 -1
  736. package/data/formatting/caddy.json +26 -1
  737. package/data/formatting/cameligo.json +31 -2
  738. package/data/formatting/clojure.json +31 -2
  739. package/data/formatting/coffee.json +31 -2
  740. package/data/formatting/cpp.json +21 -1
  741. package/data/formatting/crontab.json +31 -2
  742. package/data/formatting/csharp.json +21 -1
  743. package/data/formatting/cypher.json +31 -2
  744. package/data/formatting/dart.json +6 -2
  745. package/data/formatting/docker-compose.json +26 -2
  746. package/data/formatting/dockerfile.json +30 -2
  747. package/data/formatting/doctest.json +31 -2
  748. package/data/formatting/dotenv.json +32 -3
  749. package/data/formatting/ecl.json +31 -2
  750. package/data/formatting/elixir.json +6 -2
  751. package/data/formatting/flow9.json +31 -2
  752. package/data/formatting/freemarker2.json +31 -2
  753. package/data/formatting/go.json +21 -1
  754. package/data/formatting/graphql.json +26 -1
  755. package/data/formatting/ini.json +30 -2
  756. package/data/formatting/java.json +21 -1
  757. package/data/formatting/javascript.json +21 -1
  758. package/data/formatting/json.json +25 -0
  759. package/data/formatting/julia.json +31 -2
  760. package/data/formatting/kotlin.json +16 -2
  761. package/data/formatting/lexon.json +31 -2
  762. package/data/formatting/liquid.json +31 -2
  763. package/data/formatting/lua.json +21 -1
  764. package/data/formatting/m3.json +31 -2
  765. package/data/formatting/makefile.json +21 -1
  766. package/data/formatting/markdown.json +6 -2
  767. package/data/formatting/mdx.json +31 -2
  768. package/data/formatting/mips.json +31 -3
  769. package/data/formatting/msdax.json +31 -2
  770. package/data/formatting/mysql.json +6 -2
  771. package/data/formatting/nginx.json +21 -1
  772. package/data/formatting/objective-c.json +31 -2
  773. package/data/formatting/pascal.json +31 -2
  774. package/data/formatting/pascaligo.json +31 -2
  775. package/data/formatting/perl.json +21 -1
  776. package/data/formatting/pgsql.json +6 -2
  777. package/data/formatting/php.json +21 -1
  778. package/data/formatting/pla.json +32 -3
  779. package/data/formatting/postiats.json +31 -2
  780. package/data/formatting/powerquery.json +31 -2
  781. package/data/formatting/powershell.json +21 -1
  782. package/data/formatting/protobuf.json +26 -1
  783. package/data/formatting/python.json +21 -1
  784. package/data/formatting/qsharp.json +31 -2
  785. package/data/formatting/r.json +16 -1
  786. package/data/formatting/razor.json +31 -2
  787. package/data/formatting/redis-cli.json +32 -3
  788. package/data/formatting/redis.json +32 -3
  789. package/data/formatting/redshift.json +6 -2
  790. package/data/formatting/restructuredtext.json +30 -2
  791. package/data/formatting/ruby.json +21 -1
  792. package/data/formatting/rust.json +21 -1
  793. package/data/formatting/sb.json +32 -3
  794. package/data/formatting/scheme.json +31 -2
  795. package/data/formatting/sol.json +31 -2
  796. package/data/formatting/sparql.json +31 -2
  797. package/data/formatting/sql.json +21 -1
  798. package/data/formatting/ssh_config.json +26 -1
  799. package/data/formatting/st.json +31 -2
  800. package/data/formatting/systemd.json +31 -2
  801. package/data/formatting/systemverilog.json +32 -3
  802. package/data/formatting/tcl.json +31 -2
  803. package/data/formatting/toml.json +30 -2
  804. package/data/formatting/twig.json +32 -3
  805. package/data/formatting/typescript.json +21 -1
  806. package/data/formatting/vb.json +31 -2
  807. package/data/formatting/wgsl.json +32 -3
  808. package/data/formatting/yaml.json +26 -1
  809. package/data/hover/abap.json +152 -14
  810. package/data/hover/azcli.json +180 -75
  811. package/data/hover/bicep.json +180 -75
  812. package/data/hover/caddy.json +530 -458
  813. package/data/hover/cameligo.json +173 -75
  814. package/data/hover/clojure.json +180 -75
  815. package/data/hover/coffee.json +180 -75
  816. package/data/hover/cypher.json +173 -75
  817. package/data/hover/dockerfile.json +355 -283
  818. package/data/hover/doctest.json +180 -75
  819. package/data/hover/ecl.json +152 -75
  820. package/data/hover/elixir.json +180 -75
  821. package/data/hover/flow9.json +180 -75
  822. package/data/hover/freemarker2.json +180 -75
  823. package/data/hover/hcl.json +173 -75
  824. package/data/hover/ini.json +159 -68
  825. package/data/hover/json.json +194 -89
  826. package/data/hover/julia.json +173 -75
  827. package/data/hover/less.json +180 -75
  828. package/data/hover/liquid.json +180 -75
  829. package/data/hover/lua.json +1391 -971
  830. package/data/hover/m3.json +180 -75
  831. package/data/hover/makefile.json +131 -68
  832. package/data/hover/mips.json +180 -75
  833. package/data/hover/msdax.json +180 -75
  834. package/data/hover/mysql.json +173 -75
  835. package/data/hover/nginx.json +957 -891
  836. package/data/hover/objective-c.json +180 -75
  837. package/data/hover/pascal.json +159 -75
  838. package/data/hover/pascaligo.json +166 -75
  839. package/data/hover/pgsql.json +173 -75
  840. package/data/hover/postiats.json +173 -75
  841. package/data/hover/powerquery.json +180 -75
  842. package/data/hover/qsharp.json +173 -75
  843. package/data/hover/razor.json +180 -75
  844. package/data/hover/redis-cli.json +2168 -1088
  845. package/data/hover/redshift.json +166 -75
  846. package/data/hover/restructuredtext.json +180 -75
  847. package/data/hover/sb.json +173 -75
  848. package/data/hover/scheme.json +173 -75
  849. package/data/hover/scss.json +180 -75
  850. package/data/hover/sol.json +159 -75
  851. package/data/hover/sparql.json +173 -75
  852. package/data/hover/sql.json +1405 -1273
  853. package/data/hover/st.json +159 -75
  854. package/data/hover/systemd.json +187 -89
  855. package/data/hover/systemverilog.json +180 -75
  856. package/data/hover/tcl.json +180 -75
  857. package/data/hover/twig.json +180 -75
  858. package/data/hover/typescript.json +215 -120
  859. package/data/hover/vb.json +180 -75
  860. package/data/hover/wgsl.json +173 -75
  861. package/data/implementation/abap.json +29 -0
  862. package/data/implementation/angular.json +148 -22
  863. package/data/implementation/apex.json +29 -0
  864. package/data/implementation/awk.json +29 -0
  865. package/data/implementation/azcli.json +55 -26
  866. package/data/implementation/bicep.json +29 -0
  867. package/data/implementation/c.json +29 -0
  868. package/data/implementation/caddy.json +29 -0
  869. package/data/implementation/cameligo.json +35 -0
  870. package/data/implementation/clojure.json +35 -0
  871. package/data/implementation/coffee.json +29 -0
  872. package/data/implementation/cpp.json +29 -0
  873. package/data/implementation/crontab.json +55 -26
  874. package/data/implementation/csharp.json +29 -0
  875. package/data/implementation/css.json +106 -65
  876. package/data/implementation/cypher.json +29 -0
  877. package/data/implementation/dart.json +79 -14
  878. package/data/implementation/docker-compose.json +29 -0
  879. package/data/implementation/dockerfile.json +29 -0
  880. package/data/implementation/doctest.json +55 -26
  881. package/data/implementation/dotenv.json +55 -26
  882. package/data/implementation/ecl.json +29 -0
  883. package/data/implementation/elixir.json +35 -0
  884. package/data/implementation/flow9.json +29 -0
  885. package/data/implementation/freemarker2.json +29 -0
  886. package/data/implementation/go.json +29 -0
  887. package/data/implementation/graphql.json +29 -0
  888. package/data/implementation/hcl.json +29 -0
  889. package/data/implementation/html.json +67 -38
  890. package/data/implementation/ini.json +55 -26
  891. package/data/implementation/java.json +29 -0
  892. package/data/implementation/javascript.json +29 -0
  893. package/data/implementation/json.json +55 -26
  894. package/data/implementation/julia.json +35 -0
  895. package/data/implementation/kotlin.json +74 -13
  896. package/data/implementation/less.json +29 -0
  897. package/data/implementation/lexon.json +29 -0
  898. package/data/implementation/liquid.json +29 -0
  899. package/data/implementation/lua.json +29 -0
  900. package/data/implementation/m3.json +29 -0
  901. package/data/implementation/makefile.json +29 -0
  902. package/data/implementation/markdown.json +55 -26
  903. package/data/implementation/mdx.json +53 -24
  904. package/data/implementation/mips.json +29 -0
  905. package/data/implementation/msdax.json +29 -0
  906. package/data/implementation/mysql.json +53 -24
  907. package/data/implementation/nestjs.json +146 -24
  908. package/data/implementation/nextjs.json +166 -137
  909. package/data/implementation/nginx.json +29 -0
  910. package/data/implementation/objective-c.json +29 -0
  911. package/data/implementation/pascal.json +29 -0
  912. package/data/implementation/pascaligo.json +35 -0
  913. package/data/implementation/perl.json +29 -0
  914. package/data/implementation/pgsql.json +53 -24
  915. package/data/implementation/php.json +29 -0
  916. package/data/implementation/pla.json +29 -0
  917. package/data/implementation/postiats.json +29 -0
  918. package/data/implementation/powerquery.json +29 -0
  919. package/data/implementation/powershell.json +29 -0
  920. package/data/implementation/protobuf.json +29 -0
  921. package/data/implementation/python.json +29 -0
  922. package/data/implementation/qsharp.json +29 -0
  923. package/data/implementation/r.json +35 -0
  924. package/data/implementation/razor.json +29 -0
  925. package/data/implementation/react.json +154 -125
  926. package/data/implementation/redis-cli.json +55 -26
  927. package/data/implementation/redis.json +55 -26
  928. package/data/implementation/redshift.json +29 -0
  929. package/data/implementation/restructuredtext.json +29 -0
  930. package/data/implementation/ruby.json +29 -0
  931. package/data/implementation/rust.json +29 -0
  932. package/data/implementation/sb.json +29 -0
  933. package/data/implementation/scala.json +93 -16
  934. package/data/implementation/scheme.json +59 -24
  935. package/data/implementation/scss.json +29 -0
  936. package/data/implementation/shadcn.json +130 -89
  937. package/data/implementation/shell.json +29 -0
  938. package/data/implementation/sol.json +29 -0
  939. package/data/implementation/sparql.json +29 -0
  940. package/data/implementation/sql.json +29 -0
  941. package/data/implementation/ssh_config.json +55 -26
  942. package/data/implementation/st.json +29 -0
  943. package/data/implementation/swift.json +78 -14
  944. package/data/implementation/systemd.json +61 -32
  945. package/data/implementation/systemverilog.json +29 -0
  946. package/data/implementation/tailwindcss.json +100 -59
  947. package/data/implementation/tcl.json +29 -0
  948. package/data/implementation/toml.json +55 -26
  949. package/data/implementation/twig.json +29 -0
  950. package/data/implementation/typescript.json +29 -0
  951. package/data/implementation/vb.json +53 -24
  952. package/data/implementation/wgsl.json +53 -24
  953. package/data/implementation/xml.json +61 -32
  954. package/data/implementation/yaml.json +61 -32
  955. package/data/inlayHints/abap.json +81 -39
  956. package/data/inlayHints/angular.json +164 -24
  957. package/data/inlayHints/apex.json +85 -43
  958. package/data/inlayHints/awk.json +42 -0
  959. package/data/inlayHints/azcli.json +69 -27
  960. package/data/inlayHints/bicep.json +89 -47
  961. package/data/inlayHints/c.json +42 -0
  962. package/data/inlayHints/caddy.json +42 -0
  963. package/data/inlayHints/cameligo.json +73 -31
  964. package/data/inlayHints/clojure.json +93 -51
  965. package/data/inlayHints/coffee.json +81 -39
  966. package/data/inlayHints/cpp.json +42 -0
  967. package/data/inlayHints/crontab.json +69 -27
  968. package/data/inlayHints/csharp.json +42 -0
  969. package/data/inlayHints/css.json +129 -87
  970. package/data/inlayHints/cypher.json +73 -31
  971. package/data/inlayHints/dart.json +165 -29
  972. package/data/inlayHints/docker-compose.json +85 -43
  973. package/data/inlayHints/dockerfile.json +42 -0
  974. package/data/inlayHints/doctest.json +73 -31
  975. package/data/inlayHints/dotenv.json +77 -35
  976. package/data/inlayHints/ecl.json +69 -27
  977. package/data/inlayHints/elixir.json +97 -55
  978. package/data/inlayHints/flow9.json +69 -27
  979. package/data/inlayHints/freemarker2.json +69 -27
  980. package/data/inlayHints/go.json +42 -0
  981. package/data/inlayHints/graphql.json +85 -43
  982. package/data/inlayHints/hcl.json +42 -0
  983. package/data/inlayHints/html.json +69 -27
  984. package/data/inlayHints/ini.json +69 -27
  985. package/data/inlayHints/java.json +42 -0
  986. package/data/inlayHints/javascript.json +42 -0
  987. package/data/inlayHints/json.json +81 -39
  988. package/data/inlayHints/julia.json +93 -51
  989. package/data/inlayHints/kotlin.json +129 -23
  990. package/data/inlayHints/less.json +81 -39
  991. package/data/inlayHints/lexon.json +69 -27
  992. package/data/inlayHints/liquid.json +73 -31
  993. package/data/inlayHints/lua.json +42 -0
  994. package/data/inlayHints/m3.json +73 -31
  995. package/data/inlayHints/makefile.json +42 -0
  996. package/data/inlayHints/markdown.json +69 -27
  997. package/data/inlayHints/mdx.json +73 -31
  998. package/data/inlayHints/mips.json +73 -31
  999. package/data/inlayHints/msdax.json +73 -31
  1000. package/data/inlayHints/mysql.json +77 -35
  1001. package/data/inlayHints/nestjs.json +153 -24
  1002. package/data/inlayHints/nextjs.json +185 -143
  1003. package/data/inlayHints/nginx.json +42 -0
  1004. package/data/inlayHints/objective-c.json +89 -47
  1005. package/data/inlayHints/pascal.json +81 -39
  1006. package/data/inlayHints/pascaligo.json +69 -27
  1007. package/data/inlayHints/perl.json +42 -0
  1008. package/data/inlayHints/pgsql.json +81 -39
  1009. package/data/inlayHints/php.json +42 -0
  1010. package/data/inlayHints/pla.json +69 -27
  1011. package/data/inlayHints/postiats.json +69 -27
  1012. package/data/inlayHints/powerquery.json +81 -39
  1013. package/data/inlayHints/powershell.json +42 -0
  1014. package/data/inlayHints/protobuf.json +69 -27
  1015. package/data/inlayHints/python.json +42 -0
  1016. package/data/inlayHints/qsharp.json +81 -39
  1017. package/data/inlayHints/r.json +137 -95
  1018. package/data/inlayHints/razor.json +81 -39
  1019. package/data/inlayHints/react.json +236 -177
  1020. package/data/inlayHints/redis-cli.json +42 -0
  1021. package/data/inlayHints/redis.json +69 -27
  1022. package/data/inlayHints/redshift.json +73 -31
  1023. package/data/inlayHints/restructuredtext.json +69 -27
  1024. package/data/inlayHints/ruby.json +42 -0
  1025. package/data/inlayHints/rust.json +42 -0
  1026. package/data/inlayHints/sb.json +69 -27
  1027. package/data/inlayHints/scala.json +233 -42
  1028. package/data/inlayHints/scheme.json +93 -51
  1029. package/data/inlayHints/scss.json +93 -51
  1030. package/data/inlayHints/shadcn.json +151 -109
  1031. package/data/inlayHints/shell.json +42 -0
  1032. package/data/inlayHints/sol.json +85 -43
  1033. package/data/inlayHints/sparql.json +73 -31
  1034. package/data/inlayHints/sql.json +42 -0
  1035. package/data/inlayHints/ssh_config.json +73 -31
  1036. package/data/inlayHints/st.json +81 -39
  1037. package/data/inlayHints/swift.json +197 -37
  1038. package/data/inlayHints/systemd.json +81 -39
  1039. package/data/inlayHints/systemverilog.json +77 -35
  1040. package/data/inlayHints/tailwindcss.json +153 -111
  1041. package/data/inlayHints/tcl.json +73 -31
  1042. package/data/inlayHints/toml.json +81 -39
  1043. package/data/inlayHints/twig.json +81 -39
  1044. package/data/inlayHints/typescript.json +42 -0
  1045. package/data/inlayHints/vb.json +85 -43
  1046. package/data/inlayHints/wgsl.json +81 -39
  1047. package/data/inlayHints/xml.json +69 -27
  1048. package/data/inlayHints/yaml.json +77 -35
  1049. package/data/inlineCompletions/abap.json +85 -35
  1050. package/data/inlineCompletions/apex.json +85 -35
  1051. package/data/inlineCompletions/awk.json +65 -0
  1052. package/data/inlineCompletions/azcli.json +85 -35
  1053. package/data/inlineCompletions/bicep.json +85 -35
  1054. package/data/inlineCompletions/c.json +26 -1
  1055. package/data/inlineCompletions/caddy.json +50 -0
  1056. package/data/inlineCompletions/cameligo.json +84 -29
  1057. package/data/inlineCompletions/clojure.json +85 -35
  1058. package/data/inlineCompletions/coffee.json +85 -35
  1059. package/data/inlineCompletions/cpp.json +16 -1
  1060. package/data/inlineCompletions/crontab.json +50 -0
  1061. package/data/inlineCompletions/cypher.json +84 -29
  1062. package/data/inlineCompletions/docker-compose.json +94 -89
  1063. package/data/inlineCompletions/dockerfile.json +50 -0
  1064. package/data/inlineCompletions/doctest.json +83 -23
  1065. package/data/inlineCompletions/dotenv.json +55 -0
  1066. package/data/inlineCompletions/ecl.json +84 -29
  1067. package/data/inlineCompletions/elixir.json +51 -1
  1068. package/data/inlineCompletions/flow9.json +84 -29
  1069. package/data/inlineCompletions/freemarker2.json +84 -29
  1070. package/data/inlineCompletions/go.json +6 -1
  1071. package/data/inlineCompletions/graphql.json +65 -0
  1072. package/data/inlineCompletions/hcl.json +65 -0
  1073. package/data/inlineCompletions/html.json +51 -1
  1074. package/data/inlineCompletions/ini.json +60 -0
  1075. package/data/inlineCompletions/java.json +11 -1
  1076. package/data/inlineCompletions/json.json +60 -0
  1077. package/data/inlineCompletions/julia.json +85 -35
  1078. package/data/inlineCompletions/kotlin.json +6 -1
  1079. package/data/inlineCompletions/less.json +16 -1
  1080. package/data/inlineCompletions/lexon.json +83 -23
  1081. package/data/inlineCompletions/liquid.json +84 -29
  1082. package/data/inlineCompletions/lua.json +36 -1
  1083. package/data/inlineCompletions/m3.json +84 -29
  1084. package/data/inlineCompletions/makefile.json +55 -0
  1085. package/data/inlineCompletions/markdown.json +50 -0
  1086. package/data/inlineCompletions/mdx.json +84 -29
  1087. package/data/inlineCompletions/mips.json +85 -35
  1088. package/data/inlineCompletions/msdax.json +83 -23
  1089. package/data/inlineCompletions/mysql.json +51 -1
  1090. package/data/inlineCompletions/nginx.json +65 -0
  1091. package/data/inlineCompletions/objective-c.json +85 -35
  1092. package/data/inlineCompletions/pascal.json +85 -35
  1093. package/data/inlineCompletions/pascaligo.json +84 -29
  1094. package/data/inlineCompletions/perl.json +65 -0
  1095. package/data/inlineCompletions/pgsql.json +51 -1
  1096. package/data/inlineCompletions/php.json +31 -1
  1097. package/data/inlineCompletions/pla.json +84 -29
  1098. package/data/inlineCompletions/postiats.json +84 -29
  1099. package/data/inlineCompletions/powerquery.json +84 -29
  1100. package/data/inlineCompletions/powershell.json +65 -0
  1101. package/data/inlineCompletions/protobuf.json +65 -0
  1102. package/data/inlineCompletions/qsharp.json +85 -35
  1103. package/data/inlineCompletions/r.json +86 -41
  1104. package/data/inlineCompletions/razor.json +85 -35
  1105. package/data/inlineCompletions/redis-cli.json +50 -0
  1106. package/data/inlineCompletions/redis.json +84 -29
  1107. package/data/inlineCompletions/redshift.json +84 -29
  1108. package/data/inlineCompletions/restructuredtext.json +85 -35
  1109. package/data/inlineCompletions/ruby.json +26 -1
  1110. package/data/inlineCompletions/rust.json +11 -1
  1111. package/data/inlineCompletions/sb.json +85 -35
  1112. package/data/inlineCompletions/scheme.json +85 -35
  1113. package/data/inlineCompletions/scss.json +51 -1
  1114. package/data/inlineCompletions/sol.json +85 -35
  1115. package/data/inlineCompletions/sparql.json +85 -35
  1116. package/data/inlineCompletions/sql.json +31 -1
  1117. package/data/inlineCompletions/ssh_config.json +50 -0
  1118. package/data/inlineCompletions/st.json +85 -35
  1119. package/data/inlineCompletions/systemd.json +55 -0
  1120. package/data/inlineCompletions/systemverilog.json +85 -35
  1121. package/data/inlineCompletions/tcl.json +85 -35
  1122. package/data/inlineCompletions/toml.json +55 -0
  1123. package/data/inlineCompletions/twig.json +85 -35
  1124. package/data/inlineCompletions/vb.json +85 -35
  1125. package/data/inlineCompletions/wgsl.json +85 -35
  1126. package/data/inlineCompletions/xml.json +50 -0
  1127. package/data/inlineCompletions/yaml.json +50 -0
  1128. package/data/linkedEditingRange/abap.json +23 -13
  1129. package/data/linkedEditingRange/angular.json +30 -23
  1130. package/data/linkedEditingRange/apex.json +23 -13
  1131. package/data/linkedEditingRange/awk.json +23 -13
  1132. package/data/linkedEditingRange/azcli.json +18 -2
  1133. package/data/linkedEditingRange/bicep.json +23 -13
  1134. package/data/linkedEditingRange/c.json +24 -19
  1135. package/data/linkedEditingRange/caddy.json +23 -13
  1136. package/data/linkedEditingRange/cameligo.json +23 -13
  1137. package/data/linkedEditingRange/clojure.json +24 -19
  1138. package/data/linkedEditingRange/coffee.json +23 -13
  1139. package/data/linkedEditingRange/cpp.json +24 -19
  1140. package/data/linkedEditingRange/crontab.json +18 -2
  1141. package/data/linkedEditingRange/csharp.json +24 -19
  1142. package/data/linkedEditingRange/cypher.json +24 -19
  1143. package/data/linkedEditingRange/dart.json +23 -13
  1144. package/data/linkedEditingRange/docker-compose.json +18 -2
  1145. package/data/linkedEditingRange/dockerfile.json +23 -13
  1146. package/data/linkedEditingRange/doctest.json +18 -2
  1147. package/data/linkedEditingRange/dotenv.json +11 -1
  1148. package/data/linkedEditingRange/ecl.json +23 -13
  1149. package/data/linkedEditingRange/elixir.json +24 -19
  1150. package/data/linkedEditingRange/flow9.json +23 -13
  1151. package/data/linkedEditingRange/go.json +23 -13
  1152. package/data/linkedEditingRange/graphql.json +23 -13
  1153. package/data/linkedEditingRange/hcl.json +23 -13
  1154. package/data/linkedEditingRange/html.json +23 -13
  1155. package/data/linkedEditingRange/ini.json +11 -1
  1156. package/data/linkedEditingRange/java.json +23 -13
  1157. package/data/linkedEditingRange/javascript.json +24 -19
  1158. package/data/linkedEditingRange/json.json +11 -1
  1159. package/data/linkedEditingRange/julia.json +23 -13
  1160. package/data/linkedEditingRange/kotlin.json +23 -13
  1161. package/data/linkedEditingRange/less.json +24 -19
  1162. package/data/linkedEditingRange/lexon.json +18 -2
  1163. package/data/linkedEditingRange/liquid.json +24 -19
  1164. package/data/linkedEditingRange/lua.json +23 -13
  1165. package/data/linkedEditingRange/m3.json +23 -13
  1166. package/data/linkedEditingRange/makefile.json +23 -13
  1167. package/data/linkedEditingRange/markdown.json +23 -13
  1168. package/data/linkedEditingRange/mdx.json +24 -19
  1169. package/data/linkedEditingRange/mips.json +18 -2
  1170. package/data/linkedEditingRange/msdax.json +18 -2
  1171. package/data/linkedEditingRange/mysql.json +23 -13
  1172. package/data/linkedEditingRange/nestjs.json +5 -0
  1173. package/data/linkedEditingRange/nginx.json +23 -13
  1174. package/data/linkedEditingRange/objective-c.json +24 -19
  1175. package/data/linkedEditingRange/pascal.json +23 -13
  1176. package/data/linkedEditingRange/pascaligo.json +23 -13
  1177. package/data/linkedEditingRange/perl.json +23 -13
  1178. package/data/linkedEditingRange/pgsql.json +24 -19
  1179. package/data/linkedEditingRange/php.json +24 -19
  1180. package/data/linkedEditingRange/pla.json +18 -2
  1181. package/data/linkedEditingRange/postiats.json +23 -13
  1182. package/data/linkedEditingRange/powerquery.json +23 -13
  1183. package/data/linkedEditingRange/powershell.json +24 -19
  1184. package/data/linkedEditingRange/protobuf.json +23 -13
  1185. package/data/linkedEditingRange/python.json +23 -13
  1186. package/data/linkedEditingRange/qsharp.json +23 -13
  1187. package/data/linkedEditingRange/r.json +23 -13
  1188. package/data/linkedEditingRange/razor.json +24 -19
  1189. package/data/linkedEditingRange/redis-cli.json +18 -2
  1190. package/data/linkedEditingRange/redis.json +18 -2
  1191. package/data/linkedEditingRange/redshift.json +23 -13
  1192. package/data/linkedEditingRange/restructuredtext.json +23 -13
  1193. package/data/linkedEditingRange/ruby.json +23 -13
  1194. package/data/linkedEditingRange/rust.json +23 -13
  1195. package/data/linkedEditingRange/sb.json +23 -13
  1196. package/data/linkedEditingRange/scala.json +24 -19
  1197. package/data/linkedEditingRange/scheme.json +24 -19
  1198. package/data/linkedEditingRange/scss.json +24 -19
  1199. package/data/linkedEditingRange/shadcn.json +30 -23
  1200. package/data/linkedEditingRange/sol.json +23 -13
  1201. package/data/linkedEditingRange/sparql.json +23 -13
  1202. package/data/linkedEditingRange/sql.json +23 -13
  1203. package/data/linkedEditingRange/ssh_config.json +18 -2
  1204. package/data/linkedEditingRange/st.json +23 -13
  1205. package/data/linkedEditingRange/swift.json +23 -13
  1206. package/data/linkedEditingRange/systemd.json +18 -2
  1207. package/data/linkedEditingRange/systemverilog.json +23 -13
  1208. package/data/linkedEditingRange/tcl.json +23 -13
  1209. package/data/linkedEditingRange/toml.json +11 -1
  1210. package/data/linkedEditingRange/twig.json +24 -19
  1211. package/data/linkedEditingRange/typescript.json +24 -19
  1212. package/data/linkedEditingRange/vb.json +24 -19
  1213. package/data/linkedEditingRange/wgsl.json +18 -2
  1214. package/data/linkedEditingRange/xml.json +11 -1
  1215. package/data/linkedEditingRange/yaml.json +11 -1
  1216. package/data/links/abap.json +45 -0
  1217. package/data/links/angular.json +117 -95
  1218. package/data/links/apex.json +55 -0
  1219. package/data/links/awk.json +60 -0
  1220. package/data/links/azcli.json +60 -0
  1221. package/data/links/bicep.json +46 -0
  1222. package/data/links/c.json +66 -0
  1223. package/data/links/caddy.json +66 -0
  1224. package/data/links/cameligo.json +60 -0
  1225. package/data/links/clojure.json +46 -0
  1226. package/data/links/coffee.json +51 -0
  1227. package/data/links/cpp.json +66 -0
  1228. package/data/links/crontab.json +65 -0
  1229. package/data/links/csharp.json +66 -0
  1230. package/data/links/css.json +82 -55
  1231. package/data/links/cypher.json +61 -0
  1232. package/data/links/dart.json +84 -16
  1233. package/data/links/docker-compose.json +83 -47
  1234. package/data/links/dockerfile.json +66 -0
  1235. package/data/links/doctest.json +60 -0
  1236. package/data/links/dotenv.json +66 -0
  1237. package/data/links/ecl.json +55 -0
  1238. package/data/links/elixir.json +46 -0
  1239. package/data/links/flow9.json +65 -0
  1240. package/data/links/freemarker2.json +47 -0
  1241. package/data/links/go.json +66 -0
  1242. package/data/links/graphql.json +61 -0
  1243. package/data/links/hcl.json +66 -0
  1244. package/data/links/html.json +67 -0
  1245. package/data/links/ini.json +66 -0
  1246. package/data/links/java.json +66 -0
  1247. package/data/links/javascript.json +67 -0
  1248. package/data/links/json.json +56 -0
  1249. package/data/links/julia.json +56 -0
  1250. package/data/links/kotlin.json +83 -10
  1251. package/data/links/less.json +47 -0
  1252. package/data/links/lexon.json +70 -0
  1253. package/data/links/liquid.json +42 -0
  1254. package/data/links/lua.json +66 -0
  1255. package/data/links/m3.json +60 -0
  1256. package/data/links/makefile.json +66 -0
  1257. package/data/links/markdown.json +65 -0
  1258. package/data/links/mdx.json +52 -0
  1259. package/data/links/mips.json +65 -0
  1260. package/data/links/msdax.json +71 -0
  1261. package/data/links/mysql.json +56 -0
  1262. package/data/links/nestjs.json +157 -130
  1263. package/data/links/nextjs.json +118 -91
  1264. package/data/links/nginx.json +66 -0
  1265. package/data/links/objective-c.json +51 -0
  1266. package/data/links/pascal.json +50 -0
  1267. package/data/links/pascaligo.json +60 -0
  1268. package/data/links/perl.json +66 -0
  1269. package/data/links/pgsql.json +51 -0
  1270. package/data/links/php.json +66 -0
  1271. package/data/links/pla.json +70 -0
  1272. package/data/links/postiats.json +55 -0
  1273. package/data/links/powerquery.json +60 -0
  1274. package/data/links/powershell.json +65 -0
  1275. package/data/links/protobuf.json +66 -0
  1276. package/data/links/python.json +66 -0
  1277. package/data/links/qsharp.json +60 -0
  1278. package/data/links/r.json +81 -20
  1279. package/data/links/razor.json +42 -0
  1280. package/data/links/react.json +102 -75
  1281. package/data/links/redis-cli.json +71 -0
  1282. package/data/links/redis.json +71 -0
  1283. package/data/links/redshift.json +56 -0
  1284. package/data/links/restructuredtext.json +35 -0
  1285. package/data/links/ruby.json +66 -0
  1286. package/data/links/rust.json +66 -0
  1287. package/data/links/sb.json +70 -0
  1288. package/data/links/scala.json +83 -17
  1289. package/data/links/scheme.json +46 -0
  1290. package/data/links/scss.json +27 -0
  1291. package/data/links/shadcn.json +120 -98
  1292. package/data/links/shell.json +5 -0
  1293. package/data/links/sol.json +50 -0
  1294. package/data/links/sparql.json +61 -0
  1295. package/data/links/sql.json +61 -0
  1296. package/data/links/ssh_config.json +66 -0
  1297. package/data/links/st.json +60 -0
  1298. package/data/links/swift.json +83 -13
  1299. package/data/links/systemd.json +61 -0
  1300. package/data/links/systemverilog.json +60 -0
  1301. package/data/links/tailwindcss.json +92 -65
  1302. package/data/links/tcl.json +56 -0
  1303. package/data/links/toml.json +56 -0
  1304. package/data/links/twig.json +22 -0
  1305. package/data/links/typescript.json +67 -0
  1306. package/data/links/vb.json +56 -0
  1307. package/data/links/wgsl.json +70 -0
  1308. package/data/links/xml.json +66 -0
  1309. package/data/links/yaml.json +46 -0
  1310. package/data/manifest.json +8 -7
  1311. package/data/onTypeFormatting/abap.json +80 -42
  1312. package/data/onTypeFormatting/angular.json +34 -1
  1313. package/data/onTypeFormatting/apex.json +107 -69
  1314. package/data/onTypeFormatting/awk.json +95 -58
  1315. package/data/onTypeFormatting/azcli.json +63 -26
  1316. package/data/onTypeFormatting/bicep.json +90 -52
  1317. package/data/onTypeFormatting/c.json +117 -79
  1318. package/data/onTypeFormatting/caddy.json +80 -42
  1319. package/data/onTypeFormatting/cameligo.json +94 -57
  1320. package/data/onTypeFormatting/clojure.json +84 -47
  1321. package/data/onTypeFormatting/coffee.json +83 -46
  1322. package/data/onTypeFormatting/cpp.json +122 -84
  1323. package/data/onTypeFormatting/crontab.json +58 -21
  1324. package/data/onTypeFormatting/csharp.json +117 -79
  1325. package/data/onTypeFormatting/css.json +128 -82
  1326. package/data/onTypeFormatting/cypher.json +78 -41
  1327. package/data/onTypeFormatting/dart.json +117 -79
  1328. package/data/onTypeFormatting/docker-compose.json +80 -42
  1329. package/data/onTypeFormatting/dockerfile.json +80 -42
  1330. package/data/onTypeFormatting/doctest.json +68 -31
  1331. package/data/onTypeFormatting/dotenv.json +70 -32
  1332. package/data/onTypeFormatting/ecl.json +84 -47
  1333. package/data/onTypeFormatting/elixir.json +78 -41
  1334. package/data/onTypeFormatting/flow9.json +95 -58
  1335. package/data/onTypeFormatting/freemarker2.json +90 -52
  1336. package/data/onTypeFormatting/go.json +112 -74
  1337. package/data/onTypeFormatting/graphql.json +89 -52
  1338. package/data/onTypeFormatting/hcl.json +85 -47
  1339. package/data/onTypeFormatting/html.json +90 -52
  1340. package/data/onTypeFormatting/ini.json +75 -37
  1341. package/data/onTypeFormatting/java.json +117 -79
  1342. package/data/onTypeFormatting/javascript.json +122 -84
  1343. package/data/onTypeFormatting/json.json +84 -47
  1344. package/data/onTypeFormatting/julia.json +73 -36
  1345. package/data/onTypeFormatting/kotlin.json +112 -74
  1346. package/data/onTypeFormatting/less.json +95 -58
  1347. package/data/onTypeFormatting/lexon.json +75 -37
  1348. package/data/onTypeFormatting/liquid.json +95 -57
  1349. package/data/onTypeFormatting/lua.json +83 -46
  1350. package/data/onTypeFormatting/m3.json +89 -52
  1351. package/data/onTypeFormatting/makefile.json +78 -41
  1352. package/data/onTypeFormatting/markdown.json +73 -36
  1353. package/data/onTypeFormatting/mdx.json +78 -41
  1354. package/data/onTypeFormatting/mips.json +68 -31
  1355. package/data/onTypeFormatting/msdax.json +73 -36
  1356. package/data/onTypeFormatting/mysql.json +83 -46
  1357. package/data/onTypeFormatting/nestjs.json +29 -1
  1358. package/data/onTypeFormatting/nextjs.json +29 -1
  1359. package/data/onTypeFormatting/nginx.json +85 -47
  1360. package/data/onTypeFormatting/objective-c.json +117 -79
  1361. package/data/onTypeFormatting/pascal.json +89 -52
  1362. package/data/onTypeFormatting/pascaligo.json +89 -52
  1363. package/data/onTypeFormatting/perl.json +95 -58
  1364. package/data/onTypeFormatting/pgsql.json +83 -46
  1365. package/data/onTypeFormatting/php.json +117 -79
  1366. package/data/onTypeFormatting/pla.json +79 -42
  1367. package/data/onTypeFormatting/postiats.json +84 -47
  1368. package/data/onTypeFormatting/powerquery.json +83 -46
  1369. package/data/onTypeFormatting/powershell.json +95 -58
  1370. package/data/onTypeFormatting/protobuf.json +100 -63
  1371. package/data/onTypeFormatting/python.json +90 -52
  1372. package/data/onTypeFormatting/qsharp.json +112 -74
  1373. package/data/onTypeFormatting/r.json +100 -63
  1374. package/data/onTypeFormatting/razor.json +95 -57
  1375. package/data/onTypeFormatting/react.json +34 -1
  1376. package/data/onTypeFormatting/redis-cli.json +58 -21
  1377. package/data/onTypeFormatting/redis.json +58 -21
  1378. package/data/onTypeFormatting/redshift.json +83 -46
  1379. package/data/onTypeFormatting/restructuredtext.json +78 -41
  1380. package/data/onTypeFormatting/ruby.json +78 -41
  1381. package/data/onTypeFormatting/rust.json +112 -74
  1382. package/data/onTypeFormatting/sb.json +68 -31
  1383. package/data/onTypeFormatting/scala.json +112 -74
  1384. package/data/onTypeFormatting/scheme.json +84 -47
  1385. package/data/onTypeFormatting/scss.json +100 -63
  1386. package/data/onTypeFormatting/shadcn.json +34 -1
  1387. package/data/onTypeFormatting/shell.json +34 -1
  1388. package/data/onTypeFormatting/sol.json +107 -69
  1389. package/data/onTypeFormatting/sparql.json +73 -36
  1390. package/data/onTypeFormatting/sql.json +83 -46
  1391. package/data/onTypeFormatting/ssh_config.json +75 -37
  1392. package/data/onTypeFormatting/st.json +89 -52
  1393. package/data/onTypeFormatting/swift.json +112 -74
  1394. package/data/onTypeFormatting/systemd.json +75 -37
  1395. package/data/onTypeFormatting/systemverilog.json +84 -47
  1396. package/data/onTypeFormatting/tailwindcss.json +109 -63
  1397. package/data/onTypeFormatting/tcl.json +89 -52
  1398. package/data/onTypeFormatting/toml.json +75 -37
  1399. package/data/onTypeFormatting/twig.json +95 -57
  1400. package/data/onTypeFormatting/typescript.json +127 -89
  1401. package/data/onTypeFormatting/vb.json +78 -41
  1402. package/data/onTypeFormatting/wgsl.json +112 -74
  1403. package/data/onTypeFormatting/xml.json +90 -52
  1404. package/data/onTypeFormatting/yaml.json +78 -41
  1405. package/data/references/abap.json +72 -9
  1406. package/data/references/apex.json +67 -8
  1407. package/data/references/azcli.json +96 -50
  1408. package/data/references/bicep.json +112 -86
  1409. package/data/references/cameligo.json +103 -67
  1410. package/data/references/clojure.json +113 -87
  1411. package/data/references/coffee.json +105 -69
  1412. package/data/references/crontab.json +92 -41
  1413. package/data/references/css.json +92 -65
  1414. package/data/references/cypher.json +124 -93
  1415. package/data/references/dart.json +117 -15
  1416. package/data/references/docker-compose.json +98 -42
  1417. package/data/references/dockerfile.json +112 -86
  1418. package/data/references/doctest.json +95 -49
  1419. package/data/references/dotenv.json +91 -40
  1420. package/data/references/ecl.json +112 -71
  1421. package/data/references/elixir.json +121 -100
  1422. package/data/references/flow9.json +95 -49
  1423. package/data/references/freemarker2.json +104 -63
  1424. package/data/references/graphql.json +113 -82
  1425. package/data/references/html.json +106 -70
  1426. package/data/references/ini.json +91 -40
  1427. package/data/references/json.json +90 -39
  1428. package/data/references/julia.json +114 -88
  1429. package/data/references/kotlin.json +101 -12
  1430. package/data/references/less.json +107 -71
  1431. package/data/references/lexon.json +113 -67
  1432. package/data/references/liquid.json +103 -62
  1433. package/data/references/m3.json +108 -67
  1434. package/data/references/markdown.json +101 -60
  1435. package/data/references/mdx.json +100 -59
  1436. package/data/references/mips.json +94 -48
  1437. package/data/references/msdax.json +98 -57
  1438. package/data/references/mysql.json +126 -95
  1439. package/data/references/nginx.json +112 -81
  1440. package/data/references/objective-c.json +116 -85
  1441. package/data/references/pascal.json +110 -74
  1442. package/data/references/pascaligo.json +100 -59
  1443. package/data/references/pgsql.json +133 -102
  1444. package/data/references/pla.json +94 -43
  1445. package/data/references/postiats.json +105 -64
  1446. package/data/references/powerquery.json +109 -68
  1447. package/data/references/protobuf.json +110 -84
  1448. package/data/references/qsharp.json +120 -84
  1449. package/data/references/razor.json +110 -69
  1450. package/data/references/redis.json +101 -70
  1451. package/data/references/redshift.json +122 -86
  1452. package/data/references/restructuredtext.json +110 -74
  1453. package/data/references/sb.json +121 -80
  1454. package/data/references/scala.json +124 -15
  1455. package/data/references/scheme.json +130 -99
  1456. package/data/references/scss.json +113 -82
  1457. package/data/references/sol.json +124 -98
  1458. package/data/references/sparql.json +123 -92
  1459. package/data/references/ssh_config.json +106 -65
  1460. package/data/references/st.json +107 -71
  1461. package/data/references/swift.json +111 -14
  1462. package/data/references/systemd.json +117 -76
  1463. package/data/references/systemverilog.json +132 -111
  1464. package/data/references/tcl.json +132 -101
  1465. package/data/references/toml.json +94 -48
  1466. package/data/references/twig.json +108 -77
  1467. package/data/references/vb.json +132 -106
  1468. package/data/references/wgsl.json +120 -84
  1469. package/data/references/xml.json +107 -71
  1470. package/data/references/yaml.json +98 -57
  1471. package/data/rename/abap.json +78 -28
  1472. package/data/rename/apex.json +83 -29
  1473. package/data/rename/awk.json +68 -31
  1474. package/data/rename/azcli.json +70 -32
  1475. package/data/rename/bicep.json +67 -31
  1476. package/data/rename/c.json +78 -29
  1477. package/data/rename/caddy.json +71 -32
  1478. package/data/rename/cameligo.json +73 -36
  1479. package/data/rename/clojure.json +81 -33
  1480. package/data/rename/coffee.json +83 -33
  1481. package/data/rename/cpp.json +126 -36
  1482. package/data/rename/crontab.json +53 -30
  1483. package/data/rename/csharp.json +111 -33
  1484. package/data/rename/cypher.json +91 -38
  1485. package/data/rename/dart.json +101 -31
  1486. package/data/rename/docker-compose.json +72 -33
  1487. package/data/rename/dockerfile.json +69 -40
  1488. package/data/rename/doctest.json +74 -32
  1489. package/data/rename/dotenv.json +40 -28
  1490. package/data/rename/ecl.json +87 -34
  1491. package/data/rename/elixir.json +91 -39
  1492. package/data/rename/flow9.json +66 -31
  1493. package/data/rename/freemarker2.json +87 -43
  1494. package/data/rename/go.json +88 -38
  1495. package/data/rename/graphql.json +73 -41
  1496. package/data/rename/hcl.json +80 -42
  1497. package/data/rename/html.json +81 -37
  1498. package/data/rename/ini.json +47 -28
  1499. package/data/rename/java.json +103 -41
  1500. package/data/rename/javascript.json +111 -42
  1501. package/data/rename/json.json +37 -23
  1502. package/data/rename/julia.json +87 -38
  1503. package/data/rename/kotlin.json +118 -43
  1504. package/data/rename/less.json +63 -39
  1505. package/data/rename/lexon.json +67 -31
  1506. package/data/rename/liquid.json +83 -38
  1507. package/data/rename/lua.json +66 -35
  1508. package/data/rename/m3.json +108 -41
  1509. package/data/rename/makefile.json +75 -38
  1510. package/data/rename/markdown.json +43 -31
  1511. package/data/rename/mdx.json +73 -36
  1512. package/data/rename/mips.json +111 -41
  1513. package/data/rename/msdax.json +101 -46
  1514. package/data/rename/mysql.json +107 -26
  1515. package/data/rename/nginx.json +70 -26
  1516. package/data/rename/objective-c.json +93 -21
  1517. package/data/rename/pascal.json +83 -21
  1518. package/data/rename/pascaligo.json +70 -21
  1519. package/data/rename/perl.json +96 -26
  1520. package/data/rename/pgsql.json +118 -26
  1521. package/data/rename/php.json +113 -26
  1522. package/data/rename/pla.json +52 -21
  1523. package/data/rename/postiats.json +96 -21
  1524. package/data/rename/powerquery.json +77 -26
  1525. package/data/rename/powershell.json +79 -26
  1526. package/data/rename/protobuf.json +73 -21
  1527. package/data/rename/python.json +69 -21
  1528. package/data/rename/qsharp.json +81 -21
  1529. package/data/rename/r.json +66 -21
  1530. package/data/rename/razor.json +72 -26
  1531. package/data/rename/react.json +15 -3
  1532. package/data/rename/redis-cli.json +86 -21
  1533. package/data/rename/redis.json +84 -21
  1534. package/data/rename/redshift.json +104 -26
  1535. package/data/rename/restructuredtext.json +72 -31
  1536. package/data/rename/ruby.json +98 -31
  1537. package/data/rename/rust.json +85 -21
  1538. package/data/rename/sb.json +71 -21
  1539. package/data/rename/scala.json +88 -26
  1540. package/data/rename/scheme.json +70 -21
  1541. package/data/rename/scss.json +76 -31
  1542. package/data/rename/shell.json +15 -3
  1543. package/data/rename/sol.json +99 -21
  1544. package/data/rename/sparql.json +98 -26
  1545. package/data/rename/sql.json +124 -31
  1546. package/data/rename/ssh_config.json +69 -26
  1547. package/data/rename/st.json +65 -21
  1548. package/data/rename/swift.json +99 -26
  1549. package/data/rename/systemd.json +83 -26
  1550. package/data/rename/systemverilog.json +140 -21
  1551. package/data/rename/tailwindcss.json +76 -58
  1552. package/data/rename/tcl.json +141 -31
  1553. package/data/rename/toml.json +43 -26
  1554. package/data/rename/twig.json +84 -26
  1555. package/data/rename/typescript.json +110 -21
  1556. package/data/rename/vb.json +186 -21
  1557. package/data/rename/wgsl.json +100 -21
  1558. package/data/rename/xml.json +60 -26
  1559. package/data/rename/yaml.json +65 -31
  1560. package/data/selectionRange/abap.json +53 -2
  1561. package/data/selectionRange/angular.json +52 -1
  1562. package/data/selectionRange/apex.json +48 -2
  1563. package/data/selectionRange/awk.json +50 -3
  1564. package/data/selectionRange/azcli.json +47 -2
  1565. package/data/selectionRange/bicep.json +49 -2
  1566. package/data/selectionRange/c.json +53 -2
  1567. package/data/selectionRange/caddy.json +47 -2
  1568. package/data/selectionRange/cameligo.json +50 -3
  1569. package/data/selectionRange/clojure.json +50 -3
  1570. package/data/selectionRange/coffee.json +48 -2
  1571. package/data/selectionRange/cpp.json +53 -2
  1572. package/data/selectionRange/crontab.json +57 -3
  1573. package/data/selectionRange/csharp.json +53 -2
  1574. package/data/selectionRange/css.json +8 -2
  1575. package/data/selectionRange/cypher.json +53 -2
  1576. package/data/selectionRange/dart.json +53 -2
  1577. package/data/selectionRange/docker-compose.json +49 -4
  1578. package/data/selectionRange/dockerfile.json +53 -2
  1579. package/data/selectionRange/doctest.json +53 -2
  1580. package/data/selectionRange/dotenv.json +57 -3
  1581. package/data/selectionRange/ecl.json +48 -2
  1582. package/data/selectionRange/elixir.json +53 -2
  1583. package/data/selectionRange/flow9.json +50 -3
  1584. package/data/selectionRange/freemarker2.json +53 -2
  1585. package/data/selectionRange/go.json +48 -2
  1586. package/data/selectionRange/graphql.json +53 -2
  1587. package/data/selectionRange/hcl.json +50 -3
  1588. package/data/selectionRange/html.json +53 -2
  1589. package/data/selectionRange/ini.json +51 -2
  1590. package/data/selectionRange/java.json +53 -2
  1591. package/data/selectionRange/javascript.json +53 -2
  1592. package/data/selectionRange/json.json +80 -25
  1593. package/data/selectionRange/julia.json +53 -2
  1594. package/data/selectionRange/kotlin.json +53 -2
  1595. package/data/selectionRange/less.json +53 -2
  1596. package/data/selectionRange/lexon.json +43 -3
  1597. package/data/selectionRange/liquid.json +48 -2
  1598. package/data/selectionRange/lua.json +53 -2
  1599. package/data/selectionRange/m3.json +50 -3
  1600. package/data/selectionRange/makefile.json +47 -2
  1601. package/data/selectionRange/markdown.json +53 -2
  1602. package/data/selectionRange/mdx.json +53 -2
  1603. package/data/selectionRange/mips.json +43 -3
  1604. package/data/selectionRange/msdax.json +39 -3
  1605. package/data/selectionRange/mysql.json +51 -2
  1606. package/data/selectionRange/nestjs.json +70 -2
  1607. package/data/selectionRange/nextjs.json +70 -2
  1608. package/data/selectionRange/nginx.json +47 -2
  1609. package/data/selectionRange/objective-c.json +53 -2
  1610. package/data/selectionRange/pascal.json +38 -2
  1611. package/data/selectionRange/pascaligo.json +50 -3
  1612. package/data/selectionRange/perl.json +53 -2
  1613. package/data/selectionRange/pgsql.json +51 -2
  1614. package/data/selectionRange/php.json +53 -2
  1615. package/data/selectionRange/pla.json +50 -3
  1616. package/data/selectionRange/postiats.json +50 -3
  1617. package/data/selectionRange/powerquery.json +50 -3
  1618. package/data/selectionRange/powershell.json +53 -2
  1619. package/data/selectionRange/protobuf.json +53 -2
  1620. package/data/selectionRange/python.json +53 -2
  1621. package/data/selectionRange/qsharp.json +50 -3
  1622. package/data/selectionRange/r.json +53 -2
  1623. package/data/selectionRange/razor.json +53 -2
  1624. package/data/selectionRange/react.json +52 -1
  1625. package/data/selectionRange/redis-cli.json +51 -2
  1626. package/data/selectionRange/redis.json +51 -2
  1627. package/data/selectionRange/redshift.json +42 -2
  1628. package/data/selectionRange/restructuredtext.json +53 -2
  1629. package/data/selectionRange/ruby.json +53 -2
  1630. package/data/selectionRange/rust.json +53 -2
  1631. package/data/selectionRange/sb.json +43 -3
  1632. package/data/selectionRange/scala.json +53 -2
  1633. package/data/selectionRange/scheme.json +39 -3
  1634. package/data/selectionRange/scss.json +53 -2
  1635. package/data/selectionRange/shadcn.json +52 -1
  1636. package/data/selectionRange/shell.json +53 -2
  1637. package/data/selectionRange/sol.json +53 -2
  1638. package/data/selectionRange/sparql.json +53 -2
  1639. package/data/selectionRange/sql.json +51 -2
  1640. package/data/selectionRange/ssh_config.json +49 -4
  1641. package/data/selectionRange/st.json +38 -2
  1642. package/data/selectionRange/swift.json +53 -2
  1643. package/data/selectionRange/systemd.json +43 -3
  1644. package/data/selectionRange/systemverilog.json +50 -3
  1645. package/data/selectionRange/tailwindcss.json +39 -2
  1646. package/data/selectionRange/tcl.json +50 -3
  1647. package/data/selectionRange/toml.json +49 -4
  1648. package/data/selectionRange/twig.json +48 -2
  1649. package/data/selectionRange/typescript.json +53 -2
  1650. package/data/selectionRange/vb.json +39 -3
  1651. package/data/selectionRange/wgsl.json +50 -3
  1652. package/data/selectionRange/xml.json +53 -4
  1653. package/data/selectionRange/yaml.json +47 -2
  1654. package/data/typeDefinition/abap.json +57 -18
  1655. package/data/typeDefinition/angular.json +362 -362
  1656. package/data/typeDefinition/apex.json +65 -20
  1657. package/data/typeDefinition/awk.json +35 -35
  1658. package/data/typeDefinition/azcli.json +35 -35
  1659. package/data/typeDefinition/bicep.json +25 -25
  1660. package/data/typeDefinition/c.json +89 -89
  1661. package/data/typeDefinition/caddy.json +35 -35
  1662. package/data/typeDefinition/cameligo.json +65 -65
  1663. package/data/typeDefinition/clojure.json +89 -89
  1664. package/data/typeDefinition/coffee.json +75 -75
  1665. package/data/typeDefinition/cpp.json +101 -101
  1666. package/data/typeDefinition/crontab.json +35 -35
  1667. package/data/typeDefinition/csharp.json +117 -117
  1668. package/data/typeDefinition/css.json +85 -53
  1669. package/data/typeDefinition/cypher.json +61 -61
  1670. package/data/typeDefinition/dart.json +215 -35
  1671. package/data/typeDefinition/docker-compose.json +40 -40
  1672. package/data/typeDefinition/dockerfile.json +40 -40
  1673. package/data/typeDefinition/doctest.json +41 -41
  1674. package/data/typeDefinition/dotenv.json +30 -30
  1675. package/data/typeDefinition/ecl.json +49 -49
  1676. package/data/typeDefinition/elixir.json +65 -65
  1677. package/data/typeDefinition/flow9.json +37 -37
  1678. package/data/typeDefinition/freemarker2.json +37 -37
  1679. package/data/typeDefinition/go.json +101 -101
  1680. package/data/typeDefinition/graphql.json +45 -45
  1681. package/data/typeDefinition/hcl.json +55 -55
  1682. package/data/typeDefinition/html.json +40 -40
  1683. package/data/typeDefinition/ini.json +30 -30
  1684. package/data/typeDefinition/java.json +99 -99
  1685. package/data/typeDefinition/javascript.json +113 -113
  1686. package/data/typeDefinition/json.json +35 -35
  1687. package/data/typeDefinition/julia.json +65 -65
  1688. package/data/typeDefinition/kotlin.json +201 -33
  1689. package/data/typeDefinition/less.json +45 -45
  1690. package/data/typeDefinition/lexon.json +25 -25
  1691. package/data/typeDefinition/liquid.json +35 -35
  1692. package/data/typeDefinition/lua.json +59 -59
  1693. package/data/typeDefinition/m3.json +49 -49
  1694. package/data/typeDefinition/makefile.json +35 -35
  1695. package/data/typeDefinition/markdown.json +50 -50
  1696. package/data/typeDefinition/mdx.json +35 -35
  1697. package/data/typeDefinition/mips.json +45 -45
  1698. package/data/typeDefinition/msdax.json +41 -41
  1699. package/data/typeDefinition/mysql.json +65 -65
  1700. package/data/typeDefinition/nestjs.json +334 -334
  1701. package/data/typeDefinition/nextjs.json +285 -285
  1702. package/data/typeDefinition/nginx.json +40 -40
  1703. package/data/typeDefinition/objective-c.json +65 -65
  1704. package/data/typeDefinition/pascal.json +65 -65
  1705. package/data/typeDefinition/pascaligo.json +65 -65
  1706. package/data/typeDefinition/perl.json +52 -52
  1707. package/data/typeDefinition/pgsql.json +65 -65
  1708. package/data/typeDefinition/php.json +77 -77
  1709. package/data/typeDefinition/pla.json +45 -45
  1710. package/data/typeDefinition/postiats.json +41 -41
  1711. package/data/typeDefinition/powerquery.json +65 -65
  1712. package/data/typeDefinition/powershell.json +70 -70
  1713. package/data/typeDefinition/protobuf.json +75 -75
  1714. package/data/typeDefinition/python.json +95 -95
  1715. package/data/typeDefinition/qsharp.json +49 -49
  1716. package/data/typeDefinition/r.json +125 -125
  1717. package/data/typeDefinition/razor.json +45 -45
  1718. package/data/typeDefinition/react.json +236 -236
  1719. package/data/typeDefinition/redis-cli.json +35 -35
  1720. package/data/typeDefinition/redis.json +41 -41
  1721. package/data/typeDefinition/redshift.json +65 -65
  1722. package/data/typeDefinition/restructuredtext.json +35 -35
  1723. package/data/typeDefinition/ruby.json +89 -89
  1724. package/data/typeDefinition/rust.json +143 -143
  1725. package/data/typeDefinition/sb.json +25 -25
  1726. package/data/typeDefinition/scala.json +334 -52
  1727. package/data/typeDefinition/scheme.json +71 -71
  1728. package/data/typeDefinition/scss.json +45 -45
  1729. package/data/typeDefinition/shadcn.json +292 -292
  1730. package/data/typeDefinition/sol.json +65 -65
  1731. package/data/typeDefinition/sparql.json +49 -49
  1732. package/data/typeDefinition/sql.json +80 -80
  1733. package/data/typeDefinition/ssh_config.json +35 -35
  1734. package/data/typeDefinition/st.json +65 -65
  1735. package/data/typeDefinition/swift.json +362 -56
  1736. package/data/typeDefinition/systemd.json +40 -40
  1737. package/data/typeDefinition/systemverilog.json +65 -65
  1738. package/data/typeDefinition/tailwindcss.json +79 -47
  1739. package/data/typeDefinition/tcl.json +53 -53
  1740. package/data/typeDefinition/toml.json +45 -45
  1741. package/data/typeDefinition/twig.json +35 -35
  1742. package/data/typeDefinition/typescript.json +120 -120
  1743. package/data/typeDefinition/vb.json +65 -65
  1744. package/data/typeDefinition/wgsl.json +65 -65
  1745. package/data/typeDefinition/xml.json +45 -45
  1746. package/data/typeDefinition/yaml.json +55 -55
  1747. package/package.json +1 -1
@@ -1,458 +1,530 @@
1
- {
2
- "language": "caddy",
3
- "hovers": {
4
- "reverse_proxy": {
5
- "contents": [
6
- {
7
- "value": "```caddyfile\nexample.com {\n reverse_proxy localhost:3000 {\n header_up Host {upstream_hostport}\n header_up X-Real-IP {remote_host}\n lb_policy round_robin\n health_uri /health\n health_interval 10s\n }\n}\n```\n**reverse_proxy** forwards requests to one or more backend servers. Supports load balancing (round_robin, least_conn, ip_hash, etc.), active/passive health checks, header manipulation, retries, and circuit breakers."
8
- }
9
- ]
10
- },
11
- "file_server": {
12
- "contents": [
13
- {
14
- "value": "```caddyfile\nexample.com {\n root * /var/www/html\n encode gzip zstd\n file_server browse {\n hide .git .env\n }\n}\n```\n**file_server** serves static files from the site root directory. Use `browse` to enable directory listing. Use `hide` to prevent serving sensitive files. Automatically handles content types and caching headers."
15
- }
16
- ]
17
- },
18
- "respond": {
19
- "contents": [
20
- {
21
- "value": "```caddyfile\nexample.com {\n respond /health \"OK\" 200\n respond /robots.txt \"User-agent: *\\nDisallow: /\" 200\n}\n```\n**respond** returns a static HTTP response. Commonly used for health checks, simple responses, and blocking paths. Accepts status codes and response bodies. Can set custom headers."
22
- }
23
- ]
24
- },
25
- "rewrite": {
26
- "contents": [
27
- {
28
- "value": "```caddyfile\nexample.com {\n rewrite /docs /documentation\n rewrite /blog/* /posts{uri}\n}\n```\n**rewrite** internally changes the request URI without the client knowing. Unlike `redir`, no HTTP redirect is sent. The client sees the original URL. Essential for clean URL routing."
29
- }
30
- ]
31
- },
32
- "redir": {
33
- "contents": [
34
- {
35
- "value": "```caddyfile\nexample.com {\n redir /old-blog /new-blog permanent\n redir /go/{path} https://other.com/{path} temporary\n}\n```\n**redir** sends an HTTP redirect response. `permanent` = 301, `temporary` = 302. Supports placeholders like `{host}`, `{uri}`, `{path}` for dynamic redirects."
36
- }
37
- ]
38
- },
39
- "root": {
40
- "contents": [
41
- {
42
- "value": "```caddyfile\nexample.com {\n root * /var/www/html\n file_server\n}\n```\n**root** sets the root directory for all file-related handlers (file_server, try_files, etc.). The `*` matcher means it applies to all requests. Path can use placeholders."
43
- }
44
- ]
45
- },
46
- "try_files": {
47
- "contents": [
48
- {
49
- "value": "```caddyfile\nexample.com {\n root * /var/www/spa\n try_files {path} {path}/ /index.html\n file_server\n}\n```\n**try_files** rewrites the URI to the first matching file on disk. Critical for SPAs (React, Vue, Angular) where client-side routing needs all paths to serve index.html. Also used in PHP setups to fall back to index.php."
50
- }
51
- ]
52
- },
53
- "encode": {
54
- "contents": [
55
- {
56
- "value": "```caddyfile\nexample.com {\n encode gzip zstd {\n minimum_length 256\n }\n file_server\n}\n```\n**encode** enables response compression. Supports `gzip` and `zstd`. Automatically negotiates encoding via Accept-Encoding. Reduces bandwidth usage significantly for text-based content."
57
- }
58
- ]
59
- },
60
- "header": {
61
- "contents": [
62
- {
63
- "value": "```caddyfile\nexample.com {\n header {\n X-Frame-Options DENY\n X-Content-Type-Options nosniff\n Referrer-Policy strict-origin-when-cross-origin\n -Server\n Strict-Transport-Security \"max-age=31536000; includeSubDomains\"\n }\n}\n```\n**header** manipulates response headers. `+Field` adds, `-Field` removes, `?Field` sets only if not already present. The `defer` subdirective applies changes after other handlers write their headers."
64
- }
65
- ]
66
- },
67
- "basicauth": {
68
- "contents": [
69
- {
70
- "value": "```caddyfile\nexample.com {\n basicauth /admin/* {\n admin $2a$14$Zkx19XLiW6VYouLHR5NmfOFU0z2GTNmpkT/5qqR7hx4IjWJPDhjvG\n }\n}\n```\n**basicauth** protects routes with HTTP Basic Authentication. Passwords must be bcrypt-hashed — generate them with `caddy hash-password`. Never store plaintext passwords in the Caddyfile."
71
- }
72
- ]
73
- },
74
- "log": {
75
- "contents": [
76
- {
77
- "value": "```caddyfile\nexample.com {\n log {\n output file /var/log/caddy/example.log {\n roll_size 100mb\n roll_keep 5\n roll_keep_for 720h\n }\n format json\n level INFO\n }\n}\n```\n**log** enables structured access logging. Supports file output with log rotation, JSON and console formats, log level filtering, and sampling. Each site can have its own log configuration."
78
- }
79
- ]
80
- },
81
- "tls": {
82
- "contents": [
83
- {
84
- "value": "```caddyfile\nexample.com {\n tls admin@example.com {\n protocols tls1.2 tls1.3\n }\n}\n\n*.example.com {\n tls {\n dns cloudflare {env.CF_API_TOKEN}\n }\n}\n```\n**tls** configures HTTPS settings. Caddy automatically obtains and renews certificates via ACME (Let's Encrypt). Use `tls internal` for self-signed, or configure DNS challenges for wildcards. Supports client certificate authentication."
85
- }
86
- ]
87
- },
88
- "handle": {
89
- "contents": [
90
- {
91
- "value": "```caddyfile\nexample.com {\n handle /api/* {\n reverse_proxy localhost:8080\n }\n handle /static/* {\n file_server\n }\n handle {\n reverse_proxy localhost:3000\n }\n}\n```\n**handle** creates mutually exclusive handler groups — only the first matching block executes. Similar to nginx's `location` blocks. The last `handle` without a matcher acts as the default/fallback."
92
- }
93
- ]
94
- },
95
- "handle_path": {
96
- "contents": [
97
- {
98
- "value": "```caddyfile\nexample.com {\n handle_path /api/* {\n reverse_proxy localhost:8080\n }\n}\n```\n**handle_path** is like `handle` but strips the matched path prefix before executing. A request to `/api/users` becomes `/users` for the backend. Essential when backends don't expect the proxy prefix."
99
- }
100
- ]
101
- },
102
- "route": {
103
- "contents": [
104
- {
105
- "value": "```caddyfile\nexample.com {\n route {\n basicauth /admin/* {\n admin $2a$14$hash...\n }\n reverse_proxy /admin/* localhost:8080\n }\n}\n```\n**route** preserves the literal order of directives inside it. Normally Caddy reorders directives for safety, but inside `route`, order is exactly as written. Use when directive ordering matters."
106
- }
107
- ]
108
- },
109
- "import": {
110
- "contents": [
111
- {
112
- "value": "```caddyfile\n(security_headers) {\n header {\n X-Frame-Options DENY\n X-Content-Type-Options nosniff\n -Server\n }\n}\n\nexample.com {\n import security_headers\n reverse_proxy localhost:3000\n}\n```\n**import** includes a named snippet or external file. Snippets are defined with `(name) { ... }` at the top level. Supports glob imports like `import /etc/caddy/sites/*`. Snippets accept arguments via `{args[0]}`, `{args[1]}`, etc."
113
- }
114
- ]
115
- },
116
- "templates": {
117
- "contents": [
118
- {
119
- "value": "```caddyfile\nexample.com {\n root * /var/www/html\n templates\n file_server\n}\n```\n**templates** evaluates Go template actions in the response body. Templates have access to request data, environment variables, file includes, markdown rendering, and more. Files are processed as templates before being served."
120
- }
121
- ]
122
- },
123
- "php_fastcgi": {
124
- "contents": [
125
- {
126
- "value": "```caddyfile\nexample.com {\n root * /var/www/wordpress\n php_fastcgi unix//run/php/php8.2-fpm.sock {\n split .php\n }\n file_server\n}\n```\n**php_fastcgi** is a shortcut for a full PHP-FPM reverse proxy configuration. Automatically sets up try_files, URI rewriting, and FastCGI transport. Supports Unix sockets and TCP addresses."
127
- }
128
- ]
129
- },
130
- "handle_errors": {
131
- "contents": [
132
- {
133
- "value": "```caddyfile\nexample.com {\n handle_errors {\n @404 expression {err.status_code} == 404\n handle @404 {\n rewrite * /404.html\n file_server\n }\n respond \"{err.status_code} {err.status_text}\"\n }\n}\n```\n**handle_errors** defines custom error page handling. Uses `{err.status_code}` and `{err.status_text}` placeholders. Can serve custom HTML pages, return JSON errors for APIs, or redirect on errors."
134
- }
135
- ]
136
- },
137
- "abort": {
138
- "contents": [
139
- {
140
- "value": "```caddyfile\nexample.com {\n @blocked remote_ip 10.0.0.0/8\n abort @blocked\n}\n```\n**abort** immediately closes the connection without sending any response. Useful for blocking scanners, bots, or unwanted IP ranges. The client sees a connection reset."
141
- }
142
- ]
143
- },
144
- "error": {
145
- "contents": [
146
- {
147
- "value": "```caddyfile\nexample.com {\n @admin path /admin/*\n error @admin \"Forbidden\" 403\n}\n```\n**error** triggers an HTTP error with a custom message and status code. Can be caught by `handle_errors` for custom error pages. Useful for access control and conditional error responses."
148
- }
149
- ]
150
- },
151
- "uri": {
152
- "contents": [
153
- {
154
- "value": "```caddyfile\nexample.com {\n uri strip_prefix /api\n uri strip_suffix .html\n uri replace /old-path /new-path\n uri path_regexp /user/(\\d+) /profile?id=$1\n}\n```\n**uri** manipulates the request URI internally. `strip_prefix` and `strip_suffix` remove path components. `replace` does string substitution. `path_regexp` applies regex-based rewriting."
155
- }
156
- ]
157
- },
158
- "map": {
159
- "contents": [
160
- {
161
- "value": "```caddyfile\nexample.com {\n map {host} {backend} {\n app1.example.com localhost:3001\n app2.example.com localhost:3002\n default localhost:3000\n }\n reverse_proxy {backend}\n}\n```\n**map** creates a lookup table that maps input values to output variables. Supports exact matching, regex patterns, and a `default` fallback. Variables are evaluated lazily and can be used in any subsequent directive."
162
- }
163
- ]
164
- },
165
- "metrics": {
166
- "contents": [
167
- {
168
- "value": "```caddyfile\nexample.com {\n metrics /metrics\n}\n```\n**metrics** exposes Prometheus-compatible metrics. Includes request count, duration, response size, and more. Scrape the endpoint with Prometheus or compatible monitoring tools."
169
- }
170
- ]
171
- },
172
- "tracing": {
173
- "contents": [
174
- {
175
- "value": "```caddyfile\nexample.com {\n tracing {\n span my-app\n }\n reverse_proxy localhost:3000\n}\n```\n**tracing** enables OpenTelemetry distributed tracing. Adds trace context headers to requests, creating spans for each request. Configure an OTLP exporter via environment variables (OTEL_EXPORTER_OTLP_ENDPOINT)."
176
- }
177
- ]
178
- },
179
- "bind": {
180
- "contents": [
181
- {
182
- "value": "```caddyfile\nexample.com {\n bind 127.0.0.1\n}\n\n:8080 {\n bind 0.0.0.0\n}\n```\n**bind** restricts the listener to specific network interface addresses. Useful for binding to localhost only, or to specific interfaces on multi-homed servers."
183
- }
184
- ]
185
- },
186
- "acme_server": {
187
- "contents": [
188
- {
189
- "value": "```caddyfile\npki.internal {\n acme_server\n}\n```\n**acme_server** runs a built-in ACME Certificate Authority. Internal clients can request certificates from Caddy. Useful for internal PKI, development environments, and zero-trust architectures."
190
- }
191
- ]
192
- },
193
- "vars": {
194
- "contents": [
195
- {
196
- "value": "```caddyfile\nexample.com {\n vars /api/* {\n backend_type api\n }\n vars {\n backend_type web\n }\n}\n```\n**vars** sets custom variables in the request context. Variables are accessible via `{vars.key}` placeholders in subsequent directives. Useful for conditional logic and configuration reuse."
197
- }
198
- ]
199
- },
200
- "forward_auth": "## forward_auth\n\n```caddyfile\nforward_auth [match] <upstreams...> {\n uri <path>\n copy_headers <header_names...>\n header_up <header> <value>\n header_down <header> <value>\n}\n```\n\nDelegates authentication to an external service. Sends a subrequest to the specified upstream and:\n- On **2xx response**: copies configured headers to the original request and continues\n- On **non-2xx**: returns the auth service's response to the client\n\n**Example — Authelia/Authentik:**\n```caddyfile\nforward_auth localhost:9091 {\n uri /api/verify?rd=https://auth.example.com\n copy_headers Remote-User Remote-Groups Remote-Email\n}\n```\n\n**Example — simple token check:**\n```caddyfile\nforward_auth localhost:5000 {\n uri /auth/check\n copy_headers X-User-Id X-User-Role\n header_up X-Original-URI {uri}\n}\n```",
201
- "request_header": "## request_header\n\n```caddyfile\nrequest_header [match] [[+|-]field [value|regexp replacement]]\n```\n\nManipulate incoming request headers before they reach handlers.\n\n```caddyfile\n# Set (overwrite) a header\nrequest_header X-Real-IP {remote_host}\n\n# Add (+) a header value\nrequest_header +X-Forwarded-For {remote_host}\n\n# Delete (-) a header\nrequest_header -Proxy\nrequest_header -X-Powered-By\n\n# Regex replace\nrequest_header Authorization \"Bearer (.*)\" \"Token $1\"\n```",
202
- "request_body": "## request_body\n\n```caddyfile\nrequest_body [match] {\n max_size <size>\n}\n```\n\nConfigures request body handling. Useful for limiting upload sizes.\n\n```caddyfile\n# Limit upload size to 100MB\nrequest_body {\n max_size 100MB\n}\n\n# Limit only for specific paths\n@uploads path /upload/*\nrequest_body @uploads {\n max_size 50MB\n}\n```",
203
- "global_options": "## Global Options Block\n\n```caddyfile\n{\n # TLS & ACME\n email admin@example.com\n acme_ca https://acme-v02.api.letsencrypt.org/directory\n acme_dns cloudflare {env.CF_API_TOKEN}\n local_certs\n auto_https off|disable_redirects|ignore_loaded_certs\n on_demand_tls { ask http://localhost/check }\n\n # Server\n admin off|localhost:2019\n grace_period 10s\n servers { protocols h1 h2 h3 }\n\n # Logging\n log { level INFO }\n\n # Certificate management\n pki { ca local { ... } }\n skip_install_trust\n ocsp_stapling off\n\n # Ordering\n order reverse_proxy before respond\n\n # Storage\n storage file_system /data/caddy\n}\n```\n\n**Note:** The global options block must be the **first** item in the Caddyfile and has no key (just `{ }`).",
204
- "matchers": "## Named Matchers\n\nMatchers filter which requests a directive applies to.\n\n```caddyfile\n# Define named matcher\n@api {\n path /api/*\n method POST PUT DELETE\n}\n\n# Use with directive\nreverse_proxy @api localhost:8080\n\n# Inline (single matcher)\nreverse_proxy /api/* localhost:8080\n```\n\n**Available matchers:**\n| Matcher | Description |\n|---------|-------------|\n| `path` | URI path pattern |\n| `path_regexp` | Regex path matching |\n| `method` | HTTP method |\n| `header` | Request header presence/value |\n| `host` | Hostname |\n| `remote_ip` | Client IP |\n| `protocol` | HTTP/HTTPS |\n| `query` | Query string parameters |\n| `file` | File existence |\n| `expression` | CEL expression |\n| `not` | Negate a matcher |\n\n**Combining matchers** (AND logic within one matcher, OR with multiple `@name`):\n```caddyfile\n@secure {\n protocol https\n path /admin/*\n}\n```",
205
- "placeholders": "## Placeholders\n\nCaddy provides request/response placeholders for dynamic configuration.\n\n**Common placeholders:**\n| Placeholder | Description |\n|-------------|-------------|\n| `{host}` | Request hostname |\n| `{method}` | HTTP method |\n| `{path}` | URI path |\n| `{query}` | Query string |\n| `{uri}` | Full URI (path + query) |\n| `{remote_host}` | Client IP address |\n| `{upstream_hostport}` | Selected upstream address |\n| `{http.request.header.*}` | Request header value |\n| `{http.response.header.*}` | Response header value |\n| `{http.request.cookie.*}` | Cookie value |\n| `{http.request.tls.version}` | TLS version |\n| `{http.reverse_proxy.upstream.latency}` | Upstream response time |\n| `{env.*}` | Environment variable |\n| `{err.status_code}` | Error status code |\n| `{err.status_text}` | Error status text |\n\n**Shorthand ↔ Full form:**\n- `{host}` = `{http.request.host}`\n- `{path}` = `{http.request.uri.path}`\n- `{method}` = `{http.request.method}`",
206
- "intercept": "## intercept\n\n```caddyfile\nintercept {\n @<name> status <codes...>\n handle_response [@name] {\n # replacement response\n }\n}\n```\n\nIntercept and modify responses from upstream handlers.\n\n```caddyfile\nreverse_proxy localhost:8080 {\n @error status 500 502 503\n handle_response @error {\n respond \"Service temporarily unavailable\" 503\n }\n}\n```",
207
- "on_demand_tls": "## On-Demand TLS\n\nObtain certificates at TLS handshake time instead of in advance.\n\n**In global options:**\n```caddyfile\n{\n on_demand_tls {\n ask http://localhost:5555/check # verification endpoint\n interval 2m # min time between certificate operations\n burst 5 # max simultaneous certificate operations\n }\n}\n```\n\n**In site block:**\n```caddyfile\nhttps:// {\n tls {\n on_demand\n }\n reverse_proxy localhost:8080\n}\n```\n\n**How it works:**\n1. Client connects with SNI hostname\n2. Caddy asks the `ask` endpoint if allowed\n3. If endpoint returns 200, certificate is obtained\n4. Any other status: TLS handshake fails\n\n**Use case:** Multi-tenant SaaS where domains are dynamic.",
208
- "snippets": "## Snippets\n\n```caddyfile\n(snippet_name) {\n # reusable config\n}\n```\n\nDefine reusable blocks of configuration.\n\n```caddyfile\n# Define snippet\n(security_headers) {\n header {\n X-Content-Type-Options nosniff\n X-Frame-Options DENY\n Referrer-Policy strict-origin-when-cross-origin\n -Server\n }\n}\n\n(reverse_proxy_defaults) {\n header_up X-Real-IP {remote_host}\n header_up X-Forwarded-Proto {scheme}\n}\n\n# Use snippets\nexample.com {\n import security_headers\n reverse_proxy localhost:3000 {\n import reverse_proxy_defaults\n }\n}\n```\n\n**Import from file:**\n```caddyfile\nimport /etc/caddy/snippets/*.caddy\n```",
209
- "environment_variables": "## Environment Variables\n\nUse environment variables anywhere in the Caddyfile.\n\n```caddyfile\n{$DOMAIN:localhost} {\n reverse_proxy {$BACKEND:localhost:3000}\n tls {$TLS_EMAIL}\n}\n```\n\n**Syntax:**\n- `{$VAR}` — fails if not set\n- `{$VAR:default}` — uses default if not set\n- `{env.VAR}` — placeholder form (empty string if not set)\n\n**Common pattern:**\n```caddyfile\n{\n email {$ACME_EMAIL}\n acme_dns cloudflare {$CF_API_TOKEN}\n}\n\n{$DOMAIN} {\n reverse_proxy {$UPSTREAM_HOST}:{$UPSTREAM_PORT:8080}\n}\n```",
210
- "site_address": "## Site Addresses\n\nCaddy automatically manages HTTPS for sites.\n\n```caddyfile\n# Automatic HTTPS\nexample.com\n\n# With explicit port\nexample.com:8443\n\n# Multiple addresses\nexample.com, www.example.com\n\n# HTTP only\nhttp://example.com\n\n# All interfaces on port\n:8080\n\n# Wildcard (needs DNS challenge)\n*.example.com\n\n# Localhost (uses internal CA)\nlocalhost\n\n# Network address\n192.168.1.1:443\n```\n\n**Automatic HTTPS behavior:**\n- Public domains Let's Encrypt / ZeroSSL\n- `localhost` / IP → Internal Caddy CA\n- `http://` prefix no HTTPS\n- `*.domain` → requires DNS challenge (`acme_dns`)\n- Port `:80` → no HTTPS",
211
- "directive_ordering": "## Directive Ordering\n\nCaddy processes directives in a **predefined order**, not file order.\n\n**Default order (simplified):**\n1. `tracing`\n2. `map`, `vars`\n3. `root`\n4. `header`, `request_header`\n5. `redir`\n6. `rewrite`, `uri`\n7. `basicauth`, `forward_auth`\n8. `request_body`\n9. `encode`\n10. `templates`\n11. `reverse_proxy`\n12. `respond`\n13. `abort`\n14. `file_server`\n\n**Override with `route`** (uses file order):\n```caddyfile\nroute {\n rewrite /old /new\n reverse_proxy localhost:3000\n}\n```\n\n**Override globally:**\n```caddyfile\n{\n order forward_auth before basicauth\n order request_header before reverse_proxy\n}\n```",
212
- "acme_ca_option": {
213
- "contents": [
214
- {
215
- "value": "```caddyfile\n{\n acme_ca https://acme-v02.api.letsencrypt.org/directory\n # Staging: https://acme-staging-v02.api.letsencrypt.org/directory\n}\n```\n**acme_ca** global option sets the ACME Certificate Authority URL. Default is Let's Encrypt production. Use the staging URL during testing to avoid rate limits."
216
- }
217
- ]
218
- },
219
- "acme_dns_option": {
220
- "contents": [
221
- {
222
- "value": "```caddyfile\n{\n acme_dns cloudflare {env.CF_API_TOKEN}\n}\n```\n**acme_dns** global option configures DNS challenge provider for ACME certificate issuance. Required for wildcard certificates and when HTTP/TLS-ALPN challenges aren't possible. Provider must be compiled into Caddy."
223
- }
224
- ]
225
- },
226
- "admin_option": {
227
- "contents": [
228
- {
229
- "value": "```caddyfile\n{\n admin off # disable admin API\n admin localhost:2019 # default\n admin unix//run/caddy.sock # Unix socket\n}\n```\n**admin** global option configures the admin API endpoint. Default: `localhost:2019`. Use `off` to disable. The admin API allows runtime config changes, certificate management, and metrics via REST."
230
- }
231
- ]
232
- },
233
- "auto_https_option": {
234
- "contents": [
235
- {
236
- "value": "```caddyfile\n{\n auto_https off # disable all auto HTTPS\n auto_https disable_redirects # HTTPS but no HTTP→HTTPS redirect\n auto_https disable_certs # redirects but no certs\n auto_https ignore_loaded_certs\n}\n```\n**auto_https** global option controls automatic HTTPS behavior. By default, Caddy obtains certificates and redirects HTTP to HTTPS. Use this to customize or disable parts of that automation."
237
- }
238
- ]
239
- },
240
- "email_option": {
241
- "contents": [
242
- {
243
- "value": "```caddyfile\n{\n email admin@example.com\n}\n```\n**email** global option sets the email address used for ACME account registration with the CA (e.g., Let's Encrypt). Used for certificate expiry notifications and account recovery."
244
- }
245
- ]
246
- },
247
- "grace_period_option": {
248
- "contents": [
249
- {
250
- "value": "```caddyfile\n{\n grace_period 30s\n}\n```\n**grace_period** global option sets how long Caddy waits for active connections to finish during shutdown. Connections are given this much time to complete before being forcibly closed. Default: varies by Caddy version."
251
- }
252
- ]
253
- },
254
- "local_certs_option": {
255
- "contents": [
256
- {
257
- "value": "```caddyfile\n{\n local_certs\n}\n```\n**local_certs** global option tells Caddy to use locally-trusted certificates (via its internal CA) instead of publicly-trusted ones from ACME. Useful for development and internal services. Certificates are signed by Caddy's root CA."
258
- }
259
- ]
260
- },
261
- "log_level_option": {
262
- "contents": [
263
- {
264
- "value": "```caddyfile\n{\n log default {\n level DEBUG # DEBUG, INFO, WARN, ERROR, PANIC, FATAL\n }\n}\n```\n**log** global option configures Caddy's default logger. Set the level to control verbosity. `DEBUG` shows all requests; `ERROR` only shows problems. Supports output to file, stderr, or structured JSON."
265
- }
266
- ]
267
- },
268
- "order_option": {
269
- "contents": [
270
- {
271
- "value": "```caddyfile\n{\n order rate_limit before basicauth\n order my_plugin after encode\n}\n```\n**order** global option overrides the default execution order of HTTP handler directives. Each directive has a standard position; use `order` to insert custom or third-party directives at specific positions in the middleware chain."
272
- }
273
- ]
274
- },
275
- "pki_option": {
276
- "contents": [
277
- {
278
- "value": "```caddyfile\n{\n pki {\n ca local {\n name \"My CA\"\n root_cn \"My Root\"\n }\n }\n}\n```\n**pki** global option configures Caddy's built-in PKI (certificate authority). Customize the internal CA used for local certificates. CA root and intermediate certs are automatically installed in the system trust store."
279
- }
280
- ]
281
- },
282
- "servers_option": {
283
- "contents": [
284
- {
285
- "value": "```caddyfile\n{\n servers {\n protocols h1 h2 h3\n timeouts {\n read_body 30s\n write 60s\n idle 120s\n }\n max_header_size 16384\n }\n}\n```\n**servers** global option configures server-level settings: supported protocols (H1/H2/H3), timeouts, header limits, and listener wrappers. Applies to all sites unless overridden per-server."
286
- }
287
- ]
288
- },
289
- "skip_install_trust_option": {
290
- "contents": [
291
- {
292
- "value": "```caddyfile\n{\n skip_install_trust\n}\n```\n**skip_install_trust** global option prevents Caddy from installing its root CA certificate into the system trust store. Use in environments where you don't want Caddy modifying the system trust (CI, containers, restricted permissions)."
293
- }
294
- ]
295
- },
296
- "storage_option": {
297
- "contents": [
298
- {
299
- "value": "```caddyfile\n{\n storage file_system /var/lib/caddy\n storage consul {\n address 127.0.0.1:8500\n prefix caddy\n }\n}\n```\n**storage** global option configures where Caddy stores TLS certificates, OCSP staples, and other assets. Default: filesystem (`~/.local/share/caddy`). Can use distributed backends (Consul, Redis, S3) for clustering."
300
- }
301
- ]
302
- },
303
- "header_matcher": {
304
- "contents": [
305
- {
306
- "value": "```caddyfile\n@websocket header Connection *Upgrade*\n@websocket header Upgrade websocket\n\n@api header Content-Type application/json\n@no_auth not header Authorization *\n\nreverse_proxy @websocket localhost:8080\n```\n**header** matcher matches requests based on header values. Supports exact match, prefix (`prefix*`), suffix (`*suffix`), and wildcard (`*substring*`). Prefix with `!` to negate."
307
- }
308
- ]
309
- },
310
- "host": {
311
- "contents": [
312
- {
313
- "value": "```caddyfile\n@example host example.com www.example.com\nhandle @example {\n reverse_proxy localhost:8080\n}\n```\n**host** matcher matches requests by the `Host` header. Useful inside multi-site blocks or when using `handle` to route by domain. Multiple hostnames can be listed."
314
- }
315
- ]
316
- },
317
- "method": {
318
- "contents": [
319
- {
320
- "value": "```caddyfile\n@post method POST\n@readonly method GET HEAD OPTIONS\n\nhandle @post {\n reverse_proxy localhost:8080\n}\n```\n**method** matcher matches requests by HTTP method (GET, POST, PUT, DELETE, etc.). Multiple methods can be listed."
321
- }
322
- ]
323
- },
324
- "path": {
325
- "contents": [
326
- {
327
- "value": "```caddyfile\n@api path /api/*\n@static path *.css *.js *.png *.jpg\n@exact path /health\n\nhandle @api {\n reverse_proxy localhost:3000\n}\nhandle @static {\n file_server\n}\n```\n**path** matcher matches the request URI path. Supports wildcards (`*`), exact paths, and file extension patterns. One of the most commonly used matchers."
328
- }
329
- ]
330
- },
331
- "query": {
332
- "contents": [
333
- {
334
- "value": "```caddyfile\n@debug query debug=true\n@format query format=json\n\nhandle @debug {\n reverse_proxy localhost:9229\n}\n```\n**query** matcher matches requests based on query string parameters. Format: `key=value`. Can match multiple params."
335
- }
336
- ]
337
- },
338
- "remote_ip": {
339
- "contents": [
340
- {
341
- "value": "```caddyfile\n@internal remote_ip 192.168.0.0/16 10.0.0.0/8\n@blocked remote_ip 1.2.3.4\n\nhandle @internal {\n reverse_proxy localhost:8080\n}\nrespond @blocked 403\n```\n**remote_ip** matcher matches the client's IP address. Supports CIDR notation for ranges. Useful for IP-based access control and routing."
342
- }
343
- ]
344
- },
345
- "expression": {
346
- "contents": [
347
- {
348
- "value": "```caddyfile\n@complex expression `{header.Content-Type}.contains(\"json\") && {path}.startsWith(\"/api\")`\n@weekend expression `{time.now.Weekday} >= 6`\n@mobile expression `{header.User-Agent}.contains(\"Mobile\")`\n\nhandle @complex {\n reverse_proxy localhost:8080\n}\n```\n**expression** matcher uses CEL (Common Expression Language) for complex matching logic. Access request fields via `{placeholders}`. Supports string methods, logical operators, and Caddy-specific functions."
349
- }
350
- ]
351
- },
352
- "file": {
353
- "contents": [
354
- {
355
- "value": "```caddyfile\n@exists file {\n root /var/www\n try_files {path} {path}/index.html\n}\nhandle @exists {\n file_server\n}\n```\n**file** matcher checks if a file exists on disk. Used for SPA fallback patterns (try files, then fall back to index.html). Supports `try_files` to check multiple paths in order."
356
- }
357
- ]
358
- },
359
- "not": {
360
- "contents": [
361
- {
362
- "value": "```caddyfile\n@not_api not path /api/*\n@not_static not file\n\n@complex {\n not {\n path /health\n remote_ip 10.0.0.0/8\n }\n}\n```\n**not** matcher negates other matchers. Can wrap any matcher type. Useful for \"everything except\" patterns and complex exclusion rules."
363
- }
364
- ]
365
- },
366
- "named_matchers": {
367
- "contents": [
368
- {
369
- "value": "```caddyfile\n# Define named matchers with @name\n@api {\n path /api/*\n method POST PUT DELETE\n}\n@static {\n path *.css *.js *.png\n not path /api/*\n}\n# Use with directives:\nreverse_proxy @api localhost:3000\nfile_server @static\nheader @api Cache-Control no-store\n```\n**Named matchers** (defined with `@name`) create reusable request matching rules. Combine multiple matchers (path, method, header, etc.) with AND logic. Use `@name` with any directive to conditionally apply it. Multiple matchers in a block must ALL match."
370
- }
371
- ]
372
- },
373
- "protocol": {
374
- "contents": [
375
- {
376
- "value": "```caddyfile\n@https protocol https\n@grpc protocol grpc\n\nhandle @grpc {\n reverse_proxy h2c://localhost:50051\n}\n```\n**protocol** matcher matches the request protocol: `http`, `https`, `grpc`, `h2c`, etc. Useful for protocol-specific handling."
377
- }
378
- ]
379
- },
380
- "copy_response": {
381
- "contents": [
382
- {
383
- "value": "```caddyfile\nreverse_proxy localhost:8080 {\n @error status 500 502 503\n handle_response @error {\n copy_response\n copy_response_headers\n }\n}\n```\n**copy_response** copies the response from a `handle_response` block (used with `reverse_proxy`). Forwards the upstream response status and body to the client. Used for intercepting/modifying error responses."
384
- }
385
- ]
386
- },
387
- "copy_response_headers": {
388
- "contents": [
389
- {
390
- "value": "```caddyfile\nreverse_proxy localhost:8080 {\n @error status 500 502 503\n handle_response @error {\n copy_response_headers {\n include X-Request-Id\n exclude Set-Cookie\n }\n respond \"Service unavailable\" 503\n }\n}\n```\n**copy_response_headers** selectively copies response headers from the upstream in a `handle_response` block. Use `include` or `exclude` to filter headers."
391
- }
392
- ]
393
- },
394
- "push": {
395
- "contents": [
396
- {
397
- "value": "```caddyfile\nexample.com {\n push /resources {\n headers {\n Link \"</style.css>; rel=preload; as=style, </app.js>; rel=preload; as=script\"\n }\n }\n file_server\n}\n```\n**push** enables HTTP/2 Server Push for specified resources. The server proactively sends linked resources before the browser requests them. Reduces latency for critical assets. Requires HTTP/2."
398
- }
399
- ]
400
- },
401
- "{env.*}": {
402
- "contents": [
403
- {
404
- "value": "```caddyfile\nexample.com {\n reverse_proxy {env.BACKEND_HOST}:{env.BACKEND_PORT}\n tls {env.TLS_EMAIL}\n basicauth {\n admin {env.ADMIN_HASH}\n }\n}\n```\n**{env.*}** placeholder accesses environment variables. Use for secrets, configuration that varies between environments, and anything that shouldn't be hardcoded. Evaluated at config load time."
405
- }
406
- ]
407
- },
408
- "{err.*}": {
409
- "contents": [
410
- {
411
- "value": "```caddyfile\nhandle_errors {\n respond \"{err.status_code}: {err.status_text}\" {err.status_code}\n # Available: {err.status_code}, {err.status_text}, {err.message}, {err.trace}, {err.id}\n}\n```\n**{err.*}** placeholders are available inside `handle_errors` blocks. Access error details: `status_code` (HTTP code), `status_text` (status phrase), `message` (error message), `trace` (stack trace), `id` (error ID)."
412
- }
413
- ]
414
- },
415
- "{http.request.*}": {
416
- "contents": [
417
- {
418
- "value": "```caddyfile\nlog {\n output file access.log\n format json\n}\nheader X-Request-Method {http.request.method}\nheader X-Request-Host {http.request.host}\n# Also: {http.request.uri}, {http.request.uri.path},\n# {http.request.uri.query}, {http.request.remote}, etc.\n```\n**{http.request.*}** placeholders access request properties: `method`, `host`, `uri`, `uri.path`, `uri.query`, `remote` (client IP), `proto` (HTTP version), `port`, `scheme`. Available in all site configurations."
419
- }
420
- ]
421
- },
422
- "{http.request.cookie.*}": {
423
- "contents": [
424
- {
425
- "value": "```caddyfile\n@has_session header Cookie *session_id*\nhandle @has_session {\n reverse_proxy localhost:8080 {\n header_up X-Session {http.request.cookie.session_id}\n }\n}\n```\n**{http.request.cookie.*}** extracts individual cookie values from the request. Replace `*` with the cookie name. Useful for cookie-based routing, session forwarding, and authentication checks."
426
- }
427
- ]
428
- },
429
- "{http.request.tls.*}": {
430
- "contents": [
431
- {
432
- "value": "```caddyfile\nheader X-TLS-Version {http.request.tls.version}\nheader X-TLS-Cipher {http.request.tls.cipher_suite}\n# Also: {http.request.tls.server_name} (SNI)\n# {http.request.tls.client.fingerprint}\n# {http.request.tls.client.subject}\n```\n**{http.request.tls.*}** placeholders access TLS connection info: `version` (TLS version), `cipher_suite`, `server_name` (SNI), `resumed` (session resumed), and client certificate fields for mTLS."
433
- }
434
- ]
435
- },
436
- "{http.response.*}": {
437
- "contents": [
438
- {
439
- "value": "```caddyfile\nreverse_proxy localhost:8080 {\n handle_response {\n header X-Upstream-Status {http.response.status}\n # {http.response.header.*} accesses response headers\n }\n}\n```\n**{http.response.*}** placeholders access response properties: `status` (status code) and `header.*` (response headers). Primarily used in `handle_response` blocks and logging templates."
440
- }
441
- ]
442
- },
443
- "{http.reverse_proxy.*}": {
444
- "contents": [
445
- {
446
- "value": "```caddyfile\nreverse_proxy localhost:8080 localhost:8081 {\n header_up X-Upstream {http.reverse_proxy.upstream.address}\n handle_response {\n header X-Upstream-Duration {http.reverse_proxy.upstream.duration}\n header X-Upstream-Status {http.reverse_proxy.upstream.status}\n }\n}\n```\n**{http.reverse_proxy.*}** placeholders provide reverse proxy details: `upstream.address` (selected backend), `upstream.duration` (response time), `upstream.status` (upstream status code), `upstream.max_requests`. Available in proxy handler and response handling."
447
- }
448
- ]
449
- },
450
- "ocsp_stapling_option": {
451
- "contents": [
452
- {
453
- "value": "\n**ocsp_stapling** global option controls OCSP stapling behavior. By default, Caddy automatically staples OCSP responses to TLS handshakes for improved client performance and privacy. Set to `off` to disable."
454
- }
455
- ]
456
- }
457
- }
458
- }
1
+ {
2
+ "language": "caddy",
3
+ "hovers": {
4
+ "reverse_proxy": {
5
+ "contents": [
6
+ {
7
+ "value": "```caddyfile\nexample.com {\n reverse_proxy localhost:3000 {\n header_up Host {upstream_hostport}\n header_up X-Real-IP {remote_host}\n lb_policy round_robin\n health_uri /health\n health_interval 10s\n }\n}\n```\n**reverse_proxy** forwards requests to one or more backend servers. Supports load balancing (round_robin, least_conn, ip_hash, etc.), active/passive health checks, header manipulation, retries, and circuit breakers."
8
+ }
9
+ ]
10
+ },
11
+ "file_server": {
12
+ "contents": [
13
+ {
14
+ "value": "```caddyfile\nexample.com {\n root * /var/www/html\n encode gzip zstd\n file_server browse {\n hide .git .env\n }\n}\n```\n**file_server** serves static files from the site root directory. Use `browse` to enable directory listing. Use `hide` to prevent serving sensitive files. Automatically handles content types and caching headers."
15
+ }
16
+ ]
17
+ },
18
+ "respond": {
19
+ "contents": [
20
+ {
21
+ "value": "```caddyfile\nexample.com {\n respond /health \"OK\" 200\n respond /robots.txt \"User-agent: *\\nDisallow: /\" 200\n}\n```\n**respond** returns a static HTTP response. Commonly used for health checks, simple responses, and blocking paths. Accepts status codes and response bodies. Can set custom headers."
22
+ }
23
+ ]
24
+ },
25
+ "rewrite": {
26
+ "contents": [
27
+ {
28
+ "value": "```caddyfile\nexample.com {\n rewrite /docs /documentation\n rewrite /blog/* /posts{uri}\n}\n```\n**rewrite** internally changes the request URI without the client knowing. Unlike `redir`, no HTTP redirect is sent. The client sees the original URL. Essential for clean URL routing."
29
+ }
30
+ ]
31
+ },
32
+ "redir": {
33
+ "contents": [
34
+ {
35
+ "value": "```caddyfile\nexample.com {\n redir /old-blog /new-blog permanent\n redir /go/{path} https://other.com/{path} temporary\n}\n```\n**redir** sends an HTTP redirect response. `permanent` = 301, `temporary` = 302. Supports placeholders like `{host}`, `{uri}`, `{path}` for dynamic redirects."
36
+ }
37
+ ]
38
+ },
39
+ "root": {
40
+ "contents": [
41
+ {
42
+ "value": "```caddyfile\nexample.com {\n root * /var/www/html\n file_server\n}\n```\n**root** sets the root directory for all file-related handlers (file_server, try_files, etc.). The `*` matcher means it applies to all requests. Path can use placeholders."
43
+ }
44
+ ]
45
+ },
46
+ "try_files": {
47
+ "contents": [
48
+ {
49
+ "value": "```caddyfile\nexample.com {\n root * /var/www/spa\n try_files {path} {path}/ /index.html\n file_server\n}\n```\n**try_files** rewrites the URI to the first matching file on disk. Critical for SPAs (React, Vue, Angular) where client-side routing needs all paths to serve index.html. Also used in PHP setups to fall back to index.php."
50
+ }
51
+ ]
52
+ },
53
+ "encode": {
54
+ "contents": [
55
+ {
56
+ "value": "```caddyfile\nexample.com {\n encode gzip zstd {\n minimum_length 256\n }\n file_server\n}\n```\n**encode** enables response compression. Supports `gzip` and `zstd`. Automatically negotiates encoding via Accept-Encoding. Reduces bandwidth usage significantly for text-based content."
57
+ }
58
+ ]
59
+ },
60
+ "header": {
61
+ "contents": [
62
+ {
63
+ "value": "```caddyfile\nexample.com {\n header {\n X-Frame-Options DENY\n X-Content-Type-Options nosniff\n Referrer-Policy strict-origin-when-cross-origin\n -Server\n Strict-Transport-Security \"max-age=31536000; includeSubDomains\"\n }\n}\n```\n**header** manipulates response headers. `+Field` adds, `-Field` removes, `?Field` sets only if not already present. The `defer` subdirective applies changes after other handlers write their headers."
64
+ }
65
+ ]
66
+ },
67
+ "basicauth": {
68
+ "contents": [
69
+ {
70
+ "value": "```caddyfile\nexample.com {\n basicauth /admin/* {\n admin $2a$14$Zkx19XLiW6VYouLHR5NmfOFU0z2GTNmpkT/5qqR7hx4IjWJPDhjvG\n }\n}\n```\n**basicauth** protects routes with HTTP Basic Authentication. Passwords must be bcrypt-hashed — generate them with `caddy hash-password`. Never store plaintext passwords in the Caddyfile."
71
+ }
72
+ ]
73
+ },
74
+ "log": {
75
+ "contents": [
76
+ {
77
+ "value": "```caddyfile\nexample.com {\n log {\n output file /var/log/caddy/example.log {\n roll_size 100mb\n roll_keep 5\n roll_keep_for 720h\n }\n format json\n level INFO\n }\n}\n```\n**log** enables structured access logging. Supports file output with log rotation, JSON and console formats, log level filtering, and sampling. Each site can have its own log configuration."
78
+ }
79
+ ]
80
+ },
81
+ "tls": {
82
+ "contents": [
83
+ {
84
+ "value": "```caddyfile\nexample.com {\n tls admin@example.com {\n protocols tls1.2 tls1.3\n }\n}\n\n*.example.com {\n tls {\n dns cloudflare {env.CF_API_TOKEN}\n }\n}\n```\n**tls** configures HTTPS settings. Caddy automatically obtains and renews certificates via ACME (Let's Encrypt). Use `tls internal` for self-signed, or configure DNS challenges for wildcards. Supports client certificate authentication."
85
+ }
86
+ ]
87
+ },
88
+ "handle": {
89
+ "contents": [
90
+ {
91
+ "value": "```caddyfile\nexample.com {\n handle /api/* {\n reverse_proxy localhost:8080\n }\n handle /static/* {\n file_server\n }\n handle {\n reverse_proxy localhost:3000\n }\n}\n```\n**handle** creates mutually exclusive handler groups — only the first matching block executes. Similar to nginx's `location` blocks. The last `handle` without a matcher acts as the default/fallback."
92
+ }
93
+ ]
94
+ },
95
+ "handle_path": {
96
+ "contents": [
97
+ {
98
+ "value": "```caddyfile\nexample.com {\n handle_path /api/* {\n reverse_proxy localhost:8080\n }\n}\n```\n**handle_path** is like `handle` but strips the matched path prefix before executing. A request to `/api/users` becomes `/users` for the backend. Essential when backends don't expect the proxy prefix."
99
+ }
100
+ ]
101
+ },
102
+ "route": {
103
+ "contents": [
104
+ {
105
+ "value": "```caddyfile\nexample.com {\n route {\n basicauth /admin/* {\n admin $2a$14$hash...\n }\n reverse_proxy /admin/* localhost:8080\n }\n}\n```\n**route** preserves the literal order of directives inside it. Normally Caddy reorders directives for safety, but inside `route`, order is exactly as written. Use when directive ordering matters."
106
+ }
107
+ ]
108
+ },
109
+ "import": {
110
+ "contents": [
111
+ {
112
+ "value": "```caddyfile\n(security_headers) {\n header {\n X-Frame-Options DENY\n X-Content-Type-Options nosniff\n -Server\n }\n}\n\nexample.com {\n import security_headers\n reverse_proxy localhost:3000\n}\n```\n**import** includes a named snippet or external file. Snippets are defined with `(name) { ... }` at the top level. Supports glob imports like `import /etc/caddy/sites/*`. Snippets accept arguments via `{args[0]}`, `{args[1]}`, etc."
113
+ }
114
+ ]
115
+ },
116
+ "templates": {
117
+ "contents": [
118
+ {
119
+ "value": "```caddyfile\nexample.com {\n root * /var/www/html\n templates\n file_server\n}\n```\n**templates** evaluates Go template actions in the response body. Templates have access to request data, environment variables, file includes, markdown rendering, and more. Files are processed as templates before being served."
120
+ }
121
+ ]
122
+ },
123
+ "php_fastcgi": {
124
+ "contents": [
125
+ {
126
+ "value": "```caddyfile\nexample.com {\n root * /var/www/wordpress\n php_fastcgi unix//run/php/php8.2-fpm.sock {\n split .php\n }\n file_server\n}\n```\n**php_fastcgi** is a shortcut for a full PHP-FPM reverse proxy configuration. Automatically sets up try_files, URI rewriting, and FastCGI transport. Supports Unix sockets and TCP addresses."
127
+ }
128
+ ]
129
+ },
130
+ "handle_errors": {
131
+ "contents": [
132
+ {
133
+ "value": "```caddyfile\nexample.com {\n handle_errors {\n @404 expression {err.status_code} == 404\n handle @404 {\n rewrite * /404.html\n file_server\n }\n respond \"{err.status_code} {err.status_text}\"\n }\n}\n```\n**handle_errors** defines custom error page handling. Uses `{err.status_code}` and `{err.status_text}` placeholders. Can serve custom HTML pages, return JSON errors for APIs, or redirect on errors."
134
+ }
135
+ ]
136
+ },
137
+ "abort": {
138
+ "contents": [
139
+ {
140
+ "value": "```caddyfile\nexample.com {\n @blocked remote_ip 10.0.0.0/8\n abort @blocked\n}\n```\n**abort** immediately closes the connection without sending any response. Useful for blocking scanners, bots, or unwanted IP ranges. The client sees a connection reset."
141
+ }
142
+ ]
143
+ },
144
+ "error": {
145
+ "contents": [
146
+ {
147
+ "value": "```caddyfile\nexample.com {\n @admin path /admin/*\n error @admin \"Forbidden\" 403\n}\n```\n**error** triggers an HTTP error with a custom message and status code. Can be caught by `handle_errors` for custom error pages. Useful for access control and conditional error responses."
148
+ }
149
+ ]
150
+ },
151
+ "uri": {
152
+ "contents": [
153
+ {
154
+ "value": "```caddyfile\nexample.com {\n uri strip_prefix /api\n uri strip_suffix .html\n uri replace /old-path /new-path\n uri path_regexp /user/(\\d+) /profile?id=$1\n}\n```\n**uri** manipulates the request URI internally. `strip_prefix` and `strip_suffix` remove path components. `replace` does string substitution. `path_regexp` applies regex-based rewriting."
155
+ }
156
+ ]
157
+ },
158
+ "map": {
159
+ "contents": [
160
+ {
161
+ "value": "```caddyfile\nexample.com {\n map {host} {backend} {\n app1.example.com localhost:3001\n app2.example.com localhost:3002\n default localhost:3000\n }\n reverse_proxy {backend}\n}\n```\n**map** creates a lookup table that maps input values to output variables. Supports exact matching, regex patterns, and a `default` fallback. Variables are evaluated lazily and can be used in any subsequent directive."
162
+ }
163
+ ]
164
+ },
165
+ "metrics": {
166
+ "contents": [
167
+ {
168
+ "value": "```caddyfile\nexample.com {\n metrics /metrics\n}\n```\n**metrics** exposes Prometheus-compatible metrics. Includes request count, duration, response size, and more. Scrape the endpoint with Prometheus or compatible monitoring tools."
169
+ }
170
+ ]
171
+ },
172
+ "tracing": {
173
+ "contents": [
174
+ {
175
+ "value": "```caddyfile\nexample.com {\n tracing {\n span my-app\n }\n reverse_proxy localhost:3000\n}\n```\n**tracing** enables OpenTelemetry distributed tracing. Adds trace context headers to requests, creating spans for each request. Configure an OTLP exporter via environment variables (OTEL_EXPORTER_OTLP_ENDPOINT)."
176
+ }
177
+ ]
178
+ },
179
+ "bind": {
180
+ "contents": [
181
+ {
182
+ "value": "```caddyfile\nexample.com {\n bind 127.0.0.1\n}\n\n:8080 {\n bind 0.0.0.0\n}\n```\n**bind** restricts the listener to specific network interface addresses. Useful for binding to localhost only, or to specific interfaces on multi-homed servers."
183
+ }
184
+ ]
185
+ },
186
+ "acme_server": {
187
+ "contents": [
188
+ {
189
+ "value": "```caddyfile\npki.internal {\n acme_server\n}\n```\n**acme_server** runs a built-in ACME Certificate Authority. Internal clients can request certificates from Caddy. Useful for internal PKI, development environments, and zero-trust architectures."
190
+ }
191
+ ]
192
+ },
193
+ "vars": {
194
+ "contents": [
195
+ {
196
+ "value": "```caddyfile\nexample.com {\n vars /api/* {\n backend_type api\n }\n vars {\n backend_type web\n }\n}\n```\n**vars** sets custom variables in the request context. Variables are accessible via `{vars.key}` placeholders in subsequent directives. Useful for conditional logic and configuration reuse."
197
+ }
198
+ ]
199
+ },
200
+ "forward_auth": {
201
+ "contents": [
202
+ {
203
+ "value": "## forward_auth\n\n```caddyfile\nforward_auth [match] <upstreams...> {\n uri <path>\n copy_headers <header_names...>\n header_up <header> <value>\n header_down <header> <value>\n}\n```\n\nDelegates authentication to an external service. Sends a subrequest to the specified upstream and:\n- On **2xx response**: copies configured headers to the original request and continues\n- On **non-2xx**: returns the auth service's response to the client\n\n**Example — Authelia/Authentik:**\n```caddyfile\nforward_auth localhost:9091 {\n uri /api/verify?rd=https://auth.example.com\n copy_headers Remote-User Remote-Groups Remote-Email\n}\n```\n\n**Example simple token check:**\n```caddyfile\nforward_auth localhost:5000 {\n uri /auth/check\n copy_headers X-User-Id X-User-Role\n header_up X-Original-URI {uri}\n}\n```"
204
+ }
205
+ ]
206
+ },
207
+ "request_header": {
208
+ "contents": [
209
+ {
210
+ "value": "## request_header\n\n```caddyfile\nrequest_header [match] [[+|-]field [value|regexp replacement]]\n```\n\nManipulate incoming request headers before they reach handlers.\n\n```caddyfile\n# Set (overwrite) a header\nrequest_header X-Real-IP {remote_host}\n\n# Add (+) a header value\nrequest_header +X-Forwarded-For {remote_host}\n\n# Delete (-) a header\nrequest_header -Proxy\nrequest_header -X-Powered-By\n\n# Regex replace\nrequest_header Authorization \"Bearer (.*)\" \"Token $1\"\n```"
211
+ }
212
+ ]
213
+ },
214
+ "request_body": {
215
+ "contents": [
216
+ {
217
+ "value": "## request_body\n\n```caddyfile\nrequest_body [match] {\n max_size <size>\n}\n```\n\nConfigures request body handling. Useful for limiting upload sizes.\n\n```caddyfile\n# Limit upload size to 100MB\nrequest_body {\n max_size 100MB\n}\n\n# Limit only for specific paths\n@uploads path /upload/*\nrequest_body @uploads {\n max_size 50MB\n}\n```"
218
+ }
219
+ ]
220
+ },
221
+ "global_options": {
222
+ "contents": [
223
+ {
224
+ "value": "## Global Options Block\n\n```caddyfile\n{\n # TLS & ACME\n email admin@example.com\n acme_ca https://acme-v02.api.letsencrypt.org/directory\n acme_dns cloudflare {env.CF_API_TOKEN}\n local_certs\n auto_https off|disable_redirects|ignore_loaded_certs\n on_demand_tls { ask http://localhost/check }\n\n # Server\n admin off|localhost:2019\n grace_period 10s\n servers { protocols h1 h2 h3 }\n\n # Logging\n log { level INFO }\n\n # Certificate management\n pki { ca local { ... } }\n skip_install_trust\n ocsp_stapling off\n\n # Ordering\n order reverse_proxy before respond\n\n # Storage\n storage file_system /data/caddy\n}\n```\n\n**Note:** The global options block must be the **first** item in the Caddyfile and has no key (just `{ }`)."
225
+ }
226
+ ]
227
+ },
228
+ "matchers": {
229
+ "contents": [
230
+ {
231
+ "value": "## Named Matchers\n\nMatchers filter which requests a directive applies to.\n\n```caddyfile\n# Define named matcher\n@api {\n path /api/*\n method POST PUT DELETE\n}\n\n# Use with directive\nreverse_proxy @api localhost:8080\n\n# Inline (single matcher)\nreverse_proxy /api/* localhost:8080\n```\n\n**Available matchers:**\n| Matcher | Description |\n|---------|-------------|\n| `path` | URI path pattern |\n| `path_regexp` | Regex path matching |\n| `method` | HTTP method |\n| `header` | Request header presence/value |\n| `host` | Hostname |\n| `remote_ip` | Client IP |\n| `protocol` | HTTP/HTTPS |\n| `query` | Query string parameters |\n| `file` | File existence |\n| `expression` | CEL expression |\n| `not` | Negate a matcher |\n\n**Combining matchers** (AND logic within one matcher, OR with multiple `@name`):\n```caddyfile\n@secure {\n protocol https\n path /admin/*\n}\n```"
232
+ }
233
+ ]
234
+ },
235
+ "placeholders": {
236
+ "contents": [
237
+ {
238
+ "value": "## Placeholders\n\nCaddy provides request/response placeholders for dynamic configuration.\n\n**Common placeholders:**\n| Placeholder | Description |\n|-------------|-------------|\n| `{host}` | Request hostname |\n| `{method}` | HTTP method |\n| `{path}` | URI path |\n| `{query}` | Query string |\n| `{uri}` | Full URI (path + query) |\n| `{remote_host}` | Client IP address |\n| `{upstream_hostport}` | Selected upstream address |\n| `{http.request.header.*}` | Request header value |\n| `{http.response.header.*}` | Response header value |\n| `{http.request.cookie.*}` | Cookie value |\n| `{http.request.tls.version}` | TLS version |\n| `{http.reverse_proxy.upstream.latency}` | Upstream response time |\n| `{env.*}` | Environment variable |\n| `{err.status_code}` | Error status code |\n| `{err.status_text}` | Error status text |\n\n**Shorthand ↔ Full form:**\n- `{host}` = `{http.request.host}`\n- `{path}` = `{http.request.uri.path}`\n- `{method}` = `{http.request.method}`"
239
+ }
240
+ ]
241
+ },
242
+ "intercept": {
243
+ "contents": [
244
+ {
245
+ "value": "## intercept\n\n```caddyfile\nintercept {\n @<name> status <codes...>\n handle_response [@name] {\n # replacement response\n }\n}\n```\n\nIntercept and modify responses from upstream handlers.\n\n```caddyfile\nreverse_proxy localhost:8080 {\n @error status 500 502 503\n handle_response @error {\n respond \"Service temporarily unavailable\" 503\n }\n}\n```"
246
+ }
247
+ ]
248
+ },
249
+ "on_demand_tls": {
250
+ "contents": [
251
+ {
252
+ "value": "## On-Demand TLS\n\nObtain certificates at TLS handshake time instead of in advance.\n\n**In global options:**\n```caddyfile\n{\n on_demand_tls {\n ask http://localhost:5555/check # verification endpoint\n interval 2m # min time between certificate operations\n burst 5 # max simultaneous certificate operations\n }\n}\n```\n\n**In site block:**\n```caddyfile\nhttps:// {\n tls {\n on_demand\n }\n reverse_proxy localhost:8080\n}\n```\n\n**How it works:**\n1. Client connects with SNI hostname\n2. Caddy asks the `ask` endpoint if allowed\n3. If endpoint returns 200, certificate is obtained\n4. Any other status: TLS handshake fails\n\n**Use case:** Multi-tenant SaaS where domains are dynamic."
253
+ }
254
+ ]
255
+ },
256
+ "snippets": {
257
+ "contents": [
258
+ {
259
+ "value": "## Snippets\n\n```caddyfile\n(snippet_name) {\n # reusable config\n}\n```\n\nDefine reusable blocks of configuration.\n\n```caddyfile\n# Define snippet\n(security_headers) {\n header {\n X-Content-Type-Options nosniff\n X-Frame-Options DENY\n Referrer-Policy strict-origin-when-cross-origin\n -Server\n }\n}\n\n(reverse_proxy_defaults) {\n header_up X-Real-IP {remote_host}\n header_up X-Forwarded-Proto {scheme}\n}\n\n# Use snippets\nexample.com {\n import security_headers\n reverse_proxy localhost:3000 {\n import reverse_proxy_defaults\n }\n}\n```\n\n**Import from file:**\n```caddyfile\nimport /etc/caddy/snippets/*.caddy\n```"
260
+ }
261
+ ]
262
+ },
263
+ "environment_variables": {
264
+ "contents": [
265
+ {
266
+ "value": "## Environment Variables\n\nUse environment variables anywhere in the Caddyfile.\n\n```caddyfile\n{$DOMAIN:localhost} {\n reverse_proxy {$BACKEND:localhost:3000}\n tls {$TLS_EMAIL}\n}\n```\n\n**Syntax:**\n- `{$VAR}` — fails if not set\n- `{$VAR:default}` — uses default if not set\n- `{env.VAR}` — placeholder form (empty string if not set)\n\n**Common pattern:**\n```caddyfile\n{\n email {$ACME_EMAIL}\n acme_dns cloudflare {$CF_API_TOKEN}\n}\n\n{$DOMAIN} {\n reverse_proxy {$UPSTREAM_HOST}:{$UPSTREAM_PORT:8080}\n}\n```"
267
+ }
268
+ ]
269
+ },
270
+ "site_address": {
271
+ "contents": [
272
+ {
273
+ "value": "## Site Addresses\n\nCaddy automatically manages HTTPS for sites.\n\n```caddyfile\n# Automatic HTTPS\nexample.com\n\n# With explicit port\nexample.com:8443\n\n# Multiple addresses\nexample.com, www.example.com\n\n# HTTP only\nhttp://example.com\n\n# All interfaces on port\n:8080\n\n# Wildcard (needs DNS challenge)\n*.example.com\n\n# Localhost (uses internal CA)\nlocalhost\n\n# Network address\n192.168.1.1:443\n```\n\n**Automatic HTTPS behavior:**\n- Public domains → Let's Encrypt / ZeroSSL\n- `localhost` / IP → Internal Caddy CA\n- `http://` prefix → no HTTPS\n- `*.domain` → requires DNS challenge (`acme_dns`)\n- Port `:80` → no HTTPS"
274
+ }
275
+ ]
276
+ },
277
+ "directive_ordering": {
278
+ "contents": [
279
+ {
280
+ "value": "## Directive Ordering\n\nCaddy processes directives in a **predefined order**, not file order.\n\n**Default order (simplified):**\n1. `tracing`\n2. `map`, `vars`\n3. `root`\n4. `header`, `request_header`\n5. `redir`\n6. `rewrite`, `uri`\n7. `basicauth`, `forward_auth`\n8. `request_body`\n9. `encode`\n10. `templates`\n11. `reverse_proxy`\n12. `respond`\n13. `abort`\n14. `file_server`\n\n**Override with `route`** (uses file order):\n```caddyfile\nroute {\n rewrite /old /new\n reverse_proxy localhost:3000\n}\n```\n\n**Override globally:**\n```caddyfile\n{\n order forward_auth before basicauth\n order request_header before reverse_proxy\n}\n```"
281
+ }
282
+ ]
283
+ },
284
+ "acme_ca_option": {
285
+ "contents": [
286
+ {
287
+ "value": "```caddyfile\n{\n acme_ca https://acme-v02.api.letsencrypt.org/directory\n # Staging: https://acme-staging-v02.api.letsencrypt.org/directory\n}\n```\n**acme_ca** global option sets the ACME Certificate Authority URL. Default is Let's Encrypt production. Use the staging URL during testing to avoid rate limits."
288
+ }
289
+ ]
290
+ },
291
+ "acme_dns_option": {
292
+ "contents": [
293
+ {
294
+ "value": "```caddyfile\n{\n acme_dns cloudflare {env.CF_API_TOKEN}\n}\n```\n**acme_dns** global option configures DNS challenge provider for ACME certificate issuance. Required for wildcard certificates and when HTTP/TLS-ALPN challenges aren't possible. Provider must be compiled into Caddy."
295
+ }
296
+ ]
297
+ },
298
+ "admin_option": {
299
+ "contents": [
300
+ {
301
+ "value": "```caddyfile\n{\n admin off # disable admin API\n admin localhost:2019 # default\n admin unix//run/caddy.sock # Unix socket\n}\n```\n**admin** global option configures the admin API endpoint. Default: `localhost:2019`. Use `off` to disable. The admin API allows runtime config changes, certificate management, and metrics via REST."
302
+ }
303
+ ]
304
+ },
305
+ "auto_https_option": {
306
+ "contents": [
307
+ {
308
+ "value": "```caddyfile\n{\n auto_https off # disable all auto HTTPS\n auto_https disable_redirects # HTTPS but no HTTP→HTTPS redirect\n auto_https disable_certs # redirects but no certs\n auto_https ignore_loaded_certs\n}\n```\n**auto_https** global option controls automatic HTTPS behavior. By default, Caddy obtains certificates and redirects HTTP to HTTPS. Use this to customize or disable parts of that automation."
309
+ }
310
+ ]
311
+ },
312
+ "email_option": {
313
+ "contents": [
314
+ {
315
+ "value": "```caddyfile\n{\n email admin@example.com\n}\n```\n**email** global option sets the email address used for ACME account registration with the CA (e.g., Let's Encrypt). Used for certificate expiry notifications and account recovery."
316
+ }
317
+ ]
318
+ },
319
+ "grace_period_option": {
320
+ "contents": [
321
+ {
322
+ "value": "```caddyfile\n{\n grace_period 30s\n}\n```\n**grace_period** global option sets how long Caddy waits for active connections to finish during shutdown. Connections are given this much time to complete before being forcibly closed. Default: varies by Caddy version."
323
+ }
324
+ ]
325
+ },
326
+ "local_certs_option": {
327
+ "contents": [
328
+ {
329
+ "value": "```caddyfile\n{\n local_certs\n}\n```\n**local_certs** global option tells Caddy to use locally-trusted certificates (via its internal CA) instead of publicly-trusted ones from ACME. Useful for development and internal services. Certificates are signed by Caddy's root CA."
330
+ }
331
+ ]
332
+ },
333
+ "log_level_option": {
334
+ "contents": [
335
+ {
336
+ "value": "```caddyfile\n{\n log default {\n level DEBUG # DEBUG, INFO, WARN, ERROR, PANIC, FATAL\n }\n}\n```\n**log** global option configures Caddy's default logger. Set the level to control verbosity. `DEBUG` shows all requests; `ERROR` only shows problems. Supports output to file, stderr, or structured JSON."
337
+ }
338
+ ]
339
+ },
340
+ "order_option": {
341
+ "contents": [
342
+ {
343
+ "value": "```caddyfile\n{\n order rate_limit before basicauth\n order my_plugin after encode\n}\n```\n**order** global option overrides the default execution order of HTTP handler directives. Each directive has a standard position; use `order` to insert custom or third-party directives at specific positions in the middleware chain."
344
+ }
345
+ ]
346
+ },
347
+ "pki_option": {
348
+ "contents": [
349
+ {
350
+ "value": "```caddyfile\n{\n pki {\n ca local {\n name \"My CA\"\n root_cn \"My Root\"\n }\n }\n}\n```\n**pki** global option configures Caddy's built-in PKI (certificate authority). Customize the internal CA used for local certificates. CA root and intermediate certs are automatically installed in the system trust store."
351
+ }
352
+ ]
353
+ },
354
+ "servers_option": {
355
+ "contents": [
356
+ {
357
+ "value": "```caddyfile\n{\n servers {\n protocols h1 h2 h3\n timeouts {\n read_body 30s\n write 60s\n idle 120s\n }\n max_header_size 16384\n }\n}\n```\n**servers** global option configures server-level settings: supported protocols (H1/H2/H3), timeouts, header limits, and listener wrappers. Applies to all sites unless overridden per-server."
358
+ }
359
+ ]
360
+ },
361
+ "skip_install_trust_option": {
362
+ "contents": [
363
+ {
364
+ "value": "```caddyfile\n{\n skip_install_trust\n}\n```\n**skip_install_trust** global option prevents Caddy from installing its root CA certificate into the system trust store. Use in environments where you don't want Caddy modifying the system trust (CI, containers, restricted permissions)."
365
+ }
366
+ ]
367
+ },
368
+ "storage_option": {
369
+ "contents": [
370
+ {
371
+ "value": "```caddyfile\n{\n storage file_system /var/lib/caddy\n storage consul {\n address 127.0.0.1:8500\n prefix caddy\n }\n}\n```\n**storage** global option configures where Caddy stores TLS certificates, OCSP staples, and other assets. Default: filesystem (`~/.local/share/caddy`). Can use distributed backends (Consul, Redis, S3) for clustering."
372
+ }
373
+ ]
374
+ },
375
+ "header_matcher": {
376
+ "contents": [
377
+ {
378
+ "value": "```caddyfile\n@websocket header Connection *Upgrade*\n@websocket header Upgrade websocket\n\n@api header Content-Type application/json\n@no_auth not header Authorization *\n\nreverse_proxy @websocket localhost:8080\n```\n**header** matcher matches requests based on header values. Supports exact match, prefix (`prefix*`), suffix (`*suffix`), and wildcard (`*substring*`). Prefix with `!` to negate."
379
+ }
380
+ ]
381
+ },
382
+ "host": {
383
+ "contents": [
384
+ {
385
+ "value": "```caddyfile\n@example host example.com www.example.com\nhandle @example {\n reverse_proxy localhost:8080\n}\n```\n**host** matcher matches requests by the `Host` header. Useful inside multi-site blocks or when using `handle` to route by domain. Multiple hostnames can be listed."
386
+ }
387
+ ]
388
+ },
389
+ "method": {
390
+ "contents": [
391
+ {
392
+ "value": "```caddyfile\n@post method POST\n@readonly method GET HEAD OPTIONS\n\nhandle @post {\n reverse_proxy localhost:8080\n}\n```\n**method** matcher matches requests by HTTP method (GET, POST, PUT, DELETE, etc.). Multiple methods can be listed."
393
+ }
394
+ ]
395
+ },
396
+ "path": {
397
+ "contents": [
398
+ {
399
+ "value": "```caddyfile\n@api path /api/*\n@static path *.css *.js *.png *.jpg\n@exact path /health\n\nhandle @api {\n reverse_proxy localhost:3000\n}\nhandle @static {\n file_server\n}\n```\n**path** matcher matches the request URI path. Supports wildcards (`*`), exact paths, and file extension patterns. One of the most commonly used matchers."
400
+ }
401
+ ]
402
+ },
403
+ "query": {
404
+ "contents": [
405
+ {
406
+ "value": "```caddyfile\n@debug query debug=true\n@format query format=json\n\nhandle @debug {\n reverse_proxy localhost:9229\n}\n```\n**query** matcher matches requests based on query string parameters. Format: `key=value`. Can match multiple params."
407
+ }
408
+ ]
409
+ },
410
+ "remote_ip": {
411
+ "contents": [
412
+ {
413
+ "value": "```caddyfile\n@internal remote_ip 192.168.0.0/16 10.0.0.0/8\n@blocked remote_ip 1.2.3.4\n\nhandle @internal {\n reverse_proxy localhost:8080\n}\nrespond @blocked 403\n```\n**remote_ip** matcher matches the client's IP address. Supports CIDR notation for ranges. Useful for IP-based access control and routing."
414
+ }
415
+ ]
416
+ },
417
+ "expression": {
418
+ "contents": [
419
+ {
420
+ "value": "```caddyfile\n@complex expression `{header.Content-Type}.contains(\"json\") && {path}.startsWith(\"/api\")`\n@weekend expression `{time.now.Weekday} >= 6`\n@mobile expression `{header.User-Agent}.contains(\"Mobile\")`\n\nhandle @complex {\n reverse_proxy localhost:8080\n}\n```\n**expression** matcher uses CEL (Common Expression Language) for complex matching logic. Access request fields via `{placeholders}`. Supports string methods, logical operators, and Caddy-specific functions."
421
+ }
422
+ ]
423
+ },
424
+ "file": {
425
+ "contents": [
426
+ {
427
+ "value": "```caddyfile\n@exists file {\n root /var/www\n try_files {path} {path}/index.html\n}\nhandle @exists {\n file_server\n}\n```\n**file** matcher checks if a file exists on disk. Used for SPA fallback patterns (try files, then fall back to index.html). Supports `try_files` to check multiple paths in order."
428
+ }
429
+ ]
430
+ },
431
+ "not": {
432
+ "contents": [
433
+ {
434
+ "value": "```caddyfile\n@not_api not path /api/*\n@not_static not file\n\n@complex {\n not {\n path /health\n remote_ip 10.0.0.0/8\n }\n}\n```\n**not** matcher negates other matchers. Can wrap any matcher type. Useful for \"everything except\" patterns and complex exclusion rules."
435
+ }
436
+ ]
437
+ },
438
+ "named_matchers": {
439
+ "contents": [
440
+ {
441
+ "value": "```caddyfile\n# Define named matchers with @name\n@api {\n path /api/*\n method POST PUT DELETE\n}\n@static {\n path *.css *.js *.png\n not path /api/*\n}\n# Use with directives:\nreverse_proxy @api localhost:3000\nfile_server @static\nheader @api Cache-Control no-store\n```\n**Named matchers** (defined with `@name`) create reusable request matching rules. Combine multiple matchers (path, method, header, etc.) with AND logic. Use `@name` with any directive to conditionally apply it. Multiple matchers in a block must ALL match."
442
+ }
443
+ ]
444
+ },
445
+ "protocol": {
446
+ "contents": [
447
+ {
448
+ "value": "```caddyfile\n@https protocol https\n@grpc protocol grpc\n\nhandle @grpc {\n reverse_proxy h2c://localhost:50051\n}\n```\n**protocol** matcher matches the request protocol: `http`, `https`, `grpc`, `h2c`, etc. Useful for protocol-specific handling."
449
+ }
450
+ ]
451
+ },
452
+ "copy_response": {
453
+ "contents": [
454
+ {
455
+ "value": "```caddyfile\nreverse_proxy localhost:8080 {\n @error status 500 502 503\n handle_response @error {\n copy_response\n copy_response_headers\n }\n}\n```\n**copy_response** copies the response from a `handle_response` block (used with `reverse_proxy`). Forwards the upstream response status and body to the client. Used for intercepting/modifying error responses."
456
+ }
457
+ ]
458
+ },
459
+ "copy_response_headers": {
460
+ "contents": [
461
+ {
462
+ "value": "```caddyfile\nreverse_proxy localhost:8080 {\n @error status 500 502 503\n handle_response @error {\n copy_response_headers {\n include X-Request-Id\n exclude Set-Cookie\n }\n respond \"Service unavailable\" 503\n }\n}\n```\n**copy_response_headers** selectively copies response headers from the upstream in a `handle_response` block. Use `include` or `exclude` to filter headers."
463
+ }
464
+ ]
465
+ },
466
+ "push": {
467
+ "contents": [
468
+ {
469
+ "value": "```caddyfile\nexample.com {\n push /resources {\n headers {\n Link \"</style.css>; rel=preload; as=style, </app.js>; rel=preload; as=script\"\n }\n }\n file_server\n}\n```\n**push** enables HTTP/2 Server Push for specified resources. The server proactively sends linked resources before the browser requests them. Reduces latency for critical assets. Requires HTTP/2."
470
+ }
471
+ ]
472
+ },
473
+ "{env.*}": {
474
+ "contents": [
475
+ {
476
+ "value": "```caddyfile\nexample.com {\n reverse_proxy {env.BACKEND_HOST}:{env.BACKEND_PORT}\n tls {env.TLS_EMAIL}\n basicauth {\n admin {env.ADMIN_HASH}\n }\n}\n```\n**{env.*}** placeholder accesses environment variables. Use for secrets, configuration that varies between environments, and anything that shouldn't be hardcoded. Evaluated at config load time."
477
+ }
478
+ ]
479
+ },
480
+ "{err.*}": {
481
+ "contents": [
482
+ {
483
+ "value": "```caddyfile\nhandle_errors {\n respond \"{err.status_code}: {err.status_text}\" {err.status_code}\n # Available: {err.status_code}, {err.status_text}, {err.message}, {err.trace}, {err.id}\n}\n```\n**{err.*}** placeholders are available inside `handle_errors` blocks. Access error details: `status_code` (HTTP code), `status_text` (status phrase), `message` (error message), `trace` (stack trace), `id` (error ID)."
484
+ }
485
+ ]
486
+ },
487
+ "{http.request.*}": {
488
+ "contents": [
489
+ {
490
+ "value": "```caddyfile\nlog {\n output file access.log\n format json\n}\nheader X-Request-Method {http.request.method}\nheader X-Request-Host {http.request.host}\n# Also: {http.request.uri}, {http.request.uri.path},\n# {http.request.uri.query}, {http.request.remote}, etc.\n```\n**{http.request.*}** placeholders access request properties: `method`, `host`, `uri`, `uri.path`, `uri.query`, `remote` (client IP), `proto` (HTTP version), `port`, `scheme`. Available in all site configurations."
491
+ }
492
+ ]
493
+ },
494
+ "{http.request.cookie.*}": {
495
+ "contents": [
496
+ {
497
+ "value": "```caddyfile\n@has_session header Cookie *session_id*\nhandle @has_session {\n reverse_proxy localhost:8080 {\n header_up X-Session {http.request.cookie.session_id}\n }\n}\n```\n**{http.request.cookie.*}** extracts individual cookie values from the request. Replace `*` with the cookie name. Useful for cookie-based routing, session forwarding, and authentication checks."
498
+ }
499
+ ]
500
+ },
501
+ "{http.request.tls.*}": {
502
+ "contents": [
503
+ {
504
+ "value": "```caddyfile\nheader X-TLS-Version {http.request.tls.version}\nheader X-TLS-Cipher {http.request.tls.cipher_suite}\n# Also: {http.request.tls.server_name} (SNI)\n# {http.request.tls.client.fingerprint}\n# {http.request.tls.client.subject}\n```\n**{http.request.tls.*}** placeholders access TLS connection info: `version` (TLS version), `cipher_suite`, `server_name` (SNI), `resumed` (session resumed), and client certificate fields for mTLS."
505
+ }
506
+ ]
507
+ },
508
+ "{http.response.*}": {
509
+ "contents": [
510
+ {
511
+ "value": "```caddyfile\nreverse_proxy localhost:8080 {\n handle_response {\n header X-Upstream-Status {http.response.status}\n # {http.response.header.*} accesses response headers\n }\n}\n```\n**{http.response.*}** placeholders access response properties: `status` (status code) and `header.*` (response headers). Primarily used in `handle_response` blocks and logging templates."
512
+ }
513
+ ]
514
+ },
515
+ "{http.reverse_proxy.*}": {
516
+ "contents": [
517
+ {
518
+ "value": "```caddyfile\nreverse_proxy localhost:8080 localhost:8081 {\n header_up X-Upstream {http.reverse_proxy.upstream.address}\n handle_response {\n header X-Upstream-Duration {http.reverse_proxy.upstream.duration}\n header X-Upstream-Status {http.reverse_proxy.upstream.status}\n }\n}\n```\n**{http.reverse_proxy.*}** placeholders provide reverse proxy details: `upstream.address` (selected backend), `upstream.duration` (response time), `upstream.status` (upstream status code), `upstream.max_requests`. Available in proxy handler and response handling."
519
+ }
520
+ ]
521
+ },
522
+ "ocsp_stapling_option": {
523
+ "contents": [
524
+ {
525
+ "value": "\n**ocsp_stapling** global option controls OCSP stapling behavior. By default, Caddy automatically staples OCSP responses to TLS handshakes for improved client performance and privacy. Set to `off` to disable."
526
+ }
527
+ ]
528
+ }
529
+ }
530
+ }