#compdef raggle # Raggle v0.4.0 local curcontext="$curcontext" state line typeset -A opt_args _arguments -C -s \ '(-a --add)'{-a,--add}"[add a new feed (requires '--url')]" \ '(-A --ascii)'{-A,--ascii}'[use ASCII characters instead of ANSI for window borders]' \ '(-c --config)'{-c,--config}'[specify an alternate config file]:config file:_files -g "*.rb(-.)"' \ '--default-config[print out the default configuration of Raggle in a format suitable for your config.rb file]' \ '(-d --delete)'{-d,--delete}'[delete an existing feed]:feed ID:->feed' \ '--diag[run raggle in diagnostics/debug mode]' \ '(-e --edit)'{-e,--edit}'[edit an existing feed]:feed ID:->feed' \ '(--import-opml)--export-opml[export feeds to OPML]:OPML file:_files -g "*.opml(-.)"' \ '(-f --find)'{-f,--find}'[find feeds containing a string, via Syndic8]:search string:' \ "--force[force behavior Raggle won't normally allow]" \ '(-)'{-h,--help,--usage}'[display help information]' \ '(--export-opml)--import-opml[import feeds from an OPML file]:OPML file:_files -g "*.opml(-.)"' \ '(-i --invalidate)'{-i,--invalidate}'[invalidate a feed (force an update)]:feed ID:->feed' \ '(-l --list)'{-l,--list}"[list existing feeds (use '--verbose' to show URLs as well)]" \ "--lock-title[lock Title attribute of feed (for '--add' and '--edit')]" \ "--max[set the maximum number of items for a feed (for '--add' and '--edit')]" \ '(-p --priority)'{-p,--priority}"[feed sorting priority: 0 by default, higher values will sort feeds to the top (for '--add' and '--edit')]:sorting priority:" \ '--purge[purge deleted feeds from feed cache]' \ '(-r --refresh)'{-r,--refresh}"[refresh attribute of feed (for '--add' and '--edit')]:refresh time (minutes):" \ "--save-items[save old items of feed (for '--add' and '--edit')]" \ '--server[run Raggle in HTTP server mode]:port:_ports' \ '(--sort --sort-feeds)'{--sort,--sort-feeds}'[sort feeds by priority then title (case-insensitive)]' \ '(-t --title)'{-t,--title}"[title attribute of feed (for '--add' and '--edit')]:feed title:" \ "--unlock-title[unlock Title attribute of feed (for '--add' and '--edit')]" \ "--unsave-items[don't save old items of feed (for '--add' and '--edit')]" \ "--update[update feed (or all feeds, if unspecified)]::feed ID:->feed" \ '(-u --url)'{-u,--url}"[URL attribute of feed (for '--add' and '--edit')]:URL:_urls" \ '--verbose[turn on verbose output]' \ '(-)'{-v,--version}'[display version information]' && return 0 if [[ "$state" = feed ]]; then local feeds feeds=( ${${(M)${${(f)"$(_call_program feeds $words[1] \ --list)"}/(#s)[[:blank:]]/}:#[0-9]##,*}/, /:} ) _describe -t feeds "RSS feed" feeds && return 0 fi return 1