/usr/share/zsh/site-functions/_draai is in draai 20131212-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | #compdef draai
# This file is maintained at http://git.mdcc.cx/draai
# Heavily based upon /usr/share/zsh-beta/4.3.2-dev-1/functions/Completion/Unix/_mpc
# See Chapter 6: Completion in "A User's Guide to the Z-Shell" by Peter Stephenson
# at http://zsh.dotsrc.org/Guide/zshguide06.html#l144
# Copyright: © 1992-2000 Paul Falstad, Richard Coleman, Zoltán Hidvégi,
# Andrew Main, Peter Stephenson, Sven Wischnowsky, and others.
#
# Permission is hereby granted, without written agreement and without
# licence or royalty fees, to use, copy, modify, and distribute this
# software and to distribute modified versions of this software for any
# purpose, provided that the above copyright notice and the following
# two paragraphs appear in all copies of this software.
# .
# In no event shall the Zsh Development Group be liable to any party for
# direct, indirect, special, incidental, or consequential damages arising out
# of the use of this software and its documentation, even if and the Zsh
# Development Group have been advised of the possibility of such damage.
# .
# The Zsh Development Group specifically disclaim any warranties, including,
# but not limited to, the implied warranties of merchantability and fitness
# for a particular purpose. The software provided hereunder is on an "as is"
# basis, and the Zsh Development Group have no obligation to provide
# maintenance, support, updates, enhancements, or modifications.
# To be used by zsh when completing from draai<tab>
_draai_command() {
local draai_cmds
draai_cmds=(
crescendo:"Play louder. "
delete:"Delete track(s) from current playlist. Last arguments should be _positions_ of tracks to be removed, not filename. If no position is given, deletes upcoming track from playlist. "
diminuendo:"Play softer. "
draai:"Play music: the files given as args and playlists passed via --playlist. "
fastforward:"Seek forward in current track. "
guestlist:"Reschedule listed tracknumbers as upcoming tracks. Last arguments should be the positions of tracks to be put on the guestlist, not filenames. "
harder:"Play louder. "
init:"Start a bunch of X terminals setting up some draai jobs: tail, logtail, watch, syslog, ... "
insert:"Add file(s) (given either as args or on stdin) to playlist and schedule it as upcoming track. You probably want to have 'draai insert' read from a pipe fed by 'draai search'. "
list:"List current playlist. "
logtail:"Run tail(1) on system log file. "
move:"Move tracknumber to tracknumber given as last argument. "
osjittisstil:"Run this if unwanted silence pops up during a playing session (for now, it runs draai --sloppy skip). "
peek:"Show status of current song, and show upcoming $peek FIXME tracks. "
quit:"quit "
search:"Search for substrings in all song tag types (artist, title, comment, filename, ...). Similar to 'mpc search any <query>'. You'll typically want to pipe this commands output to e.g. 'draai insert'. "
skip:"Skip this track, start playing the next one now. "
syslog:"Send raw information from tail to syslog. You likely want to run "draai syslog" in the background. "
tail:"Print information about track when it starts playing, similar to tail -f on a logfile. "
unguestlist:"Reschedule listed tracknumbers to end of playlist. "
watch:"Run watch(1) on "draai peek". "
zachter:"Play softer. "
)
# draai:"play music (now or later)"
# init:"start a bunch of x terminals setting up some draai jobs"
# list:"list current playlist"
# guestlist:"reschedule listed tracknumbers as upcoming tracks"
# unguestlist:"reschedule listed tracknumbers to end of playlist"
# delete:"delete track(s) from current playlist"
# fastforward:"seek forward in current track"
# skip:"skip this track, start playing the next one now"
# osjittisstil:"run this if unwanted silence pops up during a playing session"
# resume:"start playing: abort pause"
# unpause:"start playing: abort pause"
# pause:"pause playing"
# quit:"quit (now or later)"
# tail:"print information about track when it starts playing, similar to tail -f on a logfile (see init)"
# logtail:"run tail on syslog (see init)"
# peek:"show status of current song, and upcoming tracks (see init)"
# syslog:"sent raw information from tail to syslog (see init)"
# )
if (( CURRENT == 1 )); then
_describe -t command "draai commands" draai_cmds
else
local curcontext="$curcontext"
fi
local cmd=$words[1]
local curcontext="${curcontext%:*}:draai-${cmd}"
_call_function ret _draai_$cmd
}
# based upon _mpc_helper_files
_draai_draai() {
local -U list expl
if [[ $words[CURRENT] != */* ]]; then
list=( ${${(f)"$(mpc listall)"}%%/*})
_wanted files expl file compadd -qS/ -a list
else
list=(${(f)"$(mpc tab $words[CURRENT])"})
_wanted files expl file _multi_parts / list
fi
}
# based upon _mpc_helper_playlists
_draai_playlist() {
local list expl
list=($(mpc lsplaylists))
_wanted list expl playlist compadd $expl -a list
}
_arguments \
'--debug[Be very verbose. ]' \
'--noshuffle[Do not shuffle tracks and leave random mode untouched (default is: do shuffle and disable random mode). See also the script dr_unsort. ]' \
'--playlist[Playlist file; option can be supplied more than once. To be used with command "draai". ]' \
'--raw[Print raw stuff, suitable for postprocessing (if combined with tail, peek or list). ]' \
'--sloppy[Do not try hard to make everything sound smooth. If combined with skip: risk a squeak on old hardware. ]' \
'--time[If combined with commands quit or draai: time at which to quit or start. ]' \
'*::draai command:_draai_command'
# '--version[show program version number and exit]' \
# '--help[show help message and exit]' \
# '--debug[be very verbose]' \
# '--noshuffle[do not shuffle tracks]' \
# '--playlist[playlist file]:playlist:_draai_playlist' \
# '--time[if combined with quit or draai: time at which to quit or start]:time' \
# '--raw[if combined with tail: print raw stuff]' \
# '--license[show license and exit]' \
# '*::draai command:_draai_command'
|