Não consigo fazer com que esta resposta funcione no Bash 4.4.20 (shell padrão no Ubuntu 18.04):
$ complete -o nosort -W '--color=auto --color=always --color=never' mycommand
$ mycommand --<Tab>
--color=always --color=auto --color=never
Definir COMPREPLY
em uma função dá o mesmo resultado:
_mycommand() {
COMPREPLY=($(compgen -W '--color=auto --color=always --color=never' -- "${COMP_WORDS[1]}"))
}
complete -o nosort -F _mycommand mycommand
man bash
menciona a nosort
opção, então ela deve ser suportada. O que da?
Parece que isso é causado por
completion-ignore-case
:Parece que a correção não está no Bash 4.4.20.