#!/bin/zsh

if ! /usr/bin/pgrep -q GoToFile; then
    /usr/bin/open -b com.soma-zone.GoToFile
    /bin/sleep 1
fi

path="."
query=""
for arg in "$@"; do
    if [[ "${arg:0:7}" = "--path=" ]]; then
        path=${arg#*=}
    elif [[ "${arg:0:8}" = "--query=" ]]; then
        query=${arg#*=}
    elif [[ "$arg" = "--help" ]]; then
        echo "$0: [--path=STRING] [--query=STRING]"
        exit 0;
    else
        path=$arg
    fi
done

path="$(cd "$(/usr/bin/dirname -- "$path")" >/dev/null || exit; pwd -P)/$(/usr/bin/basename -- "$path")"
path_enc=$(/usr/bin/perl -e "use URI; print URI->new(\"$path\");")

url="com.soma-zone.GoToFile://browse?path=$path_enc"
if [[ -n "$query" ]]; then
    query_enc=$(/usr/bin/perl -e "use URI; print URI->new(\"$query\");")
    url="$url&query=$query_enc"
fi

/usr/bin/open -u "$url"
