mirror of
https://github.com/prdlk/dotfiles.git
synced 2026-11-02 19:32:43 +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
21 lines
917 B
Bash
Executable File
21 lines
917 B
Bash
Executable File
#!/bin/sh
|
|
# Pick a ghq repo or an Obsidian vault with fzf (tab toggles the list);
|
|
# prints the directory for the shell wrapper to cd into.
|
|
vaults="$HOME/Documents/Obsidian/Personal $HOME/Documents/Obsidian/Walletbase $HOME/Documents/Obsidian/Research"
|
|
|
|
# fzf runs bind actions with $SHELL -c; pin it to sh so the transform
|
|
# snippet below is interpreted consistently regardless of login shell.
|
|
selection=$(ghq list | SHELL=/bin/sh fzf --prompt="repo: " --tiebreak=end \
|
|
--bind "tab:transform:if [ \"\$FZF_PROMPT\" = 'repo: ' ]; then
|
|
echo \"change-prompt(vault: )+reload(printf '%s\\n' $vaults)\"
|
|
else
|
|
echo 'change-prompt(repo: )+reload(ghq list)'
|
|
fi") || exit 1
|
|
[ -n "$selection" ] || exit 1
|
|
|
|
# Vault entries are absolute paths; ghq entries are host/user/repo
|
|
case "$selection" in
|
|
/*) printf '%s\n' "$selection" ;;
|
|
*) printf '%s\n' "$(ghq root)/$selection" ;;
|
|
esac
|