Eu tenho muitos programas que usam argumentos de nome de arquivo como um (ou mais) de
path/to/file
scp:path/to/file.ext
ark:/abs/path/to/file.ext
É possível fazer nomes de arquivos completos após algumas palavras-chave seguidas por dois pontos?
No bash, você pode fazer isso adicionando :
à variável COMP_WORDBREAKS.
Graças a Gilles, consigo trabalhar assim.
$ cat ~/.zshrc
...
function aftercolon() {
if compset -P 1 '*:'; then
_files "$expl[@]"
else
_files "$expl[@]"
fi
}
autoload -Uz compinit
compinit
compdef aftercolon hello olleh
Agora, nos comandos hello
e olleh
, conclusão após: funciona como esperado.
Acho que pode haver melhor forma desde:
Eu tenho uma cláusula odd if /, já que os comandos também pegam o nome do arquivo sem prefixo.
E como tenho muitos comandos para esse tipo de argumento, preciso adicionar nomes de todos os comandos. Eu quero aplicar isso a todos os comandos, se possível.
Tags zsh autocomplete