chore: migrate to classic (#2991)
* add classic, migrating nodes classes
* add mixins to classic
* typechecked optargs constructors for nodes
* typechecked optargs constructors for watcher and event
* luacheck
* typechecked optargs constructors for GitRunner
* typechecked optargs constructors for Sorter
* typechecked optargs constructors for decorators, WIP
* typechecked optargs constructors for decorators, WIP
* typechecked optargs constructors for decorators
* remove class
* replace enums with named maps
* Renderer and Builder use classic, tidy opts
* LiveFilter uses classic, tidy opts
* Filter uses classic, tidy opts
* add FilterTypes named map
* move toggles into filters
* Marks uses classic, tidy opts
* Sorter uses classic, tidy opts
* Clipboard uses classic, tidy opts
* use supers for node methods
* HighlightDisplay uses classic
* protected :new
* Watcher tidy
* Revert "use supers for node methods"
This reverts commit 9fc7a866ec.
* Watcher tidy
* format
* format
* Filters private methods
* format
* Sorter type safety
* Sorter type safety
* Sorter type safety
* Sorter type safety
* Sorter type safety
* Sorter type safety
* tidy Runner
* tidy hi-test name
This commit is contained in:
committed by
GitHub
parent
610a1c189b
commit
3fc8de198c
@@ -2,6 +2,7 @@ local log = require("nvim-tree.log")
|
||||
local view = require("nvim-tree.view")
|
||||
local events = require("nvim-tree.events")
|
||||
|
||||
local Class = require("nvim-tree.classic")
|
||||
local Builder = require("nvim-tree.renderer.builder")
|
||||
|
||||
local SIGN_GROUP = "NvimTreeRendererSigns"
|
||||
@@ -10,26 +11,20 @@ local namespace_highlights_id = vim.api.nvim_create_namespace("NvimTreeHighlight
|
||||
local namespace_extmarks_id = vim.api.nvim_create_namespace("NvimTreeExtmarks")
|
||||
local namespace_virtual_lines_id = vim.api.nvim_create_namespace("NvimTreeVirtualLines")
|
||||
|
||||
---@class (exact) Renderer
|
||||
---@field private __index? table
|
||||
---@field private opts table user options
|
||||
---@field private explorer Explorer
|
||||
local Renderer = {}
|
||||
---@class (exact) Renderer: Class
|
||||
---@field explorer Explorer
|
||||
local Renderer = Class:extend()
|
||||
|
||||
---@param opts table user options
|
||||
---@param explorer Explorer
|
||||
---@return Renderer
|
||||
function Renderer:new(opts, explorer)
|
||||
---@type Renderer
|
||||
local o = {
|
||||
opts = opts,
|
||||
explorer = explorer,
|
||||
}
|
||||
---@class Renderer
|
||||
---@overload fun(args: RendererArgs): Renderer
|
||||
|
||||
setmetatable(o, self)
|
||||
self.__index = self
|
||||
---@class (exact) RendererArgs
|
||||
---@field explorer Explorer
|
||||
|
||||
return o
|
||||
---@protected
|
||||
---@param args RendererArgs
|
||||
function Renderer:new(args)
|
||||
self.explorer = args.explorer
|
||||
end
|
||||
|
||||
---@private
|
||||
@@ -64,9 +59,9 @@ function Renderer:_draw(bufnr, lines, hl_args, signs, extmarks, virtual_lines)
|
||||
for i, extname in pairs(extmarks) do
|
||||
for _, mark in ipairs(extname) do
|
||||
vim.api.nvim_buf_set_extmark(bufnr, namespace_extmarks_id, i, -1, {
|
||||
virt_text = { { mark.str, mark.hl } },
|
||||
virt_text = { { mark.str, mark.hl } },
|
||||
virt_text_pos = "right_align",
|
||||
hl_mode = "combine",
|
||||
hl_mode = "combine",
|
||||
})
|
||||
end
|
||||
end
|
||||
@@ -74,8 +69,8 @@ function Renderer:_draw(bufnr, lines, hl_args, signs, extmarks, virtual_lines)
|
||||
vim.api.nvim_buf_clear_namespace(bufnr, namespace_virtual_lines_id, 0, -1)
|
||||
for line_nr, vlines in pairs(virtual_lines) do
|
||||
vim.api.nvim_buf_set_extmark(bufnr, namespace_virtual_lines_id, line_nr, 0, {
|
||||
virt_lines = vlines,
|
||||
virt_lines_above = false,
|
||||
virt_lines = vlines,
|
||||
virt_lines_above = false,
|
||||
virt_lines_leftcol = true,
|
||||
})
|
||||
end
|
||||
@@ -106,7 +101,7 @@ function Renderer:draw()
|
||||
|
||||
local cursor = vim.api.nvim_win_get_cursor(view.get_winnr() or 0)
|
||||
|
||||
local builder = Builder:new(self.opts, self.explorer):build()
|
||||
local builder = Builder(self.explorer):build()
|
||||
|
||||
self:_draw(bufnr, builder.lines, builder.hl_args, builder.signs, builder.extmarks, builder.virtual_lines)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user