Update README
Provide additional details about optional dependencies
This commit is contained in:
@@ -12,16 +12,37 @@ These are the requirements to make use of this neovim configuration. Currently o
|
||||
|
||||
## Optional
|
||||
|
||||
The following are optional but provides additional features.
|
||||
The following are optional but provides additional features:
|
||||
|
||||
### Language Server dependencies
|
||||
Some language servers included in this config requires some additional software. Without these installed, you will get a warning and the servers will not be enabled. If you don't need them, and want to get rid of the warning, you may either remove them from `lua/lsp/servers/init.lua` or disable them in `lua/lsp/servers/<server>.lua`.
|
||||
- make
|
||||
- gcc and g++
|
||||
- npm
|
||||
- python3 with venv
|
||||
- java runtime
|
||||
- shellcheck
|
||||
|
||||
- **bashls**: npm, shellcheck
|
||||
- **diagnosticls**: npm
|
||||
The sections below describes this in more detail.
|
||||
|
||||
### treesitter
|
||||
The treesitter CLI executable might be needed for installing some parsers. You will encounter an error if you try to install one that requires it and you don't have treesitter CLI utility installed.
|
||||
### Treesitter
|
||||
Some parsers require tools for compilation, like `gcc` and/or `g++`. There are far too many parsers for me to list (and keep track of) all their dependencies here, but `gcc` and `g++` should cover a lot of them. You will generally encounter an error that describes if something is missing upon opening specific filetypes, because treesitter is configured to automatically install parsers when needed.
|
||||
|
||||
### LuaSnip
|
||||
`jsregexp` is required in order to perform some [transformations](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_variable-transforms). See [here](https://github.com/L3MON4D3/LuaSnip/blob/master/DOC.md#transformations) for more information. You don't need to install this yourself, because it will attempt to compile it automatically using `make` and `gcc`. If either `make` or `gcc` is not available you might see an error in the lazy installation of LuaSnip.
|
||||
|
||||
### Language servers
|
||||
Language servers are installed automatically to the nvim data directory (`:echo stdpath('data') .. '/mason'`). The following are some noted requirements for the installations themselves:
|
||||
|
||||
- **diagnostic-languageserver**: npm
|
||||
- **bash-language-server**: npm
|
||||
- **cmake-language-server**: python3 with venv
|
||||
- **jedi-language-server**: python3 with venv
|
||||
- **groovy-language-server**: java
|
||||
|
||||
Some servers have additional runtime dependencies:
|
||||
|
||||
- **bash-language-server**: shellcheck (optional, used for linting)
|
||||
|
||||
If you don't need some specific language server, and want to get rid of any warning messages, you may either remove them from `lua/lsp/servers/init.lua` or disable them in `lua/lsp/servers/<server>.lua`.
|
||||
|
||||
### Clipboard
|
||||
see `:checkhealth` and `:h clipboard`.
|
||||
|
||||
Reference in New Issue
Block a user