summaryrefslogtreecommitdiff
path: root/lua/lsp
diff options
context:
space:
mode:
Diffstat (limited to 'lua/lsp')
-rw-r--r--lua/lsp/init.lua4
-rw-r--r--lua/lsp/null-ls.lua10
2 files changed, 11 insertions, 3 deletions
diff --git a/lua/lsp/init.lua b/lua/lsp/init.lua
index b85dfcd2..66efdafc 100644
--- a/lua/lsp/init.lua
+++ b/lua/lsp/init.lua
@@ -83,6 +83,10 @@ function M.common_on_attach(client, bufnr)
end
lsp_highlight_document(client)
add_lsp_buffer_keybindings(bufnr)
+ if lvim.lsp.smart_cwd then
+ vim.api.nvim_set_current_dir(client.config.root_dir)
+ require("core.nvimtree").change_tree_dir(client.config.root_dir)
+ end
require("lsp.null-ls").setup(vim.bo.filetype)
end
diff --git a/lua/lsp/null-ls.lua b/lua/lsp/null-ls.lua
index 51fab00b..d3f7931b 100644
--- a/lua/lsp/null-ls.lua
+++ b/lua/lsp/null-ls.lua
@@ -24,10 +24,14 @@ function M.get_registered_providers_by_filetype(ft)
end
local function validate_nodejs_provider(requests, provider)
- vim.cmd "let root_dir = FindRootDirectory()"
- local root_dir = vim.api.nvim_get_var "root_dir"
+ local ts_client = require("utils").get_active_client_by_ft "typescript"
+ if ts_client == nil then
+ u.lvim_log "Unable to determine root directory since tsserver didn't start correctly"
+ return
+ end
+ local root_dir = ts_client.config.root_dir
local local_nodejs_command = root_dir .. "/node_modules/.bin/" .. provider._opts.command
- u.lvim_log(string.format("checking for local node module: [%s]", vim.inspect(provider)))
+ u.lvim_log(string.format("checking [%s] for local node module: [%s]", local_nodejs_command, vim.inspect(provider)))
if vim.fn.executable(local_nodejs_command) == 1 then
provider._opts.command = local_nodejs_command
table.insert(requests, provider)