diff --git a/jspass b/jspass index 40800ff..7fd54f4 100755 --- a/jspass +++ b/jspass @@ -37,14 +37,21 @@ Opts[tmp_dir]='/tmp' # Default flags Flags[clip]=0 Flags[edit]=0 +Flags[pwgen]=0 -Args "$@" -- error argv \ - -l,p,"Opts[pw_len]" \ - -u,p,"Opts[login]" \ - -s,p,"Opts[selection]" \ - -c,f,"Flags[clip]" \ - -e,f,"Flags[edit]" \ - || { System.die "$?" "$error"; } +# Handle arguments +Args error argv "$@" << 'end' + flags + -c Flags[clip] + -e Flags[edit] + -g Flags[pwgen] + + params + -l Opts[pw_len] + -u Opts[login] + -s Opts[selection] +end +(( $? )) && System.die "$?" "$error" set -- "${argv[@]}" @@ -64,7 +71,9 @@ case "${Opts[action]:-show}" in # Check if the damn thing already exists vault_exists "$vault" && System.die 1 "Vault '$vault' already exists" - new_pass=$(pwgen "${Opts[pw_len]}" 1) + (( "${Flags[pwgen]}" )) && { + new_pass=$(pwgen "${Opts[pw_len]}" 1) + } pass insert -m "$vault" < <( jshon -Q -n {} \