* Completions for GNUpod
@ 2008-05-20 14:02 Omari Norman
2008-05-20 15:38 ` Clint Adams
0 siblings, 1 reply; 2+ messages in thread
From: Omari Norman @ 2008-05-20 14:02 UTC (permalink / raw)
To: zsh-workers
[-- Attachment #1: Type: text/plain, Size: 490 bytes --]
Greetings,
I have written completions for the GNUpod suite of scripts. It's a
command-line utitlity to manipulate the contents of an iPod
(unfortunately one cannot simply copy files to the device because it
uses an opaque database.) See
http://www.gnu.org/software/gnupod/
I will probably write some more completions for some standard UNIX
utilities that currently do not have zsh completions so if there is a
preferred method to submit these files, please let me know. Thanks.
--Omari
[-- Attachment #2: _gnupod_addsong --]
[-- Type: text/plain, Size: 1400 bytes --]
#compdef gnupod_addsong gnupod_addsong.pl
# completions for gnupod_addsong.pl version 0.98.3
# The author names this file gnupod_addsong.pl; however Debian
# GNU/Linux strips off the .pl extension
local arguments
arguments=(
'(-h --help)'{-h,--help}'[display help and exit]'
--version'[output version information and exit]'
'(-m --mount)'{-m,--mount=}'[iPod mountpoint, default is $IPOD_MOUNTPOINT]:mount point:_files'
'(-r --restore)'{-r,--restore}'[Restore the iPod (create a new GNUtunesDB from scratch)]'
'(-d --duplicate)'{-d,--duplicate}'[Allow duplicate files]'
'(-p --playlist)'{-p,--playlist=}'[Add songs to this playlist]:playlist:'
--disable-v1'[Do not read ID3v1 Tags (MP3 Only)]'
--disable-v2'[Do not read ID3v2 Tags (MP3 Only)]'
--decode='[Convert FLAC Files to WAVE/MP3 or AAC on-the-fly]:encoding:(pcm mp3 aac aacbm)'
'(-e --reencode)'{-e,--reencode=}'[Reencode MP3/AAC files with new quality on-the-fly]:quality number (0 = Good 9 = Bad):(1 2 3 4 5 6 7 8 9)'
--set-artist='[Set Artist (Override ID3 Tag)]:artist:'
--set-album='[Set Album (Override ID3 Tag)]:album:'
--set-genre='[Set Genre (Override ID3 Tag)]:genre:'
--set-rating='[Set Rating]:rating:'
--set-playcount='[Set Playcount]:play count:'
--set-songnum='[Override Songnum/Tracknum field]:song number:'
'*:file to add:_files'
)
_arguments : $arguments
[-- Attachment #3: _gnupod_check --]
[-- Type: text/plain, Size: 498 bytes --]
#compdef gnupod_check gnupod_check.pl
# completions for gnupod_check.pl version 0.98.3
# The author names this file gnupod_check.pl; however Debian
# GNU/Linux strips off the .pl extension
local arguments
arguments=(
'(-h --help)'{-h,--help}'[display help and exit]'
--version'[output version information and exit]'
'(-m --mount)'{-m,--mount=}'[iPod mountpoint (default is $IPOD_MOUNTPOINT)]:mount point:_files'
--fixit'[try to fixup some errors]'
)
_arguments : $arguments
[-- Attachment #4: _gnupod_INIT --]
[-- Type: text/plain, Size: 635 bytes --]
#compdef gnupod_INIT gnupod_INIT.pl
# completions for gnupod_INIT.pl version 0.98.3
# The author names this file gnupod_INIT.pl; however Debian
# GNU/Linux strips off the .pl extension
local arguments
arguments=(
'(-h --help)'{-h,--help}'[display help and exit]'
--version'[output version information and exit]'
'(-m --mount)'{-m,--mount=}'[iPod mountpoint (default is $IPOD_MOUNTPOINT)]:mount point:_files'
'(-d --disable-convert)'{-d,--disable-convert}'[do not try to convert an existing iTunesDB]'
'(-f --france)'{-f,--france}'[limit volume to 100dB, works only on very old iPods]'
)
_arguments : $arguments
[-- Attachment #5: _gnupod_search --]
[-- Type: text/plain, Size: 1285 bytes --]
#compdef gnupod_search gnupod_search.pl
# completions for gnupod_search.pl version 0.98.3
# The author calls this script gnupod_search.pl; however Debian
# GNU/Linux strips off the .pl extension
local arguments
arguments=(
--help'[display help and exit]'
--version'[display version information and exit]'
'(-m --mount)'{-m,--mount=}'[iPod mountpoint (default is $IPOD_MOUNTPOINT)]:mount point:_files'
'(-t --title)'{-t,--title=}'[search songs by title]:title string:'
'(-a --artist)'{-a,--artist=}'[search songs by artist]:artist string:'
'(-l --album)'{-l,--album=}'[search songs by album]:album string:'
'(-i --id)'{-i,--id=}'[search songs by ID]:ID integer:'
'(-g --genre)'{-g,--genre=}'[search songs by genre]:genre string:'
'(-c --playcount)'{-c,--playcount=}'[search songs by playcount]:playcount:'
'(-R --podcastrss)'{-R,--podcastrss=}'[search songs by RSS]:RSS:'
'(-G --podcastguid)'{-G,--podcastguid=}'[search songs by GUID]:GUID:'
'(-o --match-once)'{-o,--match-once}'[search does not need to match multiple times]'
--delete'[remove matched songs from the iPod]'
--view='[modify output (default is ialt)]:output string:'
--rename='[rename key into value for matched songs]:KEY=VALUE:'
)
_arguments : $arguments
[-- Attachment #6: _mktunes --]
[-- Type: text/plain, Size: 669 bytes --]
#compdef mktunes mktunes.pl
# completions for mktunes.pl version 0.98.3
# The author names this file mktunes.pl; however Debian
# GNU/Linux strips off the .pl extension
local arguments
arguments=(
'(-h --help)'{-h,--help}'[display help and exit]'
--version'[output version information and exit]'
'(-m --mount)'{-m,--mount=}'[iPod mountpoint (default is $IPOD_MOUNTPOINT)]:mount point:_files'
'(-n --ipod-name)'{-n,--ipod-name=}'[iPod Name (For unlabeled iPods)]:name:'
'(-v --volume)'{-v,--volume=}'[adjust volume +-VALUE%]:volume percent:'
'(-e --energy)'{-e,--energy}'[save energy (disable scrolling title)]'
)
_arguments : $arguments
[-- Attachment #7: _tunes2pod --]
[-- Type: text/plain, Size: 483 bytes --]
#compdef tunes2pod tunes2pod.pl
# completions for tunes2pod.pl version 0.98.3
# The author names this file tunes2pod.pl; however Debian
# GNU/Linux strips off the .pl extension
local arguments
arguments=(
'(-h --help)'{-h,--help}'[display help and exit]'
--version'[output version information and exit]'
'(-m --mount)'{-m,--mount=}'[iPod mountpoint (default is $IPOD_MOUNTPOINT)]:mount point:_files'
--force'[disable sync checking]'
)
_arguments : $arguments
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Completions for GNUpod
2008-05-20 14:02 Completions for GNUpod Omari Norman
@ 2008-05-20 15:38 ` Clint Adams
0 siblings, 0 replies; 2+ messages in thread
From: Clint Adams @ 2008-05-20 15:38 UTC (permalink / raw)
To: zsh-workers
On Tue, May 20, 2008 at 10:02:41AM -0400, Omari Norman wrote:
> I have written completions for the GNUpod suite of scripts. It's a
> command-line utitlity to manipulate the contents of an iPod
> (unfortunately one cannot simply copy files to the device because it
> uses an opaque database.) See
Thanks. We can combine these into a single function:
Index: Completion/Unix/Command/_gnupod
===================================================================
RCS file: Completion/Unix/Command/_gnupod
diff -N Completion/Unix/Command/_gnupod
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ Completion/Unix/Command/_gnupod 20 May 2008 15:35:48 -0000
@@ -0,0 +1,91 @@
+#compdef gnupod_addsong gnupod_addsong.pl=gnupod_addsong gnupod_check gnupod_check.pl=gnupod_check gnupod_INIT gnupod_INIT.pl=gnupod_INIT gnupod_search gnupod_search.pl=gnupod_search mktunes mktunes.pl=mktunes tunes2pod tunes2pod.pl=tunes2pod
+
+local arguments
+
+case "$service" in
+ (gnupod_addsong)
+ arguments=(
+ '(-h --help)'{-h,--help}'[display help and exit]'
+ --version'[output version information and exit]'
+ '(-m --mount)'{-m,--mount=}'[iPod mountpoint, default is $IPOD_MOUNTPOINT]:mount point:_files'
+ '(-r --restore)'{-r,--restore}'[Restore the iPod (create a new GNUtunesDB from scratch)]'
+ '(-d --duplicate)'{-d,--duplicate}'[Allow duplicate files]'
+ '(-p --playlist)'{-p,--playlist=}'[Add songs to this playlist]:playlist:'
+ --disable-v1'[Do not read ID3v1 Tags (MP3 Only)]'
+ --disable-v2'[Do not read ID3v2 Tags (MP3 Only)]'
+ --decode='[Convert FLAC Files to WAVE/MP3 or AAC on-the-fly]:encoding:(pcm mp3 aac aacbm)'
+ '(-e --reencode)'{-e,--reencode=}'[Reencode MP3/AAC files with new quality on-the-fly]:quality number (0 = Good 9 = Bad):(1 2 3 4 5 6 7 8 9)'
+ --set-artist='[Set Artist (Override ID3 Tag)]:artist:'
+ --set-album='[Set Album (Override ID3 Tag)]:album:'
+ --set-genre='[Set Genre (Override ID3 Tag)]:genre:'
+ --set-rating='[Set Rating]:rating:'
+ --set-playcount='[Set Playcount]:play count:'
+ --set-songnum='[Override Songnum/Tracknum field]:song number:'
+ '*:file to add:_files'
+)
+ ;;
+
+ (gnupod_check)
+ arguments=(
+ '(-h --help)'{-h,--help}'[display help and exit]'
+ --version'[output version information and exit]'
+ '(-m --mount)'{-m,--mount=}'[iPod mountpoint (default is $IPOD_MOUNTPOINT)]:mount point:_files'
+ --fixit'[try to fixup some errors]'
+)
+ ;;
+
+ (gnupod_INIT)
+ arguments=(
+ '(-h --help)'{-h,--help}'[display help and exit]'
+ --version'[output version information and exit]'
+ '(-m --mount)'{-m,--mount=}'[iPod mountpoint (default is $IPOD_MOUNTPOINT)]:mount point:_files'
+ '(-d --disable-convert)'{-d,--disable-convert}'[do not try to convert an existing iTunesDB]'
+ '(-f --france)'{-f,--france}'[limit volume to 100dB, works only on very old iPods]'
+)
+ ;;
+
+ (gnupod_search)
+ arguments=(
+ --help'[display help and exit]'
+ --version'[display version information and exit]'
+ '(-m --mount)'{-m,--mount=}'[iPod mountpoint (default is $IPOD_MOUNTPOINT)]:mount point:_files'
+ '(-t --title)'{-t,--title=}'[search songs by title]:title string:'
+ '(-a --artist)'{-a,--artist=}'[search songs by artist]:artist string:'
+ '(-l --album)'{-l,--album=}'[search songs by album]:album string:'
+ '(-i --id)'{-i,--id=}'[search songs by ID]:ID integer:'
+ '(-g --genre)'{-g,--genre=}'[search songs by genre]:genre string:'
+ '(-c --playcount)'{-c,--playcount=}'[search songs by playcount]:playcount:'
+ '(-R --podcastrss)'{-R,--podcastrss=}'[search songs by RSS]:RSS:'
+ '(-G --podcastguid)'{-G,--podcastguid=}'[search songs by GUID]:GUID:'
+ '(-o --match-once)'{-o,--match-once}'[search does not need to match multiple times]'
+ --delete'[remove matched songs from the iPod]'
+ --view='[modify output (default is ialt)]:output string:'
+ --rename='[rename key into value for matched songs]:KEY=VALUE:'
+)
+ ;;
+
+ (mktunes)
+ arguments=(
+ '(-h --help)'{-h,--help}'[display help and exit]'
+ --version'[output version information and exit]'
+ '(-m --mount)'{-m,--mount=}'[iPod mountpoint (default is $IPOD_MOUNTPOINT)]:mount point:_files'
+ '(-n --ipod-name)'{-n,--ipod-name=}'[iPod Name (For unlabeled iPods)]:name:'
+ '(-v --volume)'{-v,--volume=}'[adjust volume +-VALUE%]:volume percent:'
+ '(-e --energy)'{-e,--energy}'[save energy (disable scrolling title)]'
+)
+ ;;
+
+ (tunes2pod)
+ arguments=(
+ '(-h --help)'{-h,--help}'[display help and exit]'
+ --version'[output version information and exit]'
+ '(-m --mount)'{-m,--mount=}'[iPod mountpoint (default is $IPOD_MOUNTPOINT)]:mount point:_files'
+ --force'[disable sync checking]'
+)
+ ;;
+ (*)
+ return 1
+ ;;
+esac
+
+_arguments : $arguments
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2008-05-20 15:38 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-05-20 14:02 Completions for GNUpod Omari Norman
2008-05-20 15:38 ` Clint Adams
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).