neogit icon indicating copy to clipboard operation
neogit copied to clipboard

[Neovim Nightly] 0.10

Open CKolkey opened this issue 1 year ago • 6 comments

Todo: Set up CI action to auto merge master into Nightly, presuming no conflicts.

Changes that will land in Master when Neovim 0.10 is released.

  • Rewritten folding to use native folds instead of internal state.
  • Added RefsView buffer.
  • Use new extmarks api for line highlighting/signs
  • Use new options api
  • Rewritten status buffer using UI framework
  • Improved Rebase section for status buffer
  • Added rebase_editor and commit_editor insert mode specific mappigns
  • Added ability to remap OpenOrScrollUp and OpenOrScrollDown
  • Removed remaining ftpugin/*.vim files
  • Removed require("neogit").refresh_viml_compat()
  • ? Removed require("neogit").refresh_manually()
  • Completely rewritten status buffer
  • Remove old bootstrap.lua file
  • Added a header to the commit-select view, with instructions
  • Added status column override
  • Improved how "is the buffer open" is checked internally
  • Better support for showing the correct SHA hash length in UI
  • Fix height of fuzzy finder always being 0.3 instead of a computed value
  • Use mapped key to close git command history
  • Use native folds in git command history
  • Added NEOGIT_DEBUG env var, which will show, among other things, git CLI calls that are otherwise hidden from the user.
  • Use native folds for log view
  • Added OpenOrScrollDown and OpenOrScrollUp to status buffer, reflog buffer, and refs buffer
  • Extend the "Close" mapping to close the topmost "layer", even if unfocused.
  • Adds a diff view to the commit editor, so you can see the changes you're about to commit.

TODO:

Refs View:

  • [ ] Finalize Keybindings

Docs:

  • [ ] Bisect Popup Documentation

Status:

  • [ ] Status buffer loses context highlighting when telescope picker is activated (b l). Commit view doesn't.
  • [ ] Status buffer might not render a diff with highlights when a notification (popup window) is present. Probably related to above.

Closes #1250, #1240, #1160, #1192, #1170, #1171, #1156, #1155, #1140, #1130, #1109, #1096, #955, #951, #909, #515, #714, #509, #122, #334, #58, #335, #1248

CKolkey avatar Nov 28 '23 21:11 CKolkey

Is this expected to break on older versions of neovim when merged?

wrightjjw avatar Nov 29 '23 14:11 wrightjjw

Yeah, there are some API's that dont exist on 0.9 that I'm using. The only one so far is for fold-text to use the extmarks api for nice highlighting, but there are (loose) plans to use the new vim.system api to replace the async jobs. I'm not going to go out of my way to break stuff, but... i expect it to happen.

What I can do is tag the commit before I merge this for 0.9 compatibility, so people can pin to that if they need.

CKolkey avatar Nov 29 '23 22:11 CKolkey

The diffview integration is broken, I bisected it is caused by f3eaff35e02149da5842ab1b84a4081d4422811b.

After that, this function which opens diffview gets a table as the parameter section_name, but it should be a string indeed. All conditions in this function assume section_name is a string, so all of theme are invalid.

ofseed avatar Apr 10 '24 15:04 ofseed

Thanks @ofseed - fixed

CKolkey avatar Apr 10 '24 21:04 CKolkey

Thank you for your fix. I found that after the fix, diffview works well but the diff buffers have a 'statuscolumn' set by neogit. Maybe it is not needed?

ofseed avatar Apr 11 '24 02:04 ofseed

Heh, I worked on a few things last night. Status column is entirely unrelated, i'll see if theres a nicer way to handle that

CKolkey avatar Apr 11 '24 05:04 CKolkey

Is this expected to break on older versions of neovim when merged?

You can pin to: https://github.com/NeogitOrg/neogit/releases/tag/v0.0.1

CKolkey avatar May 16 '24 19:05 CKolkey