#!/bin/sh . $HOME/.bin/_config # build list... build_list() { L=$( ssh $USER@$DOMAIN \ "find \"$LOCAL_PATH\" \ ! -path '*/hn/*' \ ! -path '*/git/*' \ ! -path '*/p/*' \ -type f \ \( -name '*.gph' \ -o -name '*.dcgi' \ -o -name '*.txt' \ -o -name '*.sh' \ \) \ | cut -b "$(( ${#LOCAL_PATH} + 2))- \ | sort -hr ) } build_list # edit loop while true; do S=$( printf '%s' "$L" | fzf --no-sort ) [ "$?" -eq "130" ] && exit # fzf return 130 on ctrl+c [ -z "$S" ] && continue A="$( printf '%s\n%s' "EDIT" "DELETE" | fzf --no-sort )" case $A in EDIT) vim "scp://$USER@$DOMAIN/$LOCAL_PATH/$S"; ;; DELETE) ssh $USER@$DOMAIN "rm $LOCAL_PATH/$S"; build_list; ;; esac done