Highlight changed text after any action not in insert mode which modifies the current buffer. This plugin was originaly written to support Undo / Redo highlighting, but is now expanded to support any other action.
Purely lua / nvim api implementation, no external dependencies needed.
Using Lazy:
{
'tzachar/highlight-undo.nvim',
opts = {
hlgroup = "HighlightUndo",
duration = 300,
pattern = {"*"},
ignored_filetypes = { "neo-tree", "fugitive", "TelescopePrompt", "mason", "lazy" },
-- ignore_cb is in comma as there is a default implementation. Setting
-- to nil will mean no default os called.
-- ignore_cb = nil,
},
},The easiest way to set up highlight-undo as follows:
require('highlight-undo').setup({})require('highlight-undo').setup({
hlgroup = "HighlightUndo"
})Specify the highlighting group to use. By default, highlight-undo will use HighlightUndo.
require('highlight-undo').setup({
duration = 300
})The duration (in milliseconds) to highlight changes. Default is 300.
require('highlight-undo').setup({
pattern = {"*"},
})Which file patterns to atttach to. Default is everything (*).
require('highlight-undo').setup({
ignored_filetypes = { "neo-tree", "fugitive", "TelescopePrompt", "mason", "lazy" },
})Which file types to ignore, regardless of patter.
require('highlight-undo').setup({
ignore_cb = function(buf) return false end,
})You can also provide a callback function which is called when attaching to a new
buffer, which should return true if you want to disable highlight-undo on
this buffer.
The default callback rejects nomodifiable buffers and bufers whose file type is
"".
