From 5a57f0542a6a2716b9aec9e248f804d75f0c54a9 Mon Sep 17 00:00:00 2001 From: xeruf <27jf@pm.me> Date: Fri, 15 Dec 2023 14:50:11 +0300 Subject: [PATCH] fix: handle all CLI arguments --- instalee | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/instalee b/instalee index 29b6c57..b56e986 100755 --- a/instalee +++ b/instalee @@ -104,8 +104,8 @@ installpkg() { ## EXECUTION version=$(printf "$name r%s.%s%s" "$(git rev-list --count HEAD 2>/dev/null)" "$(git rev-parse --short HEAD 2>/dev/null)" "$(git diff-index HEAD | wc -l | sed 's|^[1-9]|-mod\0|')") -# TODO getopt -case "$1" in +while true +do case "$1" in (-V|--version|"") printf "$version\nTry '$0 --help' or 'man $name' for usage info\n" >&2 # TODO license https://www.gnu.org/prep/standards/html_node/_002d_002dversion.html#g_t_002d_002dversion @@ -122,8 +122,8 @@ case "$1" in action=$1 shift case "$action" in - (*=group) ${EDITOR:-vi} "$dir_home/groups/$1"; exit $?;; - (*=handler) + (*group) ${EDITOR:-vi} "$dir_home/groups/$1"; exit $?;; + (*handler) file="$dir_home/handlers/$1/install" if ! test -f "$file"; then mkdir -p "$(dirname "$file")" @@ -155,7 +155,9 @@ case "$1" in exit 0 fi ;; + (*) break;; esac +done installdefault() { local defaulthandler="$(head -1 "$handlersfile")"