💾 Archived View for adamthiede.com › log › 2023-01-28.gmi captured on 2023-07-22 at 16:26:10. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-07-10)
-=-=-=-=-=-=-
Over Christmas I had to use Windows, and customizing the powershell prompt was necessary - it's basically just '\w >', so you get your prompt at varying screen widths and I can't deal with that. I typically have used something like `PS1='\u@\h \w \n\$ '`, with some additions here and there, but that's the basic structure. I like a newline before my $. But anyway, because of Windows, I tried adding way more features to my Linux prompt, just because.
Here's what it looks like now.
1 ⬢ 07:34 [~/repos/gemlog] master $
That's with all the features showing up. The '1' is the non-zero exit code of the last command. If it's 0 it's not there. The ⬢ is for if I'm in a distrobox. The next bit is just the path, and the last word is the git branch. Then of course a new line and $.
Without the extra bits it looks like this.
07:34 [~/repos/gemlog] $
I tried to do background colors but that got super distracting really quick. Here's the code.
function exitcode { ec=$? # 130=128+2; bash ctrl+c exit code if [ $ec -eq 0 -o $ec -eq 130 ];then printf "" else printf "\e[1;31m$ec\e[0m " fi } function gitbranchprompt { gb=$(git branch --show-current 2>/dev/null) if [ "$gb" = '' ];then printf '' else printf "\e[0m $gb" fi } function inadistrobox { if [ -n "$DISTROBOX_ENTER_PATH" ];then printf "\e[33;35m⬢\e[0m " fi } PS1='$(exitcode)$(inadistrobox)\e[1m\A \e[0m[\w]$(gitbranchprompt)\e[0m\n\$ '
(I'm aware git includes its own prompt thing and I shouldn't have to do gitbranchprompt, but alpine doesn't have it.)