feat(neo-tree): add snacks rename support
cause renaming a file in neo-tree (where needed/possible) to update references to that file via LSP renaming
This commit is contained in:
parent
bbe189d70b
commit
cb4c134964
|
|
@ -1,5 +1,7 @@
|
||||||
|
---@module "lazy.nvim"
|
||||||
|
---@type LazySpec[]
|
||||||
return {
|
return {
|
||||||
"nvim-neo-tree/neo-tree.nvim",
|
{"nvim-neo-tree/neo-tree.nvim",
|
||||||
branch = "v3.x",
|
branch = "v3.x",
|
||||||
dependencies = {
|
dependencies = {
|
||||||
"nvim-lua/plenary.nvim",
|
"nvim-lua/plenary.nvim",
|
||||||
|
|
@ -7,29 +9,68 @@ return {
|
||||||
"nvim-tree/nvim-web-devicons",
|
"nvim-tree/nvim-web-devicons",
|
||||||
},
|
},
|
||||||
lazy = false,
|
lazy = false,
|
||||||
|
opts = function ()
|
||||||
|
|
||||||
---@module 'neo-tree'
|
---@module 'neo-tree'
|
||||||
---@type neotree.Config
|
---@type neotree.Config
|
||||||
opts = {
|
local opts = {
|
||||||
enable_git_status = true,
|
enable_git_status = true,
|
||||||
enable_diagnostics = true,
|
enable_diagnostics = true,
|
||||||
sort_case_insensitive = true,
|
sort_case_insensitive = true,
|
||||||
|
|
||||||
filesystem = {
|
open_files_do_not_replace_types = {
|
||||||
filtered_items = {
|
"terminal",
|
||||||
visible = false,
|
"trouble",
|
||||||
hide_dotfiles = true,
|
"qf",
|
||||||
hide_gitignored = true,
|
"help",
|
||||||
hide_hidden = true,
|
|
||||||
},
|
},
|
||||||
follow_current_file = { enabled = true },
|
|
||||||
hijack_netrw_behaviour = "open_default",
|
|
||||||
use_libuv_file_watcher = true,
|
|
||||||
},
|
|
||||||
|
|
||||||
window = { position = "left" },
|
filesystem = {
|
||||||
|
filtered_items = {
|
||||||
|
visible = false,
|
||||||
|
hide_dotfiles = true,
|
||||||
|
hide_gitignored = true,
|
||||||
|
hide_hidden = true,
|
||||||
|
},
|
||||||
|
bind_to_cwd = true,
|
||||||
|
cwd_target = {
|
||||||
|
sidebar = "global",
|
||||||
|
window = "global",
|
||||||
|
},
|
||||||
|
follow_current_file = { enabled = true },
|
||||||
|
hijack_netrw_behaviour = "open_default",
|
||||||
|
use_libuv_file_watcher = true,
|
||||||
|
},
|
||||||
|
|
||||||
buffers = {
|
window = { position = "left" },
|
||||||
follow_current_file = { enabled = true },
|
|
||||||
},
|
buffers = {
|
||||||
},
|
follow_current_file = { enabled = true },
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
local function on_move(data)
|
||||||
|
Snacks.rename.on_rename_file(data.source, data.destination)
|
||||||
|
end
|
||||||
|
local events = require("neo-tree.events")
|
||||||
|
opts.event_handlers = opts.event_handlers or {}
|
||||||
|
vim.list_extend(opts.event_handlers, {
|
||||||
|
{ event = events.FILE_MOVED, handler = on_move },
|
||||||
|
{ event = events.FILE_RENAMED, handler = on_move},
|
||||||
|
})
|
||||||
|
return opts
|
||||||
|
end,
|
||||||
|
keys = {
|
||||||
|
{
|
||||||
|
"<leader>n",
|
||||||
|
function()
|
||||||
|
require("neo-tree.command").execute{toggle = true}
|
||||||
|
end,
|
||||||
|
mode = "n",
|
||||||
|
noremap = true,
|
||||||
|
silent = true,
|
||||||
|
desc = "Toggle Neotree"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user