Skip to content

Instantly share code, notes, and snippets.

@pjf
Created April 27, 2017 06:56
Show Gist options
  • Save pjf/051aa4ef326d493beec950823f7edfd8 to your computer and use it in GitHub Desktop.
Save pjf/051aa4ef326d493beec950823f7edfd8 to your computer and use it in GitHub Desktop.
pjf's shell prompt with taskwarrior and git
# Reset
Color_Off='\[\e[0m\]' # Text Reset
# Regular Colors
Black='\[\e[0;30m\]' # Black
Red='\[\e[0;31m\]' # Red
Green='\[\e[0;32m\]' # Green
Yellow='\[\e[0;33m\]' # Yellow
Blue='\[\e[0;34m\]' # Blue
Purple='\[\e[0;35m\]' # Purple
Cyan='\[\e[0;36m\]' # Cyan
White='\[\e[0;37m\]' # White
# Bold
BBlack='\[\e[1;30m\]' # Black
BRed='\[\e[1;31m\]' # Red
BGreen='\[\e[1;32m\]' # Green
BYellow='\[\e[1;33m\]' # Yellow
BBlue='\[\e[1;34m\]' # Blue
BPurple='\[\e[1;35m\]' # Purple
BCyan='\[\e[1;36m\]' # Cyan
BWhite='\[\e[1;37m\]' # White
# Underline
UBlack='\[\e[4;30m\]' # Black
URed='\[\e[4;31m\]' # Red
UGreen='\[\e[4;32m\]' # Green
UYellow='\[\e[4;33m\]' # Yellow
UBlue='\[\e[4;34m\]' # Blue
UPurple='\[\e[4;35m\]' # Purple
UCyan='\[\e[4;36m\]' # Cyan
UWhite='\[\e[4;37m\]' # White
# Background
On_Black='\[\e[40m\]' # Black
On_Red='\[\e[41m\]' # Red
On_Green='\[\e[42m\]' # Green
On_Yellow='\[\e[43m\]' # Yellow
On_Blue='\[\e[44m\]' # Blue
On_Purple='\[\e[45m\]' # Purple
On_Cyan='\[\e[46m\]' # Cyan
On_White='\[\e[47m\]' # White
# High Intensity
IBlack='\[\e[0;90m\]' # Black
IRed='\[\e[0;91m\]' # Red
IGreen='\[\e[0;92m\]' # Green
IYellow='\[\e[0;93m\]' # Yellow
IBlue='\[\e[0;94m\]' # Blue
IPurple='\[\e[0;95m\]' # Purple
ICyan='\[\e[0;96m\]' # Cyan
IWhite='\[\e[0;97m\]' # White
# Bold High Intensity
BIBlack='\[\e[1;90m\]' # Black
BIRed='\[\e[1;91m\]' # Red
BIGreen='\[\e[1;92m\]' # Green
BIYellow='\[\e[1;93m\]' # Yellow
BIBlue='\[\e[1;94m\]' # Blue
BIPurple='\[\e[1;95m\]' # Purple
BICyan='\[\e[1;96m\]' # Cyan
BIWhite='\[\e[1;97m\]' # White
# High Intensity backgrounds
On_IBlack='\[\e[0;100m\]' # Black
On_IRed='\[\e[0;101m\]' # Red
On_IGreen='\[\e[0;102m\]' # Green
On_IYellow='\[\e[0;103m\]' # Yellow
On_IBlue='\[\e[0;104m\]' # Blue
On_IPurple='\[\e[0;105m\]' # Purple
On_ICyan='\[\e[0;106m\]' # Cyan
On_IWhite='\[\e[0;107m\]' # White
# Make our prompt awesome. :)
source ~/.bash_colours
TICK="✓"
CROSS="✗"
URGENT="❗"
OVERDUE="☠️"
DUETODAY="😱"
DUETOMORROW="📅"
function task_indicator {
if [ `task +READY +OVERDUE count` -gt "0" ]; then
echo "$OVERDUE"
elif [ `task +READY +DUETODAY count` -gt "0" ]; then
echo "$DUETODAY"
elif [ `task +READY +DUETOMORROW count` -gt "0" ]; then
echo "$DUETOMORROW"
elif [ `task +READY urgency \> 10 count` -gt "0" ]; then
echo "$URGENT"
else
echo '$'
fi
}
PS1="\[\e]0;\u@\h: \w\a\]"'$(BRANCH=`git rev-parse --abbrev-ref HEAD 2> /dev/null`; if [ -n "$BRANCH" ]; then DIRTY=`git status --porcelain --untracked-files=no 2> /dev/null`; if [ -n "$DIRTY" ]; then echo "'$BRed'$CROSS "; else echo "'$BGreen'$TICK "; fi; fi;)'"$Color_Off${debian_chroot:+($debian_chroot)}\w$BYellow\$(__git_ps1)\$(task_indicator) $Color_Off"
@brianmay
Copy link

brianmay commented Feb 8, 2018

I think +DUETOMORROW might be a mistake. According to documentation, only TOMORROW is defined.

@ultrox
Copy link

ultrox commented Aug 1, 2019

@brianmay, that's correct I just check it out, there is no +DUETOMORROW

@diogovk
Copy link

diogovk commented Mar 26, 2020

@pjf Since tasks are definied with time 00:00:00 by default, task +READY +TODAY count and task +READY +OVERDUE count end up becoming synonyms, no?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment