aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: b6b350e6fecd84d5e49eaed88e0e0b5d3fc13b2d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# 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](https://github.com/junegunn/vim-plug) plugin manager:

```viml
Plug 'mattn/vim-lsp-settings'
```

## 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](https://github.com/rust-lang/rls#setup).

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:

```vim
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           |

## License

MIT

## Author

Yasuhiro Matsumoto (a.k.a. mattn)