diff options
author | Tanaka Akira <akr@users.sourceforge.net> | 1999-04-15 18:17:36 +0000 |
---|---|---|
committer | Tanaka Akira <akr@users.sourceforge.net> | 1999-04-15 18:17:36 +0000 |
commit | 904b939cbd81a542303da2c58288b95b153106f5 (patch) | |
tree | 84b3751ed1deacc51eb186023101360ae92ef221 /Completion/Core/_files | |
parent | b4a5b9db8b528f9c9b6a9cbb00db381c95659380 (diff) | |
download | zsh-904b939cbd81a542303da2c58288b95b153106f5.tar.gz zsh-904b939cbd81a542303da2c58288b95b153106f5.tar.xz zsh-904b939cbd81a542303da2c58288b95b153106f5.zip |
zsh-3.1.5-pws-10 zsh-3.1.5-pws-10
Diffstat (limited to 'Completion/Core/_files')
-rw-r--r-- | Completion/Core/_files | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/Completion/Core/_files b/Completion/Core/_files new file mode 100644 index 000000000..d2cce35e7 --- /dev/null +++ b/Completion/Core/_files @@ -0,0 +1,26 @@ +#autoload + +# Utility function for completing files of a given type or any file. +# In many cases you will want to call this one instead of _path_files(). + +local nm=$NMATCHES + +_path_files "$@" + +if [[ $# -ne 0 && -nmatches nm ]]; then + local opt opts + + # We didn't get any matches for those types of files described by + # the `-g' or `-/' option. Now we try it again accepting all files. + # First we get those options that we have to use even if then. If + # we find out that the `-f' option was given, we already accepted + # all files and give up immediatly. + + opts=() + while getopts "P:S:W:F:J:V:X:f/g:" opt; do + [[ "$opt" = f ]] && return + [[ "$opt" = [PSWFJVX] ]] && opts=("$opts[@]" "-$opt" "$OPTARG") + done + + _path_files "$opts[@]" +fi |