Zsh ressources d'achèvement?
-
05-10-2019 - |
Question
fin zsh est une bête assez complexe, et je trouve l'homme pages très difficile à lire, surtout il manque (simple) des exemples de toutes les différentes formes optspec etc. Je n'ai pas réussi à trouver quoi que ce soit encore moi-même en ligne afin aide serait très appréciée.
À titre d'exemple, voici ce que je me bats avec pour le moment, et l'homme zshcompsys
page ne propose pas de précisions. J'ai
#compdef mtt2
_arguments -s : \
'-h' '--help' \
'-V' '--version' \
':foobars:(foo bar baz)'
Maintenant, quand je tape mtt2 <TAB>
je suis seulement offert foo
, bar
et baz
complétions, pourquoi ne pas -h
, --help
, etc, ainsi?
Quelle magie ai-je besoin de passer à _arguments
afin d'offrir toutes les possibilités?
La solution
Vous devez commencer l'argument que vous avez terminé avec le tiret (je veux dire cet argument que vous tapez test, pas l'argument _arguments
). Vous devriez regarder soit zstyle
, essayez de passer -h
et d'autres comme :foobars:
ou même utiliser directement compadd
. Exemples:
- Directement à l'aide compadd:
#compdef test A=( -h --help -V --version foo bar baz ) compadd -a A
- En passant
-h
et d'autres comme:foobars:
:#compdef test A=( -h --help -V --version ) _arguments \ - foobars \ ':foobars:(foo bar baz)' \ - options \ ":arguments:($A)"
ouA=( -h --help -V --version foo bar baz ) _arguments \ ":::($A)"
- contrôles
zstyle
style fin. Il est décrit dans la section «CONFIGURATION DU SYSTÈME ACHÈVEMENT deman zshcompsys
dans et a probablement une option qui permettra l'achèvement des commutateurs, mais je ne sais pas quels contrôles d'option.
Autres conseils
J'ai trouvé être une bonne introduction: http: //www.linux-mag. com / id / 1106 /
Il se cache derrière un mur connexion, mais vous ne l'avez pas précisé ...