Skip to content

Commit 6485948

Browse files
committed
refactor(#3255): move Event to meta
1 parent 05a5e94 commit 6485948

File tree

3 files changed

+37
-38
lines changed

3 files changed

+37
-38
lines changed

lua/nvim-tree/_meta/api/events.lua

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,24 @@
11
---@meta
22
local nvim_tree = { api = { events = {} } }
33

4+
nvim_tree.api.events.Event = {
5+
Ready = "Ready",
6+
WillRenameNode = "WillRenameNode",
7+
NodeRenamed = "NodeRenamed",
8+
TreePreOpen = "TreePreOpen",
9+
TreeOpen = "TreeOpen",
10+
TreeClose = "TreeClose",
11+
WillCreateFile = "WillCreateFile",
12+
FileCreated = "FileCreated",
13+
WillRemoveFile = "WillRemoveFile",
14+
FileRemoved = "FileRemoved",
15+
FolderCreated = "FolderCreated",
16+
FolderRemoved = "FolderRemoved",
17+
Resize = "Resize",
18+
TreeAttachedPost = "TreeAttachedPost",
19+
TreeRendered = "TreeRendered",
20+
}
21+
422
---
523
---Register a handler for an event, see [nvim-tree-events].
624
---

lua/nvim-tree/api/impl/pre.lua

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,11 @@ end
2525
---Hydrate api functions and classes pre-setup
2626
---@param api table not properly typed to prevent LSP from referencing implementations
2727
function M.hydrate(api)
28-
-- default to the error message
28+
-- default everything to the error message
2929
hydrate_error(api)
3030

31+
api.Decorator = require("nvim-tree.renderer.decorator")
32+
3133
api.appearance.hi_test = function() require("nvim-tree.appearance.hi-test")() end
3234

3335
api.commands.get = function() return require("nvim-tree.commands").get() end
@@ -39,10 +41,6 @@ function M.hydrate(api)
3941
api.map.keymap.default = function() return require("nvim-tree.keymap").get_keymap_default() end
4042
api.map.on_attach.default = function(bufnr) require("nvim-tree.keymap").on_attach_default(bufnr) end
4143

42-
-- classes
43-
api.Decorator = function() return require("nvim-tree.renderer.decorator"):extend() end
44-
api.events.Event = require("nvim-tree.events").Event -- TODO 3255 move this to meta
45-
4644
-- Hydrate any legacy by mapping to concrete set above
4745
require("nvim-tree.legacy").map_api(api)
4846
end

lua/nvim-tree/events.lua

Lines changed: 16 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,10 @@
11
local notify = require("nvim-tree.notify")
2+
local Event = require("nvim-tree._meta.api.events").Event
23

34
local M = {}
45

56
local global_handlers = {}
67

7-
M.Event = {
8-
Ready = "Ready",
9-
WillRenameNode = "WillRenameNode",
10-
NodeRenamed = "NodeRenamed",
11-
TreePreOpen = "TreePreOpen",
12-
TreeOpen = "TreeOpen",
13-
TreeClose = "TreeClose",
14-
WillCreateFile = "WillCreateFile",
15-
FileCreated = "FileCreated",
16-
WillRemoveFile = "WillRemoveFile",
17-
FileRemoved = "FileRemoved",
18-
FolderCreated = "FolderCreated",
19-
FolderRemoved = "FolderRemoved",
20-
Resize = "Resize",
21-
TreeAttachedPost = "TreeAttachedPost",
22-
TreeRendered = "TreeRendered",
23-
}
24-
258
---@param event_name string
269
---@return table
2710
local function get_handlers(event_name)
@@ -49,77 +32,77 @@ end
4932

5033
--@private
5134
function M._dispatch_ready()
52-
dispatch(M.Event.Ready)
35+
dispatch(Event.Ready)
5336
end
5437

5538
--@private
5639
function M._dispatch_will_rename_node(old_name, new_name)
57-
dispatch(M.Event.WillRenameNode, { old_name = old_name, new_name = new_name })
40+
dispatch(Event.WillRenameNode, { old_name = old_name, new_name = new_name })
5841
end
5942

6043
--@private
6144
function M._dispatch_node_renamed(old_name, new_name)
62-
dispatch(M.Event.NodeRenamed, { old_name = old_name, new_name = new_name })
45+
dispatch(Event.NodeRenamed, { old_name = old_name, new_name = new_name })
6346
end
6447

6548
--@private
6649
function M._dispatch_will_remove_file(fname)
67-
dispatch(M.Event.WillRemoveFile, { fname = fname })
50+
dispatch(Event.WillRemoveFile, { fname = fname })
6851
end
6952

7053
--@private
7154
function M._dispatch_file_removed(fname)
72-
dispatch(M.Event.FileRemoved, { fname = fname })
55+
dispatch(Event.FileRemoved, { fname = fname })
7356
end
7457

7558
--@private
7659
function M._dispatch_will_create_file(fname)
77-
dispatch(M.Event.WillCreateFile, { fname = fname })
60+
dispatch(Event.WillCreateFile, { fname = fname })
7861
end
7962

8063
--@private
8164
function M._dispatch_file_created(fname)
82-
dispatch(M.Event.FileCreated, { fname = fname })
65+
dispatch(Event.FileCreated, { fname = fname })
8366
end
8467

8568
--@private
8669
function M._dispatch_folder_created(folder_name)
87-
dispatch(M.Event.FolderCreated, { folder_name = folder_name })
70+
dispatch(Event.FolderCreated, { folder_name = folder_name })
8871
end
8972

9073
--@private
9174
function M._dispatch_folder_removed(folder_name)
92-
dispatch(M.Event.FolderRemoved, { folder_name = folder_name })
75+
dispatch(Event.FolderRemoved, { folder_name = folder_name })
9376
end
9477

9578
--@private
9679
function M._dispatch_on_tree_pre_open()
97-
dispatch(M.Event.TreePreOpen, nil)
80+
dispatch(Event.TreePreOpen, nil)
9881
end
9982

10083
--@private
10184
function M._dispatch_on_tree_open()
102-
dispatch(M.Event.TreeOpen, nil)
85+
dispatch(Event.TreeOpen, nil)
10386
end
10487

10588
--@private
10689
function M._dispatch_on_tree_close()
107-
dispatch(M.Event.TreeClose, nil)
90+
dispatch(Event.TreeClose, nil)
10891
end
10992

11093
--@private
11194
function M._dispatch_on_tree_resize(size)
112-
dispatch(M.Event.Resize, size)
95+
dispatch(Event.Resize, size)
11396
end
11497

11598
--@private
11699
function M._dispatch_tree_attached_post(buf)
117-
dispatch(M.Event.TreeAttachedPost, buf)
100+
dispatch(Event.TreeAttachedPost, buf)
118101
end
119102

120103
--@private
121104
function M._dispatch_on_tree_rendered(bufnr, winnr)
122-
dispatch(M.Event.TreeRendered, { bufnr = bufnr, winnr = winnr })
105+
dispatch(Event.TreeRendered, { bufnr = bufnr, winnr = winnr })
123106
end
124107

125108
return M

0 commit comments

Comments
 (0)