diff --git a/docs/_posts/2020-10-07-use-vim-as-a-clojure-ide.md b/docs/_posts/2020-10-07-use-vim-as-a-clojure-ide.md index 55b0d69ad..8a3343ebf 100644 --- a/docs/_posts/2020-10-07-use-vim-as-a-clojure-ide.md +++ b/docs/_posts/2020-10-07-use-vim-as-a-clojure-ide.md @@ -19,6 +19,9 @@ Each of the following sections will be covered: - [Enable language layer](#enable-language-layer) - [code completion](#code-completion) +- [Language server](#language-server) + - [neovim(`>=0.5.0`)](#neovim050) + - [vim or neovim(`<0.5.0`)](#vim-or-neovim050) - [alternate file jumping](#alternate-file-jumping) - [code running](#code-running) - [REPL support](#repl-support) @@ -46,6 +49,50 @@ for more info, you can read the [lang#clojure](../layers/lang/clojure/) layer do By default the autocomplete layer has been enabled, so after loading `lang#clojure` layer, the code completion for clojure language should work well. +### Language server + +There are two ways to configure the clojure language server protocol. + +#### neovim(`>=0.5.0`) + +If you are using `nvim(>=0.5.0)`. You need to use `enabled_clients` to specific the language servers. +for example: + +```toml +[[layers]] + name = 'lsp' + enabled_clients = ['clojure_lsp'] +``` + +To override the command of client, you may need to use `override_client_cmds` option: + +```toml +[[layers]] + name = "lsp" + enabled_clients = ['clojure_lsp'] + [layers.override_client_cmds] + clojure_lsp = ['clojure-lsp'] +``` + +You need to install [`clojure-lsp`](https://clojure-lsp.io/installation/). + +``` +scoop install clojure-lsp +``` + +#### vim or neovim(`<0.5.0`) + +To enable language server protocol support, you may need to enable lsp layer. + +```toml +[[layers]] + name = "lsp" + filetypes = [ + "clojure" + ] + [layers.override_cmd] + clojure = ['clojure-lsp'] +``` ### alternate file jumping