aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorMichael Lingelbach <m.j.lbach@gmail.com>2021-05-16 20:59:03 -0700
committerMichael Lingelbach <m.j.lbach@gmail.com>2021-05-17 08:40:29 -0700
commit5add2effdff095ab0b60fae5a96016f1ad023256 (patch)
tree6fd5394698962d00e1979736b56a6b219e83c9e3 /README.md
parentdocs: simplify and reorganize (diff)
downloadnvim-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.md24
1 files changed, 20 insertions, 4 deletions
diff --git a/README.md b/README.md
index 39cf6218..81e309df 100644
--- a/README.md
+++ b/README.md
@@ -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