mirror of
https://github.com/folke/snacks.nvim
synced 2025-12-23 08:47:57 +00:00
102 lines
3.5 KiB
Text
102 lines
3.5 KiB
Text
*snacks-rename.txt* snacks.nvim
|
|
|
|
==============================================================================
|
|
Table of Contents *snacks-rename-table-of-contents*
|
|
|
|
1. Usage |snacks-rename-usage|
|
|
2. mini.files |snacks-rename-mini.files|
|
|
3. neo-tree.nvim |snacks-rename-neo-tree.nvim|
|
|
4. nvim-tree |snacks-rename-nvim-tree|
|
|
5. Module |snacks-rename-module|
|
|
- Snacks.rename.on_rename_file()|snacks-rename-module-snacks.rename.on_rename_file()|
|
|
- Snacks.rename.rename_file()|snacks-rename-module-snacks.rename.rename_file()|
|
|
LSP-integrated file renaming with support for plugins like neo-tree.nvim
|
|
<https://github.com/nvim-neo-tree/neo-tree.nvim> and mini.files
|
|
<https://github.com/echasnovski/mini.files>.
|
|
|
|
|
|
==============================================================================
|
|
1. Usage *snacks-rename-usage*
|
|
|
|
|
|
==============================================================================
|
|
2. mini.files *snacks-rename-mini.files*
|
|
|
|
>lua
|
|
vim.api.nvim_create_autocmd("User", {
|
|
pattern = "MiniFilesActionRename",
|
|
callback = function(event)
|
|
Snacks.rename.on_rename_file(event.data.from, event.data.to)
|
|
end,
|
|
})
|
|
<
|
|
|
|
|
|
==============================================================================
|
|
3. neo-tree.nvim *snacks-rename-neo-tree.nvim*
|
|
|
|
>lua
|
|
{
|
|
"nvim-neo-tree/neo-tree.nvim",
|
|
opts = function(_, opts)
|
|
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 },
|
|
})
|
|
end,
|
|
}
|
|
<
|
|
|
|
|
|
==============================================================================
|
|
4. nvim-tree *snacks-rename-nvim-tree*
|
|
|
|
>lua
|
|
local prev = { new_name = "", old_name = "" } -- Prevents duplicate events
|
|
vim.api.nvim_create_autocmd("User", {
|
|
pattern = "NvimTreeSetup",
|
|
callback = function()
|
|
local events = require("nvim-tree.api").events
|
|
events.subscribe(events.Event.NodeRenamed, function(data)
|
|
if prev.new_name ~= data.new_name or prev.old_name ~= data.old_name then
|
|
data = data
|
|
Snacks.rename.on_rename_file(data.old_name, data.new_name)
|
|
end
|
|
end)
|
|
end,
|
|
})
|
|
<
|
|
|
|
|
|
==============================================================================
|
|
5. Module *snacks-rename-module*
|
|
|
|
|
|
`Snacks.rename.on_rename_file()` *Snacks.rename.on_rename_file()*
|
|
|
|
Lets LSP clients know that a file has been renamed
|
|
|
|
>lua
|
|
---@param from string
|
|
---@param to string
|
|
---@param rename? fun()
|
|
Snacks.rename.on_rename_file(from, to, rename)
|
|
<
|
|
|
|
|
|
`Snacks.rename.rename_file()` *Snacks.rename.rename_file()*
|
|
|
|
Prompt for the new filename, do the rename, and trigger LSP handlers
|
|
|
|
>lua
|
|
Snacks.rename.rename_file()
|
|
<
|
|
|
|
Generated by panvimdoc <https://github.com/kdheepak/panvimdoc>
|
|
|
|
vim:tw=78:ts=8:noet:ft=help:norl:
|