about summary refs log tree commit diff
path: root/Completion/Builtins/_print
blob: 76b39f613360a1d561079cbedcd5dcf364e35a5f (plain) (blame)
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
#compdef print

local state expl line eflag pflag

# -e flag available only after -R 
eflag="${words[1,CURRENT-1][(r)-*R*]:+-e[enable escapes]}"

# -p flag only relevant if we have a coprocess
(:>&p) 2>/dev/null &&
  pflag='(-s -u -z)-p[print arguments to input of coprocess]'

_arguments -C -s -A "-*" -S \
  '-r[ignore escape conventions of echo]' \
  '(-r -b -m -s -l -N -o -O -i -c -u -p -z -D -P)-R[emulate BSD echo (no escapes, -n & -e flags only)]' \
  '-b[recognise bindkey escape sequences]' \
  '-m[remove arguments matching specified pattern]' \
  '(-u -p -z)-s[place results in the history list]' \
  '(-N -c)-n[do not add a newline to the result]' \
  '(-N -c)-l[print arguments separated by newlines]' \
  '(-n -l -c)-N[print arguments separated and terminated by nulls]' \
  '(-O)-o[sort arguments in ascending order]' \
  '(-o)-O[sort arguments in descending order]' \
  '-i[case-insensitive sorting]' \
  '(-n -l -N)-c[print arguments in columns]' \
  '(-s -p -z)-u+[specify file-descriptor to print arguments to]:file-descriptor:_file_descriptors' \
  '(-s -p -u)-z[push arguments onto editing buffer stack]' \
  '-D[substitute any arguments which are named directories using ~ notation]' \
  '-P[perform prompt expansion]' \
  $pflag $eflag '*:default:_default'