2009-07-14 5 views
2

Désolé si mon fu google est trop faible, mais: Je veux simplement régler zsh afin que je puisse l'onglet completprogrammation achèvement onglet personnalisé pour zsh

someappname -s 

en utilisant le contenu (noms de fichiers) de ~/somedir

par exemple:

someapp -s f<tab> 

devrait défiler complétions basée sur les fichiers commençant par la lettre f dans ~/somedir. Donc, je pourrais finir avec une ligne de commande comme: "someapp -s foobar".

Répondre

2

Eh bien, je travaillais ceci: (source at github)

#compdef diakonos 

typeset -A opt_args 
local context state line 
local sessiondir 
sessiondir=${HOME}/.diakonos/sessions 

_arguments -n -s -S \ 
    "-s[specify session]:session:_files -W $sessiondir" \ 
    "*:file:_files" \ 
    && return 0 

return 1 

Je http://www.linux-mag.com/id/1106 référencé (enregistrement [gratuit] nécessaire à la lecture), et a obtenu l'aide de #zsh sur freenode.

+2

Vous pouvez également consulter le livre _Depuis Bash à Z Shell_ par Oliver Kiddle, Jerry Peek et Peter Stephenson. – Telemachus

5

Une approche plus simple:

compdef "_files -W ~/somedir -/" someappname 
+2

Si 'someappname' ne considère que les répertoires comme arguments, vous pouvez utiliser' _directories' à la place de '_files'. – Manki

Questions connexes