cause renaming a file in neo-tree (where needed/possible) to update references to that file via LSP renaming
77 lines
1.5 KiB
Lua
77 lines
1.5 KiB
Lua
---@module "lazy.nvim"
|
|
---@type LazySpec[]
|
|
return {
|
|
{"nvim-neo-tree/neo-tree.nvim",
|
|
branch = "v3.x",
|
|
dependencies = {
|
|
"nvim-lua/plenary.nvim",
|
|
"MunifTanjim/nui.nvim",
|
|
"nvim-tree/nvim-web-devicons",
|
|
},
|
|
lazy = false,
|
|
opts = function ()
|
|
|
|
---@module 'neo-tree'
|
|
---@type neotree.Config
|
|
local opts = {
|
|
enable_git_status = true,
|
|
enable_diagnostics = true,
|
|
sort_case_insensitive = true,
|
|
|
|
open_files_do_not_replace_types = {
|
|
"terminal",
|
|
"trouble",
|
|
"qf",
|
|
"help",
|
|
},
|
|
|
|
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,
|
|
},
|
|
|
|
window = { position = "left" },
|
|
|
|
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"
|
|
}
|
|
}
|
|
}
|
|
}
|