zsh-workers
 help / color / mirror / code / Atom feed
79df2f981da565f0c24256ac7b83e93ebd34dbf1 blob 941 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
 
#compdef scselect

local ret=1 u l
local -a context line state state_descr tmp loc1 loc2
local -A opt_args

_arguments -s -S : \
  '-n[delay changing until next boot]' \
  '1: :->locations' \
&& ret=0

[[ $state == locations ]] && {
  # For some reason scselect expects location names to be encoded in Mac OS
  # Roman; in order to prevent completed arguments from breaking the tool, we'll
  # insert the UUID instead if the name would contain incompatible characters
  tmp=( ${(f)"$( command $service 2> /dev/null )"} )
  tmp=( ${tmp[2,-1]} )
  tmp=( ${tmp##[*[:space:]]##} )
  tmp=( ${tmp//:/\\:} )
  tmp=( ${tmp/[[:space:]]##\(/$'\0'} )
  tmp=( ${tmp%\)} )

  for u l in "${(@0)tmp}"; do
    loc1+=( "${l}:${u}" )
    if [[ $l == [[:ascii:]]## ]]; then
      loc2+=( $l )
    else
      loc2+=( $u )
    fi
  done

  if (( $#loc1 )); then
    _describe location loc1 loc2 && ret=0
  else
    _message location && ret=0
  fi
}

return ret
debug log:

solving 79df2f981 ...
found 79df2f981 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).