aboutsummaryrefslogtreecommitdiffstats
path: root/lua/nvim-lsp-installer
diff options
context:
space:
mode:
authorRiN <hi@rin.rocks>2022-03-12 03:35:10 +0700
committerGitHub <noreply@github.com>2022-03-11 21:35:10 +0100
commita049c201279c7e48e1a3a68acb5a15a306671551 (patch)
tree05846f8b45f121d779cc5a3695adef46af021478 /lua/nvim-lsp-installer
parentAdd Dhall LSP (#512) (diff)
downloadmason-a049c201279c7e48e1a3a68acb5a15a306671551.tar
mason-a049c201279c7e48e1a3a68acb5a15a306671551.tar.gz
mason-a049c201279c7e48e1a3a68acb5a15a306671551.tar.bz2
mason-a049c201279c7e48e1a3a68acb5a15a306671551.tar.lz
mason-a049c201279c7e48e1a3a68acb5a15a306671551.tar.xz
mason-a049c201279c7e48e1a3a68acb5a15a306671551.tar.zst
mason-a049c201279c7e48e1a3a68acb5a15a306671551.zip
feat(reason_ls): add reason_ls for ReasonML (#528)
Diffstat (limited to 'lua/nvim-lsp-installer')
-rw-r--r--lua/nvim-lsp-installer/_generated/filetype_map.lua2
-rw-r--r--lua/nvim-lsp-installer/_generated/metadata.lua3
-rw-r--r--lua/nvim-lsp-installer/servers/init.lua1
-rw-r--r--lua/nvim-lsp-installer/servers/reason_ls/init.lua40
4 files changed, 45 insertions, 1 deletions
diff --git a/lua/nvim-lsp-installer/_generated/filetype_map.lua b/lua/nvim-lsp-installer/_generated/filetype_map.lua
index 735fe849..16736921 100644
--- a/lua/nvim-lsp-installer/_generated/filetype_map.lua
+++ b/lua/nvim-lsp-installer/_generated/filetype_map.lua
@@ -107,7 +107,7 @@ return {
ql = { "codeqlls" },
r = { "r_language_server" },
razor = { "tailwindcss" },
- reason = { "ocamlls", "ocamllsp", "tailwindcss" },
+ reason = { "ocamlls", "ocamllsp", "reason_ls", "tailwindcss" },
rescript = { "rescriptls", "tailwindcss" },
rmd = { "r_language_server" },
rnoweb = { "ltex" },
diff --git a/lua/nvim-lsp-installer/_generated/metadata.lua b/lua/nvim-lsp-installer/_generated/metadata.lua
index dc76327c..29e93a15 100644
--- a/lua/nvim-lsp-installer/_generated/metadata.lua
+++ b/lua/nvim-lsp-installer/_generated/metadata.lua
@@ -217,6 +217,9 @@ return {
r_language_server = {
filetypes = { "r", "rmd" }
},
+ reason_ls = {
+ filetypes = { "reason" }
+ },
remark_ls = {
filetypes = { "markdown" }
},
diff --git a/lua/nvim-lsp-installer/servers/init.lua b/lua/nvim-lsp-installer/servers/init.lua
index 2c727644..a7b295f4 100644
--- a/lua/nvim-lsp-installer/servers/init.lua
+++ b/lua/nvim-lsp-installer/servers/init.lua
@@ -103,6 +103,7 @@ local CORE_SERVERS = Data.set_of {
"pyright",
"quick_lint_js",
"r_language_server",
+ "reason_ls",
"remark_ls",
"rescriptls",
"rnix",
diff --git a/lua/nvim-lsp-installer/servers/reason_ls/init.lua b/lua/nvim-lsp-installer/servers/reason_ls/init.lua
new file mode 100644
index 00000000..5cb94119
--- /dev/null
+++ b/lua/nvim-lsp-installer/servers/reason_ls/init.lua
@@ -0,0 +1,40 @@
+local server = require "nvim-lsp-installer.server"
+local platform = require "nvim-lsp-installer.platform"
+local path = require "nvim-lsp-installer.path"
+local std = require "nvim-lsp-installer.installers.std"
+local context = require "nvim-lsp-installer.installers.context"
+local Data = require "nvim-lsp-installer.data"
+local process = require "nvim-lsp-installer.process"
+
+local coalesce, when = Data.coalesce, Data.when
+
+return function(name, root_dir)
+ local archive_name = coalesce(
+ when(platform.is_mac, "rls-macos"),
+ when(platform.is_linux, "rls-linux"),
+ when(platform.is_win, "rls-windows")
+ )
+ return server.Server:new {
+ name = name,
+ root_dir = root_dir,
+ languages = { "reason" },
+ homepage = "https://github.com/jaredly/reason-language-server",
+ installer = {
+ context.use_github_release_file("jaredly/reason-language-server", ("%s.zip"):format(archive_name)),
+ context.capture(function(ctx)
+ return std.unzip_remote(ctx.github_release_file)
+ end),
+ context.capture(function()
+ return std.rename(archive_name, "reason")
+ end),
+ context.receipt(function(receipt, ctx)
+ receipt:with_primary_source(receipt.github_release_file(ctx))
+ end),
+ },
+ default_options = {
+ cmd_env = {
+ PATH = process.extend_path { path.concat { root_dir, "reason" } },
+ },
+ },
+ }
+end