snacks.nvim/doc/snacks-rename.txt
Folke Lemaitre 0df7775541
docs: docgen
2024-11-10 08:03:44 +01:00

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: