Alguns dos git
comandos têm muitas opções, e muitas vezes seria útil procurá-los pelo que eu precisava - eu estava apenas procurando a opção que controla a TABlargura git-gui
, mas existem cerca de 200 conclusões git config
. Uma solução óbvia é copiar todas as conclusões em um editor e pesquisá-las, mas prefiro fazer
[something] | grep tab
Não existam man
ou info
páginas para compgen
, help compgen
nem sequer explicar suas próprias opções, e não há auto-completar para compgen
(Como é que para a ironia?).
PS: compgen -A
não funciona.
PPS: Esta não é uma pergunta sobre git-gui
- A solução para a questão da largura da guia estava em outro lugar.
PPPS: não se trata de comandos de preenchimento automático, apenas de parâmetros de comando .
bash
autocomplete
compgen
l0b0
fonte
fonte
Respostas:
Você pode usar a seguinte função, que usa da mesma maneira que
sudo
a conclusão automática gera a lista de conclusão:onde
_command_offset
é definido na conclusão do bash (pacote).NOTA: a função precisa ser executada em um shell interativo (ou seja, se estiver em um arquivo, o arquivo precisa ser originado em vez de apenas ser executado.) Ou as regras / funções de conclusão necessárias não serão definidas.
PS.
compgen -A
funciona apenas para ações internas, o que você deveria ter tentado (mas também não funciona) écompgen -F
(ou realmentecompgen -o bashdefault -o default -o nospace -F _git
). A razão pela qual isso não funciona (e o documento para comandos internos do bash, incluindo compgen / complete), pode ser encontrado no bash (1) .fonte
local COMP_LINE="$*"
)