Created
December 15, 2017 18:24
-
-
Save thompsonemerson/ed07aa9dae119b9e142ffb56e11fda99 to your computer and use it in GitHub Desktop.
custom terminal
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Custom Terminal | |
| getGit() { | |
| local s=''; | |
| local branchName=''; | |
| # Check if the current directory is in a Git repository. | |
| if [ $(git rev-parse --is-inside-work-tree &>/dev/null; echo "${?}") == '0' ]; then | |
| # check if the current directory is in .git before running git checks | |
| if [ "$(git rev-parse --is-inside-git-dir 2> /dev/null)" == 'false' ]; then | |
| # Ensure the index is up to date. | |
| git update-index --really-refresh -q &>/dev/null; | |
| # Check for uncommitted changes in the index. | |
| if ! $(git diff --quiet --ignore-submodules --cached); then | |
| s+='+'; | |
| fi; | |
| # Check for unstaged changes. | |
| if ! $(git diff-files --quiet --ignore-submodules --); then | |
| s+='!'; | |
| fi; | |
| # Check for untracked files. | |
| if [ -n "$(git ls-files --others --exclude-standard)" ]; then | |
| s+='?'; | |
| fi; | |
| # Check for stashed files. | |
| if $(git rev-parse --verify refs/stash &>/dev/null); then | |
| s+='$'; | |
| fi; | |
| fi; | |
| # If HEAD isn’t a symbolic ref, get the short SHA for the latest commit | |
| # Otherwise, just give up. | |
| branchName="$(git symbolic-ref --quiet --short HEAD 2> /dev/null || \ | |
| git rev-parse --short HEAD 2> /dev/null || \ | |
| echo '(unknown)')"; | |
| [ -n "${s}" ] && s=" [${s}]"; | |
| echo -e "${1}[${branchName}${s}]"; | |
| else | |
| return; | |
| fi; | |
| } | |
| txtblk='\e[0;30m' # Black - Regular | |
| txtred='\e[0;31m' # Red | |
| txtgrn='\e[0;32m' # Green | |
| txtylw='\e[0;33m' # Yellow | |
| txtblu='\e[0;34m' # Blue | |
| txtpur='\e[0;35m' # Purple | |
| txtcyn='\e[0;36m' # Cyan | |
| txtwht='\e[0;37m' # White | |
| bldblk='\e[1;30m' # Black - Bold | |
| bldred='\e[1;31m' # Red | |
| bldgrn='\e[1;32m' # Green | |
| bldylw='\e[1;33m' # Yellow | |
| bldblu='\e[1;34m' # Blue | |
| bldpur='\e[1;35m' # Purple | |
| bldcyn='\e[1;36m' # Cyan | |
| bldwht='\e[1;37m' # White | |
| unkblk='\e[4;30m' # Black - Underline | |
| undred='\e[4;31m' # Red | |
| undgrn='\e[4;32m' # Green | |
| undylw='\e[4;33m' # Yellow | |
| undblu='\e[4;34m' # Blue | |
| undpur='\e[4;35m' # Purple | |
| undcyn='\e[4;36m' # Cyan | |
| undwht='\e[4;37m' # White | |
| bakblk='\e[40m' # Black - Background | |
| bakred='\e[41m' # Red | |
| badgrn='\e[42m' # Green | |
| bakylw='\e[43m' # Yellow | |
| bakblu='\e[44m' # Blue | |
| bakpur='\e[45m' # Purple | |
| bakcyn='\e[46m' # Cyan | |
| bakwht='\e[47m' # White | |
| txtrst='\e[0m' # Text Reset | |
| print_before_the_prompt () { | |
| printf "\n$txtred%s | $txtcyn%s $txtpur%s\n$txtrst" "$USER" "${PWD##*/}" "$(getGit)" | |
| } | |
| # bash completion | |
| if [ -f /usr/local/etc/bash_completion ]; then | |
| . /usr/local/etc/bash_completion | |
| fi | |
| # echo -n -e "\033]0;${PWD##*/}\007" | |
| echo -n -e "\033]0;${PWD}\007" | |
| PROMPT_COMMAND=print_before_the_prompt | |
| # PS1='\033[5m> \033[0m' | |
| PS1='🥑 ' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment