Comment spécifier le délai d'expiration de la tabulation dans zsh?

8

La fonctionnalité d'achèvement de Zsh est excellente, sauf celle-ci. Lorsque j'essaie de terminer dans un dossier avec beaucoup de fichiers / dossier réseau, cela prend quelques minutes et affiche cette erreur.

example.com:~$ ls /path/to/some/bigFolder/[TAB]
zsh: do you wish to see all 620 possibilities (124 lines)?

Existe-t-il un moyen de spécifier un délai après lequel zsh ne devrait pas essayer de se terminer automatiquement? Je ne suis pas en mesure d'annuler également sa recherche.

balki
la source
1
+1 Grande question. Je serais curieux de savoir la même chose en bash.
rozcietrzewiacz

Réponses:

2

Ctrl-Cdevrait annuler l'achèvement. Si ce n'est pas le cas, il y a peu de chances que quelque chose d'autre le fasse.

Stéphane Chazelas
la source
-1

Vous pouvez écrire un complément personnalisé, implémentant un timer / timeout, à partir de la FAQ zsh, section 4
4.5: Comment démarrer avec la complétion programmable?

Paraphraser la FAQ

La principale ressource est la page de manuel de zshcompsys .
... ou copiez l'une des très nombreuses fonctions existantes.

bsd
la source
donc je devrais réécrire tout le système d'achèvement pour une fonction de délai d'attente? Quelqu'un l'a-t-il déjà fait?
balki
pas réécrire, personnaliser. Et, si vous ne trouvez pas "l'une des très nombreuses fonctions existantes"
bsd
combien de fichiers avez-vous dans un répertoire? Appelez-vous compinit dans votre fichier .zshrc?
bsd
Cette réponse serait utile si vous montriez comment personnaliser le système d'achèvement pour avoir un délai d'attente. Je ne vois pas de zstyleparamètre pertinent dans la zshcompsyspage de manuel. En fait, je doute que ce soit possible: je ne pense pas que vous puissiez interrompre zsh pendant qu'il développe un glob, ce qui bloque ici.
Gilles 'SO- arrête d'être méchant'