Some checks failed
Detach Plugins / check (FlyGrep.vim) (push) Has been cancelled
Detach Plugins / check (GitHub.vim) (push) Has been cancelled
Detach Plugins / check (JavaUnit.vim) (push) Has been cancelled
Detach Plugins / check (SourceCounter.vim) (push) Has been cancelled
Detach Plugins / check (cpicker.nvim) (push) Has been cancelled
Detach Plugins / check (dein-ui.vim) (push) Has been cancelled
Detach Plugins / check (git.vim) (push) Has been cancelled
Detach Plugins / check (iedit.vim) (push) Has been cancelled
Detach Plugins / check (scrollbar.vim) (push) Has been cancelled
Detach Plugins / check (vim-chat) (push) Has been cancelled
Detach Plugins / check (vim-cheat) (push) Has been cancelled
Detach Plugins / check (vim-todo) (push) Has been cancelled
Detach Plugins / check (xmake.vim) (push) Has been cancelled
test / Linux (nvim, nightly) (push) Has been cancelled
test / Linux (nvim, v0.3.8) (push) Has been cancelled
test / Linux (nvim, v0.4.0) (push) Has been cancelled
test / Linux (nvim, v0.4.2) (push) Has been cancelled
test / Linux (nvim, v0.4.3) (push) Has been cancelled
test / Linux (nvim, v0.4.4) (push) Has been cancelled
test / Linux (nvim, v0.5.0) (push) Has been cancelled
test / Linux (nvim, v0.5.1) (push) Has been cancelled
test / Linux (nvim, v0.6.0) (push) Has been cancelled
test / Linux (nvim, v0.6.1) (push) Has been cancelled
test / Linux (nvim, v0.7.0) (push) Has been cancelled
test / Linux (nvim, v0.7.2) (push) Has been cancelled
test / Linux (nvim, v0.8.0) (push) Has been cancelled
test / Linux (nvim, v0.8.1) (push) Has been cancelled
test / Linux (nvim, v0.8.2) (push) Has been cancelled
test / Linux (nvim, v0.8.3) (push) Has been cancelled
test / Linux (nvim, v0.9.0) (push) Has been cancelled
test / Linux (nvim, v0.9.1) (push) Has been cancelled
test / Linux (true, vim, v7.4.052) (push) Has been cancelled
test / Linux (true, vim, v7.4.1689) (push) Has been cancelled
test / Linux (true, vim, v7.4.629) (push) Has been cancelled
test / Linux (true, vim, v8.0.0027) (push) Has been cancelled
test / Linux (true, vim, v8.0.0183) (push) Has been cancelled
test / Linux (vim, nightly) (push) Has been cancelled
test / Linux (vim, v8.0.0184) (push) Has been cancelled
test / Linux (vim, v8.0.1453) (push) Has been cancelled
test / Linux (vim, v8.1.2269) (push) Has been cancelled
test / Linux (vim, v8.2.2434) (push) Has been cancelled
test / Linux (vim, v8.2.3995) (push) Has been cancelled
test / Windows (nvim, nightly) (push) Has been cancelled
test / Windows (nvim, v0.3.8) (push) Has been cancelled
test / Windows (nvim, v0.4.2) (push) Has been cancelled
test / Windows (nvim, v0.4.3) (push) Has been cancelled
test / Windows (nvim, v0.4.4) (push) Has been cancelled
test / Windows (nvim, v0.5.0) (push) Has been cancelled
test / Windows (nvim, v0.5.1) (push) Has been cancelled
test / Windows (nvim, v0.6.0) (push) Has been cancelled
test / Windows (nvim, v0.6.1) (push) Has been cancelled
test / Windows (nvim, v0.7.0) (push) Has been cancelled
test / Windows (nvim, v0.7.2) (push) Has been cancelled
test / Windows (nvim, v0.8.0) (push) Has been cancelled
test / Windows (nvim, v0.8.1) (push) Has been cancelled
test / Windows (nvim, v0.8.2) (push) Has been cancelled
test / Windows (nvim, v0.8.3) (push) Has been cancelled
test / Windows (nvim, v0.9.0) (push) Has been cancelled
test / Windows (nvim, v0.9.1) (push) Has been cancelled
test / Windows (vim, nightly) (push) Has been cancelled
test / Windows (vim, v7.4.1185) (push) Has been cancelled
test / Windows (vim, v7.4.1689) (push) Has been cancelled
test / Windows (vim, v8.0.0027) (push) Has been cancelled
test / Windows (vim, v8.0.1453) (push) Has been cancelled
test / Windows (vim, v8.1.2269) (push) Has been cancelled
test / Windows (vim, v8.2.2434) (push) Has been cancelled
test / Windows (vim, v8.2.3995) (push) Has been cancelled
docker / docker (push) Has been cancelled
mirror / check (coding) (push) Has been cancelled
mirror / check (gitee) (push) Has been cancelled
mirror / check (gitlab) (push) Has been cancelled
94 lines
3.3 KiB
Lua
94 lines
3.3 KiB
Lua
local vim = vim
|
|
local q = require("neo-tree.events.queue")
|
|
local log = require("neo-tree.log")
|
|
local utils = require("neo-tree.utils")
|
|
|
|
local M = {
|
|
-- Well known event names, you can make up your own
|
|
BEFORE_RENDER = "before_render",
|
|
AFTER_RENDER = "after_render",
|
|
FILE_ADDED = "file_added",
|
|
FILE_DELETED = "file_deleted",
|
|
BEFORE_FILE_MOVE = "before_file_move",
|
|
FILE_MOVED = "file_moved",
|
|
FILE_OPEN_REQUESTED = "file_open_requested",
|
|
FILE_OPENED = "file_opened",
|
|
BEFORE_FILE_RENAME = "before_file_rename",
|
|
FILE_RENAMED = "file_renamed",
|
|
FS_EVENT = "fs_event",
|
|
GIT_EVENT = "git_event",
|
|
GIT_STATUS_CHANGED = "git_status_changed",
|
|
NEO_TREE_BUFFER_ENTER = "neo_tree_buffer_enter",
|
|
NEO_TREE_BUFFER_LEAVE = "neo_tree_buffer_leave",
|
|
NEO_TREE_LSP_UPDATE = "neo_tree_lsp_update",
|
|
NEO_TREE_POPUP_BUFFER_ENTER = "neo_tree_popup_buffer_enter",
|
|
NEO_TREE_POPUP_BUFFER_LEAVE = "neo_tree_popup_buffer_leave",
|
|
NEO_TREE_WINDOW_AFTER_CLOSE = "neo_tree_window_after_close",
|
|
NEO_TREE_WINDOW_AFTER_OPEN = "neo_tree_window_after_open",
|
|
NEO_TREE_WINDOW_BEFORE_CLOSE = "neo_tree_window_before_close",
|
|
NEO_TREE_WINDOW_BEFORE_OPEN = "neo_tree_window_before_open",
|
|
VIM_AFTER_SESSION_LOAD = "vim_after_session_load",
|
|
VIM_BUFFER_ADDED = "vim_buffer_added",
|
|
VIM_BUFFER_CHANGED = "vim_buffer_changed",
|
|
VIM_BUFFER_DELETED = "vim_buffer_deleted",
|
|
VIM_BUFFER_ENTER = "vim_buffer_enter",
|
|
VIM_BUFFER_MODIFIED_SET = "vim_buffer_modified_set",
|
|
VIM_COLORSCHEME = "vim_colorscheme",
|
|
VIM_CURSOR_MOVED = "vim_cursor_moved",
|
|
VIM_DIAGNOSTIC_CHANGED = "vim_diagnostic_changed",
|
|
VIM_DIR_CHANGED = "vim_dir_changed",
|
|
VIM_INSERT_LEAVE = "vim_insert_leave",
|
|
VIM_LEAVE = "vim_leave",
|
|
VIM_LSP_REQUEST = "vim_lsp_request",
|
|
VIM_RESIZED = "vim_resized",
|
|
VIM_TAB_CLOSED = "vim_tab_closed",
|
|
VIM_TERMINAL_ENTER = "vim_terminal_enter",
|
|
VIM_TEXT_CHANGED_NORMAL = "vim_text_changed_normal",
|
|
VIM_WIN_CLOSED = "vim_win_closed",
|
|
VIM_WIN_ENTER = "vim_win_enter",
|
|
}
|
|
|
|
M.define_autocmd_event = function(event_name, autocmds, debounce_frequency, seed_fn, nested)
|
|
local opts = {
|
|
setup = function()
|
|
local tpl =
|
|
":lua require('neo-tree.events').fire_event('%s', { afile = vim.fn.expand('<afile>') })"
|
|
local callback = string.format(tpl, event_name)
|
|
if nested then
|
|
callback = "++nested " .. callback
|
|
end
|
|
|
|
local autocmd = table.concat(autocmds, ",")
|
|
if not vim.startswith(autocmd, "User") then
|
|
autocmd = autocmd .. " *"
|
|
end
|
|
local cmds = {
|
|
"augroup NeoTreeEvent_" .. event_name,
|
|
"autocmd " .. autocmd .. " " .. callback,
|
|
"augroup END",
|
|
}
|
|
log.trace("Registering autocmds: %s", table.concat(cmds, "\n"))
|
|
vim.cmd(table.concat(cmds, "\n"))
|
|
end,
|
|
seed = seed_fn,
|
|
teardown = function()
|
|
log.trace("Teardown autocmds for ", event_name)
|
|
vim.cmd(string.format("autocmd! NeoTreeEvent_%s", event_name))
|
|
end,
|
|
debounce_frequency = debounce_frequency,
|
|
debounce_strategy = utils.debounce_strategy.CALL_LAST_ONLY,
|
|
}
|
|
log.debug("Defining autocmd event: %s", event_name)
|
|
q.define_event(event_name, opts)
|
|
end
|
|
|
|
M.clear_all_events = q.clear_all_events
|
|
M.define_event = q.define_event
|
|
M.destroy_event = q.destroy_event
|
|
M.fire_event = q.fire_event
|
|
|
|
M.subscribe = q.subscribe
|
|
M.unsubscribe = q.unsubscribe
|
|
|
|
return M
|