diff options
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/lspconfig/configs/fennel_ls.lua | 3 | ||||
| -rw-r--r-- | lua/lspconfig/configs/turtle_ls.lua | 2 | ||||
| -rw-r--r-- | lua/lspconfig/util.lua | 21 |
3 files changed, 14 insertions, 12 deletions
diff --git a/lua/lspconfig/configs/fennel_ls.lua b/lua/lspconfig/configs/fennel_ls.lua index f125d54f..269f04f2 100644 --- a/lua/lspconfig/configs/fennel_ls.lua +++ b/lua/lspconfig/configs/fennel_ls.lua @@ -6,7 +6,8 @@ return { filetypes = { 'fennel' }, root_dir = function(dir) local has_fls_project_cfg = function(path) - return util.path.is_file(vim.fs.joinpath(path, 'flsproject.fnl')) + local fnlpath = vim.fs.joinpath(path, 'flsproject.fnl') + return (vim.loop.fs_stat(fnlpath) or {}).type == 'file' end return util.search_ancestors(dir, has_fls_project_cfg) or vim.fs.root(0, '.git') end, diff --git a/lua/lspconfig/configs/turtle_ls.lua b/lua/lspconfig/configs/turtle_ls.lua index 21624a82..220953fd 100644 --- a/lua/lspconfig/configs/turtle_ls.lua +++ b/lua/lspconfig/configs/turtle_ls.lua @@ -17,7 +17,7 @@ if bin_path == nil then end for _, p in ipairs(paths) do local candidate = util.path.join(p, bin_name) - if util.path.is_file(candidate) then + if (vim.loop.fs_stat(candidate) or {}).type == 'file' then full_path = candidate break end diff --git a/lua/lspconfig/util.lua b/lua/lspconfig/util.lua index 16ffa729..241c7223 100644 --- a/lua/lspconfig/util.lua +++ b/lua/lspconfig/util.lua @@ -109,13 +109,6 @@ M.path = (function() return stat and stat.type == 'directory' or false end - --- @param filename string - --- @return boolean - local function is_file(filename) - local stat = uv.fs_stat(filename) - return stat and stat.type == 'file' or false - end - --- @param path string --- @return boolean local function is_fs_root(path) @@ -196,7 +189,6 @@ M.path = (function() return { escape_wildcards = escape_wildcards, is_dir = is_dir, - is_file = is_file, is_absolute = is_absolute, join = path_join, traverse_parents = traverse_parents, @@ -256,7 +248,8 @@ end function M.find_git_ancestor(startpath) return M.search_ancestors(startpath, function(path) -- Support git directories and git files (worktrees) - if M.path.is_dir(M.path.join(path, '.git')) or M.path.is_file(M.path.join(path, '.git')) then + local gitpath = M.path.join(path, '.git') + if M.path.is_dir(gitpath) or (uv.fs_stat(gitpath) or {}).type == 'file' then return path end end) @@ -281,7 +274,8 @@ end function M.find_package_json_ancestor(startpath) return M.search_ancestors(startpath, function(path) - if M.path.is_file(M.path.join(path, 'package.json')) then + local jsonpath = M.path.join(path, 'package.json') + if (uv.fs_stat(jsonpath) or {}).type == 'file' then return path end end) @@ -391,6 +385,13 @@ end --- Deprecated functions +--- @deprecated use `(vim.loop.fs_stat(path) or {}).type == 'file'` instead +--- @param path string +--- @return boolean +function M.path.is_file(path) + return (vim.loop.fs_stat(path) or {}).type == 'file' +end + --- @deprecated use `vim.fs.dirname` instead M.path.dirname = vim.fs.dirname |
