revert(#3180, #3177): resolve live filter failures (#3183)

* Revert "fix(#3172): live filter exception (#3173)"

This reverts commit 0a7fcdf3f8.

* Revert "refactor(#2826): move view to instanced window class (#3153)"

This reverts commit 0a06f65bf0.

* feat(#3157): add view.cursorlineopt
This commit is contained in:
Alexander Courtis
2025-08-10 14:45:25 +10:00
committed by GitHub
parent 9b289abd69
commit a4699c0904
35 changed files with 822 additions and 1249 deletions

View File

@@ -1,4 +1,5 @@
local log = require("nvim-tree.log")
local view = require("nvim-tree.view")
local events = require("nvim-tree.events")
local Class = require("nvim-tree.classic")
@@ -25,15 +26,9 @@ local Renderer = Class:extend()
---@protected
---@param args RendererArgs
function Renderer:new(args)
args.explorer:log_new("Renderer")
self.explorer = args.explorer
end
function Renderer:destroy()
self.explorer:log_destroy("Renderer")
end
---@private
---@param bufnr number
---@param lines string[]
@@ -101,28 +96,28 @@ function Renderer:render_hl(bufnr, hl_range_args)
end
function Renderer:draw()
local bufnr = self.explorer.view:get_bufnr("Renderer:draw")
local bufnr = view.get_bufnr()
if not bufnr or not vim.api.nvim_buf_is_loaded(bufnr) then
return
end
local profile = log.profile_start("draw")
local cursor = vim.api.nvim_win_get_cursor(self.explorer.view:get_winnr(nil, "Renderer:draw1") or 0)
local cursor = vim.api.nvim_win_get_cursor(view.get_winnr() or 0)
local builder = Builder(self.explorer):build()
self:_draw(bufnr, builder.lines, builder.hl_range_args, builder.signs, builder.extmarks, builder.virtual_lines)
if cursor and #builder.lines >= cursor[1] then
vim.api.nvim_win_set_cursor(self.explorer.view:get_winnr(nil, "Renderer:draw2") or 0, cursor)
vim.api.nvim_win_set_cursor(view.get_winnr() or 0, cursor)
end
self.explorer.view:grow_from_content()
view.grow_from_content()
log.profile_end(profile)
events._dispatch_on_tree_rendered(bufnr, self.explorer.view:get_winnr(nil, "Renderer:draw3"))
events._dispatch_on_tree_rendered(bufnr, view.get_winnr())
end
return Renderer