aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2021-10-14 22:52:23 +0200
committerGitHub <noreply@github.com>2021-10-14 22:52:23 +0200
commita87ea0386110eeeaad47b140b9155abd4c235f64 (patch)
tree0c6c389b2d7de39a5609229cba020c03e98e6cf1
parentupdate docs (diff)
downloadmason-a87ea0386110eeeaad47b140b9155abd4c235f64.tar
mason-a87ea0386110eeeaad47b140b9155abd4c235f64.tar.gz
mason-a87ea0386110eeeaad47b140b9155abd4c235f64.tar.bz2
mason-a87ea0386110eeeaad47b140b9155abd4c235f64.tar.lz
mason-a87ea0386110eeeaad47b140b9155abd4c235f64.tar.xz
mason-a87ea0386110eeeaad47b140b9155abd4c235f64.tar.zst
mason-a87ea0386110eeeaad47b140b9155abd4c235f64.zip
add eslint, deprecate eslintls (#149)
-rw-r--r--README.md6
-rw-r--r--doc/nvim-lsp-installer.txt4
-rw-r--r--lua/nvim-lsp-installer/server.lua1
-rw-r--r--lua/nvim-lsp-installer/servers/eslint/README.md (renamed from lua/nvim-lsp-installer/servers/eslintls/README.md)10
-rw-r--r--lua/nvim-lsp-installer/servers/eslint/init.lua1
-rw-r--r--lua/nvim-lsp-installer/servers/eslintls/init.lua4
-rw-r--r--lua/nvim-lsp-installer/servers/init.lua2
-rw-r--r--lua/nvim-lsp-installer/ui/status-win/init.lua60
-rw-r--r--plugin/nvim-lsp-installer.vim4
9 files changed, 66 insertions, 26 deletions
diff --git a/README.md b/README.md
index 0239d90e..c4fb06ac 100644
--- a/README.md
+++ b/README.md
@@ -135,12 +135,12 @@ require("nvim-lsp-installer").settings {
| Docker | `dockerls` |
| Dot | `dotls` |
| EFM (general purpose server) | `efm` |
-| ESLint [(docs)][eslintls] | `eslintls` |
+| ESLint [(docs)][eslint] | `eslint` |
| Elixir | `elixirls` |
| Elm | `elmls` |
| Ember | `ember` |
| Emmet | `emmet_ls` |
-| Erlang | `erlangls` |
+| Erlang | `erlangls` |
| Fortran | `fortls` |
| Go | `gopls` |
| GraphQL | `graphql` |
@@ -182,7 +182,7 @@ require("nvim-lsp-installer").settings {
| YAML | `yamlls` |
| Zig | `zls` |
-[eslintls]: ./lua/nvim-lsp-installer/servers/eslintls/README.md
+[eslint]: ./lua/nvim-lsp-installer/servers/eslint/README.md
[tflint]: ./lua/nvim-lsp-installer/servers/tflint/README.md
[tsserver]: ./lua/nvim-lsp-installer/servers/tsserver/README.md
diff --git a/doc/nvim-lsp-installer.txt b/doc/nvim-lsp-installer.txt
index 21ef0d46..667973f7 100644
--- a/doc/nvim-lsp-installer.txt
+++ b/doc/nvim-lsp-installer.txt
@@ -54,13 +54,13 @@ Install a language server via `:LspInstall`, for example: >
You may also install multiple languages at a time: >
- :LspInstall tsserver graphql eslintls
+ :LspInstall tsserver graphql rust_analyzer
<
To install a specific version of a language server, you may provide it as part
of the server name, like so: >
- :LspInstall tsserver@0.6.3 graphql@latest eslintls@03bfc83
+ :LspInstall tsserver@0.6.3 graphql@latest rust_analyzer@nightly
<
Please refer to each server's own release page to find which versions are
diff --git a/lua/nvim-lsp-installer/server.lua b/lua/nvim-lsp-installer/server.lua
index 1240d349..ba90c5cf 100644
--- a/lua/nvim-lsp-installer/server.lua
+++ b/lua/nvim-lsp-installer/server.lua
@@ -41,6 +41,7 @@ function M.Server:new(opts)
name = opts.name,
root_dir = opts.root_dir,
homepage = opts.homepage,
+ deprecated = opts.deprecated,
_root_dir = opts.root_dir, -- @deprecated Use the `root_dir` property instead.
_installer = type(opts.installer) == "function" and opts.installer or installers.pipe(opts.installer),
_default_options = opts.default_options,
diff --git a/lua/nvim-lsp-installer/servers/eslintls/README.md b/lua/nvim-lsp-installer/servers/eslint/README.md
index 2a5307df..557e986b 100644
--- a/lua/nvim-lsp-installer/servers/eslintls/README.md
+++ b/lua/nvim-lsp-installer/servers/eslint/README.md
@@ -1,8 +1,8 @@
-# eslintls
+# eslint
## Enabling document formatting
-To make the `eslintls` server respond to `textDocument/formatting` LSP requests, you need to manually enable this
+To make the `eslint` server respond to `textDocument/formatting` LSP requests, you need to manually enable this
setting. This is done when setting up the LSP server, like so:
```lua
@@ -15,10 +15,10 @@ lsp_installer.on_server_ready(function (server)
on_attach = common_on_attach,
}
- if server.name == "eslintls" then
+ if server.name == "eslint" then
opts.on_attach = function (client, bufnr)
-- neovim's LSP client does not currently support dynamic capabilities registration, so we need to set
- -- the resolved capabilities of the eslintls server ourselves!
+ -- the resolved capabilities of the eslint server ourselves!
client.resolved_capabilities.document_formatting = true
common_on_attach(client, bufnr)
end
@@ -31,7 +31,7 @@ lsp_installer.on_server_ready(function (server)
end)
```
-This will make `eslintls` respond to formatting requests, for example when triggered through:
+This will make `eslint` respond to formatting requests, for example when triggered through:
- `:lua vim.lsp.buf.formatting()`
- `:lua vim.lsp.buf.formatting_seq_sync()`
diff --git a/lua/nvim-lsp-installer/servers/eslint/init.lua b/lua/nvim-lsp-installer/servers/eslint/init.lua
new file mode 100644
index 00000000..21979405
--- /dev/null
+++ b/lua/nvim-lsp-installer/servers/eslint/init.lua
@@ -0,0 +1 @@
+return require "nvim-lsp-installer.servers.vscode-langservers-extracted" "vscode-eslint-language-server"
diff --git a/lua/nvim-lsp-installer/servers/eslintls/init.lua b/lua/nvim-lsp-installer/servers/eslintls/init.lua
index 3e9d3cc3..7ffad30f 100644
--- a/lua/nvim-lsp-installer/servers/eslintls/init.lua
+++ b/lua/nvim-lsp-installer/servers/eslintls/init.lua
@@ -15,6 +15,10 @@ return function(name, root_dir)
return server.Server:new {
name = name,
root_dir = root_dir,
+ deprecated = {
+ message = "eslintls has been replaced with eslint. It's still the same server - just a different name and upstream dependencies.",
+ replace_with = "eslint",
+ },
installer = {
std.git_clone "https://github.com/microsoft/vscode-eslint",
npm.install(),
diff --git a/lua/nvim-lsp-installer/servers/init.lua b/lua/nvim-lsp-installer/servers/init.lua
index 35c23627..cdef8780 100644
--- a/lua/nvim-lsp-installer/servers/init.lua
+++ b/lua/nvim-lsp-installer/servers/init.lua
@@ -20,6 +20,7 @@ local INSTALL_DIRS = {
["dockerls"] = "dockerfile",
["elixirls"] = "elixir",
["elmls"] = "elm",
+ ["eslint"] = "vscode-eslint",
["eslintls"] = "eslint",
["gopls"] = "go",
["hls"] = "haskell",
@@ -57,6 +58,7 @@ local CORE_SERVERS = Data.set_of {
"ember",
"emmet_ls",
"erlangls",
+ "eslint",
"eslintls",
"fortls",
"gopls",
diff --git a/lua/nvim-lsp-installer/ui/status-win/init.lua b/lua/nvim-lsp-installer/ui/status-win/init.lua
index 56cfbe9d..60454419 100644
--- a/lua/nvim-lsp-installer/ui/status-win/init.lua
+++ b/lua/nvim-lsp-installer/ui/status-win/init.lua
@@ -138,21 +138,40 @@ local function get_relative_install_time(time)
end
local function ServerMetadata(server)
- return Ui.Table(Data.list_not_nil(
- Data.lazy(server.metadata.install_timestamp_seconds, function()
- return {
- { "last updated", "LspInstallerMuted" },
- { get_relative_install_time(server.metadata.install_timestamp_seconds), "" },
- }
+ return Ui.Node(Data.list_not_nil(
+ Data.lazy(server.is_installed and server.deprecated, function()
+ return Ui.Node(Data.list_not_nil(
+ Ui.HlTextNode { server.deprecated.message, "Comment" },
+ Data.lazy(server.deprecated.replace_with, function()
+ return Ui.Node {
+ Ui.HlTextNode {
+ {
+ { "Replace with: ", "LspInstallerMuted" },
+ { server.deprecated.replace_with, "LspInstallerHighlighted" },
+ },
+ },
+ Ui.Keybind("<CR>", "REPLACE_SERVER", { server.name, server.deprecated.replace_with }),
+ Ui.EmptyLine(),
+ }
+ end)
+ ))
end),
- Data.when(server.is_installed, {
- { "path", "LspInstallerMuted" },
- { server.metadata.install_dir, "" },
- }),
- {
- { "homepage", "LspInstallerMuted" },
- { server.metadata.homepage or "-", "" },
- }
+ Ui.Table(Data.list_not_nil(
+ Data.lazy(server.metadata.install_timestamp_seconds, function()
+ return {
+ { "last updated", "LspInstallerMuted" },
+ { get_relative_install_time(server.metadata.install_timestamp_seconds), "" },
+ }
+ end),
+ Data.when(server.is_installed, {
+ { "path", "LspInstallerMuted" },