Skip to content

tzachar/highlight-undo.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

highlight-undo.nvim

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.

In Action

recording

Installation

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,
    },
  },

Setup

The easiest way to set up highlight-undo as follows:

require('highlight-undo').setup({})

hlgroup

require('highlight-undo').setup({
    hlgroup = "HighlightUndo"
})

Specify the highlighting group to use. By default, highlight-undo will use HighlightUndo.

duration

require('highlight-undo').setup({
    duration = 300
})

The duration (in milliseconds) to highlight changes. Default is 300.

pattern

require('highlight-undo').setup({
    pattern = {"*"},
})

Which file patterns to atttach to. Default is everything (*).

ignored_filetypes

require('highlight-undo').setup({
        ignored_filetypes = { "neo-tree", "fugitive", "TelescopePrompt", "mason", "lazy" },
})

Which file types to ignore, regardless of patter.

ignore_cb

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

About

Highlight changed text after any text changing operation

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages