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?
Tags zsh autocomplete oh-my-zsh