github dlyongemallo/diffview.nvim v0.10

latest releases: v0.30, v0.23, v0.22...
2 months ago

v0.10

This release integrates unmerged PRs and fixes from the original repo along with new features developed in this fork. See sindrets/diffview.nvim#605 for context.

Breaking Changes

  • Bump minimum required Neovim version to 0.10 (#11)
  • Replace deprecated nvim_buf_get/set_option with vim.bo (#5)

Features

  • Add :DiffviewToggle command (sindrets#517)
  • Add --merge-base option (sindrets#590)
  • Add --selected-row option for cursor positioning (#7)
  • Add mini.icons support as file icons provider (sindrets#571)
  • Add close keymaps (q, <esc>) to commit log panel (sindrets#482)
  • Add open_commit_in_browser action (sindrets#476)
  • Add open_in_new_tab action to duplicate diffview (sindrets#432)
  • Add diff_against_head action to compare HEAD with history entry (sindrets#569)
  • Add open_file_external action to open files with system app
  • Add set_layout action for specific layout selection
  • Add status_icons config option (sindrets#607)
  • Add show_branch_name option for file panel (sindrets#542)
  • Add date_format option for file history panel (sindrets#525)
  • Add file_panel.show option to hide panel by default
  • Add file_panel.sort_file custom comparator (#3)
  • Add clean_up_buffers option (#6)
  • Add auto_close_on_empty option
  • Add hide_merge_artifacts option
  • Add always_show_sections option
  • Add commit_subject_max_length option
  • Add cycle_layouts option to customise layout cycling
  • Add "auto" position option for panels (sindrets#536)
  • Add rename_threshold for git rename detection (#9)
  • Add commit_format config for file history entry display (#10)
  • Add stat_style config for file history stat bars (#2)
  • Allow diff1_plain layout in standard diff views (#8)
  • Add loading indicator in file panel (sindrets#570)
  • Show file count on collapsed folders (sindrets#597)
  • Add trailing slash to folder names in file tree
  • Show "Working tree clean" message when no changes
  • Use high foldlevel and jump to first diff
  • Extend restore_entry to work on directories (sindrets#186)
  • Cycle within commit on prev/next in file history (sindrets#566)

Bug Fixes

  • Prevent crash due to nil target in sync_scroll (sindrets#550)
  • Copy hash to unnamed register instead of clipboard (sindrets#606)
  • Disable GPG signatures for log/show commands (sindrets#540)
  • Only replace $ with env var if value defined (sindrets#557)
  • Show untracked files when comparing working tree (sindrets#587)
  • Handle merge-base failure during rebase --root (sindrets#577)
  • Prevent nil index error on first line in help panel
  • Ensure bootstrap runs before accessing DiffviewGlobal
  • Ensure diff.vim highlights are loaded before linking
  • Remove redundant FilePanelFileName highlight definition
  • Use DiffviewFolderSign for FileHistory fold indicators
  • Preserve tree collapsed state on tab switch (sindrets#582)
  • Prevent scrollbind/cursorbind from persisting after close (sindrets#330)
  • Prevent coroutine failure when view closes during update (sindrets#528)
  • Disable context plugins in diff buffers for scrollbind alignment
  • Preserve panel cursor position when switching tabs (sindrets#457)
  • Handle global-only options in winopts save
  • Disable context plugins on local buffers in diff view
  • Wrap timer callbacks in vim.schedule
  • Limit custom fold creation to prevent UI freeze (sindrets#552)
  • Prevent buffer flash when opening diffview (sindrets#509)
  • Nil guards in view update (sindrets#395)
  • Use prepend for winhl (sindrets#515)
  • Always show folder icons (sindrets#579)
  • Disable inlay hints in non-LOCAL buffers
  • Only show untracked files when comparing index vs working tree
  • Save and restore buffer-local keymaps on attach/detach (#4)
  • Register commit_log_panel keymaps in init_buffer instead of init (#1)

Performance

  • Set GIT_OPTIONAL_LOCKS=0 to reduce lock contention

Documentation

  • Add :DiffviewToggle docs (sindrets#517)
  • Add diffchar.vim recommendation and setup guide (#12, #13)
  • Add diffopt tip for better diff display (sindrets#526)
  • Clarify revision argument behaviour (sindrets#514)
  • Add Telescope integration examples
  • Add recommended keymaps and workflow tips
  • Add FAQ for customising keymaps to avoid conflicts (sindrets#518)
  • Clarify LSP diagnostics behaviour in diff buffers (sindrets#580)
  • Clarify treesitter-context setup

Full Changelog: 4516612...v0.10

Don't miss a new diffview.nvim release

NewReleases is sending notifications on new releases.