Add tide_git_truncation_length (#221)

This commit is contained in:
Ilan Cosman 2021-10-31 10:53:43 -07:00
parent fa3393f362
commit 055f298b12
5 changed files with 23 additions and 8 deletions

View File

@ -1,12 +1,14 @@
function _tide_item_git function _tide_item_git
set -l location $_tide_location_color(git branch --show-current 2>/dev/null) || return if git branch --show-current 2>/dev/null | string replace -r "(.{$tide_git_truncation_length})..*" '$1…' | read -l location
# --quiet = don't error if there are no commits set location $_tide_location_color$location
git rev-parse --quiet --git-dir --is-inside-git-dir --short HEAD | read -l --line git_dir inside_git_dir sha git rev-parse --git-dir --is-inside-git-dir | read -f --line git_dir inside_git_dir
else if test $pipestatus[1] != 0
if test -z "$location" # Default to branch, then tag, then sha return
# get last tag b/c they are listed in alphabet order, so more specific 5.0.1 is after 5 else
set location '#'$_tide_location_color(git tag --points-at HEAD)[-1] # --quiet = don't error if there are no commits
test -z "$location" && set location @$_tide_location_color$sha git rev-parse --git-dir --is-inside-git-dir --quiet --short HEAD | read -f --line git_dir inside_git_dir sha
git tag --points-at HEAD | string replace -r "(.{$tide_git_truncation_length})..*" '$1…' | read location &&
set location '#'$_tide_location_color$location || set location @$_tide_location_color$sha
end end
# Operation # Operation

View File

@ -29,6 +29,7 @@ tide_git_color_stash $_tide_color_green
tide_git_color_untracked $_tide_color_light_blue tide_git_color_untracked $_tide_color_light_blue
tide_git_color_upstream $_tide_color_green tide_git_color_upstream $_tide_color_green
tide_git_icon tide_git_icon
tide_git_truncation_length 24
tide_go_bg_color 444444 tide_go_bg_color 444444
tide_go_color 00ACD7 tide_go_color 00ACD7
tide_go_icon tide_go_icon

View File

@ -29,6 +29,7 @@ tide_git_color_stash $_tide_color_green
tide_git_color_untracked $_tide_color_light_blue tide_git_color_untracked $_tide_color_light_blue
tide_git_color_upstream $_tide_color_green tide_git_color_upstream $_tide_color_green
tide_git_icon tide_git_icon
tide_git_truncation_length 24
tide_go_bg_color normal tide_go_bg_color normal
tide_go_color 00ACD7 tide_go_color 00ACD7
tide_go_icon tide_go_icon

View File

@ -29,6 +29,7 @@ tide_git_color_stash 000000
tide_git_color_untracked 000000 tide_git_color_untracked 000000
tide_git_color_upstream 000000 tide_git_color_upstream 000000
tide_git_icon tide_git_icon
tide_git_truncation_length 24
tide_go_bg_color 00ACD7 tide_go_bg_color 00ACD7
tide_go_color 000000 tide_go_color 000000
tide_go_icon tide_go_icon

View File

@ -56,6 +56,16 @@ _git commit -am 'Append hello to foo'
_git checkout HEAD~ _git checkout HEAD~
_git_item # CHECK: {{@\w*}} _git_item # CHECK: {{@\w*}}
# Long branches
_git checkout main
_git checkout -b very_long_branch_name
set tide_git_truncation_length 10
_git_item # CHECK: very_long_…
# Branch same length as tide_git_truncation_length
_git checkout -b very_long_
_git_item # CHECK: very_long_
# -------- bare repo test -------- # -------- bare repo test --------
cd $dir/bare-repo cd $dir/bare-repo
_git init --bare _git init --bare