aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>2026-02-24 10:40:40 +0000
committergithub-actions[bot] <github-actions[bot]@users.noreply.github.com>2026-02-24 10:40:40 +0000
commit558b9ef80274d6d741cbcdbe5cf33f35f7e12b55 (patch)
treeacd38afb4d7a5e7e3fe575b861c3eca28fb581e9
parentfeat: kakehashi #4317 (diff)
downloadnvim-lspconfig-558b9ef80274d6d741cbcdbe5cf33f35f7e12b55.tar
nvim-lspconfig-558b9ef80274d6d741cbcdbe5cf33f35f7e12b55.tar.gz
nvim-lspconfig-558b9ef80274d6d741cbcdbe5cf33f35f7e12b55.tar.bz2
nvim-lspconfig-558b9ef80274d6d741cbcdbe5cf33f35f7e12b55.tar.lz
nvim-lspconfig-558b9ef80274d6d741cbcdbe5cf33f35f7e12b55.tar.xz
nvim-lspconfig-558b9ef80274d6d741cbcdbe5cf33f35f7e12b55.tar.zst
nvim-lspconfig-558b9ef80274d6d741cbcdbe5cf33f35f7e12b55.zip
docs: update configs.md
skip-checks: true
-rw-r--r--doc/configs.md68
-rw-r--r--doc/configs.txt60
2 files changed, 114 insertions, 14 deletions
diff --git a/doc/configs.md b/doc/configs.md
index a88efb95..8c906a93 100644
--- a/doc/configs.md
+++ b/doc/configs.md
@@ -165,6 +165,7 @@ Nvim by running `:help lspconfig-all`.
- [jsonnet_ls](#jsonnet_ls)
- [julials](#julials)
- [just](#just)
+- [kakehashi](#kakehashi)
- [kcl](#kcl)
- [koka](#koka)
- [kotlin_language_server](#kotlin_language_server)
@@ -2476,11 +2477,11 @@ Default config:
{
editorInfo = {
name = "Neovim",
- version = "0.12.0-dev+g97509aa2be"
+ version = "0.12.0-dev+gd9d8c660fd"
},
editorPluginInfo = {
name = "Neovim",
- version = "0.12.0-dev+g97509aa2be"
+ version = "0.12.0-dev+gd9d8c660fd"
}
}
```
@@ -4952,20 +4953,20 @@ Default config:
{
editorInfo = {
name = "Neovim",
- version = "0.12.0-dev+g97509aa2be"
+ version = "0.12.0-dev+gd9d8c660fd"
},
editorPluginInfo = {
name = "Neovim LSP",
- version = "0.12.0-dev+g97509aa2be"
+ version = "0.12.0-dev+gd9d8c660fd"
},
extension = {
name = "Neovim LSP Client",
- version = "0.12.0-dev+g97509aa2be"
+ version = "0.12.0-dev+gd9d8c660fd"
},
ide = {
name = "Neovim",
vendor = "Neovim",
- version = "0.12.0-dev+g97509aa2be"
+ version = "0.12.0-dev+gd9d8c660fd"
}
}
```
@@ -6531,6 +6532,59 @@ Default config:
---
+## kakehashi
+
+https://github.com/atusy/kakehashi
+
+Tree-sitter-based language server that provides semantic tokens, selection ranges,
+and LSP bridging for embedded languages (e.g., code blocks in Markdown).
+
+kakehashi works with any language that has a Tree-sitter grammar.
+Parsers and queries are automatically installed on first use
+when `autoInstall` is enabled (the default). This requires the
+`tree-sitter` CLI, a C compiler, and Git.
+
+**You must specify `filetypes` in your call to `vim.lsp.config`** to
+restrict which files activate the server:
+
+```lua
+vim.lsp.config('kakehashi', {
+ filetypes = { 'markdown', 'lua', 'rust', 'python' },
+ init_options = {
+ autoInstall = true,
+ -- Optional: bridge LSP requests in injection regions
+ languageServers = {
+ ['lua_ls'] = {
+ cmd = { 'lua-language-server' },
+ languages = { 'lua' },
+ },
+ },
+ languages = {
+ markdown = {
+ bridge = { lua_ls = { enabled = true } },
+ },
+ },
+ },
+})
+```
+
+Snippet to enable the language server:
+```lua
+vim.lsp.enable('kakehashi')
+```
+
+Default config:
+- `cmd` :
+ ```lua
+ { "kakehashi" }
+ ```
+- `root_markers` :
+ ```lua
+ { "kakehashi.toml", ".git" }
+ ```
+
+---
+
## kcl
https://github.com/kcl-lang/kcl.nvim
@@ -11226,7 +11280,7 @@ Default config:
activateSnykIac = "true",
activateSnykOpenSource = "true",
integrationName = "Neovim",
- integrationVersion = "0.12.0-dev+g97509aa2be",
+ integrationVersion = "0.12.0-dev+gd9d8c660fd",
token = vim.NIL,
trustedFolders = {}
}
diff --git a/doc/configs.txt b/doc/configs.txt
index 3c113bc2..37c4edc0 100644
--- a/doc/configs.txt
+++ b/doc/configs.txt
@@ -1626,11 +1626,11 @@ Default config:
{
editorInfo = {
name = "Neovim",
- version = "0.12.0-dev+g97509aa2be"
+ version = "0.12.0-dev+gd9d8c660fd"
},
editorPluginInfo = {
name = "Neovim",
- version = "0.12.0-dev+g97509aa2be"
+ version = "0.12.0-dev+gd9d8c660fd"
}
}
- on_attach (use "gF" to view): ../lsp/copilot.lua:106
@@ -3528,20 +3528,20 @@ Default config:
{
editorInfo = {
name = "Neovim",
- version = "0.12.0-dev+g97509aa2be"
+ version = "0.12.0-dev+gd9d8c660fd"
},
editorPluginInfo = {
name = "Neovim LSP",
- version = "0.12.0-dev+g97509aa2be"
+ version = "0.12.0-dev+gd9d8c660fd"
},
extension = {
name = "Neovim LSP Client",
- version = "0.12.0-dev+g97509aa2be"
+ version = "0.12.0-dev+gd9d8c660fd"
},
ide = {
name = "Neovim",
vendor = "Neovim",
- version = "0.12.0-dev+g97509aa2be"
+ version = "0.12.0-dev+gd9d8c660fd"
}
}
- on_attach (use "gF" to view): ../lsp/gitlab_duo.lua:317
@@ -4733,6 +4733,52 @@ Default config:
<
------------------------------------------------------------------------------
+kakehashi
+
+https://github.com/atusy/kakehashi
+
+Tree-sitter-based language server that provides semantic tokens, selection ranges,
+and LSP bridging for embedded languages (e.g., code blocks in Markdown).
+
+kakehashi works with any language that has a Tree-sitter grammar.
+Parsers and queries are automatically installed on first use
+when `autoInstall` is enabled (the default). This requires the
+`tree-sitter` CLI, a C compiler, and Git.
+
+**You must specify `filetypes` in your call to `vim.lsp.config`** to
+restrict which files activate the server:
+>lua
+ vim.lsp.config('kakehashi', {
+ filetypes = { 'markdown', 'lua', 'rust', 'python' },
+ init_options = {
+ autoInstall = true,
+ -- Optional: bridge LSP requests in injection regions
+ languageServers = {
+ ['lua_ls'] = {
+ cmd = { 'lua-language-server' },
+ languages = { 'lua' },
+ },
+ },
+ languages = {
+ markdown = {
+ bridge = { lua_ls = { enabled = true } },
+ },
+ },
+ },
+ })
+
+Snippet to enable the language server: >lua
+ vim.lsp.enable('kakehashi')
+
+
+Default config:
+- cmd: >lua
+ { "kakehashi" }
+- root_markers: >lua
+ { "kakehashi.toml", ".git" }
+<
+
+------------------------------------------------------------------------------
kcl
https://github.com/kcl-lang/kcl.nvim
@@ -8341,7 +8387,7 @@ Default config:
activateSnykIac = "true",
activateSnykOpenSource = "true",
integrationName = "Neovim",
- integrationVersion = "0.12.0-dev+g97509aa2be",
+ integrationVersion = "0.12.0-dev+gd9d8c660fd",
token = vim.NIL,
trustedFolders = {}
}