diff options
Diffstat (limited to 'CONTRIBUTING.md')
| -rw-r--r-- | CONTRIBUTING.md | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d46017f7..1495e8af 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -84,3 +84,18 @@ After you create a skeleton, you have to `require 'nvim_lsp/SERVER_NAME'` in `lua/nvim_lsp.lua`, and that's it. Generate docs and you're done. + +# Supporting installation + +If a skeleton has the functions `.install()` and `.install_info()` available, then +it will be picked up 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. + +The helper function `util.npm_installer` can be used for lsps which are installed +with `npm`. See `elmls.lua` or `tsserver.lua` or `bashls.lua` for example usage. |
