mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-11-04 07:21:06 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			57 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
#compdef gs ghostscript
 | 
						|
 | 
						|
if compset -N --; then
 | 
						|
  if [[ CURRENT -eq 1 ]]; then
 | 
						|
    _pspdf
 | 
						|
  else
 | 
						|
    _message -e arguments 'userdict ARGUMENTS'
 | 
						|
    return 1
 | 
						|
  fi
 | 
						|
else
 | 
						|
  local curcontext="$curcontext" state line expl ret=1
 | 
						|
  typeset -A opt_args
 | 
						|
 | 
						|
  _x_arguments -C \
 | 
						|
    '-q[quiet startup]' \
 | 
						|
    '-g-[set device size]:device size (<width>x<height>):' \
 | 
						|
    '-r-[set resolution]:resolution (<val> or <x>x<y>):' \
 | 
						|
    '-I[add to library file search path]:directory:_dir_list' \
 | 
						|
    \*-{d,D}'-[define name with definition]:def:->dname' \
 | 
						|
    \*-{s,S}'-[define name with value]:def:->sname' \
 | 
						|
    '*:PostScript or PDF file:_pspdf' && ret=0
 | 
						|
 | 
						|
  case "$state" in
 | 
						|
  dname)
 | 
						|
    if [[ "$PREFIX" = *\=* ]]; then
 | 
						|
      _message -e definition-values 'systemdict definition value'
 | 
						|
    else
 | 
						|
      _wanted names expl 'systemdict definition name' \
 | 
						|
          compadd -M 'm:{a-z}={A-Z}' - \
 | 
						|
                  DISKFONTS NOCACHE NOBIND NODISPLAY NOPAUSE PLATFONTS SAFER \
 | 
						|
                  WRITESYSTEMDICT && ret=0
 | 
						|
    fi
 | 
						|
    ;;
 | 
						|
  sname)
 | 
						|
    if compset -P '*='; then
 | 
						|
      case "$IPREFIX" in
 | 
						|
      *DEVICE\=)
 | 
						|
        _wanted devices expl 'ghostscript device' \
 | 
						|
            compadd - "${(@)${=${$(_call_program devices gs -h)##* devices:}%%Search path:*}:#}" && ret=0
 | 
						|
        ;;
 | 
						|
      *OutputFile\=)
 | 
						|
        _description files expl 'output file'
 | 
						|
        _files "$expl[@]" && ret=0
 | 
						|
        ;;
 | 
						|
      *)
 | 
						|
        _message -e values 'systemdict value'
 | 
						|
        return 1
 | 
						|
      esac
 | 
						|
    else
 | 
						|
      _wanted names expl 'systemdict name' \
 | 
						|
          compadd -S\= -M 'm:{a-z}={A-Z}' - DEVICE OutputFile && ret=0
 | 
						|
    fi
 | 
						|
    ;;
 | 
						|
  esac
 | 
						|
 | 
						|
  return ret
 | 
						|
fi
 |