From bb77a3a0327e8389fe5a253b4e58071eec8ccb6c Mon Sep 17 00:00:00 2001 From: Shaun Reed Date: Sat, 14 Feb 2026 17:22:53 -0500 Subject: [PATCH] Add blerc. --- .blerc | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 .blerc diff --git a/.blerc b/.blerc new file mode 100644 index 0000000..01a27d6 --- /dev/null +++ b/.blerc @@ -0,0 +1,54 @@ +# Insert date-time string within a bash prompt using `\dt` +function blerc/define-sabbrev-dt { + ble-sabbrev -m '\dt'='ble/util/assign COMPREPLY "date +%F_%H-%M-%S"' +} +blehook/eval-after-load complete blerc/define-sabbrev-dt + +# Insert the time within a bash prompt using `\time` +function blerc/define-sabbrev-time { + ble-sabbrev -m '\time'='ble/util/assign COMPREPLY "date +%H-%M-%S"' +} +blehook/eval-after-load complete blerc/define-sabbrev-time + +# Insert the date within a bash prompt using `\date` +# https://github.com/akinomyoga/ble.sh/wiki/Recipes#r1-insert-date-through-sabbrev-date +function blerc/define-sabbrev-date { + ble-sabbrev -m '\date'='ble/util/assign COMPREPLY "date +%F"' +} +blehook/eval-after-load complete blerc/define-sabbrev-date + +# Interactive git branch selection with `\branch` +# https://github.com/akinomyoga/ble.sh/wiki/Recipes#r2-insert-git-branch-name-from-menu-through-sabbrev-branch +function blerc/define-sabbrev-branch { + function blerc/sabbrev-git-branch { + ble/util/assign-array COMPREPLY "git branch | sed 's/^\*\{0,1\}[[:blank:]]*//'" 2>/dev/null + } + ble-sabbrev -m '\branch'=blerc/sabbrev-git-branch +} +blehook/eval-after-load complete blerc/define-sabbrev-branch + +# Interactive git commit selection with `\commit` +# https://github.com/akinomyoga/ble.sh/wiki/Recipes#r3-insert-git-commit-id-from-menu-through-sabbrev-commit +function blerc/define-sabbrev-commit { + ble/color/defface blerc_git_commit_id fg=63 + ble/complete/action#inherit-from blerc_git_commit_id word + function ble/complete/action:blerc_git_commit_id/init-menu-item { + local ret + ble/color/face2g blerc_git_commit_id; g=$ret + } + function blerc/sabbrev-git-commit { + bleopt sabbrev_menu_style=desc-raw + bleopt sabbrev_menu_opts=enter_menu + + local format=$'%h \e[1;32m(%ar)\e[m %s - \e[4m%an\e[m\e[1;33m%d\e[m' + local arr; ble/util/assign-array arr 'git log --pretty=format:"$format"' &>/dev/null + local line hash subject + for line in "${arr[@]}"; do + builtin read hash subject <<< "$line" + ble/complete/cand/yield blerc_git_commit_id "$hash" "$subject" + done + } + ble-sabbrev -m '\commit'='blerc/sabbrev-git-commit' +} +blehook/eval-after-load complete blerc/define-sabbrev-commit +