Conclusão automática inteligente no SVN (e outros programas!)

4

Quando eu digito "svn add caminho / para / algum arquivo ..." e aba para autocompletar, o sistema deve somente completar arquivos / diretórios não atualmente sob Controle SVN. Da mesma forma, quando eu comprometo, removo ou resolvo arquivos, o preenchimento de guias deve apenas preencher arquivos que sejam relevantes para o que estou fazendo (ou seja, modificados, atualmente em SVN ou em conflito). Isso é especialmente importante no SVN, onde cada nome de arquivo que você digita poderia se beneficiar do preenchimento automático inteligente, mas se aplica a outros programas.

Eu sei que o bash tem um arquivo bash_completion que pode ser usado para alterar programaticamente esse comportamento, mas eu não encontrei um exemplo decente de conclusão do SVN que realmente completa nomes de arquivos em vez de nomes de comandos SVN.

Minha pergunta é: alguém tem essa configuração? Alguém usa um shell ou ferramenta diferente que faz algo semelhante? Alguém já pensou nisso?

    
por Jimmy 23.04.2010 / 14:31

1 resposta

3

Dê uma olhada no script de conclusão encontrado aqui . Pode se aproximar fazendo o que você quer.

Um trecho parece promissor:

    # 'files' is set according to the current subcommand
    case $cmd in
        st*) # status completion must include all files
        files=$cur*
        ;;
        ci|commit|revert|di*) # anything edited
        files=$($status $cs| _svn_grcut '@([MADR!]*| M*|_M*)')
        ;;
        add) # unknown files
        files=$($status $cs| _svn_grcut '\?*')
        ;;
    
por 23.04.2010 / 15:12