{"repo":"netmute/ctags-lsp","free":true,"listed":false,"github":"https://github.com/netmute/ctags-lsp","clone":"git clone https://github.com/netmute/ctags-lsp.git","description":"LSP implementation using universal-ctags as backend","language":"Go","stars":148,"topics":["ctags","language-server","language-server-protocol","lsp"],"license":"MIT","category":"dev-tools","readme_excerpt":"Note: This is documentation for the development version! The docs for the last release version are here. CTags Language Server A Language Server Protocol (LSP) implementation using universal-ctags as backend, supporting 100+ languages. This won't replace your dedicated language server, and it doesn't try to. The goal is to have a \"better than nothing\" language server that's trivial to setup for any language. What it does On startup, ctags-lsp runs universal-ctags to index your workspace and keeps that index in memory to provide code completion, go-to-definition, and document/workspace symbols. It never creates or updates tagfiles. Installation brew will automatically install dependencies for you. When installing with mise or go, you must install universal-ctags yourself (ctags installation). Use with your editor Any editor with a built-in LSP client should work. Working examples are below. Neovim Helix Add this to /.config/helix/languages.toml : Advanced Speeding up startup Most projects are completely indexed in less than 1s. If startup is slow for your workspace: - Limit which languages are being indexed with --languages . The option is passed through to ctags unchanged; for available options see the universal-ctags manual on the topic. - Leverage an existing tagfile, so ctags-lsp doesn’t have to run ctags on startup, with --tagfile . Tagfiles You can use an existing tagfile with --tagfile= . When set, the server parses the tagfile and skips the workspace scan. This is only","default_branch":null,"files":null,"tree":[],"storefront":"/r/netmute","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/netmute/ctags-lsp/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}