diff options
author | W. Trevor King <wking@tremily.us> | 2012-09-03 08:07:47 -0400 |
---|---|---|
committer | W. Trevor King <wking@tremily.us> | 2012-09-03 08:07:47 -0400 |
commit | 912713f143bc87eb98596ace3ba59e7986c59b26 (patch) | |
tree | c69dbc26a8099ed5d90323e6805cac66f43bdd2d /misc/completion/_be | |
parent | 33017db0322a1057a78c2cba49f3168c7895c9f7 (diff) | |
download | bugseverywhere-912713f143bc87eb98596ace3ba59e7986c59b26.tar.gz |
misc:completion: rename _be to be.zsh for consistency with be.bash.
Diffstat (limited to 'misc/completion/_be')
-rw-r--r-- | misc/completion/_be | 373 |
1 files changed, 0 insertions, 373 deletions
diff --git a/misc/completion/_be b/misc/completion/_be deleted file mode 100644 index 11a4ec3..0000000 --- a/misc/completion/_be +++ /dev/null @@ -1,373 +0,0 @@ -#compdef be -# -# This file should be copied into one of the directories in $fpath; -# e. g. /usr/local/share/zsh/site-functions/_be. -# From then on, every new shell should have the be completion. - -__be_commands () { - local -a commands - commands=( - assign:'Assign an individual or group to fix a bug' - comment:'Add a comment to a bug' - commit:'Commit the currently pending changes to the repository' - depend:'Add / remove bug dependencies' - diff:'Compare bug reports with older tree' - due:'Set bug due dates' - help:'Print help for given command or topic' - html:'Generate a static HTML dump of the current repository status' - import_xml:'Import comments and bugs from XML' - init:'Create an on-disk bug repository' - list:'List bugs' - merge:'Merge duplicate bugs' - new:'Create a new bug' - remove:'Remove (delete) a bug and its comments' - serve:'Serve bug directory storage over HTTP' - set:'Change bug directory settings' - severity:'Change a bug’s severity level' - show:'Show a particular bug, comment, or combination of both' - status:'Change a bug’s status level' - subscribe:'(Un)subscribe to change notification' - tag:'Tag a bug, or search bugs for tags' - target:'Assorted bug target manipulations and queries' - ) - - integer ret=1 - _describe -t commands 'command' commands && ret=0 - return ret -} - -_be-assign () { - local curcontext="$curcontext" state line expl ret=1 - assignees=("${(f)$(be assign --complete)}" "-" "none") - ids=("${(f)$(be assign - --complete)}") - _arguments -C \ - '(-h --help)'{-h,--help}'[Print a help message]' \ - '--complete[Print a list of possible completions]' \ - ':assignee:($assignees)' \ - ':ticket ID:($ids)' \ - && return 0 -} - -_be-comment () { - local curcontext="$curcontext" state line expl ret=1 - ids=("${(f)$(be comment --complete)}") - ids=(${ids[5,-1]}) - mimes=("text/plain" "text/xml" "image/jpeg" "image/png" "image/svg" "application/xhtml+xml" "application/pdf") - - _arguments -C \ - '(-h --help)'{-h,--help}'[Print a help message]' \ - '--complete[Print a list of possible completions]' \ - '(-a --author)'{-a,--author=-}'[Set the comment author]:author:($authors)' \ - '--alt-id[Set an alternate comment ID]:($ids)' \ - '(-c --content-type)'{-c,--content-type=-}'[Set comment content-type (e.g. text/plain)]:mime type:($mimes)' \ - ':ID:($ids)' \ - && return 0 -} - -_be-commit () { - local curcontext="$curcontext" state line expl ret=1 - - _arguments -C \ - '(-h --help)'{-h,--help}'[Print a help message]' \ - '--complete[Print a list of possible completions]' \ - '(-b --body)'{-b,--body=-}'[Provide the detailed body for the commit message]:body:((EDITOR\:"start editor" ""\:"write on command line"))' \ - '(-a --allow-empty)'{-a,--allow-empty}'[Allow empty commits]' \ - ':summary (‘-’ for stdin):' \ - && return 0 -} - -_be-depend () { - local curcontext="$curcontext" state line expl ret=1 - ids=("${(f)$(be depend --complete)}") - ids=(${ids[9,-1]}) - statusses=("${(f)$(be depend --status --complete)}") - sevties=("${(f)$(be depend --severity --complete)}") - - _arguments -C \ - '(-h --help)'{-h,--help}'[Print a help message]' \ - '--complete[Print a list of possible completions]' \ - '(-r --remove)'{-r,--remove}'[Remove dependency (instead of adding it)]' \ - '(-s --show-status)'{-s,--show-status}'[Show status of blocking bugs]' \ - '(-S --show-summary)'{-S,--show-summary}'[Show summary of blocking bugs]' \ - '--status=-[Only show bugs matching the STATUS specifier]:status:($statusses)' \ - '--severity=-[Only show bugs matching the SEVERITY specifier]:severity:($sevties)' \ - {-t,--tree-depth=-}'[Print dependency tree rooted at BUG-ID with DEPTH levels of both blockers and blockees]:depth:' \ - '--repair[Check for and repair one-way links]' \ - '*:ID:($ids)' \ - && return 0 -} - -_be-diff () { - # TODO subscription completion is too hard for me atm… - # one should probably use _combination… but how?? - # TODO maybe even a nice copletion for repo? but how?? - local curcontext="$curcontext" state line expl ret=1 - _arguments -C \ - '(-h --help)'{-h,--help}'[Print a help message]' \ - '--complete[Print a list of possible completions]' \ - '(-r --repo)'{-r,--repo=-}'[Compare with repository instead of the current repository]:repository:' \ - '(-s --subscription)'{-s,--subscribe=-}'[Only print changes matching subscription]:subscription:' \ - '(-u --uuids)'{-u,--uuids}'[Only print the changed bug UUIDS]' \ - && return 0 -} - -_be-due () { - # XXX This command is currently defunct in be itself -} - -_be-help () { - # XXX Needs no completion. What to do? -} - -_be-html () { - local curcontext="$curcontext" state line expl ret=1 - - _arguments -C \ - '(-h --help)'{-h,--help}'[Print a help message]' \ - '--complete[Print a list of possible completions]' \ - '(-o --output)'{-o,--output=-}'[Set the output path]' \ - '(-t --template)'{-t,--template=-}'[Use a different template]' \ - '--title=-[Set the bug repository title]' \ - '--index-header=-[Set the index page headers]' \ - '(-e --export-template)'{-e,--export-template}'[Export the default template and exit]' \ - '(-d --export-template-dir)'{-d,--export-template-dir=-}'[Set the directory for the template export]' \ - '(-l --min-id-length)'{-l,--min-id-length=-}'[Attempt to truncate bug and comment IDs to this length]' \ - '(-v -verbose)'{-v,--verbose}'[Verbose output]' \ - && return 0 -} - -_be-import_xml () { - local curcontext="$curcontext" state line expl ret=1 - ids=("${(f)$(be import_xml --comment-root --complete)}") - - _arguments -C \ - '(-h --help)'{-h,--help}'[Print a help message]' \ - '--complete[Print a list of possible completions]' \ - '(-i --ignore-missing-references)'{-i,--ignore-missing-references}'[Ignore unknown <in-reply-to> elements]' \ - '(-a --add-only)'{-a,--add-only}'[Cancel when bugs already exist]' \ - '(-p --preserve-uuids)'{-p,--preserve-uuids}'[Preserve UUIDs for trusted input (potential name collisions)]' \ - '(-c --comment-root)'{-c,--comment-root=-}'[Supply a bug or comment ID as the root of any standalon <comment> elements]:ID:($ids)' \ - && return 0 -} - -_be-init () { - local curcontext="$curcontext" state line expl ret=1 - - _arguments -C \ - '(-h --help)'{-h,--help}'[Print a help message]' \ - '--complete[Print a list of possible completions]' \ - && return 0 -} - -_be-list () { - local curcontext="$curcontext" state line expl ret=1 - statusses=("${(f)$(be list --status --complete)}") - sevties=("${(f)$(be list --severity --complete)}") - devers=("${(f)$(be list --assigned --complete)}") - crits=(assigned comments creator extra_strings full last_modified mine reporter severity status summary time uuid) - - _arguments -C \ - '(-h --help)'{-h,--help}'[Print a help message]' \ - '--complete[Print a list of possible completions]' \ - '--status=-[Only show bugs matching the status specifier]:status level:($statusses)' \ - '--severity=-[Only show bugs matching the severity specifier]:severity:($sevties)' \ - '--important[List bugs of “serious” or higher severity]' \ - '(-a --assigned)'{-a,--assigned=-}'[Only show bugs assigned to a certain developer]:developer:($devers)' \ - '(-m --mine)'{-m,--mine}'[Only show bugs assigned to you]' \ - '(-e --extra-strings)'{-e,--extra-strings=-}'[Only show bugs matching the argument, e.g. --extra-strings TAG:working,TAG:xml]' \ - '(-S --sort)'{-S,--sort=-}'[Adjust bug-sort criteria]:sort criteria:($crits)' \ - '(-t --tags)'{-t,--tags}'[Add TAGS: field to standard listing format]' \ - '(-i --ids)'{-i,--ids}'[Only print the bug IDs]' \ - '(-x --xml)'{-x,--xml}'[Dump output in XML format]' \ - && return 0 -} - -_be-merge () { - local curcontext="$curcontext" state line expl ret=1 - ids=("${(f)$(be merge --complete)}") - - _arguments -C \ - '(-h --help)'{-h,--help}'[Print a help message]' \ - '--complete[Print a list of possible completions]' \ - '1:merge into:($ids)' \ - '2:merge what:($ids)' \ - && return 0 -} - -_be-new () { - local curcontext="$curcontext" state line expl ret=1 - # These seemingly ugly lines split the output of the command in $(cmd) into an array. - sevties=("${(f)$(be new -s --complete)}") - statusses=("${(f)$(be new -t --complete)}") - devers=("${(f)$(be new -a --complete)}") - creators=("${(f)$(be new -c --complete)}") # XXX This currently seems to give *no* results - reporters=("${(f)$(be new -r --complete)}") # XXX This currently seems to give *no* results - - _arguments -C \ - '(-h --help)'{-h,--help}'[Print a help message]' \ - '--complete[Print a list of possible completions]' \ - '(-r --reporter)'{-r,--reporter=-}'[The user who reported the bug]:reporter:($reporters)' \ - '(-c --creator)'{-c,--creator=-}'[The user who created the bug]:creator:($creators)' \ - '(-a --assigned)'{-a,--assigned=-}'[The developer in charge of the bug]:developer:($devers)' \ - '(-t --status)'{-t,--status=-}'[The bug’s status level]:status level:($statusses)' \ - '(-s --severity)'{-s,--severity=-}'[The bug’s severity]:severity:($sevties)' \ - && return 0 -} - -_be-remove () { - local curcontext="$curcontext" state line expl ret=1 - ids=("${(f)$(be remove --complete)}") - ids=(${ids[2,-1]}) - - _arguments -C \ - '(-h --help)'{-h,--help}'[Print a help message]' \ - '--complete[Print a list of possible completions]' \ - '*:ID:($ids)' \ - && return 0 -} - -_be-serve () { - local curcontext="$curcontext" state line expl ret=1 - - _arguments -C \ - '(-h --help)'{-h,--help}'[Print a help message]' \ - '--complete[Print a list of possible completions]' \ - '--port=-[Bind server to port]' \ - '--host=-[Set host string]' \ - '(-r --read-only)'{-r,--read-only}'[Disable operations that require writing]' \ - '(-n --notify)'{-n,--notify=-}'[Send notification emails for changes]' \ - '(-s --ssl)'{-s,--ssl}'[Use CherryPy to serve HTTPS (HTTP over SSL/TLS)]' \ - '(-a --auth)'{-a,--auth=-}'[Require authentication]' \ - && return 0 -} - -_be-set () { - local curcontext="$curcontext" state line expl ret=1 - - #XXX This command is documented as not providing a good interface for some settings. Postponed! - _arguments -C \ - '(-h --help)'{-h,--help}'[Print a help message]' \ - '--complete[Print a list of possible completions]' \ - && return 0 -} - -_be-severity () { - local curcontext="$curcontext" state line expl ret=1 - sevties=("${(f)$(be severity --complete)}") - sevties=(${sevties[2,-1]}) - ids=("${(f)$(be severity ${sevties[1]} --complete)}") - - _arguments -C \ - '(-h --help)'{-h,--help}'[Print a help message]' \ - '--complete[Print a list of possible completions]' \ - '1:severity:($sevties)' \ - '2:ID:($ids)' \ - && return 0 -} - -_be-show () { - local curcontext="$curcontext" state line expl ret=1 - ids=("${(f)$(be show --complete)}") - - # TODO completion of comment IDs does *not* work! - - _arguments -C \ - '(-h --help)'{-h,--help}'[Print a help message]' \ - '--complete[Print a list of possible completions]' \ - '(-x --xml)'{-x,--xml}'[Dump as XML]' \ - '--only-raw-body[When printing only a single comment, just print it’s body]' \ - '(-c --no-comments)'{-c,--no-comments}'[Disable comment output]' \ - '*:ID:($ids[5,-1])' \ - && return 0 -} - -_be-status () { - local curcontext="$curcontext" state line expl ret=1 - statusses=("${(f)$(be status --complete)}") - statusses=(${statusses[2,-1]}) - ids=("${(f)$(be status ${statusses[1]} --complete)}") - - _arguments -C \ - '(-h --help)'{-h,--help}'[Print a help message]' \ - '--complete[Print a list of possible completions]' \ - '1:status:($statusses)' \ - '2:ID:($ids)' \ - && return 0 -} - -_be-subscribe () { - local curcontext="$curcontext" state line expl ret=1 - ids=("${(f)$(be subscribe --complete)}") - - _arguments -C \ - '(-h --help)'{-h,--help}'[Print a help message]' \ - '--complete[Print a list of possible completions]' \ - '(-u --unsubscribe)'{-u,--unsubscribe}'[Unsubscribe instead of subscribing]' \ - '(-a --list-all)'{-a,--list-all}'[List subscribers for all bugs]' \ - '(-l --list)'{-l,--list}'[List subscribers]' \ - '(-s --subscriber)'{-s,--subscriber=-}'[Email address of the subscriber]:email:' \ - '(-S --servers)'{-S,--servers=-}'[Servers from which you want notification]:server:' \ - '(-t --types)'{-t,--types=-}'[Types of changes you wish to be notified about]:types:' \ - '1:ID:($ids[8,-1])' \ - && return 0 -} - -_be-tag () { - local curcontext="$curcontext" state line expl ret=1 - ids=("${(f)$(be tag --complete)}") - # tags=("${(f)$(be tag ${ids[1]} --complete)}") # XXX This seems to always return *nothing* - tags=("${(f)$(be tag --list)}") - - _arguments -C \ - '(-h --help)'{-h,--help}'[Print a help message]' \ - '--complete[Print a list of possible completions]' \ - '(-r --remove)'{-r,--remove}'[Remove tag (instead of adding)]' \ - '(-l --list)'{-l,--list}'[List all available tags and exit]' \ - '1:ID:($ids[4,-1])' \ - '*:tag:($tags)' \ - && return 0 -} - -_be-target () { - local curcontext="$curcontext" state line expl ret=1 - ids=("${(f)$(be target --complete)}") - # awk splits the lines into tokens delimited by ': ', then prints only the second of each line. - targets=("${(f)$(be list --severity=target | awk -F ': ' -- '{print($2)}' )}") - - _arguments -C \ - '(-h --help)'{-h,--help}'[Print a help message]' \ - '--complete[Print a list of possible completions]' \ - '(-r --resolve *)'{-r,--resolve+}'[Print the UUID for the target bug whose summary matches TARGET]:target:($targets)' \ - '1:ID:($ids[3,-1])' \ - '2:target:($targets)' \ - && return 0 -} - -_be () { - local curcontext="$curcontext" state line expl ret=1 - - _arguments -C \ - '(-h --help)'{-h,--help}'[Print a help message]' \ - '--complete[Print a list of possible completions]' \ - '(-r --repo)'{-r,--repo=-}'[Select BE repository (see ‘be help repo’) rather than the current directory]:repository: ' \ - '--paginate[Pipe all output into less (or if set, $PAGER)]' \ - '--no-pager[Do not pipe output into a pager]' \ - '--version[Print version string]' \ - '--full-version[Print full version information]' \ - '1:command:->command' \ - '*::argument:->option-or-argument' && ret=0 - - case $state in - (command) - _wanted commands expl 'be command' __be_commands && ret=0 - #__be_commands - ;; - (option-or-argument) - becommand="${words[1]}" - curcontext="${curcontext%:*:*}:be${becommand}:" - _call_function ret _be-${becommand} - ;; - esac -} - -_be "$@" |