@@ -28,21 +28,21 @@ Note: On first run Dialyzer will build a PLT cache which will take a considerabl
28
28
29
29
## IDE plugins
30
30
31
- | IDE | Plugin | Support |
32
- | ------------ | ----------------------------------------------------------------------------- | --------------------------------------------------------------------- |
33
- | Emacs | [ eglot] ( https://github.com/joaotavora/eglot ) | |
34
- | Emacs | [ lsp-mode] ( https://github.com/emacs-lsp/lsp-mode ) | Supports debugger via [ dap-mode] ( https://github.com/yyoncho/dap-mode ) |
35
- | Kakoune | [ kak-lsp] ( https://github.com/kak-lsp/kak-lsp ) | [ Limitations] ( https://github.com/kak-lsp/kak-lsp/#limitations ) |
36
- | Kate | [ built-in LSP Client plugin] ( https://kate-editor.org/post/2020/2020-01-01-kate-lsp-client-status/ ) | Does not support debugger |
37
- | Neovim | [ coc.nvim] ( https://github.com/neoclide/coc.nvim ) | Does not support debugger |
38
- | Neovim | [ nvim-dap] ( https://github.com/mfussenegger/nvim-dap ) | Supports debugger only |
39
- | Neovim | [ nvim-lspconfig] ( https://github.com/neovim/nvim-lspconfig ) | Does not support debugger |
40
- | Nova | [ nova-elixir-ls] ( https://github.com/raulchedrese/nova-elixir-ls ) | |
41
- | Sublime Text | [ LSP-elixir] ( https://github.com/sublimelsp/LSP-elixir ) | Does not support debugger |
42
- | Vim/Neovim | [ ALE] ( https://github.com/w0rp/ale ) | Does not support debugger or @spec suggestions |
43
- | Vim/Neovim | [ elixir-lsp/coc-elixir] ( https://github.com/elixir-lsp/coc-elixir ) | Does not support debugger |
44
- | Vim/Neovim | [ vim-lsp] ( https://github.com/prabirshrestha/vim-lsp ) | Does not support debugger |
45
- | VS Code | [ elixir-lsp/vscode-elixir-ls] ( https://github.com/elixir-lsp/vscode-elixir-ls ) | Supports all ElixirLS features |
31
+ | IDE | Plugin | Support |
32
+ | ------------ | -------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
33
+ | Emacs | [ eglot] ( https://github.com/joaotavora/eglot ) | |
34
+ | Emacs | [ lsp-mode] ( https://github.com/emacs-lsp/lsp-mode ) | Supports debugger via [ dap-mode] ( https://github.com/yyoncho/dap-mode ) |
35
+ | Kakoune | [ kak-lsp] ( https://github.com/kak-lsp/kak-lsp ) | [ Limitations] ( https://github.com/kak-lsp/kak-lsp/#limitations ) |
36
+ | Kate | [ built-in LSP Client plugin] ( https://kate-editor.org/post/2020/2020-01-01-kate-lsp-client-status/ ) | Does not support debugger |
37
+ | Neovim | [ coc.nvim] ( https://github.com/neoclide/coc.nvim ) | Does not support debugger |
38
+ | Neovim | [ nvim-dap] ( https://github.com/mfussenegger/nvim-dap ) | Supports debugger only |
39
+ | Neovim | [ nvim-lspconfig] ( https://github.com/neovim/nvim-lspconfig ) | Does not support debugger |
40
+ | Nova | [ nova-elixir-ls] ( https://github.com/raulchedrese/nova-elixir-ls ) | |
41
+ | Sublime Text | [ LSP-elixir] ( https://github.com/sublimelsp/LSP-elixir ) | Does not support debugger |
42
+ | Vim/Neovim | [ ALE] ( https://github.com/w0rp/ale ) | Does not support debugger or @spec suggestions |
43
+ | Vim/Neovim | [ elixir-lsp/coc-elixir] ( https://github.com/elixir-lsp/coc-elixir ) | Does not support debugger |
44
+ | Vim/Neovim | [ vim-lsp] ( https://github.com/prabirshrestha/vim-lsp ) | Does not support debugger |
45
+ | VS Code | [ elixir-lsp/vscode-elixir-ls] ( https://github.com/elixir-lsp/vscode-elixir-ls ) | Supports all ElixirLS features |
46
46
47
47
Please feel free to create and publish your own client packages and add them to this list!
48
48
@@ -53,53 +53,54 @@ The installation process for ElixirLS depends on your editor.
53
53
<details >
54
54
<summary >VSCode</summary >
55
55
56
- Please install the extension via the following link: https://marketplace.visualstudio.com/items?itemName=JakeBecker.elixir-ls
56
+ Please install the extension via the following link: https://marketplace.visualstudio.com/items?itemName=JakeBecker.elixir-ls
57
+
57
58
</details >
58
59
59
60
<details >
60
61
<summary >Emacs Installation Instructions</summary >
61
62
62
- Download the latest release:
63
- https://github.com/elixir-lsp/elixir-ls/releases/latest and unzip it into a
64
- directory (this is the directory referred to as the
65
- ` "path-to-elixir-ls/release" ` below)
66
-
67
- If using ` lsp-mode ` add this configuration:
68
-
69
- ``` elisp
70
- (use-package lsp-mode
71
- :commands lsp
72
- :ensure t
73
- :diminish lsp-mode
74
- :hook
75
- (elixir-mode . lsp)
76
- :init
77
- (add-to-list 'exec-path "path-to-elixir-ls/release"))
78
- ```
63
+ Download the latest release:
64
+ https://github.com/elixir-lsp/elixir-ls/releases/latest and unzip it into a
65
+ directory (this is the directory referred to as the
66
+ ` "path-to-elixir-ls/release" ` below)
67
+
68
+ If using ` lsp-mode ` add this configuration:
69
+
70
+ ``` elisp
71
+ (use-package lsp-mode
72
+ :commands lsp
73
+ :ensure t
74
+ :diminish lsp-mode
75
+ :hook
76
+ (elixir-mode . lsp)
77
+ :init
78
+ (add-to-list 'exec-path "path-to-elixir-ls/release"))
79
+ ```
79
80
80
- For eglot use:
81
+ For eglot use:
81
82
82
- ``` elisp
83
- (require 'eglot)
83
+ ``` elisp
84
+ (require 'eglot)
84
85
85
- ;; This is optional. It automatically runs `M-x eglot` for you whenever you are in `elixir-mode`
86
- (add-hook 'elixir-mode-hook 'eglot-ensure)
86
+ ;; This is optional. It automatically runs `M-x eglot` for you whenever you are in `elixir-mode`
87
+ (add-hook 'elixir-mode-hook 'eglot-ensure)
87
88
88
- ;; Make sure to edit the path appropriately, use the .bat script instead for Windows
89
- (add-to-list 'eglot-server-programs '(elixir-mode "path-to-elixir-ls/release/language_server.sh"))
90
- ```
89
+ ;; Make sure to edit the path appropriately, use the .bat script instead for Windows
90
+ (add-to-list 'eglot-server-programs '(elixir-mode "path-to-elixir-ls/release/language_server.sh"))
91
+ ```
91
92
92
93
</details >
93
94
94
95
## Supported versions
95
96
96
- Elixir:
97
-
98
- - 1.12 minimum
99
-
100
- Erlang:
101
-
102
- - OTP 22 minimum
97
+ | OTP Versions | Elixir Versions | Supports ElixirLS | Issue(s) |
98
+ | :----------: | :-------------: | :---------------: | :--------------------------------------------------------: |
99
+ | 22 | 1.12 - 1.13 | Yes | Erlang docs not working (requires EIP 48) |
100
+ | 23 | 1.12 - 1.14 | Yes | None |
101
+ | 24 | 1.12 - 1.15 | Yes | None |
102
+ | 25 | 1.13.4 - 1.15 | Yes | None |
103
+ | 26 | 1.14.5 - 1.15 | No | [ # 886 ] ( https://github.com/elixir-lsp/elixir-ls/issues/886 ) |
103
104
104
105
It is generally recommended to install Elixir and Erlang via [ ASDF] ( https://github.com/asdf-vm/asdf ) so that you can have different projects using different versions of Elixir without having to change your system-installed version. ElixirLS can detect and use the version of Elixir and Erlang that you have configured in ASDF.
105
106
@@ -119,15 +120,10 @@ To debug modules in .exs files (such as tests), they must be specified under req
119
120
"name" : " mix test" ,
120
121
"request" : " launch" ,
121
122
"task" : " test" ,
122
- "taskArgs" : [
123
- " --trace"
124
- ],
123
+ "taskArgs" : [" --trace" ],
125
124
"startApps" : true ,
126
125
"projectDir" : " ${workspaceRoot}" ,
127
- "requireFiles" : [
128
- " test/**/test_helper.exs" ,
129
- " test/**/*_test.exs"
130
- ]
126
+ "requireFiles" : [" test/**/test_helper.exs" , " test/**/*_test.exs" ]
131
127
}
132
128
```
133
129
@@ -142,10 +138,7 @@ Currently, to debug a single test or a single test file, it is necessary to modi
142
138
"taskArgs" : [" tests/some_test.exs:123" ],
143
139
"startApps" : true ,
144
140
"projectDir" : " ${workspaceRoot}" ,
145
- "requireFiles" : [
146
- " test/**/test_helper.exs" ,
147
- " test/some_test.exs"
148
- ]
141
+ "requireFiles" : [" test/**/test_helper.exs" , " test/some_test.exs" ]
149
142
}
150
143
```
151
144
@@ -179,14 +172,8 @@ It's important to note that NIF (Native Implemented Function) modules cannot be
179
172
"task" : " test" ,
180
173
"taskArgs" : [" --trace" ],
181
174
"projectDir" : " ${workspaceRoot}" ,
182
- "requireFiles" : [
183
- " test/**/test_helper.exs" ,
184
- " test/**/*_test.exs"
185
- ],
186
- "excludeModules" : [
187
- " :some_nif" ,
188
- " Some.SlowModule"
189
- ]
175
+ "requireFiles" : [" test/**/test_helper.exs" , " test/**/*_test.exs" ],
176
+ "excludeModules" : [" :some_nif" , " Some.SlowModule" ]
190
177
}
191
178
```
192
179
0 commit comments