1- *elixir-tools.nvim.txt* For NVIM v0.8.0 Last change: 2023 June 29
1+ *elixir-tools.nvim.txt* For NVIM v0.8.0 Last change: 2023 July 05
22
33==============================================================================
44Table of Contents *elixir-tools.nvim-table-of-contents*
@@ -12,8 +12,9 @@ Table of Contents *elixir-tools.nvim-table-of-contents*
1212 - Minimal Setup | elixir-tools.nvim-getting-started-minimal-setup |
1313 - Advanced Setup | elixir-tools.nvim-getting-started-advanced-setup |
14144. Features | elixir-tools.nvim-features |
15+ - Next LS | elixir-tools.nvim-features-next-ls |
16+ - Credo Language Server | elixir-tools.nvim-features-credo-language-server |
1517 - ElixirLS | elixir-tools.nvim-features-elixirls |
16- - credo-language-server | elixir-tools.nvim-features-credo-language-server |
1718 - Mix | elixir-tools.nvim-features-mix |
1819 - Projectionist | elixir-tools.nvim-features-projectionist |
1920
@@ -27,16 +28,17 @@ Table of Contents *elixir-tools.nvim-table-of-contents*
2728with Neovim <https://github.com/neovim/neovim >.
2829
2930
30- Note: This plugin does not provide autocompletion, I recommend using nvim-cmp
31- <https://github.com/hrsh7th/nvim-cmp >.
31+ ** Note** This plugin does not provide autocompletion, I recommend using
32+ nvim-cmp <https://github.com/hrsh7th/nvim-cmp >.
3233
33- Note: This plugin does not provide syntax highlighting, I recommend using
34+ ** Note** This plugin does not provide syntax highlighting, I recommend using
3435 nvim-treesitter <https://github.com/nvim-treesitter/nvim-treesitter >.
3536
3637FEATURES *elixir-tools.nvim-overview-features*
3738
39+ - Next LS <https://github.com/elixir-tools/next-ls > installation and configuration (uses the Neovim built-in LSP client)
40+ - Credo Language Server <https://github.com/elixir-tools/credo-language-server > integration.
3841- ElixirLS <https://github.com/elixir-lsp/elixir-ls > installation and configuration (uses the Neovim built-in LSP client)
39- - credo-language-server <https://github.com/elixir-tools/credo-language-server > integration.
4042- `:Mix` command with autocomplete
4143- vim-projectionist <https://github.com/tpope/vim-projectionist > support
4244
@@ -59,6 +61,7 @@ LAZY.NVIM *elixir-tools.nvim-install-lazy.nvim*
5961 local elixirls = require("elixir.elixirls")
6062
6163 elixir.setup {
64+ nextls = {enable = true},
6265 credo = {},
6366 elixirls = {
6467 enable = true,
@@ -100,13 +103,16 @@ The minimal setup will configure both ElixirLS and credo-language-server.
100103 require("elixir").setup()
101104<
102105
103- ElixirLS and credo-language-server can be disabled by setting the `enable ` flag
104- in the respective options table.
106+ NextLS, ElixirLS, and credo-language-server can be enabled/disabled by setting
107+ the `enable ` flag in the respective options table.
108+
109+ The defaults are shown below.
105110
106111>lua
107112 require("elixir").setup({
108- credo = {enable = false},
109- elixirls = {enable = false},
113+ nextls = {enable = false},
114+ credo = {enable = true},
115+ elixirls = {enable = true},
110116 })
111117<
112118
@@ -116,16 +122,26 @@ ADVANCED SETUP *elixir-tools.nvim-getting-started-advanced-setup*
116122While the plugin works with a minimal setup, it is much more useful if you add
117123some personal configuration.
118124
119- Note: For ElixirLS, not specifying the `repo` , `branch` , or `tag ` options will
120- default to the latest release.
121125
126+ **Note** For ElixirLS, not specifying the `repo` , `branch` , or `tag ` options
127+ will default to the latest release.
122128>lua
123129 local elixir = require("elixir")
124130 local elixirls = require("elixir.elixirls")
125131
126132 elixir.setup {
133+ nextls = {
134+ enable = false, -- defaults to false
135+ port = 9000, -- connect via TCP with the given port. mutually exclusive with `cmd` . defaults to nil
136+ cmd = "path/to/next-ls", -- path to the executable. mutually exclusive with `port`
137+ version = "0.5.0", -- version of Next LS to install and use. defaults to the latest version
138+ on_attach = function(client, bufnr)
139+ -- custom keybinds
140+ end
141+ },
127142 credo = {
128- port = 9000, -- connect via TCP with the given port. mutually exclusive with `cmd`
143+ enable = true, -- defaults to true
144+ port = 9000, -- connect via TCP with the given port. mutually exclusive with `cmd` . defaults to nil
129145 cmd = "path/to/credo-language-server", -- path to the executable. mutually exclusive with `port`
130146 version = "0.1.0-rc.3", -- version of credo-language-server to install and use. defaults to the latest release
131147 on_attach = function(client, bufnr)
@@ -163,12 +179,41 @@ default to the latest release.
1631794. Features *elixir-tools.nvim-features*
164180
165181
182+ NEXT LS *elixir-tools.nvim-features-next-ls*
183+
184+
185+ **Note** Next LS is **disabled** by default. Once it reaches feature parity
186+ with ElixirLS, it will switch to enabled by default.
187+
188+ **Note** Next LS integration utilizes `Mix.install/2 ` , so you must be running
189+ Elixir >= 1.12
190+
191+ **Note** Next LS creates a `.elixir- tools` directory in your project root.
192+ You’ll want to add that to your gitignore.
193+ The language server for Elixir that just works.
194+
195+ Youcan read more about it at https://www.elixir-tools.dev/next-ls .
196+
197+
198+ CREDO LANGUAGE SERVER *elixir-tools.nvim-features-credo-language-server*
199+
200+
201+ **Note** Credo Language Server integration utilizes `Mix.install/2 ` , so you
202+ must be running Elixir >= 1.12
203+
204+ **Note** Credo Language Server creates a `.elixir- tools` directory in your
205+ project root. You’ll want to add that to your gitignore.
206+ - Uses your project’s Credo version.
207+ - Full project diagnostics
208+ - Code Actions
209+
210+
166211ELIXIRLS *elixir-tools.nvim-features-elixirls*
167212
168213
169214AUTOMATIC INSTALLATION ~
170215
171- When a compatible installation of ELixirLS is not found, you will be prompted
216+ When a compatible installation of ElixirLS is not found, you will be prompted
172217to install it. The plugin will download the source code to the `.elixir_ls`
173218directory and compile it using the Elixir and OTP versions used by your current
174219project.
@@ -241,16 +286,6 @@ COMMANDS ~
241286<
242287
243288
244- CREDO-LANGUAGE-SERVER *elixir-tools.nvim-features-credo-language-server*
245-
246-
247- Note: The credo-language-server integration utilizes `Mix.install/2 ` , so you
248- must be running Elixir >= 1.12
249- - Uses your project’s Credo version.
250- - Full project diagnostics
251- - Code Actions
252-
253-
254289MIX *elixir-tools.nvim-features-mix*
255290
256291You can run any `mix` command in your project, complete with… autocomplete!
0 commit comments