bash: add ghist
This commit is contained in:
parent
2ad3619bdb
commit
5bc3af7aad
1 changed files with 43 additions and 0 deletions
43
.bash_extra
43
.bash_extra
|
@ -174,6 +174,49 @@ function gp {
|
|||
function mdtoc {
|
||||
grep --recursive --include="*.md" ^# | sort --version-sort --field-separator=":" | awk 'BEGIN {FS=":"}{print $2 "&&" $1}' | column --table --separator "&&" --table-truncate 1,2
|
||||
}
|
||||
# "scrolle" durch die commit-history
|
||||
ghist() {
|
||||
local total_commits=$(git rev-list HEAD --count)
|
||||
local current_commit=$total_commits
|
||||
|
||||
show_commit_diff() {
|
||||
if [ $current_commit -le $total_commits ] && [ $current_commit -ge 1 ]; then
|
||||
local commit_hash=$(git rev-list --reverse HEAD | sed -n "${current_commit}p")
|
||||
git --no-pager show $commit_hash
|
||||
fi
|
||||
}
|
||||
|
||||
while true; do
|
||||
clear # Clear the terminal
|
||||
show_commit_diff
|
||||
|
||||
# Display navigation options
|
||||
echo "-----------------------------------------------------------"
|
||||
echo "Navigation: N - Next Commit, P - Previous Commit, Q - Quit"
|
||||
echo "-----------------------------------------------------------"
|
||||
read -n1 -s option
|
||||
|
||||
case $option in
|
||||
p|P)
|
||||
if [ $current_commit -gt 1 ]; then
|
||||
((current_commit--))
|
||||
fi
|
||||
;;
|
||||
n|N)
|
||||
if [ $current_commit -lt $total_commits ]; then
|
||||
((current_commit++))
|
||||
fi
|
||||
;;
|
||||
q|Q)
|
||||
break
|
||||
;;
|
||||
*)
|
||||
echo "Invalid option"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
### Aliase
|
||||
# tmux
|
||||
alias tmuxa="tmux a -t "
|
||||
|
|
Loading…
Reference in a new issue