Gosto muito de ivy
concluir e adoro que um simples (ivy-mode 1)
seja suficiente para chegar a ivy
quase todos os lugares onde o Emacs usa algum tipo de conclusão (que é realizada pela substituição completeing-read
, acredito). Mas isso não é configurado eshell
para ser usado ivy
na conclusão da guia. Gosto da eshell
lista de candidatos a conclusão, mas preferiria que a ivy
interface do usuário escolhesse entre eles. Existe alguma maneira de reutilizar o que eshell
faz para produzir candidatos à conclusão e entregá-lo à `` hera ''?
16
(add-hook 'eshell-mode-hook '(lambda ()
precisa ser contornado.pcomplete
a interface do usuário de conclusão padrão.Eu encontrei algo que parece funcionar bem em testes iniciais: essencialmente religar
<tab>
parapcomplete-std-complete
, mas desde que a função não é interativo, por algum motivo, você precisa envolvê-la:As
pcompete-std-complete
tentativas de usar as conclusões escritaspcomplete
com a interface de usuário de conclusão padrão, queivy
por padrão substituirá (com a atualização muito recente, elas aparecerão em uma boa sobreposição no ponto eshell do buffer próximo!).Os comentários no código-fonte de
pcomplete-completions-at-point
(quepcomplete-std-complete
dependem) mencionam alguns problemas em potencial:Acho que o primeiro não vai me afetar, pois acho que nunca pressiono,
<tab>
exceto no final da linha de entrada. Também não vi a segunda superfície do problema, até agora.EDIT: Para aqueles que não estão familiarizados com as peculiaridades do eshell (isso é um eufemismo), talvez eu deva adicionar isso para religar a chave do eshell como sugerido acima, você deve colocar isso no seu arquivo init:
Antes de você gritar comigo pelo desperdiçador antipadrão de atalhos de teclado, deixe-me explicar que a eshell declara seu mapa de teclas com
(defvar eshell-mode-map nil)
e depois faz(setq-local eshell-mode-map (sparse-keymap))
dentroeshell-mode
! (O código é útil;; FIXME: What the hell!?
.) Isso significa que você não pode religar as chaves até depois daeshell-mode
execução! Daí o gancho.fonte
helm
ainda não insinuamos aeshell
conclusão da guia, essa correção também se aplicahelm
.