Your changes,
in context.

Review and stage your changes without leaving the terminal.
Read diffs in context, browse your files, and see how the code got here.

Rust · Linux & macOS · Open source

gitplume · ~/source/gitplume
src/code_view.rs
Branch: main3 changed files
Sample data

See the whole file

It’s easier to understand a change when you can read the code around it. Syntax highlighting helps you follow along, and you can jump between changes without losing that context.

n / p   Next / previous change

Choose what to stage

Stage files as you review them, or check a few to stage together. You can unstage them just as easily, and GitPlume always asks before discarding anything.

s   Stage / unstage

Explore your repository

When you need a closer look, browse your files, search their contents, or open a recent commit to see what changed. Use the keyboard or mouse, whichever feels more comfortable.

1 2 3   Switch views

Keep an eye on
what your agent changes.

Keep GitPlume open beside your coding agent so you can follow along, review its changes, and decide what to stage.

opencode
Keep the gutter padding when wrapping lines.

Updated the renderer and added regression tests.

$ cargo test
test result: ok.
› What’s next?
ChangesFilesFind
Staged
Unstaged
[ ] M code_view.rs
[ ] M document.rs
[ ] M README.md
Commits
▸ ✨ Add spacing
▸ ✨ Style gutters
▸ 🐛 Fix refresh
▸ 🔖 v0.2.3
src/code_view.rs +6 −2
741741self.materialized = 0;
742742let content = self.content;
743743let indent = self.indent();
744744let blank_gutter_width = if self.wrapped {
−745 indent
+745 indent.saturating_sub(1)
746746} else {
747747 self.doc
748748 .wrap_indent
+749 .saturating_sub(1)
749750 .saturating_sub(self.scroll_x)
750751 .min(content.width as usize)
751752} as u16;
752753let mut cached: Option<Materialized> = None;
753754for y in 0..content.height {
754755 let screen_y = content.y + y;
755756 for x in content.x..content.right() {
Branch: main
$ gitplume

Install GitPlume

Then run gitplume in any Git repository.

curl -fsSL https://github.com/LBognanni/gitplume/releases/latest/download/install.sh | sh
Linux & macOS · Git + a Nerd FontPrefer Cargo? cargo install --locked gitplume