1
- local git = require (" nvim-tree.git" )
2
- local log = require (" nvim-tree.log" )
3
- local notify = require (" nvim-tree.notify" )
4
- local utils = require (" nvim-tree.utils" )
5
- local view = require (" nvim-tree.view" )
6
-
7
- local BaseNode = require (" nvim-tree.node" )
8
- local DirectoryNode = require (" nvim-tree.node.directory" )
9
- local FileNode = require (" nvim-tree.node.file" )
10
- local LinkNode = require (" nvim-tree.node.link" )
11
- local Watcher = require (" nvim-tree.watcher" )
1
+ local git = require " nvim-tree.git"
2
+ local log = require " nvim-tree.log"
3
+ local notify = require " nvim-tree.notify"
4
+ local utils = require " nvim-tree.utils"
5
+ local view = require " nvim-tree.view"
6
+ local node_factory = require " nvim-tree.node.factory"
7
+
8
+ local BaseNode = require " nvim-tree.node"
9
+ local DirectoryNode = require " nvim-tree.node.directory"
10
+ local Watcher = require " nvim-tree.watcher"
12
11
13
12
local Iterator = require (" nvim-tree.iterators.node-iterator" )
14
13
local NodeIterator = require (" nvim-tree.iterators.node-iterator" )
@@ -150,17 +149,7 @@ function Explorer:reload(node, git_status)
150
149
end
151
150
152
151
if not nodes_by_path [abs ] then
153
- local new_child = nil
154
- if t == " directory" and vim .loop .fs_access (abs , " R" ) and Watcher .is_fs_event_capable (abs ) then
155
- new_child = DirectoryNode :new (self , node , abs , name , stat )
156
- elseif t == " file" then
157
- new_child = FileNode :new (self , node , abs , name , stat )
158
- elseif t == " link" then
159
- local link = LinkNode :new (self , node , abs , name , stat )
160
- if link .link_to ~= nil then
161
- new_child = link
162
- end
163
- end
152
+ local new_child = node_factory .create_node (self , node , abs , stat , name )
164
153
if new_child then
165
154
table.insert (node .nodes , new_child )
166
155
nodes_by_path [abs ] = new_child
@@ -365,6 +354,7 @@ function Explorer:populate_children(handle, cwd, node, git_status, parent)
365
354
local stat = vim .loop .fs_lstat (abs )
366
355
local filter_reason = parent .filters :should_filter_as_reason (abs , stat , filter_status )
367
356
if filter_reason == FILTER_REASON .none and not nodes_by_path [abs ] then
357
+ <<<<<<< HEAD
368
358
-- Type must come from fs_stat and not fs_scandir_next to maintain sshfs compatibility
369
359
local t = stat and stat .type or nil
370
360
local child = nil
@@ -378,6 +368,9 @@ function Explorer:populate_children(handle, cwd, node, git_status, parent)
378
368
child = link
379
369
end
380
370
end
371
+ =======
372
+ local child = node_factory .create_node (self , node , abs , stat , name )
373
+ >>>>>>> c02c98b (extract node factory , remove unused code )
381
374
if child then
382
375
table.insert (node .nodes , child )
383
376
nodes_by_path [child .absolute_path ] = true
0 commit comments