From 8911f3e1cc76569ce7ae0dbcc5e4421ea7f4e2fa Mon Sep 17 00:00:00 2001 From: Derek Tata Date: Fri, 1 Oct 2021 14:45:25 -0400 Subject: [PATCH 1/5] Add lemminx support --- README.md | 1 + lua/lspinstall/servers.lua | 1 + lua/lspinstall/servers/lemminx.lua | 16 ++++++++++++++++ 3 files changed, 18 insertions(+) create mode 100644 lua/lspinstall/servers/lemminx.lua diff --git a/README.md b/README.md index 256f394..09fdb6a 100644 --- a/README.md +++ b/README.md @@ -80,6 +80,7 @@ end | json | json-language-features (pulled directly from the latest VSCode release) | | kotlin | kotlin-language-server | | latex | texlab | +| lemminx | xml language server | | lua | (sumneko) lua-language-server | | php | intelephense | | prisma | prisma-language-server | diff --git a/lua/lspinstall/servers.lua b/lua/lspinstall/servers.lua index 751b77d..62ef042 100644 --- a/lua/lspinstall/servers.lua +++ b/lua/lspinstall/servers.lua @@ -22,6 +22,7 @@ local servers = { ["json"] = require'lspinstall/servers/json', ["kotlin"] = require'lspinstall/servers/kotlin', ["latex"] = require'lspinstall/servers/latex', + ["lemminx"] = require'lspinstall/servers/lemminx', ["lua"] = require'lspinstall/servers/lua', ["php"] = require'lspinstall/servers/php', ["prismals"] = require'lspinstall/servers/prismals', diff --git a/lua/lspinstall/servers/lemminx.lua b/lua/lspinstall/servers/lemminx.lua new file mode 100644 index 0000000..9d081a8 --- /dev/null +++ b/lua/lspinstall/servers/lemminx.lua @@ -0,0 +1,16 @@ +-- 1. get the default config from nvim-lspconfig +local config = require"lspinstall/util".extract_config("lemminx") +-- 2. update the cmd. relative paths are allowed, lspinstall automatically adjusts the cmd and cmd_cwd for us! +config.default_config.cmd[1] = "./lemminx-0.18.0/mvnw" + +-- 3. extend the config with an install_script and (optionally) uninstall_script +require'lspinstall/servers'.bash = vim.tbl_extend('error', config, { + -- lspinstall will automatically create/delete the install directory for every server + install_script = [[ + + curl -L -o https://github.com/eclipse/lemminx/archive/refs/tags/0.18.0.tar.gz + tar xzvf *.tar.gz + rm *.tar.gz + + ]] +}) From 5a0cccb41e60f070ff80eae2314177f363ae57bb Mon Sep 17 00:00:00 2001 From: Derek Tata Date: Fri, 1 Oct 2021 14:49:42 -0400 Subject: [PATCH 2/5] =?UTF-8?q?=E2=9C=8F=EF=B8=8F=20fixed=20typo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lua/lspinstall/servers/lemminx.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/lspinstall/servers/lemminx.lua b/lua/lspinstall/servers/lemminx.lua index 9d081a8..9518a6b 100644 --- a/lua/lspinstall/servers/lemminx.lua +++ b/lua/lspinstall/servers/lemminx.lua @@ -8,7 +8,7 @@ require'lspinstall/servers'.bash = vim.tbl_extend('error', config, { -- lspinstall will automatically create/delete the install directory for every server install_script = [[ - curl -L -o https://github.com/eclipse/lemminx/archive/refs/tags/0.18.0.tar.gz + curl -fLO https://github.com/eclipse/lemminx/archive/refs/tags/0.18.0.tar.gz tar xzvf *.tar.gz rm *.tar.gz From 91f0eeceafe767692d0e8aaf329ce432c3362e46 Mon Sep 17 00:00:00 2001 From: Derek Tata Date: Fri, 1 Oct 2021 17:49:09 -0400 Subject: [PATCH 3/5] =?UTF-8?q?=F0=9F=9A=91=EF=B8=8F=20Fixed=20with=20corr?= =?UTF-8?q?ect=20binary?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit After reading the docs, I found the correct binary 😅 --- lua/lspinstall/servers/lemminx.lua | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/lua/lspinstall/servers/lemminx.lua b/lua/lspinstall/servers/lemminx.lua index 9518a6b..a1d1dcc 100644 --- a/lua/lspinstall/servers/lemminx.lua +++ b/lua/lspinstall/servers/lemminx.lua @@ -8,9 +8,23 @@ require'lspinstall/servers'.bash = vim.tbl_extend('error', config, { -- lspinstall will automatically create/delete the install directory for every server install_script = [[ - curl -fLO https://github.com/eclipse/lemminx/archive/refs/tags/0.18.0.tar.gz - tar xzvf *.tar.gz - rm *.tar.gz + os=$(uname -s | tr "[:upper:]" "[:lower:]") + + case $os in + + darwin) + curl -fLO https://download.jboss.org/jbosstools/vscode/stable/lemminx-binary/0.18.0-400/lemminx-osx-x86_64.zip + unzip lemminx-osx-x86_64.zip + rm -r lemminx-osx-x86_64.zip + ;; + + linux) + curl -fLO https://download.jboss.org/jbosstools/vscode/stable/lemminx-binary/0.18.0-400/lemminx-linux.zip + unzip lemminx-linux.zip + rm -r lemminx-linux.zip + ;; + + esac ]] }) From 1b1773e6cef64475085ae54b353c0bf9ea4aa731 Mon Sep 17 00:00:00 2001 From: Derek Tata Date: Fri, 1 Oct 2021 17:53:58 -0400 Subject: [PATCH 4/5] Updated cmd --- lua/lspinstall/servers/lemminx.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lua/lspinstall/servers/lemminx.lua b/lua/lspinstall/servers/lemminx.lua index a1d1dcc..2f5a5e2 100644 --- a/lua/lspinstall/servers/lemminx.lua +++ b/lua/lspinstall/servers/lemminx.lua @@ -1,7 +1,7 @@ -- 1. get the default config from nvim-lspconfig local config = require"lspinstall/util".extract_config("lemminx") -- 2. update the cmd. relative paths are allowed, lspinstall automatically adjusts the cmd and cmd_cwd for us! -config.default_config.cmd[1] = "./lemminx-0.18.0/mvnw" +config.default_config.cmd[1] = "./lemminx" -- 3. extend the config with an install_script and (optionally) uninstall_script require'lspinstall/servers'.bash = vim.tbl_extend('error', config, { @@ -16,12 +16,14 @@ require'lspinstall/servers'.bash = vim.tbl_extend('error', config, { curl -fLO https://download.jboss.org/jbosstools/vscode/stable/lemminx-binary/0.18.0-400/lemminx-osx-x86_64.zip unzip lemminx-osx-x86_64.zip rm -r lemminx-osx-x86_64.zip + mv lemminx-osx-x86_64 lemminx ;; linux) curl -fLO https://download.jboss.org/jbosstools/vscode/stable/lemminx-binary/0.18.0-400/lemminx-linux.zip unzip lemminx-linux.zip rm -r lemminx-linux.zip + mv lemminx-linux lemminx ;; esac From 9ec81b6ffe112114abe056aebdafe308bc6185e4 Mon Sep 17 00:00:00 2001 From: Derek Tata Date: Sat, 2 Oct 2021 08:59:03 -0400 Subject: [PATCH 5/5] Fixed another typo --- lua/lspinstall/servers/lemminx.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/lspinstall/servers/lemminx.lua b/lua/lspinstall/servers/lemminx.lua index 2f5a5e2..abee33b 100644 --- a/lua/lspinstall/servers/lemminx.lua +++ b/lua/lspinstall/servers/lemminx.lua @@ -4,7 +4,7 @@ local config = require"lspinstall/util".extract_config("lemminx") config.default_config.cmd[1] = "./lemminx" -- 3. extend the config with an install_script and (optionally) uninstall_script -require'lspinstall/servers'.bash = vim.tbl_extend('error', config, { +require'lspinstall/servers'.lemminx = vim.tbl_extend('error', config, { -- lspinstall will automatically create/delete the install directory for every server install_script = [[