@@ -3,7 +3,6 @@ local log = require "nvim-tree.log"
33local notify = require " nvim-tree.notify"
44local utils = require " nvim-tree.utils"
55local view = require " nvim-tree.view"
6- local watch = require " nvim-tree.explorer.watch"
76local explorer_node = require " nvim-tree.explorer.node"
87
98local BaseNode = require " nvim-tree.node"
@@ -26,19 +25,15 @@ local FILTER_REASON = require("nvim-tree.enum").FILTER_REASON
2625
2726local config
2827
29- --- @class Explorer : BaseNode
28+ --- @class ( exact ) Explorer : DirectoryNode
3029--- @field opts table user options
31- --- @field absolute_path string
32- --- @field nodes Node[]
33- --- @field open boolean
34- --- @field watcher Watcher | nil
3530--- @field renderer Renderer
3631--- @field filters Filters
3732--- @field live_filter LiveFilter
3833--- @field sorters Sorter
3934--- @field marks Marks
4035--- @field clipboard Clipboard
41- local Explorer = BaseNode : new ()
36+ local Explorer = BaseNode . new (DirectoryNode ) -- TODO do not inherit, add a root node to separate Explorer and Node
4237
4338--- @param path string | nil
4439--- @return Explorer | nil
@@ -56,27 +51,16 @@ function Explorer:new(path)
5651 end
5752
5853 --- @type Explorer
59- local placeholder
60-
61- local o = BaseNode .new (self , {
62- type = " directory" ,
63- explorer = placeholder ,
64- absolute_path = path ,
65- executable = false ,
66- hidden = false ,
67- is_dot = false ,
68-
69- has_children = false ,
70- group_next = nil ,
71- nodes = {},
72- open = true ,
73- })
54+ local placeholder = nil
55+
56+ local o = DirectoryNode .new (self , placeholder , nil , path , nil , nil )
7457 --- @cast o Explorer
7558
7659 o .explorer = self
60+ o .open = true
61+
7762 o .opts = config
7863 o .sorters = Sorters :new (config )
79- o .watcher = watch .create_watcher (o )
8064 o .renderer = Renderer :new (config , o )
8165 o .filters = Filters :new (config , o )
8266 o .live_filter = LiveFilter :new (config , o )
@@ -490,7 +474,7 @@ function Explorer:reload_git()
490474 event_running = false
491475end
492476
493- function Explorer . setup (opts )
477+ function Explorer : setup (opts )
494478 config = opts
495479 require (" nvim-tree.explorer.node" ).setup (opts )
496480 require (" nvim-tree.explorer.watch" ).setup (opts )
0 commit comments