Skip to content

Commit 3b678fa

Browse files
authored
Re-organize installation instructions (#335)
1 parent 3c1085b commit 3b678fa

File tree

1 file changed

+46
-44
lines changed

1 file changed

+46
-44
lines changed

README.md

Lines changed: 46 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -26,41 +26,58 @@ The original repository has now been deprecated in favor of this one. Any IDE ex
2626

2727
Note: On first run Dialyzer will build a PLT cache which will take a considerable amount of CPU time (usually 10+ minutes). After that is complete the CPU usage will go back to normal. Alternatively instead of waiting you can disable Dialyzer in the settings.
2828

29-
## Installation
29+
## IDE plugins
3030

31-
How you install ElixirLS depends on your editor.
31+
| IDE | Plugin | Support |
32+
| ------------ | ----------------------------------------------------------------------------- | ---------------------------------------------- |
33+
| VS Code | [elixir-lsp/vscode-elixir-ls](https://github.com/elixir-lsp/vscode-elixir-ls) | Supports all ElixirLS features |
34+
| Vim | [ALE](https://github.com/w0rp/ale) | Does not support debugger or @spec suggestions |
35+
| Neovim | [ALE](https://github.com/w0rp/ale) | Does not support debugger |
36+
| Neovim | [coc.nvim](https://github.com/neoclide/coc.nvim) | Does not support debugger |
37+
| Emacs | [lsp-mode](https://github.com/emacs-lsp/lsp-mode) | Supports debugger via [dap-mode](https://github.com/yyoncho/dap-mode) |
38+
| Emacs | [eglot](https://github.com/joaotavora/eglot) | |
39+
| Kate | [built-in LSP Client plugin](https://kate-editor.org/post/2020/2020-01-01-kate-lsp-client-status/) | Does not support debugger |
40+
| Sublime Text | [LSP-elixir](https://github.com/sublimelsp/LSP-elixir) | Does not support debugger |
3241

33-
For VSCode install the extension: https://marketplace.visualstudio.com/items?itemName=JakeBecker.elixir-ls
42+
Feel free to create and publish your own client packages and add them to this list!
3443

35-
### Emacs
36-
37-
Download the latest release:
38-
https://github.com/elixir-lsp/elixir-ls/releases/latest and unzip it into a
39-
directory (this is the directory referred to as the
40-
`"path-to-elixir-ls/release"` below)
41-
42-
If using `lsp-mode` add this configuration:
43-
```elisp
44-
(use-package lsp-mode
45-
:commands lsp
46-
:ensure t
47-
:diminish lsp-mode
48-
:hook
49-
(elixir-mode . lsp)
50-
:init
51-
(add-to-list 'exec-path "path-to-elixir-ls/release"))
52-
```
44+
## Detailed Installation Instructions
5345

54-
For eglot use:
55-
```elisp
56-
(require 'eglot)
46+
How you install ElixirLS depends on your editor.
5747

58-
;; This is optional. It automatically runs `M-x eglot` for you whenever you are in `elixir-mode`
59-
(add-hook 'elixir-mode-hook 'eglot-ensure)
48+
For VSCode install the extension: https://marketplace.visualstudio.com/items?itemName=JakeBecker.elixir-ls
6049

61-
;; Make sure to edit the path appropriately, use the .bat script instead for Windows
62-
(add-to-list 'eglot-server-programs '(elixir-mode "path-to-elixir-ls/release/language_server.sh"))
63-
```
50+
<details>
51+
<summary>Emacs Installation Instructions</summary>
52+
53+
Download the latest release:
54+
https://github.com/elixir-lsp/elixir-ls/releases/latest and unzip it into a
55+
directory (this is the directory referred to as the
56+
`"path-to-elixir-ls/release"` below)
57+
58+
If using `lsp-mode` add this configuration:
59+
```elisp
60+
(use-package lsp-mode
61+
:commands lsp
62+
:ensure t
63+
:diminish lsp-mode
64+
:hook
65+
(elixir-mode . lsp)
66+
:init
67+
(add-to-list 'exec-path "path-to-elixir-ls/release"))
68+
```
69+
70+
For eglot use:
71+
```elisp
72+
(require 'eglot)
73+
74+
;; This is optional. It automatically runs `M-x eglot` for you whenever you are in `elixir-mode`
75+
(add-hook 'elixir-mode-hook 'eglot-ensure)
76+
77+
;; Make sure to edit the path appropriately, use the .bat script instead for Windows
78+
(add-to-list 'eglot-server-programs '(elixir-mode "path-to-elixir-ls/release/language_server.sh"))
79+
```
80+
</details>
6481

6582
## Supported versions
6683

@@ -74,21 +91,6 @@ Erlang:
7491

7592
You may want to install Elixir and Erlang from source, using the [kiex](https://github.com/taylor/kiex) and [kerl](https://github.com/kerl/kerl) tools. This will let you go-to-definition for core Elixir and Erlang modules.
7693

77-
## IDE plugins
78-
79-
| IDE | Plugin | Support |
80-
| ------------ | ----------------------------------------------------------------------------- | ---------------------------------------------- |
81-
| VS Code | [elixir-lsp/vscode-elixir-ls](https://github.com/elixir-lsp/vscode-elixir-ls) | Supports all ElixirLS features |
82-
| Vim | [ALE](https://github.com/w0rp/ale) | Does not support debugger or @spec suggestions |
83-
| Neovim | [ALE](https://github.com/w0rp/ale) | Does not support debugger |
84-
| Neovim | [coc.nvim](https://github.com/neoclide/coc.nvim) | Does not support debugger |
85-
| Emacs | [lsp-mode](https://github.com/emacs-lsp/lsp-mode) | Supports debugger via [dap-mode](https://github.com/yyoncho/dap-mode) |
86-
| Emacs | [eglot](https://github.com/joaotavora/eglot) | |
87-
| Kate | [built-in LSP Client plugin](https://kate-editor.org/post/2020/2020-01-01-kate-lsp-client-status/) | Does not support debugger |
88-
| Sublime Text | [LSP-elixir](https://github.com/sublimelsp/LSP-elixir) | Does not support debugger |
89-
90-
Feel free to create and publish your own client packages and add them to this list!
91-
9294
## Debugger support
9395

9496
ElixirLS includes debugger support adhering to the [VS Code debugger protocol](https://code.visualstudio.com/docs/extensionAPI/api-debugging) which is closely related to the Language Server Protocol. At the moment, only line breakpoints are supported.

0 commit comments

Comments
 (0)