autocomplete zsh personalizado

3

Gostaria de escrever uma conclusão zsh para o pytest.

Por onde eu começo? Eu estou usando oh-my-zsh.

em .zshrc:

fpath=($HOME/.mycompletions $fpath)
autoload -U compinit && compinit -u

em $ HOME / .mycompletions / _pytest:

#compdef pytest

_pytest()
{
    cur="${COMP_WORDS[COMP_CWORD]}"
    COMPREPLY=('pytestcomplete ${cur} 2>/dev/null')
}
complete -o nospace -F _pytest py.test

Está correto até agora?

Agora, eu "preciso" apenas escrever o script pytestcomplete .

Como devem ser os valores de retorno? Como posso entregar ao script quais partes foram concluídas?

Ou seja. se um usuário fizer py.test<TAB> , ele deverá preencher os arquivos primeiro. Se alguém fizer py.test tests/my.test.py<TAB> , deverá completar os nomes das classes. Se alguém fizer py.test tests/my.test.py::TestClass<TAB> , deverá completar os nomes dos métodos.

Para obter as informações do pytest, seria usado --collect-only . O único problema no momento é o vaivém entre o zsh e o script de conclusão.

E isso pode ser feito assim ou eu preciso escrever um plugin oh-my-zsh?

    
por mike 07.06.2016 / 12:06

0 respostas