diff options
| author | Michael Lingelbach <m.j.lbach@gmail.com> | 2021-05-16 20:59:03 -0700 |
|---|---|---|
| committer | Michael Lingelbach <m.j.lbach@gmail.com> | 2021-05-17 08:40:29 -0700 |
| commit | 5add2effdff095ab0b60fae5a96016f1ad023256 (patch) | |
| tree | 6fd5394698962d00e1979736b56a6b219e83c9e3 /README.md | |
| parent | docs: simplify and reorganize (diff) | |
| download | nvim-lspconfig-5add2effdff095ab0b60fae5a96016f1ad023256.tar nvim-lspconfig-5add2effdff095ab0b60fae5a96016f1ad023256.tar.gz nvim-lspconfig-5add2effdff095ab0b60fae5a96016f1ad023256.tar.bz2 nvim-lspconfig-5add2effdff095ab0b60fae5a96016f1ad023256.tar.lz nvim-lspconfig-5add2effdff095ab0b60fae5a96016f1ad023256.tar.xz nvim-lspconfig-5add2effdff095ab0b60fae5a96016f1ad023256.tar.zst nvim-lspconfig-5add2effdff095ab0b60fae5a96016f1ad023256.zip | |
Update
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 24 |
1 files changed, 20 insertions, 4 deletions
@@ -1,8 +1,24 @@ # nvim-lspconfig - A collection of common configurations for Neovim's built-in [language server client](https://neovim.io/doc/user/lsp.html). + This repo handles automatically launching and initializing language servers that are installed on your system. +# LSP overview + +Neovim supports the Language Server Protocol (LSP), which means it acts as a client to language servers and includes a Lua framework `vim.lsp` for building enhanced LSP tools. LSP facilitates features like: + +- go-to-definition +- find-references +- hover +- completion +- rename +- format +- refactor + +Neovim provides an interface for all of these features, and the language server client is designed to be highly extensible to allow plugins to integrate language server features which are not yet present in Neovim core such as [**auto**-completion](https://github.com/neovim/nvim-lspconfig/wiki/Autocompletion) (as opposed to manual completion with omnifunc) and [snippet integration](https://github.com/neovim/nvim-lspconfig/wiki/Snippets). + +These features are not implemented in this repo, but in Neovim core. See `:help lsp` for more details. + ## Install * Requires [Neovim HEAD/nightly](https://github.com/neovim/neovim/releases/tag/nightly) (v0.5 prerelease). Update Neovim and nvim-lspconfig before reporting an issue. @@ -19,7 +35,7 @@ npm i -g pyright ``` 2. Add the language server setup to your init.vim. The server name must match those found in the table of contents in [CONFIG.md](CONFIG.md) ```vim -lua << eof +lua << EOF require'lspconfig'.pyright.setup{} eof ``` @@ -42,14 +58,14 @@ Language servers require each project to have a `root` in order to provide compl ## Enabling additional language servers -Enabling most language servers is as easy as installing the language on your PATH, and adding the following to your config: +Enabling most language servers is as easy as installing the language server, ensuring it is on your PATH, and adding the following to your config: ```vim lua << EOF require'lspconfig'.rust_analyzer.setup{} EOF ``` -For a full list of servers, see [CONFIG.md](CONFIG.md). This document contains installation instructions and additional, optional customization suggestions for each language server. For some servers that are not on your system path (jdtls, elixirls) you will be required to manually add `cmd` as an entry in the table passed to setup. +For a full list of servers, see [CONFIG.md](CONFIG.md). This document contains installation instructions and additional, optional customization suggestions for each language server. For some servers that are not on your system path (jdtls, elixirls) you will be required to manually add `cmd` as an entry in the table passed to setup. Most language servers can be installed in less than a minute. ## Keybindings and completion |
