bloznelis / before.nvim

Jump to the last edit in Neovim

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

before.nvim

Purpose

Track edit locations and jump back to them, like changelist, but across buffers.

peeked

Installation

lazy.nvim

{
  'bloznelis/before.nvim',
  config = function()
    local before = require('before')
    before.setup()

    -- Jump to previous entry in the edit history
    vim.keymap.set('n', '<C-h>', before.jump_to_last_edit, {})

    -- Jump to next entry in the edit history
    vim.keymap.set('n', '<C-l>', before.jump_to_next_edit, {})

    -- Look for previous edits in quickfix list
    vim.keymap.set('n', '<leader>oq', before.show_edits_in_quickfix, {})

    -- Look for previous edits in telescope (needs telescope, obviously)
    vim.keymap.set('n', '<leader>oe', before.show_edits_in_telescope, {})
  end
}

Configuration

Settings

require('before').setup({
  -- How many edit locations to store in memory (default: 10)
  history_size = 42
  -- Wrap around the ends of the edit history (default: false)
  history_wrap_enabled = true
})

Telescope picker

-- You can provide telescope opts to the picker as show_edits_in_telescope argument:
vim.keymap.set('n', '<leader>oe', function()
  before.show_edits_in_telescope(require('telescope.themes').get_dropdown())
end, {})

Register Telescope extension

You may also register the extension via telescope:

require 'telescope'.setup({ '$YOUR_TELESCOPE_OPTS' })
require 'telescope'.load_extension('before')

Then call via vimscript:

:Telescope before

or lua:

require 'telescope'.extensions.before.before

About

Jump to the last edit in Neovim

License:MIT License


Languages

Language:Lua 100.0%