function pb --description 'Upload a paste to sr.ht' set -l cmd $argv[1] set -l args $argv[2..] switch $cmd case create set -l output (hut paste create $args) if not test $status = 0 echo 'Error creating paste!' false return end set -l url (string match -r 'https://paste\.sr\.ht/.+/[a-zA-Z0-9]+$' $output) echo $url | wl-copy echo "$url copied to clipboard." case copy set -l lines (string split \n (hut paste list) | string trim | string match -rv '^$') if test (count $lines) -le 1 echo 'No pastes found!' false return end for i in (seq 1 2 (count $lines)) set -l meta $lines[$i] set -l filename $lines[(math $i + 1)] set -l append "$filename: $meta" if not set -q list set --function list $append else set --function list $list $append end end printf '%s\n' $list set -l selection (echo $list | fzf) echo $selection case '*' echo 'Unhandled case!' # echo ">$cmd<" false return end end