From 2c172cf0376e9a5c6d4b6215c830111e2b2c4383 Mon Sep 17 00:00:00 2001 From: Alexander Courtis Date: Fri, 8 Nov 2024 11:51:31 +1100 Subject: [PATCH] LiveFilter uses classic, tidy opts --- lua/nvim-tree/explorer/init.lua | 2 +- lua/nvim-tree/explorer/live-filter.lua | 30 +++++++++++++------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/lua/nvim-tree/explorer/init.lua b/lua/nvim-tree/explorer/init.lua index 0a8c36b6..36c3391e 100644 --- a/lua/nvim-tree/explorer/init.lua +++ b/lua/nvim-tree/explorer/init.lua @@ -60,7 +60,7 @@ function Explorer:new(args) self.sorters = Sorter(config) self.renderer = Renderer({ explorer = self }) self.filters = Filters:new(config, self) - self.live_filter = LiveFilter:new(config, self) + self.live_filter = LiveFilter({ explorer = self }) self.marks = Marks:new(config, self) self.clipboard = Clipboard:new(config, self) diff --git a/lua/nvim-tree/explorer/live-filter.lua b/lua/nvim-tree/explorer/live-filter.lua index 9861195c..30170f40 100644 --- a/lua/nvim-tree/explorer/live-filter.lua +++ b/lua/nvim-tree/explorer/live-filter.lua @@ -1,29 +1,29 @@ local view = require("nvim-tree.view") local utils = require("nvim-tree.utils") +local Class = require("nvim-tree.classic") local Iterator = require("nvim-tree.iterators.node-iterator") local DirectoryNode = require("nvim-tree.node.directory") ----@class LiveFilter +---@class (exact) LiveFilter: Class ---@field explorer Explorer ---@field prefix string ---@field always_show_folders boolean ---@field filter string -local LiveFilter = {} +local LiveFilter = Class:extend() ----@param opts table ----@param explorer Explorer ----@return LiveFilter -function LiveFilter:new(opts, explorer) - local o = { - explorer = explorer, - prefix = opts.live_filter.prefix, - always_show_folders = opts.live_filter.always_show_folders, - filter = nil, - } - setmetatable(o, self) - self.__index = self - return o +---@class LiveFilter +---@overload fun(args: LiveFilterArgs): LiveFilter + +---@class (exact) LiveFilterArgs +---@field explorer Explorer + +---@param args LiveFilterArgs +function LiveFilter:new(args) + self.explorer = args.explorer + self.prefix = args.explorer.opts.live_filter.prefix + self.always_show_folders = args.explorer.opts.live_filter.always_show_folders + self.filter = nil end ---@param node_ Node?