diff --git a/aliases/available/git.aliases.bash b/aliases/available/git.aliases.bash index fb230ed0..e26fccb6 100644 --- a/aliases/available/git.aliases.bash +++ b/aliases/available/git.aliases.bash @@ -70,3 +70,8 @@ if [ -z "$EDITOR" ]; then else alias gd="git diff | $EDITOR" fi + +#Aliases to mark untracked files as dirty or not +alias bash-it-untracked-files-dirty="export BASH_IT_GIT_UNTRACKED_FILES_DIRTY=true" +alias bash-it-untracked-files-not-dirty="export BASH_IT_GIT_UNTRACKED_FILES_DIRTY=false" + diff --git a/template/bash_profile.template.bash b/template/bash_profile.template.bash index d7937a47..1bd35c53 100644 --- a/template/bash_profile.template.bash +++ b/template/bash_profile.template.bash @@ -23,6 +23,9 @@ export GIT_EDITOR='/usr/bin/mate -w' # Set the path nginx export NGINX_PATH='/opt/nginx' +# Set ignoring untracked files to false +export BASH_IT_GIT_UNTRACKED_FILES_DIRTY=true + # Don't check mail when opening terminal. unset MAILCHECK diff --git a/themes/base.theme.bash b/themes/base.theme.bash index 06c7e3cc..a409b686 100644 --- a/themes/base.theme.bash +++ b/themes/base.theme.bash @@ -78,8 +78,12 @@ function git_prompt_vars { SCM_GIT_AHEAD='' SCM_GIT_BEHIND='' SCM_GIT_STASH='' + SCM_GIT_ARGUMENTS='--porcelain' + if [ "$BASH_IT_GIT_UNTRACKED_FILES_DIRTY" == false ]; then + SCM_GIT_ARGUMENTS="$SCM_GIT_ARGUMENTS -uno" + fi if [[ "$(git config --get bash-it.hide-status)" != "1" ]]; then - local status="$(git status -b --porcelain 2> /dev/null || git status --porcelain 2> /dev/null)" + local status="$(git status -b $SCM_GIT_ARGUMENTS 2> /dev/null || git status $SCM_GIT_ARGUMENTS 2> /dev/null)" if [[ -n "${status}" ]] && [[ "${status}" != "\n" ]] && [[ -n "$(grep -v ^# <<< "${status}")" ]]; then SCM_DIRTY=1 SCM_STATE=${GIT_THEME_PROMPT_DIRTY:-$SCM_THEME_PROMPT_DIRTY}