From 145d0acc83f658e2ee7cd6a1abcdd08b8d40bda6 Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Sat, 15 Mar 2025 18:07:02 +0100 Subject: [PATCH] zedr --- users/pbsds/home/profiles/bashrc.d/zedr.sh | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 users/pbsds/home/profiles/bashrc.d/zedr.sh diff --git a/users/pbsds/home/profiles/bashrc.d/zedr.sh b/users/pbsds/home/profiles/bashrc.d/zedr.sh new file mode 100644 index 0000000..2abf4ad --- /dev/null +++ b/users/pbsds/home/profiles/bashrc.d/zedr.sh @@ -0,0 +1,28 @@ +zedr() ( + set -euo pipefail + + if printf '%s\n' "$(gum --version)" "gum version 0.15.1" | sort -C -V; then + maybe_spin="" # doesn't forward stdin + else + maybe_spin="gum spin --show-output --show-error --" + fi + # echo maybe_spin="$maybe_spin" + + host="$( + { + echo localhost + tailscale status --json | jq .Peer[].HostName -r + } | sort -u | fzf --multi --reverse --bind 'ctrl-a:toggle-all' --height=25 + )" + + if [[ -z "$host" ]]; then + exit + fi + + repos=$( + set +e +o pipefail + $maybe_spin xe -j"$(wc -l <<<"$host")" <<<"$host" -s 'timeout 7 ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null "$1" fd "^\.git$" repos/ --hidden --max-depth 5 -x printf '"'"'"zeditor ssh://%s/~/%s\n"'"'"' "$1" "{//}" 2>/dev/null' | sort + ) + + fzf <<<"$repos" --reverse --height=25 | bash +)