diff options
author | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2001-06-13 11:08:54 +0000 |
---|---|---|
committer | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2001-06-13 11:08:54 +0000 |
commit | d8144700423a6a9b390718fa51c4c93f01e4ae2f (patch) | |
tree | cc81d55f75a961c815c8a3a882db118b1a0183b6 /Completion/Unix/Type | |
parent | 874a12ae7aa286a7e09ea6e975cfa16e18103b97 (diff) | |
download | zsh-d8144700423a6a9b390718fa51c4c93f01e4ae2f.tar.gz zsh-d8144700423a6a9b390718fa51c4c93f01e4ae2f.tar.xz zsh-d8144700423a6a9b390718fa51c4c93f01e4ae2f.zip |
*** empty log message ***
Diffstat (limited to 'Completion/Unix/Type')
-rw-r--r-- | Completion/Unix/Type/_dir_list | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/Completion/Unix/Type/_dir_list b/Completion/Unix/Type/_dir_list new file mode 100644 index 000000000..ecd7c73da --- /dev/null +++ b/Completion/Unix/Type/_dir_list @@ -0,0 +1,27 @@ +#autoload + +# options: +# -s <sep> to specify the separator (default is a colon) +# -S to say that the separator should be added as a suffix (instead +# of the default slash) + +local sep=: dosuf suf + +while [[ "$1" = -(s*|S) ]]; do + case "$1" in + -s) sep="$2"; shift 2;; + -s*) sep="${1[3,-1]}"; shift;; + -S) dosuf=yes; shift;; + esac +done + +compset -P "*${sep}" +compset -S "${sep}*" || suf="$sep" + +if [[ -n "$dosuf" ]]; then + suf=(-S "$suf") +else + suf=() +fi + +_files "$suf[@]" -r "${sep}"' /\t\t\-' -/ "$@" |