Hacker News new | ask | show | jobs
by couchand 3946 days ago
This is neat and I think there's a lot of potential here. As with many information displays, though, it's critical to consider what the most important information to convey is and how to effectively do it.

My main question is around the use of color. I'd argue the error states - conflicts, diverging branches, etc - should be the ones in red, since those are the issues you want to call the most attention to.

Getting rid of any chartjunk is the other big thing. Using four characters of every prompt just for `git:` is not reasonable. And as much as I like the idea of being warned about untracked files, I fear that in most real situations you end up with random scratch files in the same directory. My prompt would always say `7A` at the end, wasting more space (and mental effort!).

Good work!

1 comments

Thanks! Glad you like it.

Fair point on the `git:(`, it's mostly a hold over from robbyrussells oh-my-zsh theme (which inspired me to make the first version of this about 2 years ago (https://github.com/michaeldfallen/oh-my-zsh/blob/master/them...).

The entire thing is composable so if you want a prompt without those bits just fork and modify: https://github.com/michaeldfallen/git-radar/blob/master/prom....

Or should I be making these "pieces" like `git:(` and `)` configurable through args / env vars?

On the untracked files I personally never leave a file untracked. I either commit it or add it to .gitignore. Though I see how you use git differently, how about a --ignore-untracked to ignore untracked files?

You could try to make more of the prompt configurable but that just seems like more work for yourself. It may be that our goals are just different.

I'm totally on board with you about trying not to leave things untracked. It seems like things always accumulate that shouldn't be committed but are useful; I should probably just move them to a different root folder.

Here's the prompt I use[0], adapted from some shell script I found online somewhere. I'm not going to link to the code because it's kind of ugly but it is up on my github.

A clean repository is subdued but readable blue. When there are unstaged changes there's a red plus, and staged changes get a green plus (some of both is yellow). Any branch discrepancies at all are shown by writing the branch name in bold red.

I don't try to give myself too much information, making the assumption that you'll have to do some digging to get enough detail to actually do anything about the situation.

[0]: http://i.imgur.com/sttMpfQ.png

This is good stuff: I've already added it to my dotfiles git repo that sync between machines I use. I would like, however, an option to turn off the 'git:' bit. Chartjunk is exactly what it is :)
Will do. I'll add the ability to change the prefix/suffix.