lazy-lsp.nvim
nvim-lsp
lazy-lsp.nvim | nvim-lsp | |
---|---|---|
2 | 1 | |
182 | 6,664 | |
- | - | |
8.3 | 10.0 | |
21 days ago | over 1 year ago | |
Lua | Lua | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
lazy-lsp.nvim
-
Introducing lazy-lsp.nvim - lazily auto install and use 70+ LSP servers
lazy-lsp.nvim is a new plugin to automatically install lsp servers in Neovim. It is an alternative to the well known nvim-lsp-installer / mason.nvim, but aims to minimize the need of manual intervention. The goal is to set it once, forget and have lsp connections automatically available for a large number of languages.
nvim-lsp
-
Setting up a local config for clangd not working for project not working.
return { local cwd = vim.fn.getcwd(-1, -1) if cwd == "/home/jared/Projects/CPP/NakOS" then local configs = require("nvim_lsp/configs") local util = require("nvim_lsp/util") local root_pattern = util.root_pattern("compile_commands.json", "compile_flags.txt", ".git") configs.clangd = { default_config = util.utf8_config({ cmd = { "clangd", "--background-index", "--query-driver", "/home/jared/Projects/CPP/NakOS/Toolchain/opt/cross/bin/i686-elf-g++", }, filetypes = { "c", "cpp", "objc", "objcpp" }, root_dir = function(fname) local filename = util.path.is_absolute(fname) and fname or util.path.join(vim.loop.cwd(), fname) return root_pattern(filename) or util.path.dirname(filename) end, }), -- commands = {}; -- on_new_config = function(new_config) end; -- on_attach = function(client, bufnr) end; docs = { description = [[ https://clang.llvm.org/extra/clangd/Installation.html **NOTE:** Clang >= 9 is recommended! See [this issue for more](https://github.com/neovim/nvim-lsp/issues/23). clangd relies on a [JSON compilation database](https://clang.llvm.org/docs/JSONCompilationDatabase.html) specified as compile_commands.json or, for simpler projects, a compile_flags.txt. ]], default_config = { root_dir = [[root_pattern("compile_commands.json", "compile_flags.txt", ".git") or dirname]], on_init = [[function to handle changing offsetEncoding]], capabilities = [[default capabilities, with offsetEncoding utf-8]], }, }, } end }
What are some alternatives?
mason.nvim - Portable package manager for Neovim that runs everywhere Neovim runs. Easily install and manage LSP servers, DAP servers, linters, and formatters.
deep-symbols - LSP document symbols improved
nvim-lspconfig - Quickstart configs for Nvim LSP
CuberiteExamplePlugin - [WIP] This is an example plugin to get you comfortable with Cuberite plugins etc
nvim-lsp-installer - Further development has moved to https://github.com/williamboman/mason.nvim!
nlsp-settings.nvim - A plugin for setting Neovim LSP with JSON or YAML files
dotfiles - My dotfiles
cellular-automaton.nvim - A useless plugin that might help you cope with stubbornly broken tests or overall lack of sense in life. It lets you execute aesthetically pleasing, cellular automaton animations based on the content of neovim buffer.
stay-centered.nvim - A neovim plugin to keep your cursor at the center of the screen.
pwnvim - 👾 Neovim, the k1ss way [Moved to: https://github.com/pwnwriter/pwnvim]
csv-tools.lua - for csv
markid - A Neovim extension to highlight same-name identifiers with the same color.