complétion avec bash

Le
Thomas
bonjour :-)


j'ai trouvé comment avoir la liste des possibilités quand il y en a
plusieurs pour la complétion
il suffit d'appuyer une 2eme fois sur tab, quand la 1ere fois ça a juste
fait bip pour indiquer un blocage :-)

par contre, il y a qqch qui m'ennuie un peu, c'est que ca considere les
fichiers .* comme les autres
y a t il moyen de parametrer ça en sorte que ça ne prenne pas en compte
les fichiers .* tant qu'on n'a pas tapé "." ?

--
j'agis contre l'assistanat, je travaille dans une SCOP !
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Rémi Moyen
Le #771497
bonjour :-)


j'ai trouvé comment avoir la liste des possibilités quand il y en a
plusieurs pour la complétion
il suffit d'appuyer une 2eme fois sur tab, quand la 1ere fois ça a juste
fait bip pour indiquer un blocage :-)

par contre, il y a qqch qui m'ennuie un peu, c'est que ca considere les
fichiers .* comme les autres
y a t il moyen de parametrer ça en sorte que ça ne prenne pas en compte
les fichiers .* tant qu'on n'a pas tapé "." ?


Pour autant que je me souvienne, la complétion sous bash est gérée avec
la commande built-in 'complete' (quelque part au fin fond du man de
bash, donc), dont la syntaxe varie entre l'incompréhensible et
l'imbittable...

En se battant avec ça et des expressions régulières aux petits oignons,
ça doit être faisable, mais je serais bien en peine de t'en dire plus.
--
Rémi Moyen

Thomas
Le #770648
In article Rémi Moyen
bonjour :-)


j'ai trouvé comment avoir la liste des possibilités quand il y en a
plusieurs pour la complétion
il suffit d'appuyer une 2eme fois sur tab, quand la 1ere fois ça a juste
fait bip pour indiquer un blocage :-)

par contre, il y a qqch qui m'ennuie un peu, c'est que ca considere les
fichiers .* comme les autres
y a t il moyen de parametrer ça en sorte que ça ne prenne pas en compte
les fichiers .* tant qu'on n'a pas tapé "." ?


Pour autant que je me souvienne, la complétion sous bash est gérée avec
la commande built-in 'complete' (quelque part au fin fond du man de
bash, donc), dont la syntaxe varie entre l'incompréhensible et
l'imbittable...

En se battant avec ça et des expressions régulières aux petits oignons,
ça doit être faisable, mais je serais bien en peine de t'en dire plus.



tDeContes:~ thomas$ help complete
complete: complete [-abcdefgjksuv] [-pr] [-o option] [-A action] [-G
globpat] [-W wordlist] [-P prefix] [-S suffix] [-X filterpat] [-F
function] [-C command] [name ...]
For each NAME, specify how arguments are to be completed.
If the -p option is supplied, or if no options are supplied, existing
completion specifications are printed in a way that allows them to be
reused as input. The -r option removes a completion specification
for
each NAME, or, if no NAMEs are supplied, all completion
specifications.


ça nous explique -p et -r, et rien d'autre ...

si qq veut bien m'aider ... :-)

--
j'agis contre l'assistanat, je travaille dans une SCOP !


Rémi Moyen
Le #773184

j'ai trouvé comment avoir la liste des possibilités quand il y en a
plusieurs pour la complétion
il suffit d'appuyer une 2eme fois sur tab, quand la 1ere fois ça a juste
fait bip pour indiquer un blocage :-)

par contre, il y a qqch qui m'ennuie un peu, c'est que ca considere les
fichiers .* comme les autres
y a t il moyen de parametrer ça en sorte que ça ne prenne pas en compte
les fichiers .* tant qu'on n'a pas tapé "." ?


Pour autant que je me souvienne, la complétion sous bash est gérée avec
la commande built-in 'complete' (quelque part au fin fond du man de
bash, donc), dont la syntaxe varie entre l'incompréhensible et
l'imbittable...

En se battant avec ça et des expressions régulières aux petits oignons,
ça doit être faisable, mais je serais bien en peine de t'en dire plus.



tDeContes:~ thomas$ help complete
[...]

ça nous explique -p et -r, et rien d'autre ...

si qq veut bien m'aider ... :-)


Chez moi, y'a pas mal de choses dans le man de bash, section
"Programmable Completion" et surtout "SHELL BUILTIN COMMANDS", rubrique
"complete".

Mais je ne serais pas celui qui t'aidera à comprendre et appliquer
toutes les subtilités, je m'y suis déjà cassé les dents... :-/

Tu peux éventuellement essayer de regarder le fichier de complétions
fourni avec ta distribution, il regorge probablement d'exemples plus
compliqués les uns que les autres (sur ma Debian, c'est
/etc/bash_completion et /etc/bash_completion.d/).

Par ailleurs, il parait que zsh a une complétion très puissante aussi et
d'autres avantages, ça serait peut-être une autre piste de solution
(mais je n'ai pas d'avis personnel sur la question, je n'ai jamais
utilisé et je ne fais que rapporter ce que j'ai lu ici).
--
Rémi Moyen



Publicité
Poster une réponse
Anonyme