Use repo root when looking for untracked files

Currently, if you add a new file to a directory, then cd to a sibling directory, the untracked glyph will not appear. This is inconsistent with the behavior of the other git colors and flags, e.g. if you modify a file and cd into a sibling directory, the prompt will still be red and the dirty working directory glyph will still appear.

This PR modifies the query used to find untracked files so it searches from the repo root instead of the current directory.
This commit is contained in:
Evan Dean 2019-11-13 17:21:40 -05:00
parent f3301c2e2c
commit 4554d8a9b6

View File

@ -932,7 +932,7 @@ function __bobthefish_prompt_git -S -a git_root_dir -a real_pwd -d 'Display the
if [ "$theme_display_git_untracked" != 'no' ] if [ "$theme_display_git_untracked" != 'no' ]
set -l show_untracked (command git config --bool bash.showUntrackedFiles 2>/dev/null) set -l show_untracked (command git config --bool bash.showUntrackedFiles 2>/dev/null)
if [ "$show_untracked" != 'false' ] if [ "$show_untracked" != 'false' ]
set new (command git ls-files --other --exclude-standard --directory --no-empty-directory 2>/dev/null) set new (command git ls-files --other --exclude-standard --directory --no-empty-directory (git rev-parse --show-toplevel) 2>/dev/null)
if [ "$new" ] if [ "$new" ]
set new "$git_untracked_glyph" set new "$git_untracked_glyph"
end end