aboutsummaryrefslogtreecommitdiffstats
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r--CONTRIBUTING.md15
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.