* refactor(#2731): resolve warnings * refactor(#2731): resolve warnings * refactor(#2731): resolve warnings * refactor(#2731): resolve warnings, type gymnastics * refactor(#2731): resolve warnings, type gymnastics * refactor(#2731): resolve warnings * refactor(#2731): resolve warnings * refactor(#2731): handle cwd unavailable when opening * refactor(#2731): resolve warnings * refactor(#2731): resolve warnings * refactor(#2731): resolve warnings * refactor(#2731): resolve warnings, type gymnastics * refactor(#2731): resolve warnings * refactor(#2731): resolve warnings * refactor(#2731): style * refactor(#2731): add _meta library, explicit check disables * refactor(#2731): add lua-language-server manual install instructions * refactor(#2731): resolve warnings * refactor(#2731): explicitly set all diagnostics, reduce deprecated to hint * Revert "refactor(#2731): resolve warnings" This reverts commit9c0526b7b0. * Revert "refactor(#2731): resolve warnings" This reverts commitf534fbc606. * refactor(#2731): handle directory unavailable when deleting * refactor(#2731): resolve warnings * refactor(#2731): resolve warnings * refactor(#2731): resolve warnings * refactor(#2731): resolve warnings * refactor(#2731): resolve warnings * refactor(#2731): resolve warnings * refactor(#2731): resolve warnings * refactor(#2731): handle directory unavailable when creating explorer * refactor(#2731): add all nvim lua libraries * refactor(#2731): resolve warnings * refactor(#2731): remove vim global * refactor(#2731): disable deprecated until we have a 0.9->0.10 story
This commit is contained in:
committed by
GitHub
parent
5a87ffe35c
commit
26632f496e
@@ -1,4 +1,5 @@
|
||||
local git = require "nvim-tree.git"
|
||||
local notify = require "nvim-tree.notify"
|
||||
local watch = require "nvim-tree.explorer.watch"
|
||||
local explorer_node = require "nvim-tree.explorer.node"
|
||||
|
||||
@@ -15,14 +16,24 @@ M.reload = require("nvim-tree.explorer.reload").reload
|
||||
local Explorer = {}
|
||||
Explorer.__index = Explorer
|
||||
|
||||
---@param cwd string|nil
|
||||
---@return Explorer
|
||||
function Explorer.new(cwd)
|
||||
cwd = vim.loop.fs_realpath(cwd or vim.loop.cwd())
|
||||
---@param path string|nil
|
||||
---@return Explorer|nil
|
||||
function Explorer.new(path)
|
||||
local err
|
||||
|
||||
if path then
|
||||
path, err = vim.loop.fs_realpath(path)
|
||||
else
|
||||
path, err = vim.loop.cwd()
|
||||
end
|
||||
if not path then
|
||||
notify.error(err)
|
||||
return
|
||||
end
|
||||
|
||||
---@class Explorer
|
||||
local explorer = setmetatable({
|
||||
absolute_path = cwd,
|
||||
absolute_path = path,
|
||||
nodes = {},
|
||||
open = true,
|
||||
}, Explorer)
|
||||
|
||||
@@ -77,7 +77,7 @@ function M.link(parent, absolute_path, name, fs_stat)
|
||||
|
||||
local is_dir_link = (link_to ~= nil) and vim.loop.fs_stat(link_to).type == "directory"
|
||||
|
||||
if is_dir_link then
|
||||
if is_dir_link and link_to then
|
||||
local handle = vim.loop.fs_scandir(link_to)
|
||||
has_children = handle and vim.loop.fs_scandir_next(handle) ~= nil
|
||||
open = false
|
||||
|
||||
@@ -91,7 +91,7 @@ function M.reload(node, git_status)
|
||||
---@type table<string, Node>
|
||||
local nodes_by_path = utils.key_by(node.nodes, "absolute_path")
|
||||
while true do
|
||||
local name, t = vim.loop.fs_scandir_next(handle, cwd)
|
||||
local name, t = vim.loop.fs_scandir_next(handle)
|
||||
if not name then
|
||||
break
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user