Como eu posso adicionar autocomplete para “gem which” com rbenv?

1

Estou usando rbenv no Mac OS X. Já tenho a funcionalidade de preenchimento automático para o comando gem :

$ gem 
build           environment     lock            query           stale
cert            fetch           mirror          rdoc            uninstall
check           generate_index  outdated        search          unpack
cleanup         help            owner           server          update
contents        install         pristine        sources         which
dependency      list            push            specification   yank

Mas geralmente uso gem which para obter a localização de uma gema instalada para procurar a origem. Algo como:

gem which sp[tab]
spork-1.0.0rc4        spork-rails-4.0.0     sprockets-2.10.1      sprockets-rails-2.0.1

Os diretórios de mapeamento não devem ser tão difíceis, mas acho que ter a funcionalidade de preenchimento automático existente pode complicar as coisas. Eu tentei escrever funções de conclusão de bash personalizadas antes, mas eu sempre fico realmente frustrado com isso. Este também terá que verificar a versão atual do ruby com algo como rbenv version antes de escolher o diretório para verificar.

  • É possível "aplicar" essa funcionalidade de "subcomando" com a conclusão do bash?

Eu recentemente aprendi sobre o Thor que parece facilitar bastante a construção de programas de linha de comando, mapeando argumentos para classes e métodos (apenas um problema tangencial exemplo não é uma solução para isso), mas

  • Existem bons recursos ou estruturas para criar funções de conclusão de bash personalizadas?

... ou, se não houver tal framework, como posso configurar a função de conclusão do bash como um script para que eu possa executá-lo e gerar os resultados? (Talvez usando algo como inotifywait para executar o script quando ele é alterado, passando a entrada como "sp" e usando o console para depurar a saída até que funcione corretamente?) Esperando que haja uma maneira mais fácil de fazê-lo porque tentar escrever a conclusão do bash é provavelmente uma das coisas mais agravantes em que trabalhei.

    
por cwd 15.02.2014 / 23:43

1 resposta

0

Não conheço nenhum framework ou ferramenta que possa ajudar a fazer isso. Sobre a melhor coisa que você vai encontrar é a miríade de exemplos que estão presentes no seu sistema, juntamente com vários tutoriais na internet, como este intitulado: Escrevendo sua própria Função de Conclusão do Bash .

Os documentos oficiais provavelmente devem ser tudo o que você precisa.

    
por 16.02.2014 / 03:08