diff --git a/plugins/getopts/getopts.fish b/plugins/getopts/getopts.fish index 00ea722eccfa5a3923badf7f493f059a00c8d316..c8021cec7ea3516772907103f243b565a12fcceb 100644 --- a/plugins/getopts/getopts.fish +++ b/plugins/getopts/getopts.fish @@ -122,7 +122,7 @@ # → http://pubs.opengroup.org/onlinepubs/7908799/xbd/utilconv.html # # AUTHORS -# Jorge Bucaran <@bucaran> +# Jorge Bucaran <jbucaran@me.com> #/ function getopts # Currently supported return success/error conditions. @@ -154,7 +154,7 @@ function getopts # Trim option string and collect required / optional options. if [ -n "$__getopts_optstr" ] - set __getopts_optstr (printf $__getopts_optstr | tr '[:space:]' \n) + set __getopts_optstr (printf $__getopts_optstr | tr -s '[:space:]' \n) # Setting the first token of the option string to `:` enables # strict mode. This causes getopts to abort the process if an diff --git a/plugins/getopts/getopts.spec.fish b/plugins/getopts/getopts.spec.fish index da6b82202b2421f333505293430a4859daffb321..7d42568aec874dc3bcb69d3145bdb6648d0b912f 100644 --- a/plugins/getopts/getopts.spec.fish +++ b/plugins/getopts/getopts.spec.fish @@ -137,6 +137,14 @@ function describe_getotps -d "fish getopts" expect (__getopts $options $args) --to-equal \ "xyz(777)Abc(100)longlong-req(32)long-opt(!!!)D O N E" end + + function it_handles_multiline_option_strings + set -l multiline_options "a:aaa + b:bbb + c:ccc + d:ddd" + expect (__getopts $multiline_options -dcbabcd) --to-equal "dcbabcd" + end end spec.run $argv