mirror of
https://github.com/kogakure/dotfiles.git
synced 2026-02-03 20:25:30 +00:00
feat: add Dotbot
This commit is contained in:
25
functions/fshow.sh
Normal file
25
functions/fshow.sh
Normal file
@@ -0,0 +1,25 @@
|
||||
# fshow - git commit browser
|
||||
|
||||
fshow() {
|
||||
# Check if we're in a git repository
|
||||
if ! git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
|
||||
echo "Error: Not in a git repository"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Define the git log format
|
||||
local log_format="%C(auto)%h%d %s %C(black)%C(bold)%cr"
|
||||
|
||||
# Use git log to get the commit history and pipe it to fzf
|
||||
git log --graph --color=always --format="$log_format" "$@" |
|
||||
fzf --ansi --no-sort --reverse --tiebreak=index \
|
||||
--bind=ctrl-s:toggle-sort \
|
||||
--bind=ctrl-d:preview-page-down \
|
||||
--bind=ctrl-u:preview-page-up \
|
||||
--preview 'grep -o "[a-f0-9]\{7,\}" <<< {} | xargs git show --color=always' \
|
||||
--bind "ctrl-m:execute:
|
||||
(grep -o '[a-f0-9]\{7,\}' | head -1 |
|
||||
xargs -I % sh -c 'git show --color=always % | less -R') << 'FZF-EOF'
|
||||
{}
|
||||
FZF-EOF"
|
||||
}
|
||||
Reference in New Issue
Block a user