소스 검색

avoid using smart_cwd if root_dir is not found

kylo252 3 년 전
부모
커밋
6b98bc1378
1개의 변경된 파일9개의 추가작업 그리고 4개의 파일을 삭제
  1. 9 4
      lua/lsp/init.lua

+ 9 - 4
lua/lsp/init.lua

@@ -51,6 +51,14 @@ local function add_lsp_buffer_keybindings(bufnr)
   wk.register(keys, { mode = "n", buffer = bufnr })
 end
 
+local function set_smart_cwd(client)
+  local proj_dir = client.config.root_dir
+  if lvim.lsp.smart_cwd and proj_dir ~= "/" then
+    vim.api.nvim_set_current_dir(proj_dir)
+    require("core.nvimtree").change_tree_dir(proj_dir)
+  end
+end
+
 function M.common_capabilities()
   local capabilities = vim.lsp.protocol.make_client_capabilities()
   capabilities.textDocument.completion.completionItem.snippetSupport = true
@@ -113,10 +121,7 @@ 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
+  set_smart_cwd(client)
   require("lsp.null-ls").setup(vim.bo.filetype)
 end