Como posso ativar a conclusão de tabulação para uma função / alias fish?

2

Provavelmente, é mais fácil usar apenas um exemplo aqui. Eu tenho uma função ss que apenas chama:

sudo systemctl $argv

A conclusão da tabulação funciona bem com o comando completo, mas não com a função ss . Ou seja,

ss start mys<tab>

tenta concluir a partir do sistema de arquivos em vez de usar a função de conclusão do comando systemctl .

    
por mkaito 29.11.2014 / 03:11

1 resposta

4

Depois de algumas pesquisas, parece que há dois recursos futuros em peixes, nenhum dos quais está na atual versão estável (2.1.1).

O primeiro é um argumento --wraps para function e complete , que ativa a herança de conclusão. function foo --wraps=barfoo todas as conclusões registradas para bar .

A segunda é abreviações através do comando abbr , que funciona muito como abreviaturas vim. abbr -a gco='git checkout' registra uma abreviação gco para expandir para git checkout . Digitar gco seguido de um espaço ou inserir expande a abreviação, o que naturalmente permite que qualquer conclusão registrada funcione.

Sem um desses recursos, a única coisa que resta a fazer é escrever um script de conclusão personalizado para sua função / alias, o que é bobo.

    
por 29.11.2014 / 17:47