aboutsummaryrefslogtreecommitdiffstats
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
authorAshkan Kiani <ashkan.k.kiani@gmail.com>2019-11-15 17:26:22 -0800
committerGitHub <noreply@github.com>2019-11-15 17:26:22 -0800
commit5686a90890105e6271307e86b472f729af1cc4f8 (patch)
tree7d691ac0e7ea2feb58c5862dd52a1c8bfbef6fb4 /CONTRIBUTING.md
parent[docgen] Update README.md (diff)
downloadnvim-lspconfig-5686a90890105e6271307e86b472f729af1cc4f8.tar
nvim-lspconfig-5686a90890105e6271307e86b472f729af1cc4f8.tar.gz
nvim-lspconfig-5686a90890105e6271307e86b472f729af1cc4f8.tar.bz2
nvim-lspconfig-5686a90890105e6271307e86b472f729af1cc4f8.tar.lz
nvim-lspconfig-5686a90890105e6271307e86b472f729af1cc4f8.tar.xz
nvim-lspconfig-5686a90890105e6271307e86b472f729af1cc4f8.tar.zst
nvim-lspconfig-5686a90890105e6271307e86b472f729af1cc4f8.zip
Redo installation. (#17)
* Redo installation. Servers which want to be auto installed should specify skeleton[name].install() and it will be automatically added to the list of installable servers. - Add :LspInstall and :LspInstallInfo - Auto generate docs for servers with .install() available. - Add util.npm_installer - Refactor utf8 capabilities common config into a single function - Add contribution notes. - Also expose util.base_install_dir for other installers potentially - Fix tsserver's arguments and add javascript filetypes
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.