Gitsigns.nvim Versions Save

Git integration for buffers

v0.7

5 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/lewis6991/gitsigns.nvim/compare/v0.6...v0.7

v0.6

1 year ago

Highlights

  • word diff: general fixes and improvments
  • repeat: change implementation to one that doesn't depend on vim-repeat
  • Added user autocmd event GitsignsUpdate which is triggered whenever Gitsigns updates the buffer with new hunks.
  • Support dropped for Neovim v0.6
  • Added preview_hunk_inline():
    • Like preview_hunk() but displays the hunks inline in the buffer.
  • Added support for diff linematch (see https://github.com/neovim/neovim/pull/14537)
  • Added a different sign type for untracked files
  • Added healthcheck
  • Added b:gitsigns_line_blame
  • Added command completion for some subcommands. (:Gitsigns diffthis, :Gitsigns change_base, :Gitsigns show)
  • Removed deprecated fields:
    • watch_index: replaced with watch_gitdir
    • current_line_blame_delay: replaced with current_line_blame_opts.delay
    • current_line_blame_position: replaced with current_line_blame_opts.virt_text_pos
    • diff_algorithm: replaced with diff_opts.algorithm
    • use_decoration_api
    • use_internal_diff: replaced with diff_opts.internal

New Contributors

Full Changelog: https://github.com/lewis6991/gitsigns.nvim/compare/v0.5...v0.6

v0.5

1 year ago

Highlights

  • blame:
    • autodetect .git-blame-ignore-revs
    • added current_line_blame_formatter_nc
    • control priority of blame
    • support format strings
    • don't enable in insert mode
    • implemented a cache for previously blamed lines
  • Gitsigns diffthis:
    • 3 way diff for buffers with conflicts
    • respect 'splitright'
    • be more graceful with bad revisions
  • encoding related:
    • be more graceful with binary files
    • use iconv for non-utf-8 encodings
    • support filepaths with unicode characters
  • experimental:
    • added support for extmark signs. Enable with _extmark_signs = true
    • allow xdiff to be run in a separate thread. Enable with _threaded_diff = true
  • other:
    • :Gitsigns without a subcommand will now call vim.ui.select
    • support for detached working trees
    • convert paths with cygpath for Windows
    • added show action. Like diffthis but doesn't run a diff.
    • if preview window is open, navigation commands will keep it open
    • the default characters for signs are now slightly thicker
    • keymaps is now deprecated. Please use on_attach instead.
    • toggle functions will now return the currently set value
    • re-add watch_gitdir.enable

New Contributors

Full Changelog: https://github.com/lewis6991/gitsigns.nvim/compare/v0.4...v0.5

Notice

This will be the last release with explicit support for Neovim v0.6.

v0.4

2 years ago

Highlights

  • Bug fixes of all shapes and sizes
  • True partial hunk operations via visual selection.
    • If you have a very large hunk (e.g. you add several functions), you can now use visual mode to select exactly which lines you want to stage for commit.
  • Added config.show_deleted, and toggle_deleted()
    • Uses virtual lines (via extmarks) to expand hunks inline in the buffer.
  • Added config.trouble
    • If enabled (by default) and trouble.nvim is installed, then setqflist() and setloclist() will open Trouble instead of the builtin (and slow) quickfix/location list.
  • Added config.current_line_blame_opts.ignore_whitespace

Notice

This will be the last release with explicit support for Neovim v0.5.

Contributers

@lewis6991 @mjlbach @cryptomilk @kuznetsss @Sh3Rm4n @jose-elias-alvarez @jwong101 @mroavi

v0.3

2 years ago

Highlights

  • Many bug fixes
  • Added Rockspec and Luarock
  • Use vim.diff (No more FFI on Neovim 0.6!) (see https://github.com/neovim/neovim/pull/14536)
  • Added get_hunks()
  • Added toggle_word_diff()
  • Added config.base
  • Added vim.g.gitsigns_head
  • Added setqflist() and setloclist(): Populate the quickfix/location list with hunks with the option to add hunks from all changed files (not just open buffers). See :help gitsigns.setqflist() for more details.
  • Improvements to next_hunk()/prev_hunk()
    • Open fold when navigating to hunks, respect 'foldopen'
    • Show warning when there are no hunks.
  • Improvements to preview_hunk()
    • Add title
    • Keep preview open when navigating hunks with ]c, [c.
    • Allow . to work when preview is open, e.g. when staging hunks.
    • Allow preview focus with <C-w>w
  • Improvements to blame_line()
    • Show hunk of blame in preview
  • Optimizations:
    • Don't re-apply signs if hunk heads don't change
    • Disable during vimgrep
  • Add root dir and git dir to b:gitsigns_status_dict
  • Better support for DOS files
  • Deprecated fields:
    • watch_index: moved to watch_gitdir.
    • current_line_blame_delay: moved to current_line_blame_opts.delay.
    • current_line_blame_position: moved to current_line_blame_opts.virt_text_pos
    • diff_algorithm: moved to diff_opts.algorithm
    • use_internal_diff: moved to diff_opts.internal
    • use_decoration_api: removed

Contributors

@lewis6991 @dialetic @Saecki @teto @figsoda @xanderio @echasnovski @laantorchaweb @mroavi @snezhniylis @Iron-E

v0.2

2 years ago

Highlights

  • Add relative date to current_line_blame
  • Show status message when navigating hunks
  • Live word diff to buffer and hunk preview
  • Follow files when they move in the index
  • Stage/reset all hunks in selected range.
  • Added configurable timeout for current_line_blame
  • Configurable blame virtual text position
  • Added config.on_attach()
  • Added get_actions()
  • Added diffthis()
  • Migrate to plenary async2 (thanks @oberblastmeister)
  • Rework how derived highlights are applied

Contributors

@lewis6991 39 commits @zapling 4 commits @andersevenrud : 3 commits @sindrets : 1 commit

v0.1

2 years ago