Com zsh como adicionar autocompletar para um script específico, com opções de autocompletion vindas de um arquivo?

2

Eu escrevi um pequeno script de shell que usa um único argumento de linha de comando.

Eu gostaria de ser capaz de autocompletar quando eu começar a escrever um argumento, as escolhas de autocompletion devem vir de um arquivo de texto específico.

Por exemplo, se meu arquivo de texto contiver

foo
foobar

se eu começar a escrever my-cli fo e pressionar TAB , eu gosto que o zsh mostre as opções foo e foobar .

Qualquer ponteiro para uma documentação ou tutorial relevante é bem-vindo.

    
por Anon343534 22.09.2017 / 09:47

1 resposta

0

Estou lutando com um problema semelhante, mas um pouco mais complicado. Com um arquivo de opções de preenchimento automático estático, o código a seguir funciona para mim:

#compdef test

_test_comp(){
 t=($(cat /tmp/file_with_opts))
 _wanted t expl "availavle options" compadd -a t
}

_arguments -C -S  \
 '*:test_autocomplete:_test_comp'

Desta forma, o script test selecionará opções de /tmp/file_with_opts

    
por 13.11.2018 / 17:27