Como posso fazer o Bash mostrar um menu suspenso estilo da Web ao digitar o argumento em um comando personalizado? (Fazer funcionar com comandos embutidos ou Unix padrão é secundário.)
As partes cruciais do recurso são:
Veja um exemplo com um comando "dicionário" fictício:
$ dict a
aardvark
abnormal
abacab
Digite r
:
$ dict ar
arithmetic
arthritis
aruba
Pressione a seta para baixo (realce ANSI mostrado em maiúsculas aqui):
$ dict ar
ARITHMETIC
arthritis
aruba
Pressione Enter para selecionar (faz a escolha e limpa depois de si):
$ dict arithmetic
Se não houver suporte integrado ou nenhum pacote que faça isso, como seria possível implementá-lo por conta própria? (Eu acho que sei ANSI suficiente para programar o dropdown real, mas como eu faria o meu script "chutar" na hora certa, ou seja, ao digitar o primeiro a
)?
PS! Eu obviamente sei que o Bash tem conclusão de tabulação que imprime possíveis escolhas, mas não oferece exibição durante a digitação e opções de cursores, que é o que eu estou procurando.
PPS! Não sei se o menu suspenso funcionaria melhor apontando para cima, pois o cursor pode estar na linha inferior do terminal e depois ter que rolar para cima para caber no menu suspenso.
Tags bash autocomplete