You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[vim-projectionist](https://github.com/tpope/vim-projectionist) support
22
25
@@ -36,6 +39,7 @@ Requires 0.8
36
39
localelixirls=require("elixir.elixirls")
37
40
38
41
elixir.setup {
42
+
nextls= {enable=true},
39
43
credo= {},
40
44
elixirls= {
41
45
enable=true,
@@ -73,28 +77,42 @@ The minimal setup will configure both ElixirLS and credo-language-server.
73
77
require("elixir").setup()
74
78
```
75
79
76
-
ElixirLS and credo-language-server can be disabled by setting the `enable` flag in the respective options table.
80
+
NextLS, ElixirLS, and credo-language-server can be enabled/disabled by setting the `enable` flag in the respective options table.
81
+
82
+
The defaults are shown below.
77
83
78
84
```lua
79
85
require("elixir").setup({
80
-
credo= {enable=false},
81
-
elixirls= {enable=false},
86
+
nextls= {enable=false},
87
+
credo= {enable=true},
88
+
elixirls= {enable=true},
82
89
})
83
90
```
84
91
85
92
## Advanced Setup
86
93
87
94
While the plugin works with a minimal setup, it is much more useful if you add some personal configuration.
88
95
89
-
Note: For ElixirLS, not specifying the `repo`, `branch`, or `tag` options will default to the latest release.
96
+
> **Note**
97
+
> For ElixirLS, not specifying the `repo`, `branch`, or `tag` options will default to the latest release.
90
98
91
99
```lua
92
100
localelixir=require("elixir")
93
101
localelixirls=require("elixir.elixirls")
94
102
95
103
elixir.setup {
104
+
nextls= {
105
+
enable=false, -- defaults to false
106
+
port=9000, -- connect via TCP with the given port. mutually exclusive with `cmd`. defaults to nil
107
+
cmd="path/to/next-ls", -- path to the executable. mutually exclusive with `port`
108
+
version="0.5.0", -- version of Next LS to install and use. defaults to the latest version
109
+
on_attach=function(client, bufnr)
110
+
-- custom keybinds
111
+
end
112
+
},
96
113
credo= {
97
-
port=9000, -- connect via TCP with the given port. mutually exclusive with `cmd`
114
+
enable=true, -- defaults to true
115
+
port=9000, -- connect via TCP with the given port. mutually exclusive with `cmd`. defaults to nil
98
116
cmd="path/to/credo-language-server", -- path to the executable. mutually exclusive with `port`
99
117
version="0.1.0-rc.3", -- version of credo-language-server to install and use. defaults to the latest release
100
118
on_attach=function(client, bufnr)
@@ -129,11 +147,38 @@ elixir.setup {
129
147
130
148
# Features
131
149
150
+
## Next LS
151
+
152
+
> **Note**
153
+
> Next LS is **disabled** by default. Once it reaches feature parity with ElixirLS, it will switch to enabled by default.
154
+
155
+
> **Note**
156
+
> Next LS integration utilizes `Mix.install/2`, so you must be running Elixir >= 1.12
157
+
158
+
> **Note**
159
+
> Next LS creates a `.elixir-tools` directory in your project root. You'll want to add that to your gitignore.
160
+
161
+
The language server for Elixir that just works. 😎
162
+
163
+
You can read more about it at https://www.elixir-tools.dev/next-ls.
164
+
165
+
## Credo Language Server
166
+
167
+
> **Note**
168
+
> Credo Language Server integration utilizes `Mix.install/2`, so you must be running Elixir >= 1.12
169
+
170
+
> **Note**
171
+
> Credo Language Server creates a `.elixir-tools` directory in your project root. You'll want to add that to your gitignore.
172
+
173
+
- Uses your project's Credo version.
174
+
- Full project diagnostics
175
+
- Code Actions
176
+
132
177
## ElixirLS
133
178
134
179
### Automatic Installation
135
180
136
-
When a compatible installation of ELixirLS is not found, you will be prompted to install it. The plugin will download the source code to the `.elixir_ls` directory and compile it using the Elixir and OTP versions used by your current project.
181
+
When a compatible installation of ElixirLS is not found, you will be prompted to install it. The plugin will download the source code to the `.elixir_ls` directory and compile it using the Elixir and OTP versions used by your current project.
137
182
138
183
Caveat: This assumes you are developing your project locally (outside of something like Docker) and they will be available.
0 commit comments