@@ -28,21 +28,21 @@ Note: On first run Dialyzer will build a PLT cache which will take a considerabl
2828
2929## IDE plugins
3030
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 |
4646
4747Please feel free to create and publish your own client packages and add them to this list!
4848
@@ -53,53 +53,54 @@ The installation process for ElixirLS depends on your editor.
5353<details >
5454 <summary >VSCode</summary >
5555
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+
5758</details >
5859
5960<details >
6061 <summary >Emacs Installation Instructions</summary >
6162
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+ ```
7980
80- For eglot use:
81+ For eglot use:
8182
82- ``` elisp
83- (require 'eglot)
83+ ``` elisp
84+ (require 'eglot)
8485
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)
8788
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+ ```
9192
9293</details >
9394
9495## Supported versions
9596
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 ) |
103104
104105It 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.
105106
@@ -119,15 +120,10 @@ To debug modules in .exs files (such as tests), they must be specified under req
119120 "name" : " mix test" ,
120121 "request" : " launch" ,
121122 "task" : " test" ,
122- "taskArgs" : [
123- " --trace"
124- ],
123+ "taskArgs" : [" --trace" ],
125124 "startApps" : true ,
126125 "projectDir" : " ${workspaceRoot}" ,
127- "requireFiles" : [
128- " test/**/test_helper.exs" ,
129- " test/**/*_test.exs"
130- ]
126+ "requireFiles" : [" test/**/test_helper.exs" , " test/**/*_test.exs" ]
131127}
132128```
133129
@@ -142,10 +138,7 @@ Currently, to debug a single test or a single test file, it is necessary to modi
142138 "taskArgs" : [" tests/some_test.exs:123" ],
143139 "startApps" : true ,
144140 "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" ]
149142}
150143```
151144
@@ -179,14 +172,8 @@ It's important to note that NIF (Native Implemented Function) modules cannot be
179172 "task" : " test" ,
180173 "taskArgs" : [" --trace" ],
181174 "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" ]
190177}
191178```
192179
0 commit comments