summaryrefslogtreecommitdiff
path: root/after/lsp
diff options
context:
space:
mode:
Diffstat (limited to 'after/lsp')
-rw-r--r--after/lsp/emmylua_ls.lua29
-rw-r--r--after/lsp/qmlls.lua4
-rw-r--r--after/lsp/rust_analyzer.lua0
3 files changed, 33 insertions, 0 deletions
diff --git a/after/lsp/emmylua_ls.lua b/after/lsp/emmylua_ls.lua
new file mode 100644
index 0000000..4e0cd88
--- /dev/null
+++ b/after/lsp/emmylua_ls.lua
@@ -0,0 +1,29 @@
+return {
+ cmd = { vim.env.XDG_DATA_HOME .. "/cargo/bin/emmylua_ls" },
+ filetypes = { "lua" },
+ root_markers = {
+ ".emmyrc.json",
+ },
+ workspace_required = false,
+ on_init = function(client)
+ if client.workspace_folders then
+ local path = client.workspace_folders[1].name
+ if
+ path ~= vim.fn.stdpath("config")
+ and (
+ vim.uv.fs_stat(path .. "/.luarc.json")
+ or vim.uv.fs_stat(path .. "/.luarc.jsonc")
+ or vim.uv.fs_stat(path .. "/.emmyrc.jsonc")
+ )
+ then
+ return
+ end
+ end
+
+ client.config.settings.Lua.workspace =
+ vim.tbl_deep_extend("force", client.config.settings.Lua.workspace, {
+ library = vim.api.nvim_get_runtime_file("", true),
+ })
+ end,
+ settings = { Lua = { workspace = {} } },
+}
diff --git a/after/lsp/qmlls.lua b/after/lsp/qmlls.lua
new file mode 100644
index 0000000..46c4859
--- /dev/null
+++ b/after/lsp/qmlls.lua
@@ -0,0 +1,4 @@
+return {
+ cmd = { "qmlls6" },
+ root_markers = { "shell.qml" },
+}
diff --git a/after/lsp/rust_analyzer.lua b/after/lsp/rust_analyzer.lua
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/after/lsp/rust_analyzer.lua