From 6881608fd533b58d8945f945a68f3aa6cd1dbe00 Mon Sep 17 00:00:00 2001 From: Tin LE GALL Date: Thu, 21 Apr 2016 12:21:56 +0200 Subject: [PATCH 1/3] Minimal theme based on TruncatedPwd_WindowTitle --- themes/Minimal.bgptheme | 61 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 themes/Minimal.bgptheme diff --git a/themes/Minimal.bgptheme b/themes/Minimal.bgptheme new file mode 100644 index 0000000..b98e329 --- /dev/null +++ b/themes/Minimal.bgptheme @@ -0,0 +1,61 @@ +############################################################################## +# Changes the prompt to a Debian-style one that truncates pwd to a max length +# depending on the terminal column width. Also uses the prompt_callback +# function of bash-git-prompt to set the window title to almost the same +# Debian-style. This version has been tweaked for Ubuntu standard terminal +# fonts. +# +# The prompt will use a Debian-style on the form +# +# relative-path-from-git-toplevel-dir bash-git-prompt-info +# HH:MM:SS ▶ +# +# The window title will have the form +# relative-path-from-git-toplevel-dir +# +# Example usage: +# if [ -f ~/.bash-git-prompt/gitprompt.sh ]; then +# GIT_PROMPT_THEME=Minimal +# source ~/.bash-git-prompt/gitprompt.sh +# fi +# +# Imbibinebe [https://github.com/imbibinebe] +############################################################################## +override_git_prompt_colors() { + GIT_PROMPT_THEME_NAME="Minimal" + + #Overrides the prompt_callback function used by bash-git-prompt + function prompt_callback { + GIT_CONTAINER_FOLDER_FULLPATH=$(git rev-parse --show-toplevel) + GIT_CONTAINER_FOLDER=$(basename $GIT_CONTAINER_FOLDER_FULLPATH) + CURRENT_FULLPATH=$(realpath .) + local PS1=$GIT_CONTAINER_FOLDER${CURRENT_FULLPATH#$GIT_CONTAINER_FOLDER_FULLPATH} + gp_set_window_title "$PS1" + echo -n "${BoldYellow}${PS1}${ResetColor}" + } + + Time12a="\$(date +%H:%M:%S)" + GIT_PROMPT_BRANCH="${BoldMagenta}" # the git branch that is active in the current directory + GIT_PROMPT_PREFIX="" # start of the git info string + GIT_PROMPT_SUFFIX="" # the end of the git info string + GIT_PROMPT_SEPARATOR="" # separates each item + GIT_PROMPT_STAGED=" ${Green}●" # the number of staged files/directories + GIT_PROMPT_CONFLICTS=" ${BoldRed}✖" # the number of files in conflict + GIT_PROMPT_CHANGED=" ${BoldBlue}✚" # the number of changed files + + # GIT_PROMPT_REMOTE=" " # the remote branch name (if any) and the symbols for ahead and behind + GIT_PROMPT_UNTRACKED=" ${Cyan}…" # the number of untracked files/dirs + GIT_PROMPT_STASHED=" ${BoldCyan}⚑" # the number of stashed files/dir + GIT_PROMPT_CLEAN=" ${BoldGreen}✔" # a colored flag indicating a "clean" repo + + local gp_end="_LAST_COMMAND_INDICATOR_\n${White}${Time12a}${ResetColor}" + + GIT_PROMPT_START_USER="" + GIT_PROMPT_END_USER="${gp_end} ▶ " + GIT_PROMPT_END_ROOT="${gp_end} /!!!\ " + + GIT_PROMPT_COMMAND_OK="${Green} ✔ " # indicator if the last command returned with an exit code of 0 + GIT_PROMPT_COMMAND_FAIL="${BoldRed} ✘-_LAST_COMMAND_STATE_" # indicator if the last command returned with an exit code of other than 0 +} + +reload_git_prompt_colors "Minimal" From 485f256e464da18db3421bbf3155c10d49dfa7b5 Mon Sep 17 00:00:00 2001 From: Tin LE GALL Date: Mon, 8 Aug 2016 14:03:18 +0200 Subject: [PATCH 2/3] fixes 'not in a GIT repository' problem --- themes/Minimal.bgptheme | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/themes/Minimal.bgptheme b/themes/Minimal.bgptheme index b98e329..98be537 100644 --- a/themes/Minimal.bgptheme +++ b/themes/Minimal.bgptheme @@ -26,8 +26,8 @@ override_git_prompt_colors() { #Overrides the prompt_callback function used by bash-git-prompt function prompt_callback { - GIT_CONTAINER_FOLDER_FULLPATH=$(git rev-parse --show-toplevel) - GIT_CONTAINER_FOLDER=$(basename $GIT_CONTAINER_FOLDER_FULLPATH) + GIT_CONTAINER_FOLDER_FULLPATH=$(git rev-parse --show-toplevel 2> /dev/null) + GIT_CONTAINER_FOLDER=$(basename $GIT_CONTAINER_FOLDER_FULLPATH 2> /dev/null) CURRENT_FULLPATH=$(realpath .) local PS1=$GIT_CONTAINER_FOLDER${CURRENT_FULLPATH#$GIT_CONTAINER_FOLDER_FULLPATH} gp_set_window_title "$PS1" From 88fae61f491d5f2968d2ea4a728622f5f8c994b9 Mon Sep 17 00:00:00 2001 From: Tin LE GALL Date: Tue, 9 Aug 2016 09:07:04 +0200 Subject: [PATCH 3/3] using pwd since there is no need to use realpath --- themes/Minimal.bgptheme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/Minimal.bgptheme b/themes/Minimal.bgptheme index 98be537..622388c 100644 --- a/themes/Minimal.bgptheme +++ b/themes/Minimal.bgptheme @@ -28,7 +28,7 @@ override_git_prompt_colors() { function prompt_callback { GIT_CONTAINER_FOLDER_FULLPATH=$(git rev-parse --show-toplevel 2> /dev/null) GIT_CONTAINER_FOLDER=$(basename $GIT_CONTAINER_FOLDER_FULLPATH 2> /dev/null) - CURRENT_FULLPATH=$(realpath .) + CURRENT_FULLPATH=$(pwd) local PS1=$GIT_CONTAINER_FOLDER${CURRENT_FULLPATH#$GIT_CONTAINER_FOLDER_FULLPATH} gp_set_window_title "$PS1" echo -n "${BoldYellow}${PS1}${ResetColor}"