zsh-workers
 help / color / mirror / code / Atom feed
190ed5f7708b366e3fef63c79a60f18f73b8cdaa blob 2021 bytes (raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
 
#compdef iconv

local expl curcontext="$curcontext" state line ret=1
local LOCPATH="${LOCPATH:-/usr/lib/nls/loc}"
local -U codeset

if _pick_variant gnu='(GNU|EGLIBC)' unix --version; then

  local exargs="--list -? --help --usage --version -V"
  _arguments -C -S -s \
    "(-f --from-code $exargs)"{-f+,--from-code=}'[specify code set of input file]:code set:->codeset' \
    "(-t --to-code $exargs)"{-t+,--to-code=}'[specify code set for output]:code set:->codeset' \
    '(- 1 -l --list)'{-l,--list}'[list all character code sets]' \
    "($exargs)-c[omit invalid characters from output]" \
    "(-o --output $exargs)"{-o+,--output=}'[specify output file]:output file:_files' \
    "(-s --silent --verbose $exargs)"{-s,--silent}'[suppress warnings]' \
    "(-s --silent $exargs)--verbose[print progress information]" \
    '(-)'{-\?,--help}'[display help information]' \
    '(-)--usage[display a short usage message]' \
    '(-)'{-V,--version}'[print program version]' \
    '1:input file:_files' && return 0

  if [[ $state = codeset ]]; then
    if compset -P '*[^/]/'; then
      _wanted option expl option compadd "$@" /TRANSLIT && ret=0
    else
      _wanted codesets expl 'code set' compadd "$@" \
	  -M 'm:{a-zA-Z}={A-Za-z} r:|-=* r:|=*' \
	  ${${${(f)"$(_call_program codesets iconv --list)"}## #}%//} && ret=0
    fi
  fi

  return ret
else

  _arguments -C \
    '-f[specify code set of input file]:code set:->codeset' \
    '-t[specify code set for output]:code set:->codeset' \
    '1:file:_files' && return 0

  if [[ $state = codeset ]]; then
    if [[ -f /usr/lib/iconv/iconv_data ]]; then  # IRIX & Solaris
      codeset=( ${${(f)"$(</usr/lib/iconv/iconv_data)"}%%[[:blank:]]*} )
      codeset+=( /usr/lib/iconv/*%*.so(Ne.'reply=( ${${REPLY:t}%%%*} ${${REPLY:r}#*%} )'.) )
    elif [[ -d $LOCPATH/iconv ]]; then  # OSF
      codeset=( $LOCPATH/iconv/*(N:t) )
      codeset=( ${(j:_:s:_:)codeset} )
    else
      return 1
    fi

    _wanted codesets expl 'code set' compadd "$@" -a codeset
  fi

fi
debug log:

solving 190ed5f ...
found 190ed5f in https://git.vuxu.org/mirror/zsh/

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).