diff options
| author | Justin M. Keyes <justinkz@gmail.com> | 2020-09-05 16:22:27 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-09-05 16:22:27 -0700 |
| commit | 53f0c2d05475375c531494078bd30263fbe08b74 (patch) | |
| tree | 300847eb4c09b455829c06ade3b7f06dc67d50ee /CONTRIBUTING.md | |
| parent | [docgen] Update README.md (diff) | |
| download | nvim-lspconfig-53f0c2d05475375c531494078bd30263fbe08b74.tar nvim-lspconfig-53f0c2d05475375c531494078bd30263fbe08b74.tar.gz nvim-lspconfig-53f0c2d05475375c531494078bd30263fbe08b74.tar.bz2 nvim-lspconfig-53f0c2d05475375c531494078bd30263fbe08b74.tar.lz nvim-lspconfig-53f0c2d05475375c531494078bd30263fbe08b74.tar.xz nvim-lspconfig-53f0c2d05475375c531494078bd30263fbe08b74.tar.zst nvim-lspconfig-53f0c2d05475375c531494078bd30263fbe08b74.zip | |
doc #346
Diffstat (limited to 'CONTRIBUTING.md')
| -rw-r--r-- | CONTRIBUTING.md | 47 |
1 files changed, 27 insertions, 20 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7d0ba530..9ac8e039 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,10 +1,21 @@ -# Requirements +# Contributing to nvim-lspconfig + +Thank you! + +## Requirements - [Neovim](https://neovim.io/) :P -- `scripts/docgen.lua` expects a unix system. -- Lint task requires [luacheck](https://github.com/mpeterv/luacheck#installation). +- Documentation is generated by `scripts/docgen.lua`. + - Only works on unix, you can ignore it on Windows. +- Lint task requires [luacheck](https://github.com/luarocks/luacheck#installation). + +## Lint + +PRs are checked with Luacheck. To run the linter locally: -# Generating docs + make lint + +## Generating docs > Note: Github Actions automatically generates the docs, so only modify > `README_template.md` or the `docs` object on the server config. @@ -15,7 +26,7 @@ To preview the generated `README.md` locally, run `scripts/docgen.lua` from nvim -R -Es +'set rtp+=$PWD' +'luafile scripts/docgen.lua' -# Configs +## Configs The `configs` module is a singleton where configs are defined. In `vim.validate` parlance here is the "spec": @@ -66,20 +77,16 @@ Example: ## Auto-install -Configs may optionally provide `install()` and `install_info()` functions. This -will be discovered by `:LspInstall` and `:LspInstallInfo`. - -`function install()` is the signature and it is expected that it will create -any data in `util.base_install_dir/{server_name}`. - -`function install_info()` should return a table with at least `is_installed` -which indicates the current status of installation (if it is installed by us). -It can contain any other additional data that the user may find useful. +Configs may optionally provide `install()` and `install_info()` functions which +are discovered by `:LspInstall` and `:LspInstallInfo`. Function +`util.npm_installer()` can be used for`npm`-installable language servers. See +`elmls.lua`, `tsserver.lua`, `bashls.lua` for examples. -Function `util.npm_installer()` can be used for`npm`-installable language -servers. See `elmls.lua`, `tsserver.lua`, `bashls.lua` for examples. - -## Lint +Note **we are considering removing the auto-install concept** +([#334](https://github.com/neovim/nvim-lspconfig/issues/334)). Instead, each +config should _document_ key installation details: -When you create a pull request and push commit, Github Action run luacheck automaticaly. -If you want to run luacheck on your local, you can use `make lint`. +- URL to download the server +- URL to documentation explaining how to install the server +- Brief instructions that user can copy/paste into their shell to install via + common package managers such as apt-get/homebrew. |
