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
""
.