mirror of
https://github.com/prdlk/dotfiles.git
synced 2026-11-02 11:32:42 +00:00
- 16 cross-shell utilities converted to sh/bash chezmoi executables: ai c2p cp-appid extract_agents fab gdc gh-sonr-org-migrate ghg-clone ghn gho git-summary launch_omp_livediff_overlay lc-elir mdcp mdp pj (ghg-clone not named ghg: unrelated cargo binary owns that name) - cwd/history helpers stay per-shell: yy c cd clip-last + ghg/ghn/gho cd-wrappers in bash/functions/ and zsh/functions/, loaded by rc files - fish keeps only shell-state functions; converted ones now hit PATH - cp-appid ignore gating moved to .local/bin path - dot_agents/skills: 82 skills materialized from dotstate storage so dot_claude skill symlinks resolve on fresh bootstrap; dotstate profile/symlinks.json released .agents/skills .bashrc .zshrc
30 lines
998 B
Bash
30 lines
998 B
Bash
# Re-run last command, copy output to clipboard.
|
|
# History-offset handling: some line editors add the current command to
|
|
# history before execution, some after — detect instead of assuming.
|
|
clip-last() {
|
|
local last copy
|
|
last=$(fc -ln -1 -1 2>/dev/null)
|
|
last=${last#"${last%%[![:space:]]*}"} # trim leading whitespace
|
|
case $last in
|
|
clip-last*)
|
|
last=$(fc -ln -2 -2 2>/dev/null)
|
|
last=${last#"${last%%[![:space:]]*}"}
|
|
;;
|
|
esac
|
|
if [ -z "$last" ]; then
|
|
echo "clip-last: no previous command in history" >&2
|
|
return 1
|
|
fi
|
|
if command -v wl-copy >/dev/null 2>&1; then
|
|
copy=wl-copy
|
|
elif command -v pbcopy >/dev/null 2>&1; then
|
|
copy=pbcopy
|
|
else
|
|
echo "clip-last: no clipboard tool (wl-copy/pbcopy) found" >&2
|
|
return 1
|
|
fi
|
|
eval "$last" | "$copy"
|
|
command -v notify-send >/dev/null 2>&1 \
|
|
&& notify-send -a shell "Clipboard" "Command output copied to clipboard"
|
|
}
|