Skip to content

Commit 6bdf512

Browse files
committed
refactor(#2826): add lifecycle logging to all Explorer members
1 parent e0c7118 commit 6bdf512

File tree

9 files changed

+63
-20
lines changed

9 files changed

+63
-20
lines changed

doc/nvim-tree-lua.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -649,6 +649,7 @@ Following is the default configuration. See |nvim-tree-opts| for details. >lua
649649
dev = false,
650650
diagnostics = false,
651651
git = false,
652+
lifecycle = true,
652653
profile = false,
653654
watcher = false,
654655
},

lua/nvim-tree/actions/fs/clipboard.lua

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ local Clipboard = Class:extend()
3131
---@protected
3232
---@param args ClipboardArgs
3333
function Clipboard:new(args)
34-
args.explorer:log_lifecycle("Clipboard:new")
34+
args.explorer:log_new("Clipboard")
3535

3636
self.explorer = args.explorer
3737

@@ -44,6 +44,10 @@ function Clipboard:new(args)
4444
self.reg = self.explorer.opts.actions.use_system_clipboard and "+" or "1"
4545
end
4646

47+
function Clipboard:destroy()
48+
self.explorer:log_destroy("Clipboard")
49+
end
50+
4751
---@param source string
4852
---@param destination string
4953
---@return boolean

lua/nvim-tree/explorer/filters.lua

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ local Filters = Class:extend()
2323
---@protected
2424
---@param args FiltersArgs
2525
function Filters:new(args)
26-
args.explorer:log_lifecycle("Filters:new")
26+
args.explorer:log_new("Filters")
2727

2828
self.explorer = args.explorer
2929
self.ignore_list = {}
@@ -52,6 +52,10 @@ function Filters:new(args)
5252
end
5353
end
5454

55+
function Filters:destroy()
56+
self.explorer:log_destroy("Filters")
57+
end
58+
5559
---@private
5660
---@param path string
5761
---@return boolean

lua/nvim-tree/explorer/init.lua

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -56,26 +56,34 @@ function Explorer:new(args)
5656
self.uid_explorer = vim.loop.hrtime()
5757
self.augroup_id = vim.api.nvim_create_augroup("NvimTree_Explorer_" .. self.uid_explorer, {})
5858

59-
self:log_lifecycle("Explorer:new")
59+
self:log_new("Explorer")
6060

61-
self.open = true
62-
self.opts = config
61+
self.open = true
62+
self.opts = config
6363

64-
self.sorters = Sorter({ explorer = self })
65-
self.renderer = Renderer({ explorer = self })
66-
self.filters = Filters({ explorer = self })
67-
self.live_filter = LiveFilter({ explorer = self })
68-
self.marks = Marks({ explorer = self })
69-
self.clipboard = Clipboard({ explorer = self })
70-
self.view = View({ explorer = self })
64+
self.sorters = Sorter({ explorer = self })
65+
self.renderer = Renderer({ explorer = self })
66+
self.filters = Filters({ explorer = self })
67+
self.live_filter = LiveFilter({ explorer = self })
68+
self.marks = Marks({ explorer = self })
69+
self.clipboard = Clipboard({ explorer = self })
70+
self.view = View({ explorer = self })
7171

7272
self:create_autocmds()
7373

7474
self:_load(self)
7575
end
7676

7777
function Explorer:destroy()
78-
self:log_lifecycle("Explorer:des")
78+
self.explorer:log_destroy("Explorer")
79+
80+
self.clipboard:destroy()
81+
self.filters:destroy()
82+
self.live_filter:destroy()
83+
self.marks:destroy()
84+
self.renderer:destroy()
85+
self.sorters:destroy()
86+
self.window:destroy()
7987

8088
vim.api.nvim_del_augroup_by_id(self.augroup_id)
8189

@@ -591,8 +599,14 @@ end
591599

592600
---Log a lifecycle message with uid_explorer and absolute_path
593601
---@param msg string?
594-
function Explorer:log_lifecycle(msg)
595-
log.line("lifecycle", "%-15s %d %s", msg, self.uid_explorer, self.absolute_path)
602+
function Explorer:log_new(msg)
603+
log.line("lifecycle", "+ %-15s %d %s", msg, self.uid_explorer, self.absolute_path)
604+
end
605+
606+
---Log a lifecycle message with uid_explorer and absolute_path
607+
---@param msg string?
608+
function Explorer:log_destroy(msg)
609+
log.line("lifecycle", "- %-15s %d %s", msg, self.uid_explorer, self.absolute_path)
596610
end
597611

598612
function Explorer:setup(opts)

lua/nvim-tree/explorer/live-filter.lua

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,18 @@ local LiveFilter = Class:extend()
2020
---@protected
2121
---@param args LiveFilterArgs
2222
function LiveFilter:new(args)
23-
args.explorer:log_lifecycle("LiveFilter:new")
23+
args.explorer:log_new("LiveFilter")
2424

2525
self.explorer = args.explorer
2626
self.prefix = self.explorer.opts.live_filter.prefix
2727
self.always_show_folders = self.explorer.opts.live_filter.always_show_folders
2828
self.filter = nil
2929
end
3030

31+
function LiveFilter:destroy()
32+
self.explorer:log_destroy("LiveFilter")
33+
end
34+
3135
---@param node_ Node?
3236
local function reset_filter(self, node_)
3337
node_ = node_ or self.explorer

lua/nvim-tree/explorer/sorter.lua

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,15 @@ local Sorter = Class:extend()
1919
---@protected
2020
---@param args SorterArgs
2121
function Sorter:new(args)
22-
args.explorer:log_lifecycle("Sorter:new")
22+
args.explorer:log_new("Sorter")
2323

2424
self.explorer = args.explorer
2525
end
2626

27+
function Sorter:destroy()
28+
self.explorer:log_destroy("Sorter")
29+
end
30+
2731
---Create a shallow copy of a portion of a list.
2832
---@param t table
2933
---@param first integer First index, inclusive

lua/nvim-tree/explorer/view.lua

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ local View = Class:extend()
5050
---@protected
5151
---@param args ViewArgs
5252
function View:new(args)
53-
args.explorer:log_lifecycle("View:new")
53+
args.explorer:log_new("View")
5454

5555
self.explorer = args.explorer
5656
self.adaptive_size = false
@@ -86,6 +86,10 @@ function View:new(args)
8686
self.initial_width = self:get_width()
8787
end
8888

89+
function View:destroy()
90+
self.explorer:log_destroy("View")
91+
end
92+
8993
-- The initial state of a tab
9094
local tabinitial = {
9195
-- The position of the cursor { line, column }

lua/nvim-tree/marks/init.lua

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,17 @@ local Marks = Class:extend()
2525
---@protected
2626
---@param args MarksArgs
2727
function Marks:new(args)
28-
args.explorer:log_lifecycle("Marks:new")
28+
args.explorer:log_new("Marks")
2929

3030
self.explorer = args.explorer
3131

3232
self.marks = {}
3333
end
3434

35+
function Marks:destroy()
36+
self.explorer:log_destroy("Marks")
37+
end
38+
3539
---Clear all marks and reload if watchers disabled
3640
---@private
3741
function Marks:clear_reload()

lua/nvim-tree/renderer/init.lua

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,15 @@ local Renderer = Class:extend()
2525
---@protected
2626
---@param args RendererArgs
2727
function Renderer:new(args)
28-
args.explorer:log_lifecycle("Renderer:new")
28+
args.explorer:log_new("Renderer")
2929

3030
self.explorer = args.explorer
3131
end
3232

33+
function Renderer:destroy()
34+
self.explorer:log_destroy("Renderer")
35+
end
36+
3337
---@private
3438
---@param bufnr number
3539
---@param lines string[]

0 commit comments

Comments
 (0)