aboutsummaryrefslogtreecommitdiffstats
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2020-09-05 16:22:27 -0700
committerGitHub <noreply@github.com>2020-09-05 16:22:27 -0700
commit53f0c2d05475375c531494078bd30263fbe08b74 (patch)
tree300847eb4c09b455829c06ade3b7f06dc67d50ee /CONTRIBUTING.md
parent[docgen] Update README.md (diff)
downloadnvim-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.md47
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.