aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua')
-rw-r--r--lua/nvim-lsp-installer/_generated/filetype_map.lua1
-rw-r--r--lua/nvim-lsp-installer/_generated/metadata.lua3
-rw-r--r--lua/nvim-lsp-installer/core/managers/cargo/init.lua12
-rw-r--r--lua/nvim-lsp-installer/servers/init.lua1
-rw-r--r--lua/nvim-lsp-installer/servers/wgsl_analyzer/init.lua19
5 files changed, 35 insertions, 1 deletions
diff --git a/lua/nvim-lsp-installer/_generated/filetype_map.lua b/lua/nvim-lsp-installer/_generated/filetype_map.lua
index 24057ae7..31470631 100644
--- a/lua/nvim-lsp-installer/_generated/filetype_map.lua
+++ b/lua/nvim-lsp-installer/_generated/filetype_map.lua
@@ -150,6 +150,7 @@ return {
vlang = { "vls" },
vmasm = { "asm_lsp" },
vue = { "eslint", "stylelint_lsp", "tailwindcss", "volar", "vuels" },
+ wgsl = { "wgsl_analyzer" },
wxss = { "stylelint_lsp" },
xml = { "lemminx" },
xsd = { "lemminx" },
diff --git a/lua/nvim-lsp-installer/_generated/metadata.lua b/lua/nvim-lsp-installer/_generated/metadata.lua
index 10cddde2..4de4b005 100644
--- a/lua/nvim-lsp-installer/_generated/metadata.lua
+++ b/lua/nvim-lsp-installer/_generated/metadata.lua
@@ -346,6 +346,9 @@ return {
vuels = {
filetypes = { "vue" }
},
+ wgsl_analyzer = {
+ filetypes = { "wgsl" }
+ },
yamlls = {
filetypes = { "yaml", "yaml.docker-compose" }
},
diff --git a/lua/nvim-lsp-installer/core/managers/cargo/init.lua b/lua/nvim-lsp-installer/core/managers/cargo/init.lua
index 7f9dd0f0..77ec5ae8 100644
--- a/lua/nvim-lsp-installer/core/managers/cargo/init.lua
+++ b/lua/nvim-lsp-installer/core/managers/cargo/init.lua
@@ -35,6 +35,16 @@ function M.install(crate, opts)
assert(not opts.git, "Providing a version when installing a git crate is not allowed.")
end)
+ local final_crate = crate
+
+ if opts.git then
+ final_crate = { "--git" }
+ if type(opts.git) == "string" then
+ table.insert(final_crate, opts.git)
+ end
+ table.insert(final_crate, crate)
+ end
+
ctx.spawn.cargo {
"install",
"--root",
@@ -46,7 +56,7 @@ function M.install(crate, opts)
end)
:or_else(vim.NIL),
opts.features and { "--features", opts.features } or vim.NIL,
- opts.git and { "--git", crate } or crate,
+ final_crate,
}
return {
diff --git a/lua/nvim-lsp-installer/servers/init.lua b/lua/nvim-lsp-installer/servers/init.lua
index 6c385675..fc049589 100644
--- a/lua/nvim-lsp-installer/servers/init.lua
+++ b/lua/nvim-lsp-installer/servers/init.lua
@@ -147,6 +147,7 @@ local CORE_SERVERS = _.set_of {
"vls",
"volar",
"vuels",
+ "wgsl_analyzer",
"yamlls",
"zk",
"zls",
diff --git a/lua/nvim-lsp-installer/servers/wgsl_analyzer/init.lua b/lua/nvim-lsp-installer/servers/wgsl_analyzer/init.lua
new file mode 100644
index 00000000..b7bd9554
--- /dev/null
+++ b/lua/nvim-lsp-installer/servers/wgsl_analyzer/init.lua
@@ -0,0 +1,19 @@
+local server = require "nvim-lsp-installer.server"
+local cargo = require "nvim-lsp-installer.core.managers.cargo"
+
+return function(name, root_dir)
+ local homepage = "https://github.com/wgsl-analyzer/wgsl-analyzer"
+
+ return server.Server:new {
+ name = name,
+ root_dir = root_dir,
+ languages = { "wgsl" },
+ homepage = homepage,
+ installer = cargo.crate("wgsl_analyzer", {
+ git = homepage,
+ }),
+ default_options = {
+ cmd_env = cargo.env(root_dir),
+ },
+ }
+end