From 0e9b844d22c737fa05eef2a72c2010d38a34ddec Mon Sep 17 00:00:00 2001 From: Alexander Courtis Date: Tue, 29 Oct 2024 11:19:45 +1100 Subject: [PATCH] chore: resolve undefined-field --- lua/nvim-tree/renderer/builder.lua | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lua/nvim-tree/renderer/builder.lua b/lua/nvim-tree/renderer/builder.lua index 104abb08..60e89e3d 100644 --- a/lua/nvim-tree/renderer/builder.lua +++ b/lua/nvim-tree/renderer/builder.lua @@ -142,7 +142,7 @@ function Builder:unwrap_highlighted_strings(highlighted_strings) end ---@private ----@param node Node +---@param node DirectoryNode ---@return HighlightedString icon ---@return HighlightedString name function Builder:build_folder(node) @@ -352,15 +352,19 @@ end ---@param idx integer line number starting at 1 ---@param num_children integer of node function Builder:build_line(node, idx, num_children) + local dir = node:as(DirectoryNode) + local dir_link = node:as(FileLinkNode) + local file_link = node:as(DirectoryLinkNode) + -- various components local indent_markers = pad.get_indent_markers(self.depth, idx, num_children, node, self.markers) local arrows = pad.get_arrows(node) -- main components local icon, name - if node:is(DirectoryNode) then - icon, name = self:build_folder(node) - elseif node:is(DirectoryLinkNode) or node:is(FileLinkNode) then + if dir then + icon, name = self:build_folder(dir) + elseif dir_link or file_link then icon, name = self:build_symlink(node) else icon, name = self:build_file(node)