benthayer / git-gud

Wanna git gud? Then get git-gud, and git gud at git!
MIT License
414 stars 43 forks source link

Update indicators to be visually appealing cross-platform #292

Closed sahansk2 closed 4 years ago

sahansk2 commented 4 years ago

32 has been implemented, but the indicators are currently just ASCII characters.

It's a relatively safe(?) assumption that most terminals these days are UTF-8 compatible, so we should see if there are any UTF-8 characters that we'd want to use to indicate progress. The indicators should be relatively consistent across platforms (Windows/macOS/various Linux), and the indicators should be consistent with each other across platforms.

benthayer commented 4 years ago

@sahansk2 Can you elaborate on this? Like show what we currently have and why it isn't visually appealing

sahansk2 commented 4 years ago
(base) sahan@sahan-GA-78LMT-USB3:test$ git gud levels --all
All levels and skills:

0. Introduction (intro)
├──X 1. Welcome (welcome)
├──  2. Configuring (config)
└──O 3. Initialization (init)
1. Basics (basics)
├──  1. Introduction to Commits (committing)
├──  2. Branching in Git (branching)
├──  3. Merging in Git (merging)
└──  4. Introduction to Rebasing (rebasing)
2. Rampup (rampup)
├──  1. Detaching HEAD (detaching)
├──  2. Relative References I: Using (^) (relrefs1)
├──X 3. Relative References II: Using (~) (relrefs2)
└──X 4. Reversing Changes in Git (reversing)
3. Rework (rework)
├──  1. Cherrypicking (cherrypicking)
└──  2. Interactive Rebase (irebase)
4. Mixed Bag (mixedbag)
└──  1. One Commit (onecommit)
5. Extras (extras)
└──  1. The Octopus Merge (octopus)
6. Rewriting History (rewriting)
└──  1. An Easy Level (easy)

Load a level with `git gud load`

My personal opinion is that this looks just fine, but X, O, and P were implemented just so that we could merge #241. This may or may not be adequate for our purposes, so an issue was in order.

benthayer commented 4 years ago

Okay, let's accept this as "fine" then and re-open if we ever think we want to improve