Streamline further | Better Regex

This commit is contained in:
Emre AKYÜZ 2024-08-30 15:10:12 +03:00 committed by GitHub
parent 8deceedae9
commit 20c16d980f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,15 +1,17 @@
#!/bin/sh
#!/bin/dash
p() { printf "%s\n" "${@}"; }
d() { dmenu -l "15" -p "${1}"; }
f() {
r="$(locate -d "${XDG_CONFIG_HOME}/.p.db" -b -r ".*\.\(${1}\)$")"
o="$(printf "%s\n" "${r}" | sed 's|.*/||;s/\.[^.]*$//' | dmenu -i -p "${c}" -l "20")"
[ "${o}" ] && ${2} "$(printf "%s\n" "${r}" | grep -Fm "1" "/${o}.")"
r="$(locate -b -e --regex -d "${XDG_CONFIG_HOME}/.p.db" "(${1})$")"
o="$(p "${r}" | sed 's|.*/||; s/\.[^.]*$//' | d "${c}")"
[ "${o}" ] && ${2} "$(p "${r}" | grep -Fm "1" "/${o}.")"
}
c="$(printf "Video\nDoc\nImage\nOffice\nMusic\n" | dmenu -i -p "Categories" -l "5")"
c="$(p "Doc" "Image" "Music" "Office" "Video" | d "Categories")"
case "${c}" in
"Video") f "mp4\|mkv\|webm\|mov\|m4v\|wmv\|flv\|avi\|gif\|m2ts" "mpv" ;;
"Doc") f "pdf\|djvu\|ps\|epub\|mobi\|cb." "zathura --mode fullscreen" ;;
"Image") f "jpg\|jpeg\|webp\|png\|jxl" "nsxiv -bfq" ;;
"Office") f "xls\|xlsx\|ods\|doc\|docx\|ppt\|pptx\|odp" "libreoffice" ;;
"Music") f "mp3\|wav\|flac\|ogg\|m4a\|opus" "mpv --no-video" ;;
*) exit "0" ;;
"Doc") f "cb.|djvu|epup|mobi|p(df|s)" "zathura --mode fullscreen" ;;
"Image") f "j(pe?g|xl)|png|webp" "nsxiv -bfq" ;;
"Music") f "flac|m(p3|4a)|o(gg|pus)|wav" "mpv" ;;
"Office") f "(doc|ppt|xls)x?|od(p|s)" "libreoffice" ;;
"Video") f "avi|flv|gif|m(2ts|p4)|m(4|o|k)v|w(ebm|mv)" "mpv" ;;
*) exit ;;
esac