Add a ready event. (#302)
This commit is contained in:
@@ -3,6 +3,7 @@ local M = {}
|
||||
local global_handlers = {}
|
||||
|
||||
local Event = {
|
||||
Ready = 'Ready',
|
||||
NodeRenamed = 'NodeRenamed',
|
||||
FileCreated = 'FileCreated',
|
||||
FileRemoved = 'FileRemoved',
|
||||
@@ -30,6 +31,11 @@ local function dispatch(event_name, payload)
|
||||
end
|
||||
end
|
||||
|
||||
--@private
|
||||
function M._dispatch_ready()
|
||||
dispatch(Event.Ready)
|
||||
end
|
||||
|
||||
--@private
|
||||
function M._dispatch_node_renamed(old_name, new_name)
|
||||
dispatch(Event.NodeRenamed, {old_name=old_name, new_name=new_name})
|
||||
@@ -55,6 +61,12 @@ function M._dispatch_folder_removed(folder_name)
|
||||
dispatch(Event.FolderRemoved, {folder_name=folder_name})
|
||||
end
|
||||
|
||||
--Registers a handler for the Ready event.
|
||||
--@param handler (function) Handler with the signature `function()`
|
||||
function M.on_nvim_tree_ready(handler)
|
||||
register_handler(Event.Ready, handler)
|
||||
end
|
||||
|
||||
--Registers a handler for the NodeRenamed event.
|
||||
--@param handler (function) Handler with the signature function(payload), where payload is a table containing:
|
||||
-- - old_name (string) Absolute path to the old node location.
|
||||
|
||||
@@ -7,6 +7,7 @@ local git = require'nvim-tree.git'
|
||||
local pops = require'nvim-tree.populate'
|
||||
local utils = require'nvim-tree.utils'
|
||||
local view = require'nvim-tree.view'
|
||||
local events = require'nvim-tree.events'
|
||||
local populate = pops.populate
|
||||
local refresh_entries = pops.refresh_entries
|
||||
|
||||
@@ -38,6 +39,8 @@ function M.init(with_open, with_reload)
|
||||
renderer.draw(M.Tree, true)
|
||||
M.Tree.loaded = true
|
||||
end
|
||||
|
||||
events._dispatch_ready()
|
||||
end
|
||||
|
||||
local function get_node_at_line(line)
|
||||
|
||||
Reference in New Issue
Block a user