aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJINNOUCHI Yasushi <me@delphinus.dev>2026-04-23 23:25:23 +0900
committerGitHub <noreply@github.com>2026-04-23 10:25:23 -0400
commit766ebf84062f8f96e698e7ed47adebe8d60a32e6 (patch)
tree9baa16f4ece1ac6a682cae33732465a77865332b
parentdocs: update configs.md (diff)
downloadnvim-lspconfig-766ebf84062f8f96e698e7ed47adebe8d60a32e6.tar
nvim-lspconfig-766ebf84062f8f96e698e7ed47adebe8d60a32e6.tar.gz
nvim-lspconfig-766ebf84062f8f96e698e7ed47adebe8d60a32e6.tar.bz2
nvim-lspconfig-766ebf84062f8f96e698e7ed47adebe8d60a32e6.tar.lz
nvim-lspconfig-766ebf84062f8f96e698e7ed47adebe8d60a32e6.tar.xz
nvim-lspconfig-766ebf84062f8f96e698e7ed47adebe8d60a32e6.tar.zst
nvim-lspconfig-766ebf84062f8f96e698e7ed47adebe8d60a32e6.zip
feat: ctags_lsp #4399
-rw-r--r--lsp/ctags_lsp.lua28
1 files changed, 28 insertions, 0 deletions
diff --git a/lsp/ctags_lsp.lua b/lsp/ctags_lsp.lua
new file mode 100644
index 00000000..07c65a61
--- /dev/null
+++ b/lsp/ctags_lsp.lua
@@ -0,0 +1,28 @@
+---@brief
+---
+--- https://github.com/netmute/ctags-lsp
+---
+--- A simple LSP server wrapping universal-ctags. Provides completion,
+--- go-to-definition, and document/workspace symbols. Useful as a generic
+--- symbol provider for languages without a dedicated language server, or
+--- as a fallback alongside other LSPs.
+---
+--- Requires `universal-ctags` to be installed and available in `$PATH`.
+--- Pre-built binaries are at https://github.com/netmute/ctags-lsp/releases
+--- (Homebrew: `brew install netmute/tap/ctags-lsp`).
+---
+--- The server is generic and does not declare default `filetypes`. Configure
+--- the languages you want it to attach to:
+---
+--- ```lua
+--- vim.lsp.config('ctags_lsp', {
+--- filetypes = { 'lua', 'ruby', 'go' },
+--- })
+--- vim.lsp.enable('ctags_lsp')
+--- ```
+
+---@type vim.lsp.Config
+return {
+ cmd = { 'ctags-lsp' },
+ root_markers = { 'tags', '.tags', '.git' },
+}