Hey Lars, This is a super idea.
Two questions: On Tue, Jul 17, 2018 at 10:43 PM Lars Flitter <[email protected]> wrote: > To add extension commands to the list of commands append the > PASSWORD_STORE_EXTENSION_COMMANDS variable with a leading space: > PASSWORD_STORE_EXTENSION_COMMANDS=+" COMMAND" Why not make this a proper bash array? I'm potentially fine with the flat string, but I'd like to know your reasoning, or if an array was even considered in designing this feature. > > + local commands="init ls find grep show insert generate edit rm mv cp > git help version ${PASSWORD_STORE_EXTENSION_COMMANDS}" Don't use { and } in this context. > if [[ $COMP_CWORD -gt 1 ]]; then > + # To complete after an extension command define a function > like this: > + # __password_store_extension_complete_<COMMAND>() { > + # COMPREPLY+=($(compgen -W "-o --option" -- ${cur})) > + # _pass_complete_entries 1 > + # } > + if type __password_store_extension_complete_${COMP_WORDS[1]} > &> /dev/null ;then > + __password_store_extension_complete_${COMP_WORDS[1]} > + fi > + This should be checked _after_ the built-in commands. Also, in addition to the nice type check you have, you probably should also make sure this is part of PASSWORD_STORE_EXTENSION_COMMANDS. There's an easy way to do that via: [[ " $PASSWORD_STORE_EXTENSION_COMMANDS " == *" ${COMP_WORDS[1]} "* ]] Notice the use of spaces inside the quotes. If you clean this up and resubmit, I'll apply it. Regards, Jason _______________________________________________ Password-Store mailing list [email protected] https://lists.zx2c4.com/mailman/listinfo/password-store
