@@ -142,7 +142,7 @@ function Builder:unwrap_highlighted_strings(highlighted_strings)
142
142
end
143
143
144
144
--- @private
145
- --- @param node Node
145
+ --- @param node DirectoryNode
146
146
--- @return HighlightedString icon
147
147
--- @return HighlightedString name
148
148
function Builder :build_folder (node )
@@ -352,15 +352,19 @@ end
352
352
--- @param idx integer line number starting at 1
353
353
--- @param num_children integer of node
354
354
function Builder :build_line (node , idx , num_children )
355
+ local dir = node :as (DirectoryNode )
356
+ local dir_link = node :as (FileLinkNode )
357
+ local file_link = node :as (DirectoryLinkNode )
358
+
355
359
-- various components
356
360
local indent_markers = pad .get_indent_markers (self .depth , idx , num_children , node , self .markers )
357
361
local arrows = pad .get_arrows (node )
358
362
359
363
-- main components
360
364
local icon , name
361
- if node : is ( DirectoryNode ) then
362
- icon , name = self :build_folder (node )
363
- elseif node : is ( DirectoryLinkNode ) or node : is ( FileLinkNode ) then
365
+ if dir then
366
+ icon , name = self :build_folder (dir )
367
+ elseif dir_link or file_link then
364
368
icon , name = self :build_symlink (node )
365
369
else
366
370
icon , name = self :build_file (node )
0 commit comments