refactor(#2826): remove view debug/cc, enable new codepaths for get_winid and get_bufnr (#3169)

* refactor(#2826): fuller error messages

* refactor(#2826): winnr->winid in view/globals, remove redundant get_winid and get_bufnr calls

* refactor(#2826): winnr->winid consistently

* refactor(#2826): consistent use of buffer registry, tidy, add todos

* refactor(#2826): remove unnecessary view members float, hide_root_folder; use explorer opts

* refactor(#2826): remove unused view members centralize_selection and preserve_window_proportions

* refactor(#2826): remove unused view member height

* refactor(#2826): temporarily reuse BUFNR_PER_TAB in view constructor

* refactor(#2826): get_winid returns new after consistency check

* refactor(#2826): globals.TABPAGES -> WINID_PER_TAB

* refactor(#2826): consistent naming of tabid

* refactor(#2826): more consistency checking

* refactor(#2826): more consistency checking

* refactor(#2826): move global CURSORS to view member

* Revert "refactor(#2826): move global CURSORS to view member"

This reverts commit d84dfad1c3.

* refactor(#2826): move global CURSORS to view member

* refactor(#2826): consistency check returns new

* refactor(#2826): remove consistency checks, enabling new path for view get_winid and get_bufnr

* refactor(#2826): restore CURSORS global
This commit is contained in:
Alexander Courtis
2025-07-28 12:44:17 +10:00
committed by GitHub
parent 10db6943cb
commit a9156c0139
16 changed files with 155 additions and 420 deletions

View File

@@ -101,28 +101,29 @@ function Renderer:render_hl(bufnr, hl_range_args)
end
function Renderer:draw()
local bufnr = self.explorer.view:get_bufnr("Renderer:draw")
local bufnr = self.explorer.view:get_bufnr()
if not bufnr or not vim.api.nvim_buf_is_loaded(bufnr) then
return
end
local winid = self.explorer.view:get_winid()
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(winid 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(winid or 0, cursor)
end
self.explorer.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, winid)
end
return Renderer