* refactor(#2875): multi instance renderer * refactor(#2875): multi instance renderer * refactor(#2875): multi instance renderer * refactor(#2875): multi instance renderer * refactor(#2875): deal with some cyclic require * refactor(#2875): multi instance renderer * refactor(#2875): multi instance renderer * refactor(#2875): multi instance renderer * refactor(#2875): multi instance renderer * refactor(#2875): multi instance renderer * refactor(#2875): multi instance renderer * refactor(#2875): multi instance renderer * refactor(#2875): multi instance renderer * refactor(#2875): multi instance renderer * refactor(#2875): multi instance renderer * refactor(#2875): multi instance renderer
This commit is contained in:
committed by
GitHub
parent
45a93d9979
commit
03ae60313b
@@ -2,7 +2,6 @@ local builders = require "nvim-tree.explorer.node-builders"
|
||||
local git = require "nvim-tree.git"
|
||||
local log = require "nvim-tree.log"
|
||||
local notify = require "nvim-tree.notify"
|
||||
local renderer = {} -- circular dependency, will become a member
|
||||
local utils = require "nvim-tree.utils"
|
||||
local view = require "nvim-tree.view"
|
||||
local watch = require "nvim-tree.explorer.watch"
|
||||
@@ -13,19 +12,23 @@ local NodeIterator = require "nvim-tree.iterators.node-iterator"
|
||||
local Watcher = require "nvim-tree.watcher"
|
||||
|
||||
local Filters = require "nvim-tree.explorer.filters"
|
||||
local Marks = {} -- circular dependencies
|
||||
local Marks = require "nvim-tree.marks"
|
||||
local LiveFilter = require "nvim-tree.explorer.live-filter"
|
||||
local Sorters = require "nvim-tree.explorer.sorters"
|
||||
local Clipboard = {} -- circular dependencies
|
||||
local Clipboard = require "nvim-tree.actions.fs.clipboard"
|
||||
local Renderer = require "nvim-tree.renderer"
|
||||
|
||||
local FILTER_REASON = require("nvim-tree.enum").FILTER_REASON
|
||||
|
||||
local config
|
||||
|
||||
---@class Explorer
|
||||
---@field opts table user options
|
||||
---@field absolute_path string
|
||||
---@field nodes Node[]
|
||||
---@field open boolean
|
||||
---@field watcher Watcher|nil
|
||||
---@field renderer Renderer
|
||||
---@field filters Filters
|
||||
---@field live_filter LiveFilter
|
||||
---@field sorters Sorter
|
||||
@@ -48,17 +51,19 @@ function Explorer:new(path)
|
||||
return
|
||||
end
|
||||
|
||||
---@class Explorer
|
||||
local o = setmetatable({
|
||||
local o = {
|
||||
opts = config,
|
||||
absolute_path = path,
|
||||
nodes = {},
|
||||
open = true,
|
||||
sorters = Sorters:new(config),
|
||||
}, Explorer)
|
||||
}
|
||||
|
||||
setmetatable(o, self)
|
||||
self.__index = self
|
||||
|
||||
o.watcher = watch.create_watcher(o)
|
||||
o.renderer = Renderer:new(config, o)
|
||||
o.filters = Filters:new(config, o)
|
||||
o.live_filter = LiveFilter:new(config, o)
|
||||
o.marks = Marks:new(config, o)
|
||||
@@ -454,7 +459,7 @@ function Explorer:reload_explorer()
|
||||
local projects = git.reload()
|
||||
self:refresh_nodes(projects)
|
||||
if view.is_visible() then
|
||||
renderer.draw()
|
||||
self.renderer:draw()
|
||||
end
|
||||
event_running = false
|
||||
end
|
||||
@@ -467,7 +472,7 @@ function Explorer:reload_git()
|
||||
|
||||
local projects = git.reload()
|
||||
explorer_node.reload_node_status(self, projects)
|
||||
renderer.draw()
|
||||
self.renderer:draw()
|
||||
event_running = false
|
||||
end
|
||||
|
||||
@@ -475,11 +480,6 @@ function Explorer.setup(opts)
|
||||
config = opts
|
||||
require("nvim-tree.explorer.node").setup(opts)
|
||||
require("nvim-tree.explorer.watch").setup(opts)
|
||||
|
||||
renderer = require "nvim-tree.renderer"
|
||||
|
||||
Marks = require "nvim-tree.marks"
|
||||
Clipboard = require "nvim-tree.actions.fs.clipboard"
|
||||
end
|
||||
|
||||
return Explorer
|
||||
|
||||
Reference in New Issue
Block a user