Ich bin ein Bash-User.
In Bash habe ich mein Problem bereits gelöst. Jetzt würde ich eine Lösung für Zsh auch benötigen.
Aber vorweg, hier der Code für Bash:
Code: Alles auswählen
completion_for_ry()
{
local cur prev all_programs
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
all_programs="
3ddesktop
3dpong
855resolution
zziplib
"
if [[ ${cur} == * ]] ; then
COMPREPLY=( $(compgen -W "${all_programs}" -- ${cur}) )
return 0
fi
}
complete -F completion_for_ry ry
Wenn ich "ry" eintippe, danach ein Leerzeichen und "3dp" eintippe und TAB drücke, dann erhalte ich folgendes Ergebnis:
"ry 3dpong"
Das ist nur ein Auszug im Skript. all_programs wird dynamisch generiert und hat etwa 3000 Einträge.
Ok, Dieses Tab Completion klappt in Bash wunderbar.
Wie kann ich das in Zsh auch erreichen?
Das keyword command sollte:
"ry"
sein. Die Argumente zu "ry" werden in all_programs aufgelistet.
Hat wer eine Ahnung wie man Tab Completion in Zsh erreichen kann?