* 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
@@ -1,18 +1,18 @@
|
||||
local core = require "nvim-tree.core"
|
||||
|
||||
local HL_POSITION = require("nvim-tree.enum").HL_POSITION
|
||||
local ICON_PLACEMENT = require("nvim-tree.enum").ICON_PLACEMENT
|
||||
|
||||
local Decorator = require "nvim-tree.renderer.decorator"
|
||||
|
||||
---@class DecoratorBookmarks: Decorator
|
||||
---@class (exact) DecoratorBookmarks: Decorator
|
||||
---@field icon HighlightedString
|
||||
local DecoratorBookmarks = Decorator:new()
|
||||
|
||||
---@param opts table
|
||||
---@param explorer Explorer
|
||||
---@return DecoratorBookmarks
|
||||
function DecoratorBookmarks:new(opts)
|
||||
function DecoratorBookmarks:new(opts, explorer)
|
||||
local o = Decorator.new(self, {
|
||||
explorer = explorer,
|
||||
enabled = true,
|
||||
hl_pos = HL_POSITION[opts.renderer.highlight_bookmarks] or HL_POSITION.none,
|
||||
icon_placement = ICON_PLACEMENT[opts.renderer.icons.bookmarks_placement] or ICON_PLACEMENT.none,
|
||||
@@ -34,7 +34,7 @@ end
|
||||
---@param node Node
|
||||
---@return HighlightedString[]|nil icons
|
||||
function DecoratorBookmarks:calculate_icons(node)
|
||||
if core.get_explorer() and core.get_explorer().marks:get(node) then
|
||||
if self.explorer.marks:get(node) then
|
||||
return { self.icon }
|
||||
end
|
||||
end
|
||||
@@ -43,7 +43,7 @@ end
|
||||
---@param node Node
|
||||
---@return string|nil group
|
||||
function DecoratorBookmarks:calculate_highlight(node)
|
||||
if self.hl_pos ~= HL_POSITION.none and core.get_explorer() and core.get_explorer().marks:get(node) then
|
||||
if self.hl_pos ~= HL_POSITION.none and self.explorer.marks:get(node) then
|
||||
return "NvimTreeBookmarkHL"
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
local core = require "nvim-tree.core"
|
||||
|
||||
local HL_POSITION = require("nvim-tree.enum").HL_POSITION
|
||||
local ICON_PLACEMENT = require("nvim-tree.enum").ICON_PLACEMENT
|
||||
|
||||
local Decorator = require "nvim-tree.renderer.decorator"
|
||||
|
||||
---@class DecoratorCopied: Decorator
|
||||
---@class (exact) DecoratorCopied: Decorator
|
||||
---@field enabled boolean
|
||||
---@field icon HighlightedString|nil
|
||||
local DecoratorCopied = Decorator:new()
|
||||
|
||||
---@param opts table
|
||||
---@param explorer Explorer
|
||||
---@return DecoratorCopied
|
||||
function DecoratorCopied:new(opts)
|
||||
function DecoratorCopied:new(opts, explorer)
|
||||
local o = Decorator.new(self, {
|
||||
explorer = explorer,
|
||||
enabled = true,
|
||||
hl_pos = HL_POSITION[opts.renderer.highlight_clipboard] or HL_POSITION.none,
|
||||
icon_placement = ICON_PLACEMENT.none,
|
||||
@@ -27,7 +27,7 @@ end
|
||||
---@param node Node
|
||||
---@return string|nil group
|
||||
function DecoratorCopied:calculate_highlight(node)
|
||||
if self.hl_pos ~= HL_POSITION.none and core.get_explorer() and core.get_explorer().clipboard:is_copied(node) then
|
||||
if self.hl_pos ~= HL_POSITION.none and self.explorer.clipboard:is_copied(node) then
|
||||
return "NvimTreeCopiedHL"
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
local core = require "nvim-tree.core"
|
||||
|
||||
local HL_POSITION = require("nvim-tree.enum").HL_POSITION
|
||||
local ICON_PLACEMENT = require("nvim-tree.enum").ICON_PLACEMENT
|
||||
|
||||
local Decorator = require "nvim-tree.renderer.decorator"
|
||||
|
||||
---@class DecoratorCut: Decorator
|
||||
---@class (exact) DecoratorCut: Decorator
|
||||
---@field enabled boolean
|
||||
---@field icon HighlightedString|nil
|
||||
local DecoratorCut = Decorator:new()
|
||||
|
||||
---@param opts table
|
||||
---@param explorer Explorer
|
||||
---@return DecoratorCut
|
||||
function DecoratorCut:new(opts)
|
||||
function DecoratorCut:new(opts, explorer)
|
||||
local o = Decorator.new(self, {
|
||||
explorer = explorer,
|
||||
enabled = true,
|
||||
hl_pos = HL_POSITION[opts.renderer.highlight_clipboard] or HL_POSITION.none,
|
||||
icon_placement = ICON_PLACEMENT.none,
|
||||
@@ -27,7 +27,7 @@ end
|
||||
---@param node Node
|
||||
---@return string|nil group
|
||||
function DecoratorCut:calculate_highlight(node)
|
||||
if self.hl_pos ~= HL_POSITION.none and core.get_explorer() and core.get_explorer().clipboard:is_cut(node) then
|
||||
if self.hl_pos ~= HL_POSITION.none and self.explorer.clipboard:is_cut(node) then
|
||||
return "NvimTreeCutHL"
|
||||
end
|
||||
end
|
||||
|
||||
@@ -32,14 +32,16 @@ local ICON_KEYS = {
|
||||
["hint"] = vim.diagnostic.severity.HINT,
|
||||
}
|
||||
|
||||
---@class DecoratorDiagnostics: Decorator
|
||||
---@class (exact) DecoratorDiagnostics: Decorator
|
||||
---@field icons HighlightedString[]
|
||||
local DecoratorDiagnostics = Decorator:new()
|
||||
|
||||
---@param opts table
|
||||
---@param explorer Explorer
|
||||
---@return DecoratorDiagnostics
|
||||
function DecoratorDiagnostics:new(opts)
|
||||
function DecoratorDiagnostics:new(opts, explorer)
|
||||
local o = Decorator.new(self, {
|
||||
explorer = explorer,
|
||||
enabled = opts.diagnostics.enable,
|
||||
hl_pos = HL_POSITION[opts.renderer.highlight_diagnostics] or HL_POSITION.none,
|
||||
icon_placement = ICON_PLACEMENT[opts.renderer.icons.diagnostics_placement] or ICON_PLACEMENT.none,
|
||||
|
||||
@@ -9,7 +9,7 @@ local Decorator = require "nvim-tree.renderer.decorator"
|
||||
---@class HighlightedStringGit: HighlightedString
|
||||
---@field ord number decreasing priority
|
||||
|
||||
---@class DecoratorGit: Decorator
|
||||
---@class (exact) DecoratorGit: Decorator
|
||||
---@field file_hl table<string, string> by porcelain status e.g. "AM"
|
||||
---@field folder_hl table<string, string> by porcelain status
|
||||
---@field icons_by_status HighlightedStringGit[] by human status
|
||||
@@ -17,9 +17,11 @@ local Decorator = require "nvim-tree.renderer.decorator"
|
||||
local DecoratorGit = Decorator:new()
|
||||
|
||||
---@param opts table
|
||||
---@param explorer Explorer
|
||||
---@return DecoratorGit
|
||||
function DecoratorGit:new(opts)
|
||||
function DecoratorGit:new(opts, explorer)
|
||||
local o = Decorator.new(self, {
|
||||
explorer = explorer,
|
||||
enabled = opts.git.enable,
|
||||
hl_pos = HL_POSITION[opts.renderer.highlight_git] or HL_POSITION.none,
|
||||
icon_placement = ICON_PLACEMENT[opts.renderer.icons.git_placement] or ICON_PLACEMENT.none,
|
||||
|
||||
@@ -3,14 +3,16 @@ local ICON_PLACEMENT = require("nvim-tree.enum").ICON_PLACEMENT
|
||||
local explorer_node = require "nvim-tree.explorer.node"
|
||||
local Decorator = require "nvim-tree.renderer.decorator"
|
||||
|
||||
---@class DecoratorHidden: Decorator
|
||||
---@class (exact) DecoratorHidden: Decorator
|
||||
---@field icon HighlightedString|nil
|
||||
local DecoratorHidden = Decorator:new()
|
||||
|
||||
---@param opts table
|
||||
---@param explorer Explorer
|
||||
---@return DecoratorHidden
|
||||
function DecoratorHidden:new(opts)
|
||||
function DecoratorHidden:new(opts, explorer)
|
||||
local o = Decorator.new(self, {
|
||||
explorer = explorer,
|
||||
enabled = true,
|
||||
hl_pos = HL_POSITION[opts.renderer.highlight_hidden] or HL_POSITION.none,
|
||||
icon_placement = ICON_PLACEMENT[opts.renderer.icons.hidden_placement] or ICON_PLACEMENT.none,
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
local HL_POSITION = require("nvim-tree.enum").HL_POSITION
|
||||
local ICON_PLACEMENT = require("nvim-tree.enum").ICON_PLACEMENT
|
||||
|
||||
---@class Decorator
|
||||
---@class (exact) Decorator
|
||||
---@field private __index? table
|
||||
---@field protected explorer Explorer
|
||||
---@field protected enabled boolean
|
||||
---@field protected hl_pos HL_POSITION
|
||||
---@field protected icon_placement ICON_PLACEMENT
|
||||
@@ -11,6 +13,7 @@ local Decorator = {}
|
||||
---@return Decorator
|
||||
function Decorator:new(o)
|
||||
o = o or {}
|
||||
|
||||
setmetatable(o, self)
|
||||
self.__index = self
|
||||
|
||||
|
||||
@@ -5,14 +5,16 @@ local ICON_PLACEMENT = require("nvim-tree.enum").ICON_PLACEMENT
|
||||
|
||||
local Decorator = require "nvim-tree.renderer.decorator"
|
||||
|
||||
---@class DecoratorModified: Decorator
|
||||
---@class (exact) DecoratorModified: Decorator
|
||||
---@field icon HighlightedString|nil
|
||||
local DecoratorModified = Decorator:new()
|
||||
|
||||
---@param opts table
|
||||
---@param explorer Explorer
|
||||
---@return DecoratorModified
|
||||
function DecoratorModified:new(opts)
|
||||
function DecoratorModified:new(opts, explorer)
|
||||
local o = Decorator.new(self, {
|
||||
explorer = explorer,
|
||||
enabled = opts.modified.enable,
|
||||
hl_pos = HL_POSITION[opts.renderer.highlight_modified] or HL_POSITION.none,
|
||||
icon_placement = ICON_PLACEMENT[opts.renderer.icons.modified_placement] or ICON_PLACEMENT.none,
|
||||
|
||||
@@ -5,15 +5,17 @@ local ICON_PLACEMENT = require("nvim-tree.enum").ICON_PLACEMENT
|
||||
|
||||
local Decorator = require "nvim-tree.renderer.decorator"
|
||||
|
||||
---@class DecoratorOpened: Decorator
|
||||
---@class (exact) DecoratorOpened: Decorator
|
||||
---@field enabled boolean
|
||||
---@field icon HighlightedString|nil
|
||||
local DecoratorOpened = Decorator:new()
|
||||
|
||||
---@param opts table
|
||||
---@param explorer Explorer
|
||||
---@return DecoratorOpened
|
||||
function DecoratorOpened:new(opts)
|
||||
function DecoratorOpened:new(opts, explorer)
|
||||
local o = Decorator.new(self, {
|
||||
explorer = explorer,
|
||||
enabled = true,
|
||||
hl_pos = HL_POSITION[opts.renderer.highlight_opened_files] or HL_POSITION.none,
|
||||
icon_placement = ICON_PLACEMENT.none,
|
||||
|
||||
Reference in New Issue
Block a user