Collection of human friendly terminal interface for git.


git tui

git tui

A collection of human friendly terminal user interface for git.

GitHub action linux clang GitHub action linux gcc GitHub action mac clang LICENSE

Demo • Installation • Usage • Contribute

Demo

gittui diff

Demo

Install

Snap:

git-tui

sudo snap install git-tui

From binaries:

10 different packages (deb, rpm, sh, zip, tar.gz, etc...): Latest.

From source:

git clone https://github.com/ArthurSonzogni/git-tui;
cd git-tui;
mkdir build;
cd build;
cmake ..;
sudo make install -j;

Usage

Replace git by git tui and use the usual commands and arguments.

Available commands:

git tui diff

asciicast

git tui log

asciicast

More to be added...

Contribute

If you like git tui and you find it useful, there are ways for you to contribute. You can suggest improvement or propose your own pull requests.

Owner
Arthur Sonzogni
Love C++. - Image rendering / analysis. - Ascii art / TUI. - Games
Arthur Sonzogni
Comments
  • Enhancement: PgUp, PgDown, Home, End support

    Enhancement: PgUp, PgDown, Home, End support

    The project seems to be very clever and useful. But to have more robust control over the panes it would be nice to be able to scroll the content by one page or to the very beginning or the very end of the diff.

  • Fix release mode on Windows.

    Fix release mode on Windows.

    This resolves: https://github.com/ArthurSonzogni/git-tui/issues/10

    Apparently, cmake on Windows do honor its own "CMAKE_BUILD_TYPE". We need to use "--config Release" to build in release mode.

  • diff: Keep user's background color

    diff: Keep user's background color

    [why] The background in the main area is hardcoded to dark grey (30,30,30). This breaks the usability for people who have a light theme (i.e. black or dark text on light background).

    [how] One solution would be to also change the foreground color, but that will for sure irritate people who use 'solarized' or other themes.

    Imho it would be best not to tinker with the background colors unless at least light and dark is selectable as option (and ideally autoselect depending on the used terminal's current background (vim for example does that, adapt the color scheme to the current user selected background in the terminal).

    So the solution implemented here is to completely drop the change in background color.

    Screenshots

    Here two sets of screenshots. tilix is used in a light theme, while terminal is set up for a dark theme.

    Before PR

    1

    Background color in both terminals is the same, albeit tilix uses normally white and has black text while terminal uses black background and white text.

    After PR

    2

    Background color not touched anymore. This means it's not dark-gray anymore but the default background color, that matches the used default foreground color.

  • log: Correct column titles

    log: Correct column titles

    [why] The column headers for 'files' and 'commits' are swapped.

    This has been introduced with commit 2c8d56e Use resizable split

    [how] Just change the string literals.

    Fixes: #7

  • Windows Github Release contains Debug version

    Windows Github Release contains Debug version

    ... which cannot be run on a System without VS installation

    See dependency info for downloaded git-tui.exe image

    I guess the problem is here

    https://github.com/ArthurSonzogni/git-tui/blob/977fd4c95b029373cb47b061dced4a416c10309f/.github/workflows/build.yaml#L104-L105

    Multi-configuration generators (like Visual Studio, which I guess would be the default for Windows), don't really recognize the -DCMAKE_BUILD_TYPE=Release keyword, instead you need to specify during the build argument cmake --build . --target package --config Release. By default, the Debug configuration will be build.

  • Enhancement: Scroll content view horizontaly

    Enhancement: Scroll content view horizontaly

    Right now left and right arrows switch between views.

    The idea is to switch the content with tab key and use arrows to scroll the content of the view. I.e.: the diff area if the content is too long or the file explorer view (apart from resizing the pane using the mouse).

  • Doesn't seem to work on Mac OSX

    Doesn't seem to work on Mac OSX

    I was able to build from source (using make and cmake installed with brew), but invoking the commands git-tui log and git-tui diff does nothing. The commands were issued within an active repo and the plain git commands git log and git diff do show correct output.

    Any ideas? It would be cool to use the diff feature instead of built-in git diff.

Spitfire is a basic terminal language that can exicute code via the terminal.

Spitfire is a basic terminal language that can exicute code via the terminal. It is easy to learn and runs fast, considering that its just a 300 line c++ file.

Nov 18, 2021
:computer: C++ Functional Terminal User Interface. :heart:
:computer: C++ Functional Terminal User Interface. :heart:

FTXUI Functional Terminal (X) User interface A simple C++ library for terminal based user interface. Demo: Feature Functional style. Inspired by [1] a

Sep 29, 2022
A (relatively) small node library to clone and pull git repositories in a standalone manner thanks to libgit2, powered by WebAssembly and Emscripten

simple-git-wasm A (relatively) small node library to clone and pull git repositories in a standalone manner thanks to libgit2, powered by WebAssembly

May 20, 2022
Small header only C++ library for writing multiplatform terminal applications

Terminal Terminal is small header only library for writing terminal applications. It works on Linux, macOS and Windows (in the native cmd.exe console)

Sep 22, 2022
A little UNIX-inspired terminal application for the Numworks Calculator (not using escher).
A little UNIX-inspired terminal application for the Numworks Calculator (not using escher).

L.E. Terminal (let for short) is a little UNIX-inspired terminal for the Numworks Calculator.

Aug 31, 2022
Draw sequence diagram in text from terminal.

sequence-diagram-cli Draw seqence diagram from terminal.

Aug 4, 2022
Terminal calculator made for programmers working with multiple number representations, sizes, and overall close to the bits
Terminal calculator made for programmers working with multiple number representations, sizes, and overall close to the bits

Programmer calculator The programmer calculator is a simple terminal tool designed to give maximum efficiency and flexibility to the programmer workin

Sep 28, 2022
X terminal emulator rendering through OpenGL ES Compute Shaders

Zutty is a terminal emulator for the X Window System, functionally similar to several other X terminal emulators such as xterm, rxvt and countless others

Sep 27, 2022
The new Windows Terminal and the original Windows console host, all in the same place!

The new Windows Terminal and the original Windows console host, all in the same place!

Sep 28, 2022
n³ The unorthodox terminal file manager
n³ The unorthodox terminal file manager

n³ The unorthodox terminal file manager

Sep 29, 2022
Graphs the activity of a chia harvester in a linux terminal.
Graphs the activity of a chia harvester in a linux terminal.

Chia Harvest Graph Monitor for Chia Harvesting Introduction The chiaharvestgraph tool will graph Chia Harvesting activity in a linux terminal. Use a 2

Sep 21, 2022
a simple to use linux terminal

a simple to use linux terminal

Feb 17, 2022
Simple benchmark for terminal output

TermBench This is a simple timing utility you can use to see how slow your terminal program is at parsing escape-sequence-coded color output. It can b

Sep 24, 2022
tinytetris - 80x23 terminal tetris
tinytetris - 80x23 terminal tetris

tinytetris - 80x23 terminal tetris

Sep 30, 2022
Contour - A modern C++ Terminal Emulator
 Contour - A modern C++ Terminal Emulator

contour is a modern terminal emulator, for everyday use. It is aiming for power users with a modern feature mindset.

Oct 2, 2022
A C, C++ and Rust library to draw graphics with pixels in the terminal
A C, C++ and Rust library to draw graphics with pixels in the terminal

A library to draw graphics with pixels in the terminal Who needs a GUI when you have a terminal ? Building To generate libpluto.a, run: $ make To ins

Sep 3, 2022
📺🗿 Terminal graphics for the 21st century.
📺🗿 Terminal graphics for the 21st century.

???? Chafa is a command-line utility that converts all kinds of images, including animated GIFs, into sixel or ANSI/Unicode character output that can be displayed in a terminal.

Sep 24, 2022
Simple Unix Terminal Football Manager-like game.

Superleage 2020/2021 It is a "work in progress" simple game based on some mechanics of Football Manager. The game is in a very early stage of Developm

Oct 14, 2021
timg - Terminal Image and Video Viewer
 timg - Terminal Image and Video Viewer

timg - Terminal Image and Video Viewer

Oct 1, 2022