made the code a bit cleaner

This commit is contained in:
Jack L. Frost 2014-09-25 19:05:17 +04:00
parent 8ff05450d2
commit b2eb1eabf0
1 changed files with 16 additions and 10 deletions

26
sx-open
View File

@ -8,33 +8,39 @@ cfg_file="$HOME/.config/sx-open.cfg"
usage() { echo "usage function not implemented yet."; }
handle_uri() {
local target="$1"
for h in "${!uri_handlers[@]}"; do
grep -oE "${uri_handlers[${h}]}" <<< "$target" && {
"$h" "$target"
break
${h} "$target" &
return 0
}
done
return 1
}
handle_file() {
local target="$1"
[[ -f "$target" ]] || return 1
target_mimetype=$(file -ib "$target")
for m in "${!mime_handlers[@]}"; do
grep -oE "${mime_handlers[${m}]}" <<< "$target_mimetype" && {
"$m" "$target"
break
${m} "$target" &
return 0
}
done
return 1
}
main() {
target="$1"; [[ "$target" ]] || { usage; exit; }
[[ "$1" ]] || { usage; exit; }
if [[ -f "$target" ]]; then
handle_file
else
handle_uri
fi
handle_file "$1" || handle_uri "$1"
}
main "$@"