mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-10-31 06:00:54 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			28 lines
		
	
	
	
		
			811 B
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
	
		
			811 B
		
	
	
	
		
			Text
		
	
	
	
	
	
| #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=$compstate[nmatches] ret=1
 | |
| 
 | |
| _path_files "$@" && ret=0
 | |
| 
 | |
| if [[ $# -ne 0 && compstate[nmatches] -eq 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 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[@]" && ret=0
 | |
| fi
 | |
| 
 | |
| return ret
 |