aboutsummaryrefslogtreecommitdiffstats
path: root/lua/lspconfig/util.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/lspconfig/util.lua')
-rw-r--r--lua/lspconfig/util.lua19
1 files changed, 3 insertions, 16 deletions
diff --git a/lua/lspconfig/util.lua b/lua/lspconfig/util.lua
index 9fb84bfe..dd6c57cf 100644
--- a/lua/lspconfig/util.lua
+++ b/lua/lspconfig/util.lua
@@ -155,20 +155,7 @@ M.path = (function()
--- @param path T
--- @return T
local function dirname(path)
- local strip_dir_pat = '/([^/]+)$'
- local strip_sep_pat = '/$'
- if not path or #path == 0 then
- return path
- end
- local result = path:gsub(strip_sep_pat, ''):gsub(strip_dir_pat, '')
- if #result == 0 then
- if iswin then
- return path:sub(1, 2):upper()
- else
- return '/'
- end
- end
- return result
+ return vim.fs.dirname(path)
end
local function path_join(...)
@@ -181,7 +168,7 @@ M.path = (function()
local dir = path
-- Just in case our algo is buggy, don't infinite loop.
for _ = 1, 100 do
- dir = dirname(dir)
+ dir = vim.fs.dirname(dir)
if not dir then
return
end
@@ -199,7 +186,7 @@ M.path = (function()
local function iterate_parents(path)
local function it(_, v)
if v and not is_fs_root(v) then
- v = dirname(v)
+ v = vim.fs.dirname(v)
else
return
end