Add 'tracked' context to git-info

* add :prezto:module:git:info:tracked (%t) to format dirty tracked file count
This commit is contained in:
Zoey Llewellyn Hewll 2018-12-26 16:26:28 +08:00
parent a338cba805
commit da3dce98bb

View file

@ -139,6 +139,9 @@ function git-info {
local dirty=0 local dirty=0
local dirty_format local dirty_format
local dirty_formatted local dirty_formatted
local tracked=0
local tracked_format
local tracked_formatted
local ignore_submodules local ignore_submodules
local indexed=0 local indexed=0
local indexed_format local indexed_format
@ -403,6 +406,13 @@ function git-info {
fi fi
fi fi
# Format tracked.
(( tracked = dirty - untracked ))
if (( tracked > 0 )); then
zstyle -s ':prezto:module:git:info:tracked' format 'tracked_format'
zformat -f tracked_formatted "$tracked_format" "t:$tracked"
fi
# Format dirty and clean. # Format dirty and clean.
if (( dirty > 0 )); then if (( dirty > 0 )); then
zstyle -s ':prezto:module:git:info:dirty' format 'dirty_format' zstyle -s ':prezto:module:git:info:dirty' format 'dirty_format'
@ -432,6 +442,7 @@ function git-info {
"s:$action_formatted" \ "s:$action_formatted" \
"S:$stashed_formatted" \ "S:$stashed_formatted" \
"U:$unmerged_formatted" \ "U:$unmerged_formatted" \
"t:$tracked_formatted" \
"u:$untracked_formatted" "u:$untracked_formatted"
git_info[$info_format]="$REPLY" git_info[$info_format]="$REPLY"
done done