aboutsummaryrefslogtreecommitdiff

vim-lsp-settings

Auto configurations for Language Server for vim-lsp

Introduction

Language Servers is not easily to install. Visual Studio Code provide easy way to install/update Language Server and Language Server Client. This plugin provide same feature on Vim.

Installation instruction

For vim-plug plugin manager:

Plug 'prabirshrestha/async.vim'
Plug 'prabirshrestha/asyncomplete.vim'
Plug 'prabirshrestha/asyncomplete-lsp.vim'
Plug 'prabirshrestha/vim-lsp'
Plug 'mattn/vim-lsp-settings'

You need to install both vim-lsp and its accompanying plugins and vim-lsp-settings.

Notice

If you use plugin manager that is merging plugins (ex. dein), Please setting stop merging work(ex. dein / merged = 0).

reason:

Servers are installed in ./servers directory at the caching area. But when rebuild the cache, any merging plugin manager erases old cached files(include ./servers and server execute files) before install.

Usage

If you install rls already, you can use rls without configurations. But if you not installed rls yet, you can install it by following this instruction.

If you install clangd already, you can use clangd for C/C++ without configurations. But if you install clang with named clangd-6.0, you can replace executable like below:

let g:lsp_settings = {
\  'clangd': {'cmd': ['clangd-6.0']}
\}

Overridable keys are:

  • cmd (List ex: ['clangd-6.0', '-enable-snippets'])
  • initialization_options (Dictionary)
  • whitelist (List)
  • blacklist (List)
  • config (Dictionary)
  • workspace_config (Dictionary)

If you install ruby but not solargraph, you can install solargraph with following command.

:LspInstallServer

Currently, no way to uninstall/update server. Run this command again, newer version will be installed.

Supported Languages

Language Language Server Local Install
C/C++ clangd No
C# omnisharp Yes
Clojure clojure-lsp Yes
TypeScript typescript-language-server Yes
JavaScript javascript-typescript-langserver/typescript-language-server Yes
Python pyls Yes
Rust rls No
Go gopls Yes
Ruby solargraph Yes
PHP intelephense Yes
Java eclipse-jdt-ls Yes
Lua emmylua-ls Yes
Vim vim-language-server Yes
Bash bash-language-server Yes
Terraform terraform-lsp Yes
Dockerfile dockerfile-language-server-nodejs Yes
YAML yaml-language-server Yes
XML lsp4xml Yes
Fortran fortls Yes
Scala Metals Yes
Elm elm-language-server Yes
JSON json-languageserver Yes
Swift sourcekit-lsp No
COBOL cobol-language-support Yes

License

MIT

Author

Yasuhiro Matsumoto (a.k.a. mattn)