diff options
Diffstat (limited to 'src/git-permalink.sh')
-rwxr-xr-x | src/git-permalink.sh | 45 |
1 files changed, 32 insertions, 13 deletions
diff --git a/src/git-permalink.sh b/src/git-permalink.sh index 3b9a466..e5fa27a 100755 --- a/src/git-permalink.sh +++ b/src/git-permalink.sh @@ -97,26 +97,39 @@ version() { } PRINTONLY=false -if [ "${1:-}" = '-p' ]; then - PRINTONLY=true - shift -fi -if [ -z "${1:-}" ]; then - printf '%s\n\n' "$MSG_MISSING_FILE" >&2 - usage >&2 - exit 2 -fi -FILE="$1" +while getopts 'phV' flag; do + case "$flag" in + p) + PRINTONLY=true + shift + ;; + h) + usage + help + exit + ;; + V) + version + exit + ;; + *) + ;; + esac +done # shellcheck disable=2068 for flag in $@; do case "$flag" in - -h|--help) + --) + shift + break + ;; + --help) usage help exit ;; - -V|--version) + --version) version exit ;; @@ -125,7 +138,13 @@ for flag in $@; do esac done -FILE="${1:-}" +if [ -z "${1:-}" ]; then + printf '%s\n\n' "$MSG_MISSING_FILE" >&2 + usage >&2 + exit 2 +fi + +FILE="$1" MYLINENO="${2:-}" COMMIT="$(git rev-parse HEAD)" ORIGIN="$(git config remote.origin.url)" |