Skip to content

feat: show upstream Git changes in Neovim - #388

Merged
jiminu merged 3 commits into
mainfrom
feat/neovim-git-remote-status
Oct 13, 2026
Merged

jiminu merged 3 commits into
mainfrom
feat/neovim-git-remote-status

Conversation

@jiminu

@jiminu jiminu commented Oct 13, 2026 •

Copy link
Copy Markdown
Owner

Neovim now shows commits waiting to push or pull beside the branch and marks incoming changes in NvimTree after an external fetch. For example, a diverged branch displays ↑1↓2; existing files show ↓M, ↓D, or ↓R, and parent folders indicate incoming additions that are not yet present locally.

  • Use matching solid commit arrows in Starship and Neovim for readability, with consistent color meanings: outgoing green, incoming red; tree modifications yellow, additions/renames green, deletions red. Hide zero counts and keep local Git badges. Reuse the tree highlight foregrounds in lualine while preserving its theme background.
  • Read cached upstream refs asynchronously, refreshing every five seconds and on editor events. Recalculate counts and file differences only when refs change; never fetch, including lazy object downloads in partial clones.
  • Register the new module as managed configuration and cover fetched/diverged refs, detached HEAD, missing upstream, worktrees, separate tree roots, partial clones, and rendering with the approved plugins.

Validation:

  • TMPDIR=/private/tmp bash scripts/check.sh passed for the initial feature commit; the final glyph/color refinement was checked with the focused tests and color smoke below.
  • Focused Neovim configuration and Git remote tests with the installed, approved NvimTree/lualine plugins passed after the solid-arrow change.
  • Starship TOML parsing and actual Git status rendering passed with ↑1↓2 in a private HOME.
  • Dark/light rendering smoke check confirms joined glyphs, shared foregrounds and preserved statusline backgrounds, including custom highlight changes. An interactive demo was also checked for the initial feature.

New remote-only files appear in the tree after pulling; their parent directories carry an incoming indicator beforehand. Partial clones may show deletion/addition instead of a rename when similarity detection needs unavailable blobs.

@jiminu
jiminu merged commit e24a35b into main Oct 13, 2026
7 checks passed
@jiminu
jiminu deleted the feat/neovim-git-remote-status branch October 13, 2026 07:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant