#diffs #git #staged #tui #editor #line #unstaged

bin+lib mamediff

A TUI editor for managing unstaged and staged Git diffs

2 releases

new 0.0.2 Jan 7, 2025
0.0.1 Jan 5, 2025

#118 in Text editors

Download history 240/week @ 2025-01-04

240 downloads per month

MIT license

210KB
3K SLoC

mamediff

mamediff Documentation Actions Status License

A TUI editor for managing unstaged and staged Git diffs. Inspired by Magit, this tool focuses on providing a simpler, specialized interface for staging, unstaging, and discarding diffs.

NOTE: This tool is still under development (version 0.1.0 is scheduled for release in January 2025).

mamediff

Installation

$ cargo install mamediff
$ mamediff -h

Usage

Just execute mamediff command within a Git directory. The available key bindings will be displayed in the top-right corner of the window.

$ mamediff
>| Unstaged changes (1 files)                      | (q)uit [ESC,C-c]
 :   modified src/main.rs (1 chunks, -0 +2 lines)  | (r)eload
 :     @@ -5,6 +5,8 @@ use mamediff::app::App;     | ()        [C-n]
 :        use orfail::OrFail;                      | ()        [C-b]
 :                                                 | (t)oggle   [TAB]
 :        fn main() -> orfail::Result<()> {        | (s)tage
 :       +    println!("Hello World!");            | (D)iscard
 :       +                                         +---- (h)ide -----
 :            check_args().or_fail()?;
 :
 :            let app = App::new().or_fail()?;
 | Staged changes (0 files)

Dependencies

~4–12MB
~154K SLoC