36 lines
779 B
Bash
Executable file
36 lines
779 B
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
if git branchless query HEAD >/dev/null 2>&1; then
|
|
printf '\n ● \e[1m'
|
|
git branchless query HEAD
|
|
printf '\e[2;38;5;242m%*s\e[0m\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' '-'
|
|
fi
|
|
|
|
awk -vOFS='' '
|
|
NR==FNR {
|
|
all[i++] = $0;
|
|
difffiles[$1] = $0;
|
|
next;
|
|
}
|
|
! ($2 in difffiles) {
|
|
print; next;
|
|
}
|
|
{
|
|
gsub($2, difffiles[$2]);
|
|
print;
|
|
}
|
|
END {
|
|
if (NR != FNR) {
|
|
# Had diff output
|
|
exit;
|
|
}
|
|
# Had no diff output, just print lines from git status -sb
|
|
for (i in all) {
|
|
print all[i];
|
|
}
|
|
}
|
|
' \
|
|
<(git diff --color --stat=$(($(tput cols) - 3)) HEAD | sed '$d; s/^ //') \
|
|
<(git -c color.status=always status -sb)
|
|
|
|
printf '\n'
|