What is this repo?
Highlight-undo.nvimbefore its rewrite. The classic way is less likely to cause conflicts with other plugins, and it's config is considerably less boilerplate. So let's maintain it here.
Highlight changed text after Undo / Redo operations. Purely lua / nvim api implementation, no external dependencies needed.
Using Lazy:
{
'tzachar/highlight-undo.nvim',
opts = {
...
},
},You can manually setup highlight-undo as follows:
require('highlight-undo').setup({
duration = 300,
undo = {
hlgroup = 'HighlightUndo',
mode = 'n',
lhs = 'u',
map = 'undo',
opts = {}
},
redo = {
hlgroup = 'HighlightRedo',
mode = 'n',
lhs = '<C-r>',
map = 'redo',
opts = {}
},
highlight_for_count = true,
})Specify which keymaps should trigger the beginning and end of tracking changes
(see here). By default, the plugin starts tracking
changes before an undo or a redo.
Keymaps are specified in the same format as vim.keymap.set accepts: mode, lhs,
rhs, opts. Maps are passed verbatim to vim.keymap.set.
Specify the highlighting group to use.
By default, highlight-undo will use HighlightUndo for the undo action and
HighlightRedo for the redo action. Both of these groups, are defined when the
plugin is loaded. If the groups are already defined elsewhere in your config
then they will not be overwritten. You can also use others groups, if desired.
The duration (in milliseconds) to highlight changes. Default is 300.
Enable support for highlighting when a <count> is provided before the key.
If set to false it will only highlight when the mapping is not prefixed with a
<count>.
Default: true
highlight-undo will remap the u and <C-r> keys (for undo and redo, by default) and
hijack the calls. By utilizing nvim_buf_attach to get indications for changes in the
buffer, the plugin can achieve very low overhead.
