X-Git-Url: https://git.xandkar.net/?p=khome.git;a=blobdiff_plain;f=home%2Flib%2Flogin_functions.sh;fp=home%2Flib%2Flogin_functions.sh;h=4f62b82278a76168e66ae9ce33b0780011f8601f;hp=c393938ccdbf784c6077b294e453a71e6d517eb5;hb=ffdb69ae17ce6d8d15a6397e998f1b535cc48d84;hpb=e2c73814aaa3a4539e739c87f8b5f9fca8e7d5a4 diff --git a/home/lib/login_functions.sh b/home/lib/login_functions.sh index c393938..4f62b82 100644 --- a/home/lib/login_functions.sh +++ b/home/lib/login_functions.sh @@ -26,76 +26,6 @@ notify_done() { fi } -## p : string -> unit -p() { - local -r usage='Usage: p [FILE] NAME' - local name - local file - - case "$#" in - 0) - echo "$usage" >&2 - return 1;; - 1) - file=~/._p/p - name="$1";; - 2) - file="$1" - name="$2";; - *) - echo "$usage" >&2 - return 1;; - esac - - awk \ - -v _s="$name" \ - ' - BEGIN {_s = tolower(_s)} - - # TODO fzf/dmenu select instead of searching: - /^[a-zA-Z]/ && tolower($1) ~ _s && NF >= 2 { - n++ - s = $1 - p = $NF - if (NF == 2) { - e = "" - u = "" - } else if (NF == 3) { - e = $2 - u = "" - } else { - e = $2 - u = $3 - } # TODO What would NF > 4 mean? - - printf("%d [O] s:\"%s\", e:\"%s\", u:\"%s\"\n", n, s, e, u) > "/dev/stderr" - if (match(u, "@")) { - tmp = e - e = u - u = tmp - printf("%d [C] s:\"%s\", e:\"%s\", u:\"%s\"\n", n, s, e, u) > "/dev/stderr" - } - ps[n] = p - } - - END { - printf "%s", ps[n] # XXX Intentionally avoiding newline in the result. - if (n == 1) { - exit 0 - } else if (n == 0) { - printf "[ERROR] Found nothing.\n" > "/dev/stderr" - exit 1 - } else if (n > 1) { - # TODO fzf-select which of the records the user (ahem, me) wants. - printf "[WARNING] Found more than one record. Selecting the last one.\n" > "/dev/stderr" - exit 0 - } - } - ' \ - "$file" \ - | xsel -i -b -t 30000 -} - dl() { local -r timestamp="$(date --iso-8601=ns)" local -r dir="$HOME"/dl/adhoc/"$timestamp"