#207: remove compdefs without a license header
This commit is contained in:
parent
3d6fb8c708
commit
0713143ec8
139
src/_celery
139
src/_celery
|
@ -1,139 +0,0 @@
|
|||
#compdef celery
|
||||
# ------------------------------------------------------------------------------
|
||||
# Description
|
||||
# -----------
|
||||
#
|
||||
# Completion script for celery (https://github.com/celery/celery).
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
# Authors
|
||||
# -------
|
||||
#
|
||||
# * Dong weiming (https://github.com/dongweiming)
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
_celery () {
|
||||
local -a _1st_arguments ifargs dopts controlargs
|
||||
|
||||
typeset -A opt_args
|
||||
|
||||
_1st_arguments=('worker' 'events' 'beat' 'shell' 'multi' 'amqp' 'status' 'inspect' \
|
||||
'control' 'purge' 'list' 'migrate' 'call' 'result' 'report')
|
||||
ifargs=('--app=' '--broker=' '--loader=' '--config=' '--version')
|
||||
dopts=('--detach' '--umask=' '--gid=' '--uid=' '--pidfile=' '--logfile=' '--loglevel=')
|
||||
controlargs=('--timeout' '--destination')
|
||||
_arguments \
|
||||
'(-A --app=)'{-A,--app}'[app instance to use (e.g. module.attr_name):APP]' \
|
||||
'(-b --broker=)'{-b,--broker}'[url to broker. default is "amqp://guest@localhost//":BROKER]' \
|
||||
'(--loader)--loader[name of custom loader class to use.:LOADER]' \
|
||||
'(--config)--config[Name of the configuration module:CONFIG]' \
|
||||
'(--workdir)--workdir[Optional directory to change to after detaching.:WORKING_DIRECTORY]' \
|
||||
'(-q --quiet)'{-q,--quiet}'[Don"t show as much output.]' \
|
||||
'(-C --no-color)'{-C,--no-color}'[Don"t display colors.]' \
|
||||
'(--version)--version[show program"s version number and exit]' \
|
||||
'(- : *)'{-h,--help}'[show this help message and exit]' \
|
||||
'*:: :->subcmds' && return 0
|
||||
|
||||
if (( CURRENT == 1 )); then
|
||||
_describe -t commands "celery subcommand" _1st_arguments
|
||||
return
|
||||
fi
|
||||
|
||||
case "$words[1]" in
|
||||
worker)
|
||||
_arguments \
|
||||
'(-C --concurrency=)'{-C,--concurrency=}'[Number of child processes processing the queue. The default is the number of CPUs.]' \
|
||||
'(--pool)--pool=:::(processes eventlet gevent threads solo)' \
|
||||
'(--purge --discard)'{--discard,--purge}'[Purges all waiting tasks before the daemon is started.]' \
|
||||
'(-f --logfile=)'{-f,--logfile=}'[Path to log file. If no logfile is specified, stderr is used.]' \
|
||||
'(--loglevel=)--loglevel=:::(critical error warning info debug)' \
|
||||
'(-N --hostname=)'{-N,--hostname=}'[Set custom hostname, e.g. "foo.example.com".]' \
|
||||
'(-B --beat)'{-B,--beat}'[Also run the celerybeat periodic task scheduler.]' \
|
||||
'(-s --schedule=)'{-s,--schedule=}'[Path to the schedule database if running with the -B option. Defaults to celerybeat-schedule.]' \
|
||||
'(-S --statedb=)'{-S,--statedb=}'[Path to the state database.Default: None]' \
|
||||
'(-E --events)'{-E,--events}'[Send events that can be captured by monitors like celeryev, celerymon, and others.]' \
|
||||
'(--time-limit=)--time-limit=[nables a hard time limit (in seconds int/float) for tasks]' \
|
||||
'(--soft-time-limit=)--soft-time-limit=[Enables a soft time limit (in seconds int/float) for tasks]' \
|
||||
'(--maxtasksperchild=)--maxtasksperchild=[Maximum number of tasks a pool worker can execute before it"s terminated and replaced by a new worker.]' \
|
||||
'(-Q --queues=)'{-Q,--queues=}'[List of queues to enable for this worker, separated by comma. By default all configured queues are enabled.]' \
|
||||
'(-I --include=)'{-I,--include=}'[Comma separated list of additional modules to import.]' \
|
||||
'(--pidfile=)--pidfile=[Optional file used to store the process pid.]' \
|
||||
'(--autoscale=)--autoscale=[Enable autoscaling by providing max_concurrency, min_concurrency.]' \
|
||||
'(--autoreload)--autoreload[Enable autoreloading.]' \
|
||||
'(--no-execv)--no-execv[Don"t do execv after multiprocessing child fork.]'
|
||||
compadd -a ifargs
|
||||
;;
|
||||
inspect)
|
||||
_values -s \
|
||||
'active[dump active tasks (being processed)]' \
|
||||
'active_queues[dump queues being consumed from]' \
|
||||
'ping[ping worker(s)]' \
|
||||
'registered[dump of registered tasks]' \
|
||||
'report[get bugreport info]' \
|
||||
'reserved[dump reserved tasks (waiting to be processed)]' \
|
||||
'revoked[dump of revoked task ids]' \
|
||||
'scheduled[dump scheduled tasks (eta/countdown/retry)]' \
|
||||
'stats[dump worker statistics]'
|
||||
compadd -a controlargs ifargs
|
||||
;;
|
||||
control)
|
||||
_values -s \
|
||||
'add_consumer[tell worker(s) to start consuming a queue]' \
|
||||
'autoscale[change autoscale settings]' \
|
||||
'cancel_consumer[tell worker(s) to stop consuming a queue]' \
|
||||
'disable_events[tell worker(s) to disable events]' \
|
||||
'enable_events[tell worker(s) to enable events]' \
|
||||
'pool_grow[start more pool processes]' \
|
||||
'pool_shrink[use less pool processes]' \
|
||||
'rate_limit[tell worker(s) to modify the rate limit for a task type]' \
|
||||
'time_limit[tell worker(s) to modify the time limit for a task type.]'
|
||||
compadd -a controlargs ifargs
|
||||
;;
|
||||
multi)
|
||||
_values -s \
|
||||
'--nosplash[Don"t display program info.]' \
|
||||
'--verbose[Show more output.]' \
|
||||
'--no-color[Don"t display colors.]' \
|
||||
'--quiet[Don"t show as much output.]' \
|
||||
'start' 'restart' 'stopwait' 'stop' 'show' \
|
||||
'names' 'expand' 'get' 'kill'
|
||||
compadd -a ifargs
|
||||
;;
|
||||
amqp)
|
||||
_values -s \
|
||||
'queue.declare' 'queue.purge' 'exchange.delete' 'basic.publish' \
|
||||
'exchange.declare' 'queue.delete' 'queue.bind' 'basic.get'
|
||||
;;
|
||||
list)
|
||||
_values -s, 'bindings'
|
||||
;;
|
||||
shell)
|
||||
_values -s \
|
||||
'--ipython[force iPython.]' \
|
||||
'--bpython[force bpython.]' \
|
||||
'--python[force default Python shell.]' \
|
||||
'--without-tasks[don"t add tasks to locals.]' \
|
||||
'--eventlet[use eventlet.]' \
|
||||
'--gevent[use gevent.]'
|
||||
compadd -a ifargs
|
||||
;;
|
||||
beat)
|
||||
_arguments \
|
||||
'(-s --schedule=)'{-s,--schedule=}'[Path to the schedule database. Defaults to celerybeat-schedule.]' \
|
||||
'(-S --scheduler=)'{-S,--scheduler=}'[Scheduler class to use. Default is celery.beat.PersistentScheduler.]' \
|
||||
'(--max-interval)--max-interval[]'
|
||||
compadd -a dopts fargs
|
||||
;;
|
||||
events)
|
||||
_arguments \
|
||||
'(-d --dump)'{-d,--dump}'[Dump events to stdout.]' \
|
||||
'(-c --camera=)'{-c,--camera=}'[Take snapshots of events using this camera.]' \
|
||||
'(-F --frequency=)'{-F,--frequency=}'[Camera: Shutter frequency. Default is every 1.0 seconds.]' \
|
||||
'(-r --maxrate=)'{-r,--maxrate=}'[Camera: Optional shutter rate limit (e.g. 10/m).]'
|
||||
compadd -a dopts fargs
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
}
|
105
src/_cpanm
105
src/_cpanm
|
@ -1,105 +0,0 @@
|
|||
#compdef cpanm
|
||||
# ------------------------------------------------------------------------------
|
||||
# Description
|
||||
# -----------
|
||||
#
|
||||
# Completion script for cpanm (http://search.cpan.org/dist/App-cpanminus/lib/App/cpanminus.pm).
|
||||
#
|
||||
# Source: https://github.com/rshhh/cpanminus/blob/master/etc/_cpanm
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
# Authors
|
||||
# -------
|
||||
#
|
||||
# * Ryushi (https://github.com/rshhh)
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
|
||||
local arguments curcontext="$curcontext"
|
||||
typeset -A opt_args
|
||||
|
||||
|
||||
arguments=(
|
||||
|
||||
# Commands
|
||||
# '(--install -i)'{--install,-i}'[Installs the modules]'
|
||||
'(- :)--self-upgrade[Upgrades itself]'
|
||||
'(- :)--info[Displays distribution info on CPAN]'
|
||||
'(--installdeps)--installdeps[Only install dependencies]'
|
||||
'(--look)--look[Download/unpack the distribution and then open the directory with your shell]'
|
||||
'(--uninstall -U)'{--uninstall,-U}'[Uninstalls the modules]'
|
||||
'(- :)'{--help,-h}'[Displays help information]'
|
||||
'(- :)'{--version,-V}'[Displays software version]'
|
||||
|
||||
# Options
|
||||
{--force,-f}'[Force install]'
|
||||
{--notest,-n}'[Do not run unit tests]'
|
||||
'(--test-only)--test-only[Run the test only and do not install the module]'
|
||||
{--sudo,-S}'[sudo to run install commands]'
|
||||
'(-v --verbose --quiet -q)'{--verbose,-v}'[Turns on chatty output]'
|
||||
'(-q --quiet --verbose -v)'{--quiet,-q}'[Turns off all output]'
|
||||
{--local-lib,-l}'[Specify the install base to install modules]'
|
||||
{--local-lib-contained,-L}'[Specify the install base to install all non-core modules]'
|
||||
'(--self-contained)--self-contained[Assume no non-core modules are installed on the system]'
|
||||
'--mirror[Specify the base URL for the mirror (e.g. http://cpan.cpantesters.org/)]:URLs:_urls'
|
||||
'--mirror-only[Use the mirror\''s index file instead of the CPAN Meta DB]'
|
||||
'--mirror-index[Specifies the file path for module search index]:FILES:_files'
|
||||
'--prompt[Prompt when configure/build/test fails]'
|
||||
'(--dev)--dev[Search for a newer developer release as well]'
|
||||
'--reinstall[Reinstall the distribution even if you already have the latest version installed]'
|
||||
'--interactive[Turn on interactive configure]'
|
||||
'(--pp --pureperl)'{--pp,--pureperl}'[Prefer Pure perl build of modules]'
|
||||
'(--with-recommends)--with-recommends[Installs dependencies declared as "recommends"]'
|
||||
'(--with-suggests)--with-suggests[Installs dependencies declared as "suggests"]'
|
||||
'(--with-feature)--with-feature[Specifies the feature to enable]'
|
||||
'(--without-feature)--without-feature[Specifies the feature to disable]'
|
||||
'(--with-all-features)--with-all-features[Enables all the optional features]'
|
||||
'(--configure-timeout)--configure-timeout[Specify the timeout length to wait for configure]'
|
||||
'(--build-timeout)--build-timeout[Specify the timeout length to wait for build]'
|
||||
'(--test-timeout)--test-timeout[Specify the timeout length to wait for test]'
|
||||
'(--configure-args)--configure-args[Pass arguments for configure commands]'
|
||||
'(--build-args)--build-args[Pass arguments for build commands]'
|
||||
'(--test-args)--test-args[Pass arguments for test commands]'
|
||||
'(--install-args)--install-args[Pass arguments for install commands]'
|
||||
|
||||
'--scandeps[Scan the dependencies of given modules and output the tree in a text format]'
|
||||
'--format[Specify what format to display the scanned dependency tree]:scandeps format:(tree json yaml dists)'
|
||||
|
||||
'--save-dists[Specify the optional directory path to copy downloaded tarballs]'
|
||||
'(--uninst-shadows)--uninst-shadows[Uninstalls the shadow files of the distribution that you\''re installing]'
|
||||
|
||||
'(--cascade-search)--cascade-search[Specifies whether to cascade search]'
|
||||
'(--skip-installed)--skip-installed[Specifies modules which latest version are already installed]'
|
||||
'(--skip-satisfied)--skip-satisfied[Specifies module and version for skipping installation]'
|
||||
'(--verify)--verify[Verify the integrity of distribution files]'
|
||||
'(--no-report-perl-version)--report-perl-version[Report locally installed perl version as part of User-Agent]'
|
||||
'(--report-perl-version)--no-report-perl-version[Disable --report-perl-version]'
|
||||
'--auto-cleanup[Number of days that cpanm\''s work directories expire in. Defaults to 7]'
|
||||
'(--no-man-pages)--man-pages[Generates man pages for executables (man1) and libraries (man3)]'
|
||||
'(--man-pages)--no-man-pages[Do not generate man pages]'
|
||||
|
||||
|
||||
# Note: Normally with "--lwp", "--wget" and "--curl" options set to true (which is the default) cpanm tries LWP,
|
||||
# Wget, cURL and HTTP::Tiny (in that order) and uses the first one available.
|
||||
# (So that the exclusions are not enabled here for the completion)
|
||||
'(--lwp)--lwp[Use LWP module to download stuff]'
|
||||
'(--wget)--wget[Use GNU Wget (if available) to download stuff]'
|
||||
'(--curl)--curl[Use cURL (if available) to download stuff]'
|
||||
|
||||
# Other completions
|
||||
'*:Local directory or archive:_files -/ -g "*.(tar.gz|tgz|tar.bz2|zip)(-.)"'
|
||||
# '*::args: _normal' # this looks for default files (any files)
|
||||
)
|
||||
_arguments -s $arguments \
|
||||
&& return 0
|
||||
|
||||
return 1
|
||||
|
||||
# Local Variables:
|
||||
# mode: Shell-Script
|
||||
# sh-indentation: 2
|
||||
# indent-tabs-mode: nil
|
||||
# sh-basic-offset: 2
|
||||
# End:
|
||||
# vim: ft=zsh sw=2 ts=2 et
|
53
src/_ditz
53
src/_ditz
|
@ -1,53 +0,0 @@
|
|||
#compdef ditz
|
||||
# ------------------------------------------------------------------------------
|
||||
# Description
|
||||
# -----------
|
||||
#
|
||||
# Completion script for Ditz (http://ditz.rubyforge.org).
|
||||
#
|
||||
# Source: https://github.com/technolize/zsh-completion-funcs
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
# Authors
|
||||
# -------
|
||||
#
|
||||
# * technolize (https://github.com/technolize)
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
|
||||
local ME=ditz
|
||||
local COMMANDS=--commands
|
||||
local OPTIONS='<options>'
|
||||
|
||||
if (($CURRENT == 2)); then
|
||||
# We're completing the first word after the tool: the command.
|
||||
_wanted command expl "$ME command" \
|
||||
compadd -- $( "$ME" "$COMMANDS" )
|
||||
else
|
||||
# Find the options/files/URL/etc. for the current command by using the tool itself.
|
||||
case "${words[$CURRENT]}"; in
|
||||
-*)
|
||||
_wanted args expl "Arguments for $ME ${words[2]}" \
|
||||
compadd -- $( "$ME" "${words[2]}" "$OPTIONS" ; _files )
|
||||
;;
|
||||
ht*|ft*)
|
||||
_arguments '*:URL:_urls'
|
||||
;;
|
||||
/*|./*|\~*|../*)
|
||||
_arguments '*:file:_files'
|
||||
;;
|
||||
*)
|
||||
_wanted args expl "Arguments for $ME ${words[2]}" \
|
||||
compadd -- $( "$ME" "${words[2]}" "$OPTIONS" )
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Local Variables:
|
||||
# mode: Shell-Script
|
||||
# sh-indentation: 2
|
||||
# indent-tabs-mode: nil
|
||||
# sh-basic-offset: 2
|
||||
# End:
|
||||
# vim: ft=zsh sw=2 ts=2 et
|
44
src/_dzen2
44
src/_dzen2
|
@ -1,44 +0,0 @@
|
|||
#compdef dzen2
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# Description
|
||||
# -----------
|
||||
#
|
||||
# Completion script for dzen2 0.8.5 ( https://github.com/robm/dzen )
|
||||
# Last updated: 31.03.2013
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
# Authors
|
||||
# -------
|
||||
#
|
||||
# * Valodim ( https://github.com/Valodim )
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
# Notes
|
||||
# -----
|
||||
#
|
||||
# the _x_color completer has rather outdated paths, a zstyle like this helps
|
||||
# get the x colors right (the list is rather long, then)
|
||||
#
|
||||
# zstyle ":completion:*:colors" path '/etc/X11/rgb.txt'
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
_arguments \
|
||||
'-fg[Set foreground color]:foreground color:_x_color' \
|
||||
'-bg[Set background color]:background color:_x_color' \
|
||||
'-fn[Set font]:font:_x_font' \
|
||||
'-ta[Set alignment of title window content]:alignment:( l c r )' \
|
||||
'-tw[Set title window width]:width (pixels)' \
|
||||
'-sa[Set alignment of slave window]:alignment:( l c r )' \
|
||||
'-l[Number of lines to display in slave window]:lines' \
|
||||
'-e[Set up events and actions]:event string' \
|
||||
'-m[Start up in menu mode]' \
|
||||
'-u[Update contents of title and slave window simultaneously]' \
|
||||
'-p[Persist EOF]:timeout (seconds)' \
|
||||
'-x[Set x position on the screen]:x position (pixels)' \
|
||||
'-y[Set y position on the screen]:y position (pixels)' \
|
||||
'-h[Set line height]:line height (pixels)' \
|
||||
'-w[Set window width]:width (pixels)' \
|
||||
'-xs[Set the Xinerama screen number where dzen should appear]:screen number' \
|
||||
'-v[Display version information]' && return 0
|
499
src/_gem
499
src/_gem
|
@ -1,499 +0,0 @@
|
|||
#compdef gem gem1.9 macgem
|
||||
# ------------------------------------------------------------------------------
|
||||
# Description
|
||||
# -----------
|
||||
#
|
||||
# Completion script for gem (http://rubygems.org).
|
||||
#
|
||||
# Source: https://gist.github.com/164465
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
# Authors
|
||||
# -------
|
||||
#
|
||||
# * Alex Vollmer (https://github.com/alexvollmer)
|
||||
# * Tim Pope (https://github.com/tpope)
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
|
||||
gem_general_flags=("(-h --help)"{-h,--help}"[Get help on this command]"
|
||||
"(-V --verbose)"{-V,--verbose}"[Set the verbose level of output]"
|
||||
"(-q --quiet)"{-q,--quiet}"[Silence commands]"
|
||||
"--config-file[Use this config file instead of default]:file:_files"
|
||||
"--backtrace[Show stack backtrace on errors]"
|
||||
"--debug[Turn on Ruby debugging]"
|
||||
$nul_arg
|
||||
)
|
||||
|
||||
__all_gems() {
|
||||
_gem_names=($(${service} list | awk '{print $1}'))
|
||||
compadd "$@" -k _gem_names
|
||||
}
|
||||
|
||||
__all_gems_all() {
|
||||
_gem_names=($(gem list | awk '{print $1}') "--all")
|
||||
compadd "$@" -k _gem_names
|
||||
}
|
||||
|
||||
__gem_help_arguments() {
|
||||
_args=("commands"
|
||||
"examples"
|
||||
"build"
|
||||
"cert"
|
||||
"check"
|
||||
"cleanup"
|
||||
"contents"
|
||||
"dependency"
|
||||
"environment"
|
||||
"fetch"
|
||||
"generate_index"
|
||||
"help"
|
||||
"install"
|
||||
"list"
|
||||
"lock"
|
||||
"mirror"
|
||||
"outdated"
|
||||
"owner"
|
||||
"pristine"
|
||||
"push"
|
||||
"query"
|
||||
"rdoc"
|
||||
"search"
|
||||
"server"
|
||||
"sources"
|
||||
"specification"
|
||||
"stale"
|
||||
"tumble"
|
||||
"uninstall"
|
||||
"unpack"
|
||||
"update"
|
||||
"which")
|
||||
compadd "$@" -k _args
|
||||
}
|
||||
|
||||
__gem_trust_policies() {
|
||||
_args=("NoSecurity"
|
||||
"LowSecurity"
|
||||
"MediumSecurity"
|
||||
"HighSecurity")
|
||||
compadd "$@" -k _args
|
||||
}
|
||||
|
||||
_gem_build() {
|
||||
_arguments \
|
||||
*:file:_files -f \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_cert() {
|
||||
_arguments \
|
||||
"(-a --add)"{-a,--add}"[Add a trusted certificate.]":file:_files \
|
||||
"(-l --list)"{-l,--list}"[List trusted certificates.]" \
|
||||
"(-r --remove)"{-r,--remove}"[Remove trusted certificates containing STRING.]" \
|
||||
"(-b --build)"{-b,--build}"[Build private key and self-signed certificate for EMAIL_ADDR.]" \
|
||||
"(-C --certificate)"{-C,--certificate}"[Certificate for --sign command.]":file:_files \
|
||||
"(-K --private-key)"{-K,--private-key}"[Private key for --sign command.]":file:_files \
|
||||
"(-s --sign)"{-s,--sign}"[Sign a certificate with my key and certificate.]":file:_files \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_check() {
|
||||
_arguments \
|
||||
"--verify[Verify gem file against its internal checksum]":file:_files \
|
||||
"(-a --alien)"{-a,--alien}"[Report 'unmanaged' or rogue files in the gem repository]" \
|
||||
"(-v --verbose)"{-v,--verbose}"[Spew more words]" \
|
||||
"(-t --test)"{-t,--test}"[Run unit tests for gem]" \
|
||||
"(-v --version)"{-v,--version}"[Specify version of gem to run tests for]" \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_cleanup() {
|
||||
_arguments \
|
||||
"*:gemname:__all_gems" \
|
||||
"(-d --dryrun)"{-d,--dryrun}"[]" \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_contents() {
|
||||
_arguments \
|
||||
"*:gemname:__all_gems" \
|
||||
"(-v --version)"{-v,--version}"[Specify version of gem to contents]" \
|
||||
"--all[Contents for all gems]" \
|
||||
"(-s --spec-dir)"{-s,--spec-dir}"[Search for gems under specific paths]" \
|
||||
"(-l --no-lib-only)"{-l,--no-lib-only}"[Only return files in the Gem's lib_dirs]" \
|
||||
"--no-prefix[Don't include installed path prefix]" \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_dependency() {
|
||||
_arguments \
|
||||
":gemname:__all_gems" \
|
||||
"(-l --local)"{-l,--local}"[Restrict operations to the LOCAL domain]" \
|
||||
"(-r --remote)"{-r,--remote}"[Restrict operations to the REMOTE domain]" \
|
||||
"(-b --both)"{-b,--both}"[Allow LOCAL and REMOTE operations]" \
|
||||
"(-B --bulk-threshold)"{-B,--bulk-threshold}"[Threshold for switching to bulk synchronization (default 1000)]" \
|
||||
"--source[Use URL as the remote source for gems]" \
|
||||
"(-p --[no-]http-proxy)"{-p,--[no-]http-proxy}"[Use HTTP proxy for remote operations]" \
|
||||
"(-u --no-update-sources)"{-u,--no-update-sources}"[Update local source cache]" \
|
||||
"(-v --version)"{-v,--version}"[Specify version of gem to dependency]" \
|
||||
"--platform[Specify the platform of gem to dependency]" \
|
||||
"(-R --no-reverse-dependencies)"{-R,--no-reverse-dependencies}"[Include reverse dependencies in the output]" \
|
||||
"(-p --pipe)"{-p,--pipe}"[Pipe Format (name --version ver)]" \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_environment() {
|
||||
typeset -g _environment_arg=
|
||||
_environment_arg='::environment:((packageversion\:"display the package version"
|
||||
gemdir\:"display the path where gems are installed"
|
||||
gempath\:"display path used to search for gems"
|
||||
version\:"display the gem format version"
|
||||
remotesources\:"display the remote gem servers"))'
|
||||
_arguments \
|
||||
$_environment_arg \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_fetch() {
|
||||
_arguments \
|
||||
"*:gemname:__all_gems" \
|
||||
"(-B --bulk-threshold)"{-B,--bulk-threshold}"[Threshold for switching to bulk synchronization (default 1000)]" \
|
||||
"(-p --[no-]http-proxy)"{-p,--[no-]http-proxy}"[Use HTTP proxy for remote operations]" \
|
||||
"--source[Use URL as the remote source for gems]" \
|
||||
"(-v --version)"{-v,--version}"[Specify version of gem to fetch]" \
|
||||
"--platform[Specify the platform of gem to fetch]" \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_generate_index() {
|
||||
_arguments \
|
||||
"(-d --directory=DIRNAME)"{-d,--directory=-}"[repository base dir containing gems subdir]":directory:_directories \
|
||||
"--no-legacy[Generate indexes for RubyGems older than 1.2.0]" \
|
||||
"--no-modern[Generate indexes for RubyGems newer than 1.2.0]" \
|
||||
"--update[Update modern indexes with gems added since the last update]" \
|
||||
"--rss-gems-host=-[Host name where gems are served from, used for GUID and enclosure values]" \
|
||||
"--rss-host=-[Host name for more gems information, used for RSS feed link]" \
|
||||
"--rss-title=-[Set title for RSS feed]" \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_help() {
|
||||
_arguments \
|
||||
":argument:__gem_help_arguments" \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_install() {
|
||||
_arguments \
|
||||
"*:gemname:__all_gems" \
|
||||
"(-i --install-dir)"{-i,--install-dir}"[Gem repository directory to get installed gems]":directory:_directories \
|
||||
"(-n --bindir)"{-n,--bindir}"[Directory where binary files are located]":directory:_directories \
|
||||
"(-d --no-rdoc)"{-d,--no-rdoc}"[Generate RDoc documentation for the gem on install]" \
|
||||
"--no-ri[Generate RI documentation for the gem on install]" \
|
||||
"(-E --no-env-shebang)"{-E,--no-env-shebang}"[Rewrite the shebang line on installed scripts to use /usr/bin/env]" \
|
||||
"(-f --no-force)"{-f,--no-force}"[Force gem to install, bypassing dependency checks]" \
|
||||
"(-t --no-test)"{-t,--no-test}"[Run unit tests prior to installation]" \
|
||||
"(-w --no-wrappers)"{-w,--no-wrappers}"[Use bin wrappers for executables Not available on dosish platforms]" \
|
||||
"(-P --trust-policy)"{-P,--trust-policy}"[Specify gem trust policy]:trust policy:__gem_trust_policies" \
|
||||
"--ignore-dependencies[Do not install any required dependent gems]" \
|
||||
"(-y --include-dependencies)"{-y,--include-dependencies}"[Unconditionally install the required dependent gems]" \
|
||||
"--no-format-executable[Make installed executable names match ruby. If ruby is ruby18, foo_exec will be foo_exec18]" \
|
||||
"--no-user-install[Install in user's home directory instead of GEM_HOME. Defaults to using home only if GEM_HOME is not writable.]" \
|
||||
"--development[Install any additional development dependencies]" \
|
||||
"--prerelease[Install prerelease versions of a gem if available. Defaults to skipping prereleases.]" \
|
||||
"(-l --local)"{-l,--local}"[Restrict operations to the LOCAL domain]" \
|
||||
"(-r --remote)"{-r,--remote}"[Restrict operations to the REMOTE domain]" \
|
||||
"(-b --both)"{-b,--both}"[Allow LOCAL and REMOTE operations]" \
|
||||
"(-B --bulk-threshold)"{-B,--bulk-threshold}"[Threshold for switching to bulk synchronization (default 1000)]" \
|
||||
"--source[Use URL as the remote source for gems]" \
|
||||
"(-p --[no-]http-proxy)"{-p,--[no-]http-proxy}"[Use HTTP proxy for remote operations]" \
|
||||
"(-u --no-update-sources)"{-u,--no-update-sources}"[Update local source cache]" \
|
||||
"--platform[Specify the platform of gem to install]" \
|
||||
"(-v --version)"{-v,--version}"[Specify version of gem to install]" \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_list() {
|
||||
_arguments \
|
||||
":gem name: " \
|
||||
"(-i --no-installed)"{-i,--no-installed}"[Check for installed gem]" \
|
||||
"(-v --version)"{-v,--version}"[Specify version of gem to list]" \
|
||||
"(-d --no-details)"{-d,--no-details}"[Display detailed information of gem(s)]" \
|
||||
"--no-versions[Display only gem names]" \
|
||||
"(-a --all)"{-a,--all}"[Display all gem versions]" \
|
||||
"--prerelease[Display prerelease versions]" \
|
||||
"(-l --local)"{-l,--local}"[Restrict operations to the LOCAL domain]" \
|
||||
"(-r --remote)"{-r,--remote}"[Restrict operations to the REMOTE domain]" \
|
||||
"(-b --both)"{-b,--both}"[Allow LOCAL and REMOTE operations]" \
|
||||
"(-B --bulk-threshold)"{-B,--bulk-threshold}"[Threshold for switching to bulk synchronization (default 1000)]" \
|
||||
"--source[Use URL as the remote source for gems]" \
|
||||
"(-p --[no-]http-proxy)"{-p,--[no-]http-proxy}"[Use HTTP proxy for remote operations]" \
|
||||
"(-u --no-update-sources)"{-u,--no-update-sources}"[Update local source cache]" \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_lock() {
|
||||
_arguments \
|
||||
":gemname:__all_gems" \
|
||||
"(-s --no-strict)"{-s,--no-strict}"[fail if unable to satisfy a dependency]" \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_mirror() {
|
||||
_arguments \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_open() {
|
||||
_arguments \
|
||||
"*:gemname:__all_gems" \
|
||||
"(-v --version)"{-v,--version}"[Specify version of gem to open]"
|
||||
}
|
||||
|
||||
_gem_outdated() {
|
||||
_arguments \
|
||||
"(-l --local)"{-l,--local}"[Restrict operations to the LOCAL domain]" \
|
||||
"(-r --remote)"{-r,--remote}"[Restrict operations to the REMOTE domain]" \
|
||||
"(-b --both)"{-b,--both}"[Allow LOCAL and REMOTE operations]" \
|
||||
"(-B --bulk-threshold)"{-B,--bulk-threshold}"[Threshold for switching to bulk synchronization (default 1000)]" \
|
||||
"--source[Use URL as the remote source for gems]" \
|
||||
"(-p --[no-]http-proxy)"{-p,--[no-]http-proxy}"[Use HTTP proxy for remote operations]" \
|
||||
"(-u --no-update-sources)"{-u,--no-update-sources}"[Update local source cache]" \
|
||||
"--platform[Specify the platform of gem to outdated]" \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_owner() {
|
||||
_arguments \
|
||||
"(-a --add)"{-a,--add}"[Add an owner]" \
|
||||
"(-r --remove)"{-r,--remove}"[Remove an owner]" \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_pristine() {
|
||||
_arguments \
|
||||
":gem name:__all_gems_all" \
|
||||
"--all[Restore all installed gems to pristine condition]" \
|
||||
"(-v --version)"{-v,--version}"[Specify version of gem to restore to pristine condition]" \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_push() {
|
||||
_arguments \
|
||||
*:file:_files -f \
|
||||
"(-p --http-proxy)"{-p,--http-proxy}"[Use HTTP proxy for remote operations]" \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_query() {
|
||||
_arguments \
|
||||
"(-i --no-installed)"{-i,--no-installed}"[Check for installed gem]" \
|
||||
"(-v --version)"{-v,--version}"[Specify version of gem to query]" \
|
||||
"(-n --name-matches)"{-n,--name-matches}"[Name of gem(s) to query on matches the provided REGEXP]" \
|
||||
"(-d --no-details)"{-d,--no-details}"[Display detailed information of gem(s)]" \
|
||||
"--no-versions[Display only gem names]" \
|
||||
"(-a --all)"{-a,--all}"[Display all gem versions]" \
|
||||
"--prerelease[Display prerelease versions]" \
|
||||
"(-l --local)"{-l,--local}"[Restrict operations to the LOCAL domain]" \
|
||||
"(-r --remote)"{-r,--remote}"[Restrict operations to the REMOTE domain]" \
|
||||
"(-b --both)"{-b,--both}"[Allow LOCAL and REMOTE operations]" \
|
||||
"(-B --bulk-threshold)"{-B,--bulk-threshold}"[Threshold for switching to bulk synchronization (default 1000)]" \
|
||||
"--source[Use URL as the remote source for gems]" \
|
||||
"(-p --[no-]http-proxy)"{-p,--[no-]http-proxy}"[Use HTTP proxy for remote operations]" \
|
||||
"(-u --no-update-sources)"{-u,--no-update-sources}"[Update local source cache]" \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_rdoc() {
|
||||
_arguments \
|
||||
":gem name:__all_gems_all" \
|
||||
"--all[Generate RDoc/RI documentation for all installed gems]" \
|
||||
"--no-rdoc[Include RDoc generated documents]" \
|
||||
"--no-ri[Include RI generated documents]" \
|
||||
"(-v --version)"{-v,--version}"[Specify version of gem to rdoc]" \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_search() {
|
||||
_arguments \
|
||||
":gem name::" \
|
||||
"(-i --no-installed)"{-i,--no-installed}"[Check for installed gem]" \
|
||||
"(-v --version)"{-v,--version}"[Specify version of gem to search]" \
|
||||
"(-d --no-details)"{-d,--no-details}"[Display detailed information of gem(s)]" \
|
||||
"--no-versions[Display only gem names]" \
|
||||
"(-a --all)"{-a,--all}"[Display all gem versions]" \
|
||||
"--prerelease[Display prerelease versions]" \
|
||||
"(-l --local)"{-l,--local}"[Restrict operations to the LOCAL domain]" \
|
||||
"(-r --remote)"{-r,--remote}"[Restrict operations to the REMOTE domain]" \
|
||||
"(-b --both)"{-b,--both}"[Allow LOCAL and REMOTE operations]" \
|
||||
"(-B --bulk-threshold)"{-B,--bulk-threshold}"[Threshold for switching to bulk synchronization (default 1000)]" \
|
||||
"--source[Use URL as the remote source for gems]" \
|
||||
"(-p --[no-]http-proxy)"{-p,--[no-]http-proxy}"[Use HTTP proxy for remote operations]" \
|
||||
"(-u --no-update-sources)"{-u,--no-update-sources}"[Update local source cache]" \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_server() {
|
||||
_arguments \
|
||||
"(-p --port=PORT)"{-p,--port=-}"[port to listen on]" \
|
||||
"(-d --dir=GEMDIR)"{-d,--dir=-}"[directory from which to serve gems]":directory:_directories \
|
||||
"--no-daemon[run as a daemon]" \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_sources() {
|
||||
_arguments \
|
||||
"(-a --add)"{-a,--add}"[Add source]" \
|
||||
"(-l --list)"{-l,--list}"[List sources]" \
|
||||
"(-r --remove)"{-r,--remove}"[Remove source]" \
|
||||
"(-c --clear-all)"{-c,--clear-all}"[Remove all sources (clear the cache)]" \
|
||||
"(-u --update)"{-u,--update}"[Update source cache]" \
|
||||
"(-p --[no-]http-proxy)"{-p,--[no-]http-proxy}"[Use HTTP proxy for remote operations]" \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_specification() {
|
||||
_arguments \
|
||||
":gemname:__all_gems" \
|
||||
"(-l --local)"{-l,--local}"[Restrict operations to the LOCAL domain]" \
|
||||
"(-r --remote)"{-r,--remote}"[Restrict operations to the REMOTE domain]" \
|
||||
"(-b --both)"{-b,--both}"[Allow LOCAL and REMOTE operations]" \
|
||||
"(-B --bulk-threshold)"{-B,--bulk-threshold}"[Threshold for switching to bulk synchronization (default 1000)]" \
|
||||
"--source[Use URL as the remote source for gems]" \
|
||||
"(-p --[no-]http-proxy)"{-p,--[no-]http-proxy}"[Use HTTP proxy for remote operations]" \
|
||||
"(-u --no-update-sources)"{-u,--no-update-sources}"[Update local source cache]" \
|
||||
"(-v --version)"{-v,--version}"[Specify version of gem to examine]" \
|
||||
"--platform[Specify the platform of gem to specification]" \
|
||||
"--all[Output specifications for all versions of the gem]" \
|
||||
"--ruby[Output ruby format]" \
|
||||
"--yaml[Output RUBY format]" \
|
||||
"--marshal[Output Marshal format]" \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_stale() {
|
||||
_arguments \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_tumble() {
|
||||
_arguments \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_uninstall() {
|
||||
_arguments \
|
||||
"*:gemname:__all_gems" \
|
||||
"(-a --no-all)"{-a,--no-all}"[Uninstall all matching versions]" \
|
||||
"(-I --no-ignore-dependencies)"{-I,--no-ignore-dependencies}"[Ignore dependency requirements while uninstalling]" \
|
||||
"(-x --no-executables)"{-x,--no-executables}"[Uninstall applicable executables without confirmation]" \
|
||||
"(-i --install-dir)"{-i,--install-dir}"[Directory to uninstall gem from]":directory:_directories \
|
||||
"(-n --bindir)"{-n,--bindir}"[Directory to remove binaries from]":directory:_directories \
|
||||
"--no-user-install[Uninstall from user's home directory in addition to GEM_HOME.]" \
|
||||
"(-v --version)"{-v,--version}"[Specify version of gem to uninstall]" \
|
||||
"--platform[Specify the platform of gem to uninstall]" \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_unpack() {
|
||||
_arguments \
|
||||
":gemname:__all_gems" \
|
||||
"--target=-[target directory for unpacking]":directory:_directories \
|
||||
"(-v --version)"{-v,--version}"[Specify version of gem to unpack]" \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_update() {
|
||||
_arguments \
|
||||
"*:gemname:__all_gems" \
|
||||
"(-i --install-dir)"{-i,--install-dir}"[Gem repository directory to get installed gems]":directory:_directories \
|
||||
"(-n --bindir)"{-n,--bindir}"[Directory where binary files are located]":directory:_directories \
|
||||
"(-d --no-rdoc)"{-d,--no-rdoc}"[Generate RDoc documentation for the gem on install]" \
|
||||
"--no-ri[Generate RI documentation for the gem on install]" \
|
||||
"(-E --no-env-shebang)"{-E,--no-env-shebang}"[Rewrite the shebang line on installed scripts to use /usr/bin/env]" \
|
||||
"(-f --no-force)"{-f,--no-force}"[Force gem to install, bypassing dependency checks]" \
|
||||
"(-t --no-test)"{-t,--no-test}"[Run unit tests prior to installation]" \
|
||||
"(-w --no-wrappers)"{-w,--no-wrappers}"[Use bin wrappers for executables Not available on dosish platforms]" \
|
||||
"(-P --trust-policy)"{-P,--trust-policy}"[Specify gem trust policy]:trust policy:__gem_trust_policies" \
|
||||
"--ignore-dependencies[Do not install any required dependent gems]" \
|
||||
"(-y --include-dependencies)"{-y,--include-dependencies}"[Unconditionally install the required dependent gems]" \
|
||||
"--no-format-executable[Make installed executable names match ruby. If ruby is ruby18, foo_exec will be foo_exec18]" \
|
||||
"--no-user-install[Install in user's home directory instead of GEM_HOME. Defaults to using home only if GEM_HOME is not writable.]" \
|
||||
"--development[Install any additional development dependencies]" \
|
||||
"--prerelease[Install prerelease versions of a gem if available. Defaults to skipping prereleases.]" \
|
||||
"(-l --local)"{-l,--local}"[Restrict operations to the LOCAL domain]" \
|
||||
"(-r --remote)"{-r,--remote}"[Restrict operations to the REMOTE domain]" \
|
||||
"(-b --both)"{-b,--both}"[Allow LOCAL and REMOTE operations]" \
|
||||
"(-B --bulk-threshold)"{-B,--bulk-threshold}"[Threshold for switching to bulk synchronization (default 1000)]" \
|
||||
"--source[Use URL as the remote source for gems]" \
|
||||
"(-p --[no-]http-proxy)"{-p,--[no-]http-proxy}"[Use HTTP proxy for remote operations]" \
|
||||
"(-u --no-update-sources)"{-u,--no-update-sources}"[Update local source cache]" \
|
||||
"--system[Update the RubyGems system software]" \
|
||||
"--platform[Specify the platform of gem to update]" \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_which() {
|
||||
_arguments \
|
||||
*:file:_files -f \
|
||||
"(-a --no-all)"{-a,--no-all}"[show all matching files]" \
|
||||
"(-g --no-gems-first)"{-g,--no-gems-first}"[search gems before non-gems]" \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
_gem_migrate() {
|
||||
_arguments \
|
||||
"*:gemname:__all_gems" \
|
||||
$gem_general_flags && ret=0
|
||||
}
|
||||
|
||||
if (( CURRENT > 2 )); then
|
||||
(( CURRENT-- ))
|
||||
shift words
|
||||
_call_function 1 _gem_${words[1]}
|
||||
else
|
||||
_values "gem command" \
|
||||
"build[Build a gem from a gemspec]" \
|
||||
"cert[Manage RubyGems certificates and signing settings]" \
|
||||
"check[Check installed gems]" \
|
||||
"cleanup[Clean up old versions of installed gems in the local repository]" \
|
||||
"contents[Display the contents of the installed gems]" \
|
||||
"dependency[Show the dependencies of an installed gem]" \
|
||||
"environment[Display information about the RubyGems environment]" \
|
||||
"fetch[Download a gem and place it in the current directory]" \
|
||||
"generate_index[Generates the index files for a gem server directory]" \
|
||||
"help[Provide help on the 'gem' command]" \
|
||||
"install[Install a gem into the local repository]" \
|
||||
"list[Display gems whose name starts with STRING]" \
|
||||
"lock[Generate a lockdown list of gems]" \
|
||||
"migrate[Migrate a gem you own from Rubyforge to Gemcutter]" \
|
||||
"mirror[Mirror a gem repository]" \
|
||||
"open[Open a gem in your editor]" \
|
||||
"outdated[Display all gems that need updates]" \
|
||||
"owner[Manage gem owners on Gemcutter]" \
|
||||
"pristine[Restores installed gems to pristine condition from files located in the gem cache]" \
|
||||
"push[Push a gem up to Gemcutter]" \
|
||||
"query[Query gem information in local or remote repositories]" \
|
||||
"rdoc[Generates RDoc for pre-installed gems]" \
|
||||
"search[Display all gems whose name contains STRING]" \
|
||||
"server[Documentation and gem repository HTTP server]" \
|
||||
"sources[Manage the sources and cache file RubyGems uses to search for gems]" \
|
||||
"specification[Display gem specification (in yaml)]" \
|
||||
"stale[List gems along with access times]" \
|
||||
"tumble[Enable or disable Gemcutter as your primary gem source]" \
|
||||
"uninstall[Uninstall gems from the local repository]" \
|
||||
"unpack[Unpack an installed gem to the current directory]" \
|
||||
"update[Update the named gems (or all installed gems) in the local repository]" \
|
||||
"which[Find the location of a library file you can require]"
|
||||
fi
|
||||
|
||||
# Local Variables:
|
||||
# mode: Shell-Script
|
||||
# sh-indentation: 2
|
||||
# indent-tabs-mode: nil
|
||||
# sh-basic-offset: 2
|
||||
# End:
|
||||
# vim: ft=zsh sw=2 ts=2 et
|
||||
|
||||
|
177
src/_hledger
177
src/_hledger
|
@ -1,177 +0,0 @@
|
|||
#compdef hledger
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# Description
|
||||
# -----------
|
||||
#
|
||||
# Completion script for hleder 0.23.2 ( http://hledger.org/ )
|
||||
# Last updated: 16.11.2014
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
# Authors
|
||||
# -------
|
||||
#
|
||||
# * Valodim ( https://github.com/Valodim )
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
# Notes
|
||||
# -----
|
||||
#
|
||||
# account completion depends on availability of a ~/.hledger.journal file
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
|
||||
local curcontext="$curcontext" curstate state line expl grp cmd ret=1
|
||||
typeset -a args
|
||||
typeset -A opt_args
|
||||
|
||||
args=(
|
||||
'(- *)'{-h,--help}'[print help information]'
|
||||
'(-f --file)'{-f,--file}'=[use a different input file]:input file:_files'
|
||||
'--rules-file=[CSV conversion rules file]:rules file:_files'
|
||||
'--alias=[display accounts named OLD as NEW]:alias specification'
|
||||
'(-b --begin)'{-b,--begin}'=[include postings/txns on or after this date]:date'
|
||||
'(-e --end)'{-e,--end}'=[include postings/txns before this date]:date'
|
||||
'(-D --daily)'{-D,--daily}'[multiperiod/multicolumn report by day]'
|
||||
'(-W --weekly)'{-W,--weekly}'[multiperiod/multicolumn report by week]'
|
||||
'(-M --monthly)'{-M,--monthly}'[multiperiod/multicolumn report by month]'
|
||||
'(-Q --quarterly)'{-Q,--quarterly}'[multiperiod/multicolumn report by quarter]'
|
||||
'(-Y --yearly)'{-Y,--yearly}'[multiperiod/multicolumn report by year]'
|
||||
'(-p --period)'{-p,--period}'=[set start date, end date, and/or reporting interval all at once]'
|
||||
'(-C --cleared)'{-C,--cleared}'[include only cleared postings/txns]'
|
||||
'(-U --uncleared)'{-U,--uncleared}'[include only uncleared postings/txns]'
|
||||
'(-R --real)'{-R,--real}'[include only non-virtual postings]'
|
||||
'(--depth)--depth=[hide accounts/postings deeper than N]:depth'
|
||||
'(-E --empty)'{-E,--empty}'[show empty/zero things which are normally omitted]'
|
||||
'(-B --cost)'{-B,--cost}'[show amounts in their cost price'\''s commodity]'
|
||||
)
|
||||
|
||||
_arguments -C "$args[@]" -A "-*" \
|
||||
'(- *)--version[print version information]' \
|
||||
'--debug[show debug output]' \
|
||||
'1: :->cmds' \
|
||||
'*:: :->args' && ret=0
|
||||
|
||||
while (( $#state )); do
|
||||
curstate=$state
|
||||
shift state
|
||||
case $curstate in
|
||||
cmds)
|
||||
typeset -a cmds
|
||||
cmds=(
|
||||
'print:show transaction entries'
|
||||
'accounts:show account names'
|
||||
'balance:show accounts and balances (bal)'
|
||||
'register:show postings and running total (reg)'
|
||||
'incomestatement:show an income statement (is)'
|
||||
'balancesheet:show a balance sheet (bs)'
|
||||
'cashflow:show a cashflow statement (cf)'
|
||||
'activity:show an ascii barchart of posting counts per interval'
|
||||
'stats:show some journal statistics'
|
||||
)
|
||||
_describe 'subcommands' cmds && ret=0
|
||||
;;
|
||||
args)
|
||||
: $words
|
||||
local cmd=$words[1]
|
||||
(( $+cmd )) || return 1
|
||||
# curcontext="${curcontext%:*:*}:$service-$cmd:"
|
||||
case $cmd in
|
||||
accounts)
|
||||
args+=(
|
||||
'(--tree)--tree[show accounts as a tree (default in simple reports)]'
|
||||
'(--flat)--flat[show accounts as a list (default in multicolumn)]'
|
||||
'(--drop)--drop=[flat mode, omit N leading account name parts]:drop n'
|
||||
)
|
||||
;;
|
||||
activity)
|
||||
;;
|
||||
bal|balance)
|
||||
args+=(
|
||||
'(--tree)--tree[show accounts as a tree (default in simple reports)]'
|
||||
'(--flat)--flat[show accounts as a list (default in multicolumn)]'
|
||||
'(--drop)--drop=[in flat mode, omit N leading account name parts]:drop n'
|
||||
'(--format)--format=[in tree mode, use this custom line format]:custom line format'
|
||||
'(--no-elide)--no-elide[tree mode, do not squash boring parent accounts]'
|
||||
'(--no-total)--no-total[do not show the final total]'
|
||||
'(--cumulative)--cumulative[multicolumn mode, show accumulated ending balances]'
|
||||
'(-H --historical)'{-H,--historical}'[multicolumn mode, show historical ending balances]'
|
||||
)
|
||||
;;
|
||||
cashflow|cf|balancesheet|bs|incomestatement|is)
|
||||
args+=(
|
||||
'(--flat)--flat[show accounts as a list (default in multicolumn)]'
|
||||
'(--drop)--drop=[in flat mode, omit N leading account name parts]:drop n'
|
||||
)
|
||||
;;
|
||||
print)
|
||||
;;
|
||||
register|reg)
|
||||
args+=(
|
||||
'(-H --historical)'{-H,--historical}'[include prior postings in the running total]'
|
||||
'(-A --average)'{-A,--average}'[show a running average instead of the running total]'
|
||||
'(-r --related)'{-r,--related}'[show postings'\'' siblings instead]'
|
||||
'(-w --width)'{-w,--width}'=[set output width to 120, or N]:width (default 80)'
|
||||
)
|
||||
;;
|
||||
stats)
|
||||
;;
|
||||
# fallback to _default
|
||||
*) _arguments -C -A "-*" "$args[@]" \
|
||||
'*: :_default' && ret=0
|
||||
continue
|
||||
esac
|
||||
_arguments -C -A "-*" "$args[@]" \
|
||||
'*:query patterns:->query' && ret=0
|
||||
;;
|
||||
query)
|
||||
|
||||
local -a accs keywords
|
||||
keywords=(
|
||||
'code\::match by transaction code'
|
||||
'desc\::match transaction descriptions'
|
||||
'tag\::match by tag name'
|
||||
'depth\::match at or above depth'
|
||||
'status\::match cleared/uncleared transactions'
|
||||
'real\::match real/virtual transactions'
|
||||
'empty\::match if amount is/is not zero'
|
||||
'amt\::match transaction amount'
|
||||
)
|
||||
if compset -P 'amt:'; then
|
||||
_message 'match amount (<, <=, >, >=, add sign for non-absolute match)' && ret=0
|
||||
continue
|
||||
fi
|
||||
if compset -P '(#b)(code|desc|tag|depth|status|real|empty):'; then
|
||||
_message "'$match[1]' parameter" && ret=0
|
||||
continue
|
||||
fi
|
||||
|
||||
accs=( ${(f)"$(_call_program hledger hledger accounts $PREFIX 2>/dev/null)"} )
|
||||
if (( $? )); then
|
||||
_message "error fetching accounts from hledger"
|
||||
fi
|
||||
|
||||
# decided against partial matching here. these lines can
|
||||
# be uncommented to complete subaccounts hierarchically
|
||||
# (add -S '' -q to the compadd below, too)
|
||||
# if compset -P '(#b)(*):'; then
|
||||
# accs=( ${(M)accs:#$match[1]:*} )
|
||||
# accs=( ${accs#$IPREFIX} )
|
||||
# fi
|
||||
# accs=( ${accs%%:*} )
|
||||
|
||||
_wanted accounts expl "accounts" compadd -a accs && ret=0
|
||||
_describe "matcher keywords" keywords -S '' && ret=0
|
||||
|
||||
# not is special, it doesn't need the -S ''
|
||||
keywords=(
|
||||
'not:negate expression'
|
||||
)
|
||||
_describe "matcher keywords" keywords && ret=0
|
||||
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
return ret
|
70
src/_id3
70
src/_id3
|
@ -1,70 +0,0 @@
|
|||
#compdef id3
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# Description
|
||||
# -----------
|
||||
#
|
||||
# Completion script for id3, based on v0.15
|
||||
#
|
||||
# Last updated: 03.04.2013
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
# Authors
|
||||
# -------
|
||||
#
|
||||
# * Valodim ( https://github.com/Valodim )
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
_id3_genre () {
|
||||
|
||||
setopt localoptions extendedglob
|
||||
|
||||
local -A _id3_genres
|
||||
# got them cached?
|
||||
if _cache_invalid id3-genres || ! _retrieve_cache id3-genres ; then
|
||||
|
||||
# generate from id3 -L otherwise
|
||||
local tmp
|
||||
for line in ${${${(f)"$(_call_program id3genre id3 -L)"}## #}}; do
|
||||
tmp=( ${(s,: ,)line} )
|
||||
_id3_genres[${tmp[1]}]=$tmp[2]
|
||||
# alternate display string, which I decided against in the end
|
||||
# to preserve reasonable alphabetic sorting
|
||||
# "${(l:3:: :)${tmp[1]}}: ${tmp[2]}"
|
||||
done
|
||||
|
||||
# store if we got any
|
||||
(( $#_id3_genres > 0 )) && _store_cache id3-genres _id3_genres
|
||||
fi
|
||||
|
||||
# bail if we don't
|
||||
(( $#_id3_genres > 0 )) || { _message "could not fetch genres"; return }
|
||||
|
||||
_wanted id3genres expl 'Genres' \
|
||||
compadd -d _id3_genres -k _id3_genres && return 0
|
||||
|
||||
}
|
||||
|
||||
# only show files if at least one argument or something has been provided
|
||||
local showfiles=''
|
||||
(( CURRENT <= 2 )) && showfiles='!'
|
||||
|
||||
_arguments \
|
||||
- tagging \
|
||||
'-t[modify title tag]:title' \
|
||||
'-T[modify track tag]:track' \
|
||||
'-a[modify artist tag]:artist' \
|
||||
'-A[modify album tag]:album' \
|
||||
'-y[modify year tag]:year' \
|
||||
'-c[modify comment tag]:comment' \
|
||||
'-g[modify genre tag]:genre:_id3_genre' \
|
||||
'(-)-l[lists tags]' \
|
||||
'-R[use rfc822-style format for output]' \
|
||||
'(-)-d[delete id3 tag]' \
|
||||
$showfiles'*:mp3 file:_files -g \*.mp3' \
|
||||
- meta \
|
||||
'(- *)-L[list all genres]' \
|
||||
'(- *)-h[display help info]' \
|
||||
'(- *)-v[print version info]' && return 0
|
||||
|
116
src/_id3v2
116
src/_id3v2
|
@ -1,116 +0,0 @@
|
|||
#compdef id3v2
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# Description
|
||||
# -----------
|
||||
#
|
||||
# Completion script for id3v2, based on v0.1.12
|
||||
#
|
||||
# Last updated: 05.04.2013
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
# Authors
|
||||
# -------
|
||||
#
|
||||
# * Valodim ( https://github.com/Valodim )
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
_id3v2_genre () {
|
||||
|
||||
setopt localoptions extendedglob
|
||||
|
||||
local -A _id3v2_genres
|
||||
# got them cached?
|
||||
if _cache_invalid id3v2-genres || ! _retrieve_cache id3v2-genres ; then
|
||||
|
||||
# generate from id3 -L otherwise
|
||||
local tmp
|
||||
for line in ${${${(f)"$(_call_program id3v2genres id3v2 -L)"}## #}}; do
|
||||
tmp=( ${(s,: ,)line} )
|
||||
_id3v2_genres[${tmp[1]}]=$tmp[2]
|
||||
# alternate display string, which I decided against in the end
|
||||
# to preserve reasonable alphabetic sorting
|
||||
# "${(l:3:: :)${tmp[1]}}: ${tmp[2]}"
|
||||
done
|
||||
|
||||
# store if we got any
|
||||
(( $#_id3v2_genres > 0 )) && _store_cache id3v2-genres _id3v2_genres
|
||||
fi
|
||||
|
||||
# bail if we don't
|
||||
(( $#_id3v2_genres > 0 )) || { _message "could not fetch genres"; return }
|
||||
|
||||
_wanted id3v2genres expl 'Genres' \
|
||||
compadd -d _id3v2_genres -k _id3v2_genres && return 0
|
||||
|
||||
}
|
||||
|
||||
# this function assumes _id3v2_frames is defined!
|
||||
_id3v2_frame () {
|
||||
|
||||
(( $#_id3v2_frames > 0 )) || { _message "could not fetch genres"; return }
|
||||
local -a framenames
|
||||
framenames=( ${_id3v2_frames#--} )
|
||||
_describe -t framenames 'id3v2 frames' framenames
|
||||
|
||||
}
|
||||
|
||||
_id3v2 () {
|
||||
|
||||
setopt localoptions extendedglob
|
||||
|
||||
# previous word was a frame name? this is an argument, then.
|
||||
if [[ $words[$CURRENT-1] == --[A-Z](#c4) ]]; then
|
||||
_message 'frame value'
|
||||
return 0
|
||||
fi
|
||||
|
||||
# load frame names
|
||||
local -a _id3v2_frames
|
||||
if _cache_invalid id3v2-frames || ! _retrieve_cache id3v2-frames ; then
|
||||
_id3v2_frames=( ${${${(f)"$(_call_program id3v2frames id3v2 -f)"}## #}/ /:} )
|
||||
(( $#_id3v2_frames > 0 )) && _store_cache id3v2-frames _id3v2_frames
|
||||
fi
|
||||
|
||||
local ret=1
|
||||
|
||||
# if we already have a -- prefix, show all those frames
|
||||
if [[ -prefix -- ]] && (( $#_id3v2_frames > 0 )); then
|
||||
_describe -t frames 'id3v2 frames' _id3v2_frames && ret=0
|
||||
fi
|
||||
|
||||
local showfiles=''
|
||||
(( CURRENT <= 2 )) && showfiles='!'
|
||||
|
||||
# regular arguments either way
|
||||
_arguments \
|
||||
- tagging \
|
||||
'(-s --delete-v1 -d --delete-v2)'{-s,--delete-v1}'[deletes id3v1 tags]' \
|
||||
'(-s --delete-v1 -d --delete-v2)'{-d,--delete-v2}'[deletes id3v2 tags]' \
|
||||
'(-C --convert)'{-C,--convert}'[converts id3v1 tag to id3v2]' \
|
||||
'(-1 --id3v1-only -2 --id3v2-only)'{-1,--id3v1-only}'[write only id3v1 tag]' \
|
||||
'(-1 --id3v1-only -2 --id3v2-only)'{-2,--id3v2-only}'[write only id3v2 tag]' \
|
||||
'(-r --remove-frame)'{-r,--remove-frame}'[removes specified id3v2 frame]:frame id:_id3v2_frame' \
|
||||
'(-a --artist)'{-a,--artist}'[set artist]:artist' \
|
||||
'(-A --album)'{-A,--album}'[set album title]:album' \
|
||||
'(-t --song)'{-t,--song}'[set song title]:song title' \
|
||||
'(-c --comment)'{-c,--comment}'[set comment field]' \
|
||||
'(-g --genre)'{-g,--genre}'[set the genre number]:genre:_id3v2_genre' \
|
||||
'(-y --year)'{-y,--year}'[set the year]:year' \
|
||||
'(-T --track)'{-T,--track}'[set the track number/(optional) total tracks]:track number (current/total)' \
|
||||
'(-R --list-rfc822)'{-R,--list-rfc822}'[lists using an rfc822-style format for output]' \
|
||||
'(-)'{-D,--delete-all}'[deletes both id3v1 and id3v2 tags]' \
|
||||
'(-)'{-l,--list}'[lists the tag(s) on the file(s)]' \
|
||||
$showfiles'*:mp3 file:_files -g "*.mp3"' \
|
||||
- meta \
|
||||
'(- *)'{-f,--list-frames}'[display all possible frames for id3v2]' \
|
||||
'(- *)'{-L,--list-genres}'[lists all id3v1 genres]' \
|
||||
'(- *)'{-h,--help}'[display help and exit]' \
|
||||
'(- *)'{-v,--version}'[display version information and exit]' && ret=0
|
||||
|
||||
return ret
|
||||
|
||||
}
|
||||
|
||||
_id3v2 "$@"
|
247
src/_iw
247
src/_iw
|
@ -1,247 +0,0 @@
|
|||
#compdef iw
|
||||
|
||||
# Some parameters to hold patterns that will be used later.
|
||||
local xp='[[:xdigit:]][[:xdigit:]]'
|
||||
local -a bssid devices flags fouraddr fouronoff frequency high_throughput ifacename ifacetype ifacetypes
|
||||
local -a matchany matchnum key lladdr lladdrs meshid meshidval ssid value
|
||||
# matches any word
|
||||
matchany=(/$'[^\0]##\0'/)
|
||||
# matches any number
|
||||
matchnum=(/$'[[:digit:]]##\0'/)
|
||||
# matches any BSSID
|
||||
bssid=($matchany ':bssid:BSSID:')
|
||||
# matches any devices
|
||||
devices=( /$'[[:alpha:]]##[[:digit:]]##(\.[[:digit:]]##)#\0'/ ':interfaces:network_interface:_net_interfaces' )
|
||||
# matches the word 'flags' followed by a list of some of the following words: none fcsfail control otherbss cook
|
||||
flags=(/$'flags\0'/ ':flags:flags:(flags)' $matchany ':flags:flags:(none fcsfail control otherbss cook)' \#)
|
||||
# matches the word '4addr' followed by either 'on' or 'off'
|
||||
fouronoff=(/$'(on|off)\0'/ ':4addr:4addr:(on off)')
|
||||
fouraddr=( /$'4addr\0'/ ':4addr:4addr:(4addr)' $fouronoff )
|
||||
# matches any number (description is 'frequency')
|
||||
frequency=($matchnum ':freq:frequency:')
|
||||
# matches one of HT20 HT40+ or HT40-
|
||||
high_throughput=(/$'HT[0-9]##(+|-)#\0'/ ':HT:high throughput:(HT20 HT40+ HT40-)')
|
||||
# matches any name (description is 'name')
|
||||
ifacename=($matchany ':name:name:')
|
||||
# matches the word 'type' followed by one of: managed ibss monitor mesh wds
|
||||
ifacetypes=(/$'(managed|ibss|monitor|mesh|wds)\0'/ ':type:type:(managed ibss monitor mesh wds)')
|
||||
ifacetype=(/$'type\0'/ ':type:type:(type)' $ifacetypes)
|
||||
# matches any word (description is 'key')
|
||||
key=($matchany ':key:key:')
|
||||
# matches a MAC address (i.e. a sequence of six 2-digit numbers separated by spaces), $xp is defined earlier.
|
||||
lladdr=(/"${xp}:${xp}:${xp}:${xp}:${xp}:${xp}"$'\0'/ ':lladdress:link layer (MAC) address:')
|
||||
# as above but with a different description
|
||||
lladdrs=(/"${xp}:${xp}:${xp}:${xp}:${xp}:${xp}"$'\0'/ ':lladdress:link layer (MAC) addresses (use - to match any octet):' \#)
|
||||
# matches the word 'mesh_id' followed by a number
|
||||
meshidval=($matchnum ':meshid:mesh ID:')
|
||||
meshid=(/$'mesh_id\0'/ ':meshid:meshid:(mesh_id)' $meshidval)
|
||||
# matches any word (description 'SSID')
|
||||
ssid=($matchany ':ssid:SSID:')
|
||||
# matches any word (description 'value')
|
||||
value=($matchany ':val:value:')
|
||||
# matches any number (description 'value')
|
||||
numvalue=($matchnum ':val:value:')
|
||||
|
||||
# Use the _regex_words function to create a variable containing command words to go after "iw reg"
|
||||
local -a reg_cmds
|
||||
_regex_words regulatory-commands "reg command" \
|
||||
'g*et:print out the kernels current regulatory domain information'\
|
||||
's*et:notify the kernel about the current regulatory domain'
|
||||
reg_cmds=("$reply[@]")
|
||||
|
||||
# Options for to go after "iw event"
|
||||
local -a event_opts
|
||||
_regex_words event-options "event option" \
|
||||
'-t:print timestamp' \
|
||||
'-r:print relative timestamp' \
|
||||
'-f:print full frame for auth/assoc etc'
|
||||
event_opts=("$reply[@]")
|
||||
|
||||
# Commands to go after "iw phy <DEV> wowlan enable"
|
||||
local -a phy_wowlan_enable_cmds
|
||||
_regex_words phy-wowlan-enable-commands "phy WoWLAN enable commands" \
|
||||
'4*way-handshake:enable WoWLAN with 4way handshake trigger' \
|
||||
'a*ny:enable WoWLAN with any trigger' \
|
||||
'd*isconnect:enable WoWLAN with disconnect trigger' \
|
||||
'e*ap-identity-request:enable WoWLAN with EAP identity request trigger' \
|
||||
'g*tk-rekey-failure:enable WoWLAN with gtk rekey failure trigger' \
|
||||
'm*agic-packet:enable WoWLAN with magic packet trigger' \
|
||||
'p*atterns:MAC address triggers:$lladdrs' \
|
||||
'r*fkill-release:enable WoWLAN with rfkill release trigger'
|
||||
phy_wowlan_enable_cmds=("$reply[@]")
|
||||
|
||||
# Commands to go after "iw phy <DEV> wowlan"
|
||||
local -a phy_wowlan_cmds
|
||||
_regex_words phy-wowlan-commands "phy WoWLAN commands" \
|
||||
's*how:show WoWLAN status' \
|
||||
'd*isable:disable WoWLAN' \
|
||||
'e*nable:enable WoWLAN:$phy_wowlan_enable_cmds'
|
||||
phy_wowlan_cmds=("$reply[@]")
|
||||
|
||||
# Some parameters to hold patterns that will be used for "iw phy set" commands
|
||||
# (not perfect, but mostly OK).
|
||||
local -a phy_set_antenna phy_set_channel phy_set_coverage phy_set_frag phy_set_freq phy_set_distance
|
||||
local -a phy_set_name phy_set_netns phy_set_rts phy_set_txpower phy_txpower_opt
|
||||
phy_set_antenna=($matchany ':antenna:bitmap:')
|
||||
phy_set_channel=($matchnum ':channel:channel (1-14):' $high_throughput)
|
||||
phy_set_coverage=($matchnum ':coverage:coverage class (0-255):')
|
||||
phy_set_distance=($matchnum ':distance:valid values\: 0 - 114750:')
|
||||
phy_set_frag=(/$'([0-9]##|off)\0'/ ':channel:channel (1-14):(1 2 3 4 5 6 7 8 9 10 11 12 13 14 off)')
|
||||
phy_set_freq=($frequency $high_throughput)
|
||||
phy_set_name=($matchany ':name:device name:')
|
||||
phy_set_netns=($matchany ':netns:network namespace:')
|
||||
phy_set_rts=($matchnum ':rts:rts threshold:')
|
||||
phy_txpower_opt=($matchany ':txpower:tx power in mBm:')
|
||||
_regex_words phy-set-txpower "set txpower" \
|
||||
'a*uto:auto:' \
|
||||
'f*ixed:fixed:$phy_txpower_opt' \
|
||||
'l*imit:limit:$phy_txpower_opt'
|
||||
phy_set_txpower=("$reply[@]")
|
||||
|
||||
# Commands to go after "iw phy <DEV> set"
|
||||
local -a phy_set_cmds
|
||||
_regex_words phy-set-commands "phy set commands" \
|
||||
'a*ntenna:set a bitmap of allowed antennas to use for TX and RX:$phy_set_antenna' \
|
||||
'ch*annel:set channel:$phy_set_channel' \
|
||||
'co*verage:set coverage class (1 for every 3 usec of air propagation time):$phy_set_coverage' \
|
||||
'd*istance:set appropriate coverage class for given link distance in meters:$phy_set_distance' \
|
||||
'fra*g:set fragmentation threshold:$phy_set_frag' \
|
||||
'fre*q:set frequency/channel the hardware is using, including HT configuration:$phy_set_freq' \
|
||||
'na*me:rename this wireless device:$phy_set_name' \
|
||||
'ne*tns:set network namespace:$phy_set_netns' \
|
||||
'r*ts:set rts threshold:$phy_set_rts' \
|
||||
't*xpower:specify transmit power level and setting type:$phy_set_txpower'
|
||||
phy_set_cmds=("$reply[@]")
|
||||
|
||||
# Commands to go after "iw phy <DEV> interface"
|
||||
local -a phy_interface_cmds
|
||||
# This needs work (should not offer meshid, fouraddr of flags more than once, and need to accomodate multiple flag options)
|
||||
phy_interface_cmds=(\( /$'add\0'/ ':add:add a new virtual interface with the given configuration:(add)' $ifacename $ifacetype \
|
||||
\( $meshid \| $fouraddr \| $flags \) \# \))
|
||||
|
||||
# Commands to go after "iw phy <DEV>"
|
||||
local -a phy_cmds
|
||||
_regex_words phy-commands "phy command" \
|
||||
's*et:set/configure interface properties:$phy_set_cmds' \
|
||||
'inf*o:show capabilities for the specified wireless device' \
|
||||
'int*erface:add a new virtual interface with the given configuration:$phy_interface_cmds' \
|
||||
'w*owlan:WoWLAN commands:$phy_wowlan_cmds'
|
||||
phy_cmds=("$reply[@]")
|
||||
|
||||
# Parameters to hold patterns for dev commands
|
||||
local -a dev_cmds_connect dev_cmds_cqm dev_cmds_get dev_cmds_ibss dev_cmds_interface dev_cmds_mesh dev_cmds_scan_options
|
||||
local -a dev_cmds_mpath dev_cmds_offchannel dev_cmds_roc dev_cmds_scan dev_cmds_set dev_cmds_station dev_cmds_survey
|
||||
dev_cmds_connect=($ssid $frequency $bssid $key)
|
||||
dev_cmds_cqm=(/$'rssi\0'/ ':rssi:rssi:(rssi)' $matchnum ':thresh:threshold:' $matchnum ':hysteresis:hysteresis:')
|
||||
dev_cmds_get=(/$'(mesh_param|power_save)\0'/ ':get:parameter:(mesh_param power_save)' $value)
|
||||
# TODO: THIS NEEDS WORK! THE FINAL OPTIONS FOR JOIN NEED WORK
|
||||
# dev <devname> ibss join <SSID> <freq in MHz> [fixed-freq] [<fixed bssid>] [beacon-interval <TU>] [basic-rates <rate in Mbps,rate2,...>] [mcast-rate <rate in Mbps>] [key d:0:abcde]
|
||||
dev_cmds_ibss=(\( /$'leave\0'/ ':cmd:command:((leave:"Leave the IBSS cell"))' \| \( /$'join\0'/ ':cmd:command:((join\:"Join an IBSS cell"))' $ssid $frequency \( /$'fixed-freq\0'/ ':opt:option:((fixed-freq\:"fixed frequency (no args)"))' \| $bssid \| /$'beacon-interval\0'/ ':opt:option:((beacon-interval\:"beacon interval (takes single arg)"))' $numvalue \| /$'basic-rates\0'/ ':opt:option:((basic-rates\:"basic rates (comma separated list of rates)"))' $numvalue \| /$'mcast-rate\0'/ ':opt:option:((mcast-rate\:"multicast rate (takes single arg)"))' $numvalue \| $key \) \# \) \))
|
||||
dev_cmds_interface=(/$'add\0'/ ':add:add:(add)' $ifacename $ifacetype \( $meshid \| $fouraddr \| $flags \) \# )
|
||||
dev_cmds_mesh=(\( /$'leave\0'/ ':leave:leave a mesh:(leave)' \| /$'join\0'/ ':join:join a mesh:(join)' \
|
||||
$matchnum ':meshid:mesh ID:' $matchany ':parameter:mesh parameters [<param>=<value>]*:' \# \))
|
||||
dev_cmds_mpath=(\( /$'(del|get)\0'/ ':mpath:mesh path command:((del\:"remove the mesh path to the given node" \
|
||||
get\:"get information on mesh path to the given node"))' $lladdr \| /$'(new|set)\0'/ ':mpath:mesh path \
|
||||
command:((new\:"create a new mesh path (instead of relying on automatic discovery)" set\:"set an existing mesh \
|
||||
paths next hop"))' $lladdr /$'next_hop\0'/ ':nexthop:next hop:(next_hop)' $lladdr \| /$'dump\0'/ ':mpath:mesh path \
|
||||
command:((dump\:"list known mesh paths"))' \))
|
||||
dev_cmds_offchannel=($frequency $matchnum ':duration:duration:')
|
||||
dev_cmds_roc=(/$'start\0'/ ':start:start:(start)' $frequency $matchnum ':time:time:')
|
||||
dev_cmds_scan_options=(/$'freq\0'/ ':freq:freq:(freq)' $frequency $frequency \# /$'ies\0'/ ':ies:ies:(ies)' $lladdr \( /$'ssid\0'/ ':ssid:ssid:(ssid)' $ssid \# \| /$'passive\0'/ ':opt:passive:(passive)' \))
|
||||
dev_cmds_scan=(\( $dev_cmds_scan_options \| $matchany -'! [[ $match[1] =~ "dump|trigger" ]]' ':opt:option:((-u\:"include unknown data in results" \:""))' $dev_cmds_scan_options \| /$'dump\0'/ ':cmd:command:((dump\:"dump the current scan results"))' $matchany ':opt:option:((-u\:"include unknown data in results" \:""))' \| /$'trigger\0'/ ':cmd:command:((trigger\:"trigger a scan on the given frequencies with probing for the given SSIDs (or wildcard if not given) unless passive scanning is requested"))' $dev_cmds_scan_options \))
|
||||
local -a dev_cmds_set_bitrates dev_cmds_set_freq dev_cmds_set_mesh_param
|
||||
local -a dev_cmds_set_monitor dev_cmds_set_peer dev_cmds_set_power_save
|
||||
local -a dev_cmds_set_type dev_cmds_set_txpower
|
||||
# dev <devname> set bitrates [legacy-<2.4|5> <legacy rate in Mbps>*]
|
||||
dev_cmds_set_bitrates=(/$'legacy-*\0'/ ':opt:legacy:(legacy-2.4 legacy-2.5)' $matchnum ':rate:legacy rate in Mbps:')
|
||||
# dev <devname> set freq <freq> [HT20|HT40+|HT40-]
|
||||
dev_cmds_set_freq=($frequency $high_throughput)
|
||||
# dev <devname> set mesh_param <param>=<value> [<param>=<value>]*
|
||||
dev_cmds_set_mesh_param=( $matchany ':val:param=value:' \# )
|
||||
# dev <devname> set monitor <flag>*
|
||||
dev_cmds_set_monitor=( $matchany ':flag:flag:((none\:"no special flags" fcsfail\:"show frames with FCS errors"\
|
||||
control\:"show control frames" otherbss\:"show frames from other BSSes" cook\:"use cooked mode"))' \# )
|
||||
# dev <devname> set peer <MAC address>
|
||||
dev_cmds_set_peer=($lladdr)
|
||||
# dev <devname> set power_save <on|off>
|
||||
dev_cmds_set_power_save=(/$'(on|off)\0'/ ':opt:power save mode:(on off)')
|
||||
|
||||
_regex_words setcmds "dev set commands" \
|
||||
'4*addr:set interface 4addr (WDS) mode:$fouronoff'\
|
||||
'b*itrates:set/clear specified rate masks:$dev_cmds_set_bitrates'\
|
||||
'c*hannel:set channel:$phy_set_channel'\
|
||||
'f*req:set frequency:$dev_cmds_set_freq'\
|
||||
'mesh_param:set mesh parameters:$dev_cmds_set_mesh_param'\
|
||||
'meshid:set mesh id:$meshidval'\
|
||||
'mo*nitor:set monitor flags:$dev_cmds_set_monitor'\
|
||||
'pe*er:set interface WDS peer MAC address:$dev_cmds_set_peer'\
|
||||
'po*wer_save:set power save on/off:$dev_cmds_set_power_save'\
|
||||
'tx*power:set transmission power:$phy_set_txpower'\
|
||||
'ty*pe:set type:$ifacetypes'
|
||||
dev_cmds_set=("$reply[@]")
|
||||
|
||||
local -a dev_cmds_station_plink dev_cmds_station_vlan
|
||||
dev_cmds_station_plink=(/$'(open|block)\0'/ ':opt::(open block)')
|
||||
dev_cmds_station_vlan=($matchnum ':val:ifindex:')
|
||||
|
||||
local -a dev_cmds_station_set
|
||||
_regex_words stationsetcmds "dev station set commands"\
|
||||
'plink_action:set peer link action:$dev_cmds_station_plink'\
|
||||
'vlan:set AP VLAN:$dev_cmds_station_vlan'
|
||||
dev_cmds_station_set=(\( $lladdr \) "$reply[@]")
|
||||
|
||||
_regex_words stationcmds "dev station commands" \
|
||||
'del:remove the given station entry (use with caution!):$lladdr'\
|
||||
'dump:list all stations known, e.g. the AP on managed interfaces:'\
|
||||
'get:get information for a specific station:$lladdr'\
|
||||
'set:set AP VLAN or mesh peer link action:$dev_cmds_station_set'
|
||||
dev_cmds_station=("$reply[@]")
|
||||
|
||||
dev_cmds_survey=(/$'dump\0'/ ':dump:list all gathered channel survey data:(dump)')
|
||||
|
||||
local -a dev_cmds
|
||||
_regex_words dev-commands "dev commands" \
|
||||
'co*nnect:join a network:$dev_cmds_connect' \
|
||||
'cq*m:set connection quality monitor RSSI threshold:$dev_cmds_cqm' \
|
||||
'de*l:remove this virtual interface' \
|
||||
'di*sconnect:disconnect from the current network' \
|
||||
'g*et:retrieve mesh parameter / power save state:$dev_cmds_get' \
|
||||
'ib*ss:join/leave IBSS cell:$dev_cmds_ibss' \
|
||||
'inf*o:show information for this interface' \
|
||||
'int*erface:add an interface:$dev_cmds_interface' \
|
||||
'l*ink:print information about the current link, if any' \
|
||||
'me*sh:join/leave a mesh:$dev_cmds_mesh' \
|
||||
'mp*ath:mesh path commands:$dev_cmds_mpath' \
|
||||
'o*ffchannel:leave operating channel and go to the given channel for a while:$dev_cmds_offchannel' \
|
||||
'r*oc:roc:$dev_cmds_roc' \
|
||||
'sc*an:scan:$dev_cmds_scan' \
|
||||
'se*t:set interface parameter:$dev_cmds_set' \
|
||||
'st*ation:station commands:$dev_cmds_station' \
|
||||
'su*rvey:list all gathered channel survey data:$dev_cmds_survey'
|
||||
dev_cmds=( $devices "$reply[@]")
|
||||
|
||||
# Arguments to _regex_arguments, built up in array $args.
|
||||
local -a args reply
|
||||
# Command word. Don't care what that is.
|
||||
args=( $matchany )
|
||||
|
||||
local -a phydevs
|
||||
phy_devs=( \( $(iw list|grep '^[[:alnum:]]\+'|cut -f 2 -d ' ') \) )
|
||||
phy_cmds=( \( $matchany ":test:test:$phy_devs[*]" \) "$phy_cmds[@]" )
|
||||
|
||||
_regex_words commands "iw command" \
|
||||
'd*ev:commands to control/list the software devices:$dev_cmds' \
|
||||
'e*vent:monitor events from the kernel:$event_opts' \
|
||||
'h*elp:print usage for each command' \
|
||||
'l*ist:list all wireless devices and their capabilities' \
|
||||
'p*hy:commands to control the physical device:$phy_cmds' \
|
||||
'r*eg:get/set regulatory domain:$reg_cmds'
|
||||
args+=("$reply[@]")
|
||||
|
||||
_regex_arguments _iw "${args[@]}"
|
||||
|
||||
_iw "$@"
|
||||
|
||||
# Local Variables:
|
||||
# mode:shell-script
|
||||
# End:
|
145
src/_jekyll
145
src/_jekyll
|
@ -1,145 +0,0 @@
|
|||
#compdef jekyll
|
||||
# ------------------------------------------------------------------------------
|
||||
# Description
|
||||
# -----------
|
||||
#
|
||||
# Completion script for jekyll(http://jekyllrb.com)
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
# Authors
|
||||
# -------
|
||||
#
|
||||
# * farseer90718 (https://github.com/farseer90718)
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
local ret=1 state
|
||||
|
||||
local -a common_ops
|
||||
common_ops=(
|
||||
{-v,--version}"[Display version information]"
|
||||
{-h,--help}"[Display help documentation]"
|
||||
{-p,--plugins}"[Plugins directory (defautls to ./_plugins)]: :_directories"
|
||||
{-s,--source}"[Source directory (defaults to ./)]: :_directories"
|
||||
{-d,--destination}"[Destination directory (defautls to ./_site)]: :_directories"
|
||||
"--layouts=[Layouts directory (defaults to ./_layouts)]: :_directories"
|
||||
"--safe=[Safe mode (defaults to false)]"
|
||||
)
|
||||
|
||||
typeset -A opt_args
|
||||
_arguments \
|
||||
':subcommand:->subcommand' \
|
||||
$common_ops \
|
||||
'*::options:->options' && ret=0
|
||||
|
||||
case $state in
|
||||
subcommand)
|
||||
local -a subcommands
|
||||
subcommands=(
|
||||
"build:Build your site"
|
||||
"docs:Launch local server with docs for jekyll"
|
||||
"doctor:Search site and print specific deprecation warnings"
|
||||
"help:Display global or [command] help documentation"
|
||||
"import:Import your old blog to Jekyll"
|
||||
"new:Creates a new Jekyll site scaffold in PATH"
|
||||
"serve:Serve your site locally"
|
||||
)
|
||||
|
||||
_describe -t subcommands 'jekyll subcommand' subcommands && ret=0
|
||||
;;
|
||||
|
||||
options)
|
||||
local -a args
|
||||
args=(
|
||||
$common_ops
|
||||
)
|
||||
|
||||
local -a config
|
||||
config=(
|
||||
"--config[Custom configuration file]: :_files"
|
||||
)
|
||||
local -a help
|
||||
help=(
|
||||
{-h,--help}"[Display help information]"
|
||||
)
|
||||
local -a build
|
||||
build=(
|
||||
{-w,--watch}"[Watch for changes and rebuild]"
|
||||
"--limit_posts[Limits the number of posts to parse and publish]"
|
||||
"--future[Publishes posts with a future date]"
|
||||
"--lsi[Use LSI for improved related posts]"
|
||||
"--drafts[Render posts in the _drafts folder]"
|
||||
)
|
||||
|
||||
case $words[1] in
|
||||
help)
|
||||
args=()
|
||||
compadd "$@" build docs doctor help import new serve
|
||||
;;
|
||||
|
||||
build)
|
||||
args+=(
|
||||
$build
|
||||
$config
|
||||
)
|
||||
;;
|
||||
|
||||
docs)
|
||||
args=(
|
||||
{-p,--port}"[Port to listen on]: :_ports"
|
||||
{-u,--host}"[Host to bind to]: :_hosts"
|
||||
$help
|
||||
)
|
||||
;;
|
||||
|
||||
doctor)
|
||||
args+=(
|
||||
$config
|
||||
)
|
||||
;;
|
||||
|
||||
import)
|
||||
args=(
|
||||
"--source[Source file or URL to migrate from]:url"
|
||||
"--file[File to migrate from]: :_files"
|
||||
"--dbname[Database name to migrate from]:database"
|
||||
"--user[Username to use when migrating]:user"
|
||||
"--pass[Password to use when migrating]:password"
|
||||
"--host[Host address to use when migrating]:url"
|
||||
$help
|
||||
)
|
||||
;;
|
||||
|
||||
new)
|
||||
args=(
|
||||
": :_directories"
|
||||
"--force[Force creation even if PATH already exists]"
|
||||
"--blank[Creates scaffolding but with empty files]"
|
||||
$help
|
||||
)
|
||||
;;
|
||||
|
||||
serve)
|
||||
args+=(
|
||||
$build
|
||||
$config
|
||||
{-P,--port}"[Port to listen on]: :_posts"
|
||||
{-H,--host}"[Host to bind to]: :_hosts"
|
||||
{-b,--baseurl}"[Base URL]:url"
|
||||
)
|
||||
|
||||
esac
|
||||
|
||||
_arguments $args && ret=0
|
||||
;;
|
||||
esac
|
||||
|
||||
return ret
|
||||
|
||||
# Local Variables:
|
||||
# mode: Shell-Script
|
||||
# sh-indentation: 2
|
||||
# indent-tabs-mode: nil
|
||||
# sh-basic-offset: 2
|
||||
# End:
|
||||
# vim: ft=zsh sw=2 ts=2 et
|
62
src/_lein
62
src/_lein
|
@ -1,62 +0,0 @@
|
|||
#compdef lein
|
||||
# ------------------------------------------------------------------------------
|
||||
# Description
|
||||
# -----------
|
||||
#
|
||||
# Completion script for Leiningen (https://github.com/technomancy/leiningen)
|
||||
#
|
||||
# Source: https://github.com/technolize/zsh-completion-funcs
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
# Authors
|
||||
# -------
|
||||
#
|
||||
# * technolize (https://github.com/technolize)
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
local ret=1 state
|
||||
_arguments ':subcommand:->subcommand' && ret=0
|
||||
|
||||
case $state in
|
||||
subcommand)
|
||||
subcommands=(
|
||||
"check:Check syntax and warn on reflection."
|
||||
"classpath:Print the classpath of the current project."
|
||||
"clean:Remove all files from project's target-path."
|
||||
"compile:Compile Clojure source into .class files."
|
||||
"deploy:Build and deploy jar to remote repository."
|
||||
"deps:Download all dependencies."
|
||||
"do:Higher-order task to perform other tasks in succession."
|
||||
"help:Display a list of tasks or help for a given task."
|
||||
"install:Install the current project to the local repository."
|
||||
"jack-in:Jack in to a Clojure SLIME session from Emacs."
|
||||
"jar:Package up all the project's files into a jar file."
|
||||
"javac:Compile Java source files."
|
||||
"new:Generate project scaffolding based on a template."
|
||||
"pom:Write a pom.xml file to disk for Maven interoperability."
|
||||
"pprint:Pretty-print a representation of the project map."
|
||||
"repl:Start a repl session either with the current project or standalone."
|
||||
"retest:Run only the test namespaces which failed last time around."
|
||||
"run:Run a -main function with optional command-line arguments."
|
||||
"search:Search remote maven repositories for matching jars."
|
||||
"show-profiles:List all available profiles or display one if given an argument."
|
||||
"test:Run the project's tests."
|
||||
"trampoline:Run a task without nesting the project's JVM inside Leiningen's."
|
||||
"uberjar:Package up the project files and dependencies into a jar file."
|
||||
"upgrade:Upgrade Leiningen to specified version or latest stable."
|
||||
"version:Print version for Leiningen and the current JVM."
|
||||
"with-profile:Apply the given task with the profile(s) specified."
|
||||
)
|
||||
_describe -t subcommands 'leiningen subcommands' subcommands && ret=0
|
||||
esac
|
||||
|
||||
return ret
|
||||
|
||||
# Local Variables:
|
||||
# mode: Shell-Script
|
||||
# sh-indentation: 2
|
||||
# indent-tabs-mode: nil
|
||||
# sh-basic-offset: 2
|
||||
# End:
|
||||
# vim: ft=zsh sw=2 ts=2 et
|
61
src/_logger
61
src/_logger
|
@ -1,61 +0,0 @@
|
|||
#compdef logger
|
||||
# ------------------------------------------------------------------------------
|
||||
# Description
|
||||
# -----------
|
||||
#
|
||||
# Completion script for logger (from bsdutils).
|
||||
#
|
||||
# Last updated: 26.02.2013
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
# Authors
|
||||
# -------
|
||||
#
|
||||
# * Valodim ( https://github.com/Valodim )
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
|
||||
_logger_priority() {
|
||||
local expl
|
||||
|
||||
if compset -P '*.'; then
|
||||
# hidden aliases.. not quite sure how this is supposed to work :\
|
||||
# compadd -n panic warning error
|
||||
|
||||
# just this one tag
|
||||
_wanted priority expl "Priority" \
|
||||
compadd -- debug info notice warn err crit alert emerg
|
||||
return 0
|
||||
fi
|
||||
|
||||
_wanted facility expl "Facility" \
|
||||
compadd -S '.' -- kern user mail daemon auth syslog lpr news \
|
||||
uucp cron security ftp ntp logaudit logalert clock \
|
||||
local0 local1 local2 local3 local4 local5 local6 local7
|
||||
return 0
|
||||
|
||||
}
|
||||
|
||||
_logger() {
|
||||
|
||||
local curcontext="$curcontext" state line
|
||||
typeset -A opt_args
|
||||
|
||||
_arguments -C -S -s \
|
||||
{-d,--udp}'[use UDP (TCP is default)]' \
|
||||
{-i,--id}'[log the process ID too]' \
|
||||
{-f,--file}'[log the contents of this file]:Logfile:_files' \
|
||||
'(-)'{-h,--help}'[display this help text and exit]' \
|
||||
{-n,--server}'[write to this remote syslog server]:Server:_hosts' \
|
||||
{-P,--port}'[use this UDP port]:UDP Port' \
|
||||
{-p,--priority}'[mark given message with this priority]:Priority:_logger_priority' \
|
||||
{-s,--stderr}'[output message to standard error as well]' \
|
||||
{-t,--tag}'[mark every line with this tag]:Tag' \
|
||||
{-u,--socket}'[write to this Unix socket]:Socket:_files -W *(=)' \
|
||||
'(-)'{-V,--version}'[output version information and exit]' \
|
||||
'*:Message:' && return 0
|
||||
|
||||
}
|
||||
|
||||
_logger "$@"
|
314
src/_lunar
314
src/_lunar
|
@ -1,314 +0,0 @@
|
|||
#compdef lunar lin lrm lvu
|
||||
# ------------------------------------------------------------------------------
|
||||
# Description
|
||||
# -----------
|
||||
#
|
||||
# Completion script for Lunar (http://www.lunar-linux.org)
|
||||
#
|
||||
# Source: https://github.com/Valodim/lunar-zsh-completion
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
# Authors
|
||||
# -------
|
||||
#
|
||||
# * Valodim (https://github.com/Valodim)
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
|
||||
# completion for lunar itself (different name, see below)
|
||||
_lunar_comp() {
|
||||
local suf ret=1 curcontext="$curcontext"
|
||||
local -a vals state line expl
|
||||
|
||||
# regular arguments, this will probably just hand down to the * command below
|
||||
_arguments -C \
|
||||
'(- :)-d[Enables debug messages]' \
|
||||
'(- :)-h[Display help text]' \
|
||||
'(- :)-v[Increases the level of message output]' \
|
||||
'*::command:->command' && return 0
|
||||
|
||||
# complete the first word, ie. subcommand
|
||||
if (( CURRENT == 1 )); then
|
||||
local -a lunar_commands
|
||||
# all lunar subcommands
|
||||
lunar_commands=(
|
||||
'prune:Removes old sources and install/compile logs'
|
||||
'renew:Checks ver. against moonbase & recompiles if necessary'
|
||||
'update:Fetches latest moonbase and then does a "renew"'
|
||||
'rebuild:Recompiles all installed modules'
|
||||
'optimize:Shortcut to the optimization menu'
|
||||
'fix:Check and fix all modules and internal state of lunar'
|
||||
'nofix:Check but do not fix modules and internal state'
|
||||
'fixdepends:Check and fix the dependency database of lunar'
|
||||
'set:Check internal variable(s) and assign their values'
|
||||
'unset:Unsets an internal variable'
|
||||
'resurrect:Force modulename(s) to be unpacked from /var/cache'
|
||||
'install:Install a checklist of modules'
|
||||
'remove:Remove a checklist of modules'
|
||||
'hold:Place a hold on a checklist of modules'
|
||||
'unhold:Remove a hold on a checklist of modules'
|
||||
'exile:Remove a module a/o prevent it from being resurrected'
|
||||
'unexile:Allows a module to be compiled|resurrected again')
|
||||
|
||||
# just show the commands with description
|
||||
_describe -t commands 'lunar command' lunar_commands && ret=0
|
||||
return ret
|
||||
else
|
||||
|
||||
# at this point, we have to decide what to complete for specific subcommands
|
||||
|
||||
# make a list of subcommands with no further arguments for later
|
||||
local -a lunar_no_args
|
||||
lunar_no_args=( prune renew update rebuild optimize fix nofix fixdepends )
|
||||
|
||||
# update the current context
|
||||
curcontext="${curcontext%:*:*}:lunar-$words[1]:"
|
||||
# if there is a specific function of the form _lunar-subcommand
|
||||
if (( $+functions[_lunar-$words[1]] )); then
|
||||
# call that for completion
|
||||
_call_function ret _lunar-$words[1]
|
||||
elif [[ -n "${lunar_no_args[(r)${words[1]}]}" ]]; then
|
||||
# all commands from the array above take no further arguments
|
||||
_message "lunar ${words[1]} requires no arguments"
|
||||
else
|
||||
# by default, complete modules
|
||||
_lunar_modules
|
||||
fi
|
||||
return ret
|
||||
fi
|
||||
}
|
||||
|
||||
# specific completion for lunar set
|
||||
_lunar-set() {
|
||||
# second argument: all lunar variables
|
||||
if (( CURRENT == 2 )); then
|
||||
local vars
|
||||
vars=( ${(f)"$(cat /var/lib/lunar/unset.sh | cut -d' ' -f2)"} )
|
||||
_describe -t modules 'lunar variable' vars && return 0
|
||||
# third argument: some value
|
||||
elif (( CURRENT == 3 )); then
|
||||
_message "value"
|
||||
# no further argument
|
||||
else
|
||||
_message "no further arguments"
|
||||
fi
|
||||
}
|
||||
|
||||
_lunar-unset() {
|
||||
local vars
|
||||
vars=( ${(f)"$(cat /var/lib/lunar/unset.sh | cut -d' ' -f2)"} )
|
||||
_describe -t modules 'lunar variable' vars && return 0
|
||||
}
|
||||
|
||||
_lunar-unhold() {
|
||||
local vals
|
||||
vals=( ${(f)"$(lvu held | sort | uniq)"} )
|
||||
_describe -t modules 'held modules' vals && return 0
|
||||
}
|
||||
|
||||
_lunar-unexile() {
|
||||
local vals
|
||||
vals=( ${(f)"$(lvu exiled | sort | uniq)"} )
|
||||
_describe -t modules 'exiled modules' vals && return 0
|
||||
}
|
||||
|
||||
_lrm() {
|
||||
_arguments \
|
||||
'(-d --debug)'{-d,--debug}'[Enables debug messages]' \
|
||||
'(-D --downgrade)'{-D,--downgrade}'[downgrades a module]:module:_lunar_modules:version' \
|
||||
'(-h --help)'{-h,--help}'[Displays this help text]' \
|
||||
'(-k --keepconfig)'{-k,--keepconfig}'[remove module(s) but keep dependencies and config]' \
|
||||
'(-n --nosustain)'{-n,--nosustain}'[removes module(s) even if they are sustained]' \
|
||||
'(-u --upgrade)'{-u,--upgrade}'[remove the module but do not run scripts etc.]' \
|
||||
'(-v --verbose)'{-v,--verbose}'[Increases the level of message output]' \
|
||||
'(-p --purge)'{-p,--purge}'[Delete all modules that depend on the module(s) being removed as well]' \
|
||||
'*:module:_lunar_installed_modules' && return 0
|
||||
}
|
||||
|
||||
_lin() {
|
||||
_arguments \
|
||||
'(-c --compile)'{-c,--compile}'[Ignore /var/cache/lunar and compiles]' \
|
||||
'(-d --debug)'{-d,--debug}'[Enables debug messages]' \
|
||||
'--deps[Configure modules and determine dependencies]' \
|
||||
'(-f --from)'{-f,--from}'[Specify an alternate for /var/spool/lunar]:directory:_files -/' \
|
||||
'(-h --help)'{-h,--help}'[Displays help text]' \
|
||||
'--opts[Add custom configure options to the module]:configure option string' \
|
||||
'(-p --probe)'{-p,--probe}'[Only lin if not already installed]' \
|
||||
'(-r --reconfigure)'{-r,--reconfigure}'[Select new dependencies for modules]' \
|
||||
'(-R --resurrect)'{-R,--resurrect}'[Force to be unpacked from /var/cache/lunar]' \
|
||||
'(-s --silent)'{-s,--silent}'[Decreases the level of message output]' \
|
||||
'(-v --verbose)'{-v,--verbose}'[Increases the level of message output]' \
|
||||
'(-w --want)'{-w,--want}'[Try to install a different version]:wanted version' \
|
||||
'*:module:_lunar_modules' && return 0
|
||||
}
|
||||
|
||||
# completion for lvu, very similar to the lunar one above (therefore uncommented)
|
||||
_lvu() {
|
||||
local suf ret=1 curcontext="$curcontext"
|
||||
local -a vals state line expl
|
||||
|
||||
_arguments -C \
|
||||
'(- :)-d[Enables debug messages]' \
|
||||
'(- :)-h[Display help text]' \
|
||||
'(- :)-v[Increases the level of message output]' \
|
||||
'*::command:->command' && return 0
|
||||
|
||||
if (( CURRENT == 1 )); then
|
||||
local -a lvu_commands
|
||||
lvu_commands=(
|
||||
'what:display a module''s description'
|
||||
'short:display a module''s short description'
|
||||
'where:display a module''s section'
|
||||
'cd:change directory to module and execs a new shell'
|
||||
'alien:discover untracked files'
|
||||
'from:discover what installed a given file'
|
||||
'leafs:display installed modules that have no explicit dependencies on them'
|
||||
'orphans:display installed modules that are missing dependencies'
|
||||
'conflicts:display conflicting files'
|
||||
'held:display held modules'
|
||||
'exiled:display exiled modules'
|
||||
'expired:display a list of modules which need an update'
|
||||
'info:display terse summary information about module'
|
||||
'search:searches all modules long descriptions for phrase.'
|
||||
'service:displays modules that provide that service'
|
||||
'website:display a module''s website'
|
||||
'install:display an install log'
|
||||
'size:find and show installed size of a module or ALL (slow)'
|
||||
'installed:display installed modules/version of module'
|
||||
'compile:display a compile log'
|
||||
'compiler:display the compiler version used'
|
||||
'links:display a list of modules that this module links to'
|
||||
'sources:display source files for a module'
|
||||
'urls:display all URLs for a module'
|
||||
'maintainer:display maintainer for a module'
|
||||
'version:display version of module in moonbase'
|
||||
'new:attempt to create a new module from scratch'
|
||||
'edit:copy a module to zlocal for editing'
|
||||
'diff:view changes on edited module'
|
||||
'submit:attempt to submit a module to the lunar ML'
|
||||
'unedit:delete zlocal copy of a module'
|
||||
'sum:display checksums'
|
||||
'md5sum:display md5sums'
|
||||
'export:make snapshot of box''s configuration.'
|
||||
'import:restores an exported snapshot.'
|
||||
'section:display moonbase sections'
|
||||
'moonbase:display text listing of the moonbase'
|
||||
'html:display html listing of the moonbase'
|
||||
'updatelog:display summary log of previous lunar update'
|
||||
'activity:display main log file'
|
||||
'newer:display available modules newer than Aug 01, 2003'
|
||||
'older:display modules installed before Jan 01, 2003'
|
||||
'voyeur:peak into module compilation'
|
||||
'pam:display installed modules that are Linux-PAM aware'
|
||||
'depends:displays installed modules that explicitly or recursively depend on this module.'
|
||||
'tree:displays a tree of the module''s dependencies'
|
||||
'stree:same as ''tree'' but highly abbreviated'
|
||||
'eert:same as ''tree'' but reverse and installed deps only'
|
||||
'leert:full reverse dependency tree')
|
||||
|
||||
_describe -t commands 'lvu command' lvu_commands && ret=0
|
||||
|
||||
return ret
|
||||
elif (( CURRENT == 2 )); then
|
||||
local -a lvu_no_args
|
||||
lvu_no_args=( alien leafs orphans conflicts held exiled expired export moonbase html updatelog pam )
|
||||
|
||||
curcontext="${curcontext%:*:*}:lvu-$words[1]:"
|
||||
if (( $+functions[_lvu-$words[1]] )); then
|
||||
_call_function ret _lvu-$words[1]
|
||||
elif [[ -n "${lvu_no_args[(r)${words[1]}]}" ]]; then
|
||||
_message "lvu ${words[1]} requires no arguments"
|
||||
else
|
||||
_lunar_modules
|
||||
fi
|
||||
return ret
|
||||
else
|
||||
_message "No further arguments"
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
_lvu-service() {
|
||||
_alternative \
|
||||
'service:service name:_lvu-service-service' \
|
||||
'port:port number:_guard "[0-9]#" "port number"'
|
||||
}
|
||||
|
||||
_lvu-service-service() {
|
||||
local vals
|
||||
vals=( ${(f)"$(cat /etc/services | grep -E -o '^(\w+)' | sort | uniq)"} )
|
||||
_describe -t modules 'service' vals && return 0
|
||||
}
|
||||
|
||||
_lvu-diff() {
|
||||
local vals
|
||||
vals=( /var/lib/lunar/moonbase/zlocal/*(/:t) )
|
||||
_describe -t modules 'moonbase module from zlocal' vals && return 0
|
||||
}
|
||||
|
||||
_lvu-unedit() {
|
||||
local vals
|
||||
vals=( /var/lib/lunar/moonbase/zlocal/*(/:t) )
|
||||
_describe -t modules 'moonbase module from zlocal' vals && return 0
|
||||
}
|
||||
|
||||
_lvu-newer() {
|
||||
_message "date string"
|
||||
}
|
||||
|
||||
_lvu-older() {
|
||||
_message "date string"
|
||||
}
|
||||
|
||||
_lvu-import() {
|
||||
_files
|
||||
}
|
||||
|
||||
_lvu-from() {
|
||||
_files
|
||||
}
|
||||
|
||||
_lvu-new() {
|
||||
_message "module name"
|
||||
}
|
||||
|
||||
_lvu-search() {
|
||||
_message "search string"
|
||||
}
|
||||
|
||||
# specific completion for moonbase modules
|
||||
_lunar_modules() {
|
||||
local vals
|
||||
vals=( /var/lib/lunar/moonbase/*/*(/:t) )
|
||||
_describe -t modules 'moonbase module' vals && return 0
|
||||
}
|
||||
|
||||
# specific completion for moonbase modules
|
||||
_lunar_installed_modules() {
|
||||
local vals
|
||||
vals=( ${(f)"$(lvu installed | cut -d':' -f1)"} )
|
||||
_describe -t modules 'moonbase installed module' vals && return 0
|
||||
}
|
||||
|
||||
# hub function called for completion
|
||||
_lunar() {
|
||||
# decide which completion to use
|
||||
case "$service" in
|
||||
lin) _lin "$@";;
|
||||
lrm) _lrm "$@";;
|
||||
lvu) _lvu "$@";;
|
||||
lunar) _lunar_comp "$@";;
|
||||
*) _message "unknown command $service";;
|
||||
esac
|
||||
}
|
||||
|
||||
_lunar "$@"
|
||||
|
||||
# Local Variables:
|
||||
# mode: Shell-Script
|
||||
# sh-indentation: 2
|
||||
# indent-tabs-mode: nil
|
||||
# sh-basic-offset: 2
|
||||
# End:
|
||||
# vim: ft=zsh sw=2 ts=2 et
|
276
src/_manage.py
276
src/_manage.py
|
@ -1,276 +0,0 @@
|
|||
#compdef manage.py django-admin.py
|
||||
# ------------------------------------------------------------------------------
|
||||
# Description
|
||||
# -----------
|
||||
#
|
||||
# Completion script for Django's manage.py (https://www.djangoproject.com).
|
||||
#
|
||||
# Source: https://github.com/technolize/zsh-completion-funcs
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
# Authors
|
||||
# -------
|
||||
#
|
||||
# * technolize (https://github.com/technolize)
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
|
||||
_managepy-cleanup(){}
|
||||
_managepy-compilemessages(){}
|
||||
|
||||
_managepy-createcachetable(){
|
||||
_arguments -s : \
|
||||
$nul_args && ret=0
|
||||
}
|
||||
|
||||
_managepy-dbshell(){
|
||||
_arguments -s : \
|
||||
$nul_args && ret=0
|
||||
}
|
||||
|
||||
_managepy-diffsettings(){
|
||||
_arguments -s : \
|
||||
$nul_args && ret=0
|
||||
}
|
||||
|
||||
_managepy-dumpdata(){
|
||||
_arguments -s : \
|
||||
'--format=-[specifies the output serialization format for fixtures.]:format:(json yaml xml)' \
|
||||
'--indent=-[specifies the indent level to use when pretty-printing output.]:' \
|
||||
$nul_args \
|
||||
'*::appname:_applist' && ret=0
|
||||
}
|
||||
|
||||
_managepy-flush(){
|
||||
_arguments -s : \
|
||||
'--verbosity=-[verbosity level; 0=minimal output, 1=normal output, 2=all output.]:Verbosity:((0\:minimal 1\:normal 2\:all))' \
|
||||
'--noinput[tells Django to NOT prompt the user for input of any kind.]' \
|
||||
$nul_args && ret=0
|
||||
}
|
||||
|
||||
_managepy-help(){
|
||||
_arguments -s : \
|
||||
'*:command:_managepy_cmds' \
|
||||
$nul_args && ret=0
|
||||
}
|
||||
|
||||
_managepy_cmds(){
|
||||
local line
|
||||
local -a cmd
|
||||
_call_program help-command ./manage.py help \
|
||||
|& sed -n '/^ /s/[(), ]/ /gp' \
|
||||
| while read -A line; do cmd=($line $cmd) done
|
||||
_describe -t managepy-command 'manage.py command' cmd
|
||||
}
|
||||
|
||||
_managepy-inspectdb(){
|
||||
_arguments -s : \
|
||||
$nul_args && ret=0
|
||||
}
|
||||
|
||||
_managepy-loaddata(){
|
||||
_arguments -s : \
|
||||
'--verbosity=-[verbosity level; 0=minimal output, 1=normal output, 2=all output.]:Verbosity:((0\:minimal 1\:normal 2\:all))' \
|
||||
'*::file:_files' \
|
||||
$nul_args && ret=0
|
||||
}
|
||||
|
||||
_managepy-makemessages(){}
|
||||
|
||||
_managepy-reset(){
|
||||
_arguments -s : \
|
||||
'--noinput[tells Django to NOT prompt the user for input of any kind.]' \
|
||||
'*::appname:_applist' \
|
||||
$nul_args && ret=0
|
||||
}
|
||||
|
||||
_managepy-runfcgi(){
|
||||
local state
|
||||
|
||||
local fcgi_opts
|
||||
fcgi_opts=(
|
||||
'protocol[fcgi, scgi, ajp, ... (default fcgi)]:protocol:(fcgi scgi ajp)'
|
||||
'host[hostname to listen on..]:'
|
||||
'port[port to listen on.]:'
|
||||
'socket[UNIX socket to listen on.]::file:_files'
|
||||
'method[prefork or threaded (default prefork)]:method:(prefork threaded)'
|
||||
'maxrequests[number of requests a child handles before it is killed and a new child is forked (0 = no limit).]:'
|
||||
'maxspare[max number of spare processes / threads.]:'
|
||||
'minspare[min number of spare processes / threads.]:'
|
||||
'maxchildren[hard limit number of processes / threads.]:'
|
||||
'daemonize[whether to detach from terminal.]:boolean:(False True)'
|
||||
'pidfile[write the spawned process-id to this file.]:file:_files'
|
||||
'workdir[change to this directory when daemonizing.]:directory:_files'
|
||||
'outlog[write stdout to this file.]:file:_files'
|
||||
'errlog[write stderr to this file.]:file:_files'
|
||||
)
|
||||
|
||||
_arguments -s : \
|
||||
$nul_args \
|
||||
'*: :_values "FCGI Setting" $fcgi_opts' && ret=0
|
||||
}
|
||||
|
||||
_managepy-runserver(){
|
||||
_arguments -s : \
|
||||
'--noreload[tells Django to NOT use the auto-reloader.]' \
|
||||
'--adminmedia[specifies the directory from which to serve admin media.]:directory:_files' \
|
||||
$nul_args && ret=0
|
||||
}
|
||||
|
||||
_managepy-shell(){
|
||||
_arguments -s : \
|
||||
'--plain[tells Django to use plain Python, not IPython.]' \
|
||||
$nul_args && ret=0
|
||||
}
|
||||
|
||||
_managepy-sql(){}
|
||||
_managepy-sqlall(){}
|
||||
_managepy-sqlclear(){}
|
||||
_managepy-sqlcustom(){}
|
||||
_managepy-sqlflush(){}
|
||||
_managepy-sqlindexes(){}
|
||||
_managepy-sqlinitialdata(){}
|
||||
_managepy-sqlreset(){}
|
||||
_managepy-sqlsequencereset(){}
|
||||
_managepy-startapp(){}
|
||||
|
||||
_managepy-startproject(){
|
||||
_arguments -s : \
|
||||
"(-v --verbosity)"{-v,--verbosity}"[Verbosity level; 0=minimal output, 1=normal output, 2=verbose output, 3=very verbose output.]:Verbosity:((0\:minimal 1\:normal 2\:verbose 4\:very\ verbose))" \
|
||||
'--template[The path or URL to load the template from.]:file:_files' \
|
||||
"(-e --extension)"{-e,--extension}"[The file extension(s) to render (default: "py"). Separate multiple extensions with commas, or use -e multiple times.]" \
|
||||
"(-n --name)"{-n,--name}"[The file name(s) to render. Separate multiple extensions with commas, or use -n multiple times. --version show program\'s version number and exit]:file:_files" \
|
||||
$nul_args \
|
||||
'*::args:_gnu_generic'
|
||||
}
|
||||
|
||||
_managepy-syncdb() {
|
||||
_arguments -s : \
|
||||
'--verbosity=-[verbosity level; 0=minimal output, 1=normal output, 2=all output.]:Verbosity:((0\:minimal 1\:normal 2\:all))' \
|
||||
'--noinput[tells Django to NOT prompt the user for input of any kind.]' \
|
||||
$nul_args && ret=0
|
||||
}
|
||||
|
||||
_managepy-test() {
|
||||
_arguments -s : \
|
||||
'--verbosity=-[verbosity level; 0=minimal output, 1=normal output, 2=all output.]:Verbosity:((0\:minimal 1\:normal 2\:all))' \
|
||||
'--noinput[tells Django to NOT prompt the user for input of any kind.]' \
|
||||
'*::appname:_applist' \
|
||||
$nul_args && ret=0
|
||||
}
|
||||
|
||||
_managepy-testserver() {
|
||||
_arguments -s : \
|
||||
'--verbosity=-[verbosity level; 0=minimal output, 1=normal output, 2=all output.]:Verbosity:((0\:minimal 1\:normal 2\:all))' \
|
||||
'--addrport=-[port number or ipaddr:port to run the server on.]' \
|
||||
'*::fixture:_files' \
|
||||
$nul_args && ret=0
|
||||
}
|
||||
|
||||
_managepy-validate() {
|
||||
_arguments -s : \
|
||||
$nul_args && ret=0
|
||||
}
|
||||
|
||||
_managepy-changepassword(){}
|
||||
_managepy-createsuperuser(){}
|
||||
_managepy-collectstatic(){}
|
||||
_managepy-findstatic(){}
|
||||
|
||||
_managepy-commands() {
|
||||
local -a commands
|
||||
|
||||
commands=(
|
||||
'cleanup:Can be run as a cronjob or directly to clean out old data from the database (only expired sessions at the moment).'
|
||||
'compilemessages:Compiles .po files to .mo files for use with builtin gettext support.'
|
||||
'createcachetable:creates the table needed to use the SQL cache backend.'
|
||||
'dbshell:runs the command-line client for the current DATABASE_ENGINE.'
|
||||
"diffsettings:displays differences between the current settings.py and Django's default settings."
|
||||
'dumpdata:Output the contents of the database as a fixture of the given format.'
|
||||
'flush:Executes ``sqlflush`` on the current database.'
|
||||
'help:manage.py help.'
|
||||
'inspectdb:Introspects the database tables in the given database and outputs a Django model module.'
|
||||
'loaddata:Installs the named fixture(s) in the database.'
|
||||
'makemessages:Runs over the entire source tree of the current directory and pulls out all strings marked for translation.'
|
||||
'makemigrations:Creates new migrations based on the changes detected to your models.'
|
||||
'migrate:Synchronizes the database state with the current set of models and migrations.'
|
||||
'reset:Executes ``sqlreset`` for the given app(s) in the current database.'
|
||||
'runfcgi:Run this project as a fastcgi (or some other protocol supported by flup) application,'
|
||||
'runserver:Starts a lightweight Web server for development.'
|
||||
'shell:Runs a Python interactive interpreter.'
|
||||
'showmigrations:Shows all migrations in a project.'
|
||||
'sql:Prints the CREATE TABLE SQL statements for the given app name(s).'
|
||||
'sqlall:Prints the CREATE TABLE, custom SQL and CREATE INDEX SQL statements for the given model module name(s).'
|
||||
'sqlclear:Prints the DROP TABLE SQL statements for the given app name(s).'
|
||||
'sqlcustom:Prints the custom table modifying SQL statements for the given app name(s).'
|
||||
'sqldropindexes:Prints the DROP INDEX SQL statements for the given app name(s).'
|
||||
'sqlflush:Returns a list of the SQL statements required to return all tables in the database to the state they were in just after they were installed.'
|
||||
'sqlindexes:Prints the CREATE INDEX SQL statements for the given model module name(s).'
|
||||
'sqlmigrate:Prints the SQL for the named migration.'
|
||||
"sqlinitialdata:RENAMED: see 'sqlcustom'"
|
||||
'sqlreset:Prints the DROP TABLE SQL, then the CREATE TABLE SQL, for the given app name(s).'
|
||||
'sqlsequencereset:Prints the SQL statements for resetting sequences for the given app name(s).'
|
||||
'squashmigrations:Squashes the migrations for app_label up to and including migration_name down into fewer migrations.'
|
||||
"startapp:Creates a Django app directory structure for the given app name in this project's directory."
|
||||
"startproject:Creates a Django project directory structure for the given project name in the current directory or the given destination."
|
||||
"syncdb:Create the database tables for all apps in INSTALLED_APPS whose tables haven't already been created."
|
||||
'test:Runs the test suite for the specified applications, or the entire site if no apps are specified.'
|
||||
'testserver:Runs a development server with data from the given fixture(s).'
|
||||
'validate:Validates all installed models.'
|
||||
)
|
||||
if [[ $words[1] =~ "manage.py$" ]]; then
|
||||
commands=($commands
|
||||
"changepassword:Change a user's password for django.contrib.auth."
|
||||
'createsuperuser:Used to create a superuser.'
|
||||
'collectstatic:Collect static files in a single location.'
|
||||
'findstatic:Finds the absolute paths for the given static file(s).'
|
||||
)
|
||||
fi
|
||||
|
||||
_describe -t commands 'manage.py command' commands && ret=0
|
||||
}
|
||||
|
||||
_applist() {
|
||||
local line
|
||||
local -a apps
|
||||
_call_program help-command "python -c \"import os.path as op, re, settings, sys;\\
|
||||
bn=op.basename(op.abspath(op.curdir));[sys\\
|
||||
.stdout.write(str(re.sub(r'^%s\.(.*?)$' %
|
||||
bn, r'\1', i)) + '\n') for i in settings.\\
|
||||
INSTALLED_APPS if re.match(r'^%s' % bn, i)]\"" \
|
||||
| while read -A line; do apps=($line $apps) done
|
||||
_values 'Application' $apps && ret=0
|
||||
}
|
||||
|
||||
_manage.py() {
|
||||
local -a nul_args
|
||||
nul_args=(
|
||||
'--settings=-[the Python path to a settings module.]:file:_files'
|
||||
'--pythonpath=-[a directory to add to the Python path.]::directory:_directories'
|
||||
'--traceback[print traceback on exception.]'
|
||||
"--version[show program's version number and exit.]"
|
||||
{-h,--help}'[show this help message and exit.]'
|
||||
)
|
||||
|
||||
local curcontext=$curcontext ret=1
|
||||
|
||||
if ((CURRENT == 2)); then
|
||||
_managepy-commands
|
||||
else
|
||||
shift words
|
||||
(( CURRENT -- ))
|
||||
curcontext="${curcontext%:*:*}:managepy-$words[1]:"
|
||||
_call_function ret _managepy-$words[1]
|
||||
fi
|
||||
}
|
||||
|
||||
_manage.py "$@"
|
||||
|
||||
# Local Variables:
|
||||
# mode: Shell-Script
|
||||
# sh-indentation: 2
|
||||
# indent-tabs-mode: nil
|
||||
# sh-basic-offset: 2
|
||||
# End:
|
||||
# vim: ft=zsh sw=2 ts=2 et
|
26
src/_pactree
26
src/_pactree
|
@ -1,26 +0,0 @@
|
|||
#compdef pactree
|
||||
# ------------------------------------------------------------------------------
|
||||
# Description
|
||||
# -----------
|
||||
#
|
||||
# Completion script for pactree 4.0
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
# Authors
|
||||
# -------
|
||||
#
|
||||
# * Limao Luo <luolimao@gmail.com>
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
typeset -A opt_args
|
||||
|
||||
_pactree() {
|
||||
local -a cmd packages packages_long
|
||||
packages_long=(/var/lib/pacman/local/*(/))
|
||||
packages=( ${${packages_long#/var/lib/pacman/local/}%-*-*} )
|
||||
compadd "$@" -a packages
|
||||
}
|
||||
|
||||
# run the main dispatcher
|
||||
_pactree "$@"
|
89
src/_pear
89
src/_pear
|
@ -1,89 +0,0 @@
|
|||
#compdef pear
|
||||
# ------------------------------------------------------------------------------
|
||||
# Description
|
||||
# -----------
|
||||
#
|
||||
# Completion script for Pear (http://pear.php.net).
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
# Authors
|
||||
# -------
|
||||
#
|
||||
# * aki77 (https://github.com/aki77)
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
|
||||
_pear () {
|
||||
local curcontext="$curcontext" state line expl ret=1
|
||||
|
||||
_arguments \
|
||||
'1: :->subcmds' \
|
||||
'*:: :->args' && ret=0
|
||||
|
||||
case $state in
|
||||
subcmds)
|
||||
_pear_commands
|
||||
;;
|
||||
args)
|
||||
local cmd args
|
||||
|
||||
cmd=$words[1]
|
||||
args=()
|
||||
|
||||
case $cmd in
|
||||
channel-alias|channel-delete|channel-info|channel-update)
|
||||
args+=(
|
||||
':channel:_pear_discovered_channels'
|
||||
)
|
||||
;;
|
||||
uninstall|upgrade|run-scripts)
|
||||
args+=(
|
||||
':package:_pear_installed_packages'
|
||||
)
|
||||
;;
|
||||
esac
|
||||
|
||||
_arguments "$args[@]" && ret=0
|
||||
return
|
||||
;;
|
||||
esac
|
||||
return ret
|
||||
}
|
||||
|
||||
_pear_commands () {
|
||||
local commands
|
||||
|
||||
commands=(
|
||||
${${(f)${"$(_call_program commands $service 2>&1)"#*Commands:}%Usage:*}/[[:blank:]]*[[:blank:]][[:blank:]]/:}
|
||||
)
|
||||
_describe -t commands 'Pear commands' commands
|
||||
}
|
||||
|
||||
_pear_installed_packages () {
|
||||
local packages
|
||||
|
||||
packages=(
|
||||
${${(f)"$(pear list)"#*STATE}%%[[:blank:]]*}
|
||||
)
|
||||
_wanted package expl 'package' compadd -a packages
|
||||
}
|
||||
|
||||
_pear_discovered_channels () {
|
||||
local channels
|
||||
|
||||
channels=(
|
||||
${${${(f)"$(_call_program commands pear list-channels)"#*SUMMARY}%__uri*}%%[[:blank:]]*}
|
||||
)
|
||||
_wanted channel expl 'channel' compadd -a channels
|
||||
}
|
||||
|
||||
_pear "$@"
|
||||
|
||||
# Local Variables:
|
||||
# mode: Shell-Script
|
||||
# sh-indentation: 2
|
||||
# indent-tabs-mode: nil
|
||||
# sh-basic-offset: 2
|
||||
# End:
|
||||
# vim: ft=zsh sw=2 ts=2 et
|
43
src/_primus
43
src/_primus
|
@ -1,43 +0,0 @@
|
|||
# compdef primus
|
||||
# ------------------------------------------------------------------------------
|
||||
# Description
|
||||
# -----------
|
||||
#
|
||||
# Completion script for primus (https://github.com/amonakov/primus).
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
# Authors
|
||||
# -------
|
||||
#
|
||||
# * Christophe-Marie Duquesne <chm.duquesne@gmail.com>
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
|
||||
local curcontext="$curcontext" state line
|
||||
typeset -A opt_args
|
||||
|
||||
args=(
|
||||
'--version[output version information]'
|
||||
'(-h --help)'{-h,--help}'[show help]'
|
||||
'(-c --vgl-compress)'{-c,--vgl-compress}'[image transport method]:method:(proxy jpeg rgb xb yuv)'
|
||||
'--failsafe[run a program even if the nvidia card is unavailable]'
|
||||
'--no-failsafe[do not run a program if the nvidia card is unavailable]'
|
||||
'--vgl-options[options to be passed to vglrun (example: +tr)]'
|
||||
'(-q --quiet --silent)'{-q,--quiet,--silent}'[suppress all logging messages]'
|
||||
'(-v --verbose)'{-v,--verbose}'[increase the verbosity level of log messages]'
|
||||
'--debug[set the verbosity level to the maximum]'
|
||||
'(-d --display)'{-d,--display}'[the X display number to use]'
|
||||
'(-C --config)'{-C,--config}'[retrieve settings for Bumblebee from FILE]:file:_files'
|
||||
'(-l --ldpath)'{-l,--ldpath}'[PATH the libraries like libGL.so are searched in]:file:_files -/'
|
||||
'(-s --socket)'{-s,--socket}'[use FILE for communication with the daemon]:file:_files'
|
||||
)
|
||||
|
||||
_arguments $args
|
||||
# -c, --vgl-compress METHOD image compression or transport to use with
|
||||
# VirtualGL. Valid values for METHOD are proxy,
|
||||
# jpeg, rgb, xv and yuv. Changing this setting
|
||||
# may affect performance, CPU usage and image
|
||||
# quality
|
||||
# -d, --display DISPLAY the X display number to use
|
||||
|
94
src/_rebar
94
src/_rebar
|
@ -1,94 +0,0 @@
|
|||
#compdef rebar
|
||||
# ------------------------------------------------------------------------------
|
||||
# Description
|
||||
# -----------
|
||||
#
|
||||
# Completion script for rebar (https://github.com/rebar/rebar).
|
||||
#
|
||||
# Source: https://github.com/robbyrussell/oh-my-zsh/blob/master/plugins/rebar/_rebar
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
# Authors
|
||||
# -------
|
||||
#
|
||||
# * YeJun Su <goofan.su@gmail.com>
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
local curcontext=$curcontext state ret=1
|
||||
typeset -ga _rebar_global_opts
|
||||
|
||||
_rebar_global_opts=(
|
||||
'(--help -h)'{--help,-h}'[Show the program options]'
|
||||
'(--commands -c)'{--commands,-c}'[Show available commands]'
|
||||
'(--version -V)'{--version,-V}'[Show version information]'
|
||||
'(-vvv -vv -v)'--verbose+'[Verbosity level. Default: 0]:verbosity level:(0 1 2 3)'
|
||||
'(-vvv)-v[Slightly more verbose output]'
|
||||
'(-vvv)-vv[More verbose output]'
|
||||
'(-v -vv)-vvv[Most verbose output]'
|
||||
'(--force -f)'{--force,-f}'[Force]'
|
||||
'-D+[Define compiler macro]'
|
||||
'(--jobs -j)'{--jobs+,-j+}'[Number of concurrent workers a command may use. Default: 3]:workers:(1 2 3 4 5 6 7 8 9)'
|
||||
'(--config -C)'{--config,-C}'[Rebar config file to use]:files:_files'
|
||||
'(--profile -p)'{--profile,-p}'[Profile this run of rebar]'
|
||||
'(--keep-going -k)'{--keep-going,-k}'[Keep running after a command fails]'
|
||||
)
|
||||
|
||||
_rebar () {
|
||||
_arguments -C $_rebar_global_opts \
|
||||
'*::command and variable:->cmd_and_var' \
|
||||
&& return
|
||||
|
||||
case $state in
|
||||
cmd_and_var)
|
||||
_values -S = 'variables' \
|
||||
'clean[Clean]' \
|
||||
'compile[Compile sources]' \
|
||||
'create[Create skel based on template and vars]' \
|
||||
'create-app[Create simple app skel]' \
|
||||
'create-node[Create simple node skel]' \
|
||||
'list-template[List avaiavle templates]' \
|
||||
'doc[Generate Erlang program documentation]' \
|
||||
'check-deps[Display to be fetched dependencies]' \
|
||||
'get-deps[Fetch dependencies]' \
|
||||
'update-deps[Update fetched dependencies]' \
|
||||
'delete-deps[Delete fetched dependencies]' \
|
||||
'list-deps[List dependencies]' \
|
||||
'generate[Build release with reltool]' \
|
||||
'overlay[Run reltool overlays only]' \
|
||||
'generate-appups[Generate appup files]' \
|
||||
'generate-upgrade[Build an upgrade package]' \
|
||||
'eunit[Run eunit tests]' \
|
||||
'ct[Run common_test suites]' \
|
||||
'qc[Test QuickCheck properties]' \
|
||||
'xref[Run cross reference analysis]' \
|
||||
'help[Show the program options]' \
|
||||
'version[Show version information]' \
|
||||
'apps[Application names to process]:' \
|
||||
'case[Common Test case]:' \
|
||||
'dump_spec[Dump reltool spec]:' \
|
||||
'jobs[Number of workers]::workers:(0 1 2 3 4 5 6 7 8 9)' \
|
||||
'suites[Common Test suites]::suite name:_path_files -W "(src test)" -g "*.erl(:r)"' \
|
||||
'verbose[Verbosity level]::verbosity level:(0 1 2 3)' \
|
||||
'appid[Application id]:' \
|
||||
'previous_release[Previous release path]:' \
|
||||
'nodeid[Node id]:' \
|
||||
'root_dir[Reltool config root directory]::directory:_files -/' \
|
||||
'skip_deps[Skip deps]::flag:(true false)' \
|
||||
'skip_apps[Application names to not process]::flag:(true false)' \
|
||||
'template[Template name]:' \
|
||||
'template_dir[Template directory]::directory:_files -/' \
|
||||
&& ret=0
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
_rebar
|
||||
|
||||
# Local variables:
|
||||
# mode: shell-script
|
||||
# sh-basic-offset: 2
|
||||
# sh-indent-comment: t
|
||||
# indent-tabs-mode: nil
|
||||
# End:
|
||||
# ex: sw=2 ts=2 et filetype=sh
|
233
src/_socat
233
src/_socat
|
@ -1,233 +0,0 @@
|
|||
#compdef socat
|
||||
# ------------------------------------------------------------------------------
|
||||
# Description
|
||||
# -----------
|
||||
#
|
||||
# Completion script for socat ( http://www.dest-unreach.org/socat/ ).
|
||||
#
|
||||
# Source: https://github.com/Valodim/zsh-socat-completion
|
||||
# Last updated: 23.02.2013, commit 3c564c9
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
# Authors
|
||||
# -------
|
||||
#
|
||||
# * Valodim ( https://github.com/Valodim )
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
|
||||
if (( ! $+_socat_params || ! $+_socat_groups )); then
|
||||
|
||||
# we cache socat parameters, groups, option groups, option types parsed
|
||||
# straight from socat, since these are platform specific
|
||||
typeset -gHA _socat_params _socat_groups _socat_opt_groups _socat_opt_types
|
||||
|
||||
if _cache_invalid socat-params || _cache_invalid socat-groups \
|
||||
|| ! _retrieve_cache socat-params || ! _retrieve_cache socat-groups ; then
|
||||
() {
|
||||
setopt localoptions rematchpcre
|
||||
local line
|
||||
|
||||
# anyone know a better way to do "get rest starting from matching line" than awk?
|
||||
_call_program socat-params socat -h | awk '/address-head:/,0 { print }' | while read -r line; do
|
||||
|
||||
# parse line, format: proxy:<proxy-server>:<host>:<port> groups=A,B,C
|
||||
[[ $line =~ '([^:]+)((?::<[^:]+>)*)\s+groups=(.+)' ]] || continue
|
||||
|
||||
# canonicalize and note down parameters
|
||||
_socat_params[$match[1]]=${${${match[2]#:}//(\<|\>)/}//:/,}
|
||||
|
||||
# store groups for this parameter
|
||||
_socat_groups[$match[1]]=${match[3]}
|
||||
|
||||
done
|
||||
|
||||
_store_cache socat-params _socat_params
|
||||
_store_cache socat-groups _socat_groups
|
||||
|
||||
}
|
||||
fi
|
||||
|
||||
if _cache_invalid socat-opt-groups || _cache_invalid socat-opt-types \
|
||||
|| ! _retrieve_cache socat-opt-groups || ! _retrieve_cache socat-opt-types ; then
|
||||
() {
|
||||
setopt localoptions rematchpcre
|
||||
local line
|
||||
|
||||
_call_program socat-opts socat -hh | awk '/opt:/,0 { print }' | while read -r line; do
|
||||
# parse format: wronly groups=OPEN phase=OPEN type=BOOL
|
||||
[[ $line =~ ' *(\w+)\s+groups=(\w+)\s.+type=(\w+)' ]] || continue
|
||||
_socat_opt_groups[$match[1]]=$match[2]
|
||||
_socat_opt_types[$match[1]]=${(L)match[3]}
|
||||
done
|
||||
}
|
||||
|
||||
_store_cache socat-opt-groups _socat_opt_groups
|
||||
_store_cache socat-opt-types _socat_opt_types
|
||||
fi
|
||||
fi
|
||||
|
||||
if (( ! $+_socat_param_handler )); then
|
||||
typeset -gHA _socat_param_handler
|
||||
# bunch of manually extracted parameter handlers. names work as both
|
||||
_socat_param_handler=(
|
||||
create _files
|
||||
gopen _files
|
||||
open _files
|
||||
pipe '_files -g *(p)'
|
||||
unix-connect '_files -g *(=)'
|
||||
unix-listen '_files -g *(=)'
|
||||
unix-sendto '_files -g *(=)'
|
||||
unix-recvfrom '_files -g *(=)'
|
||||
unix-client '_files -g *(=)'
|
||||
host '_hosts -S : -r :,\ \\t\\n\\-'
|
||||
)
|
||||
fi
|
||||
|
||||
if (( ! $+_socat_opt_handler )); then
|
||||
typeset -gHA _socat_opt_handler
|
||||
# bunch of manually extracted handlers
|
||||
_socat_opt_handler=(
|
||||
history _files
|
||||
lockfile _files
|
||||
waitlock _files
|
||||
allow-table _files
|
||||
deny-table _files
|
||||
link _files
|
||||
cert _files
|
||||
key _files
|
||||
dhparams _files
|
||||
cafile _files
|
||||
egdfile _files
|
||||
capath '_files -/'
|
||||
tcpwrap-etc '_files -/'
|
||||
capath '_files -/'
|
||||
chroot-early '_files -/'
|
||||
path _directories
|
||||
group _groups
|
||||
group-early _groups
|
||||
group-late _groups
|
||||
setgid _groups
|
||||
setgid-early _groups
|
||||
user _users
|
||||
user-early _users
|
||||
user-late _users
|
||||
setuid _users
|
||||
setuid-early _users
|
||||
su _users
|
||||
su-d _users
|
||||
)
|
||||
fi
|
||||
|
||||
_socat_address_head() {
|
||||
setopt localoptions extendedglob
|
||||
|
||||
# do we have a socket type yet?
|
||||
if ! compset -P 1 '(#b)(*)(:|,)'; then
|
||||
# all which have pameters (ie, non-empty values)
|
||||
compadd -M 'M:{[:upper:]}={[:lower:]}' -S : -r ":, \t\n\-" -k '_socat_params[(R)?*]'
|
||||
# others (ie, empty value)
|
||||
compadd -M 'M:{[:upper:]}={[:lower:]}' -S , -q -k '_socat_params[(R)]'
|
||||
return 0
|
||||
fi
|
||||
|
||||
local expl ret=1
|
||||
|
||||
# any parameters?
|
||||
local socket_type="${(L)match[1]}" lastop="$match[2]"
|
||||
|
||||
local -a params_left
|
||||
params_left=( "${(@s:,:)_socat_params[$socket_type]}" )
|
||||
|
||||
if [[ $lastop == ':' ]]; then
|
||||
|
||||
# chunk away the parameters
|
||||
while compset -P 1 '[^:]#:'; do
|
||||
(( $#params_left > 0 )) && shift params_left
|
||||
done
|
||||
|
||||
if compset -P '*,'; then
|
||||
lastop=','
|
||||
elif (( $#params_left == 0 )); then
|
||||
_message -e parameters "No more parameters for $socket_type" && return 0
|
||||
else
|
||||
# do we have a handler? this works either by typename or socket type
|
||||
if (( $+_socat_param_handler[$socket_type] )); then
|
||||
_wanted param expl "parameter $params_left[1]" "${(@z)_socat_param_handler[$socket_type]}" && return 0
|
||||
elif (( $+_socat_param_handler[${params_left[1]}] )); then
|
||||
_wanted param expl "parameter $params_left[1]" "${(@z)_socat_param_handler[$params_left[1]]}" && return 0
|
||||
else
|
||||
_message -e parameters "$params_left[1]" && return 0
|
||||
fi
|
||||
fi
|
||||
|
||||
# shift to make warning msg below accurate
|
||||
(( $#params_left > 0 )) && shift params_left
|
||||
|
||||
fi
|
||||
|
||||
# got any params left? At least leave a note..
|
||||
(( $#params_left > 0 )) && _message -e parameters "Unfilled parameters: $params_left"
|
||||
|
||||
if [[ $lastop == ',' ]]; then
|
||||
# chip away all old opts
|
||||
compset -P '*,'
|
||||
# is it one with a type?
|
||||
if compset -P '(#b)(*)\='; then
|
||||
if (( $+_socat_opt_types[$match[1]] )); then
|
||||
# do we have a handler?
|
||||
if (( $+_socat_opt_handler[$match[1]] )); then
|
||||
_wanted optparam expl "option parameter <$_socat_opt_types[$match[1]]>" "${(@z)_socat_opt_handler[$match[1]]}" && return 0
|
||||
else
|
||||
_message -e optparam "opt param for $match[1]: $_socat_opt_types[$match[1]]" && return 0
|
||||
fi
|
||||
else
|
||||
_message -e optparam "opt param for $match[1]: unknown" && return 0
|
||||
fi
|
||||
fi
|
||||
|
||||
# add completions for all groups, then
|
||||
_tags "${(s:,:)_socat_groups[$socket_type]}"
|
||||
while _tags; do
|
||||
for g in ${(s:,:)_socat_groups[$socket_type]}; do
|
||||
_requested $g expl "${(L)g}" \
|
||||
compadd -M 'M:{[:upper:]}={[:lower:]}' -S = -r '=, \t\n\-' -k "_socat_opt_groups[(R)$g]" && ret=0
|
||||
done
|
||||
(( ret )) || break
|
||||
done
|
||||
fi
|
||||
|
||||
return ret
|
||||
}
|
||||
|
||||
# complete common options
|
||||
_arguments \
|
||||
-V'[print version and feature information to stdout, and exit]' \
|
||||
-h'[print a help text describing command line options and addresses, and exit]' \
|
||||
-hh'[like -h, plus a list of all common address option names]' \
|
||||
-hhh'[like -hh, plus a list of all available address option names]' \
|
||||
\*-d'[increase verbosity (use up to 4 times; 2 are recommended)]' \
|
||||
-D'[analyze file descriptors before loop]' \
|
||||
-ly'[log to syslog, using facility (default is daemon)]:log facility:( auth authpriv cron daemon kern lpr mail mark news security syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7 )' \
|
||||
-lf'[log to file]:log file:_files' \
|
||||
-ls'[log to stderr (default if no other log)]' \
|
||||
-lm'[mixed log mode (stderr during initialization, then syslog)]:log facility:( auth authpriv cron daemon kern lpr mail mark news security syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7 )' \
|
||||
-lp'[set the program name used for logging]:log program name' \
|
||||
-lu'[use microseconds for logging timestamps]' \
|
||||
-lh'[add hostname to log messages]' \
|
||||
'(-x)'-v'[verbose data traffic, text]' \
|
||||
'(-v)'-x'[verbose data traffic, hexadecimal]' \
|
||||
-b'[set data buffer size (8192)]:buffer size (bytes)' \
|
||||
-s'[sloppy (continue on error)]' \
|
||||
-t'[wait seconds before closing second channel]:timeout (seconds)' \
|
||||
-T'[total inactivity timeout in seconds]:timeout (seconds)' \
|
||||
'(-U)'-u'[unidirectional mode (left to right)]' \
|
||||
'(-u)'-U'[unidirectional mode (right to left)]' \
|
||||
-g'[do not check option groups]' \
|
||||
'(-W)'-L'[try to obtain lock, or fail]:lockfile:_files' \
|
||||
'(-L)'-W'[try to obtain lock, or wait]:lockfile:_files' \
|
||||
'(-6)'-4'[prefer IPv4 if version is not explicitly specified]' \
|
||||
'(-4)'-6'[prefer IPv6 if version is not explicitly specified]' \
|
||||
'*:socket:_socat_address_head' && return 0
|
||||
|
456
src/_symfony
456
src/_symfony
|
@ -1,456 +0,0 @@
|
|||
#compdef symfony
|
||||
# ------------------------------------------------------------------------------
|
||||
# Description
|
||||
# -----------
|
||||
#
|
||||
# Completion script for Symfony (http://www.symfony-project.org).
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
# Authors
|
||||
# -------
|
||||
#
|
||||
# * aki77 (https://github.com/aki77)
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
|
||||
_symfony () {
|
||||
local curcontext="$curcontext" state line expl ret=1 cache_version
|
||||
|
||||
cache_version=$(_get_sf_cache_var version)
|
||||
(( ${(P)+cache_version} == 0 )) && {
|
||||
eval $cache_version=${${${(z)$($service -V)}[3]}%.*}
|
||||
}
|
||||
|
||||
if [ ${(P)cache_version} = "1.0" ] ; then
|
||||
_symfony10
|
||||
return
|
||||
fi
|
||||
|
||||
_arguments -C \
|
||||
'(-T --tasks)'{-T,--tasks}'[list of the symfony tasks]' \
|
||||
'(-V --version)'{-V,--version}'[version]' \
|
||||
'1: :->tasks' \
|
||||
'*:: :->args' && ret=0
|
||||
|
||||
case $state in
|
||||
tasks)
|
||||
_sf_tasks
|
||||
;;
|
||||
args)
|
||||
local task args
|
||||
|
||||
task=$words[1]
|
||||
args=(
|
||||
${${${${${(M)${${${(z)${${"$($service help $task)"#*Usage:}#[[:cntrl:]]}%%[[:cntrl:]]*}//\[/}//\]/}:#--*}%%\"*}/=/"=-"}/(#b)--(app|application)=-/--$match[1]=-:application:_sf_apps}//(#b)--(env|environment)=-/--$match[1]=-:environment:_sf_environments}
|
||||
)
|
||||
|
||||
case $task in
|
||||
help)
|
||||
args+=(
|
||||
':task:_sf_tasks'
|
||||
)
|
||||
;;
|
||||
|
||||
app:routes)
|
||||
args+=(
|
||||
':application:_sf_apps'
|
||||
':"route name":'
|
||||
)
|
||||
;;
|
||||
|
||||
configure:author)
|
||||
_message 'project author'
|
||||
;;
|
||||
|
||||
configure:database)
|
||||
_message 'database dsn'
|
||||
;;
|
||||
|
||||
generate:app)
|
||||
_message 'new application name'
|
||||
;;
|
||||
|
||||
generate:module)
|
||||
args+=(
|
||||
':application:_sf_apps'
|
||||
':"new module name":'
|
||||
)
|
||||
;;
|
||||
|
||||
generate:project)
|
||||
_message 'new project name'
|
||||
;;
|
||||
|
||||
generate:task)
|
||||
_message 'new task name'
|
||||
;;
|
||||
|
||||
i18n:extract)
|
||||
args+=(
|
||||
':application:_sf_apps'
|
||||
':"target culture":'
|
||||
)
|
||||
;;
|
||||
|
||||
i18n:find)
|
||||
args+=(
|
||||
':application:_sf_apps'
|
||||
)
|
||||
;;
|
||||
|
||||
log:rotate)
|
||||
args+=(
|
||||
':application:_sf_apps'
|
||||
':environment:_sf_environments'
|
||||
)
|
||||
;;
|
||||
|
||||
plugin:add-channel)
|
||||
_message 'channel name'
|
||||
;;
|
||||
|
||||
plugin:install)
|
||||
_message 'plugin name'
|
||||
;;
|
||||
|
||||
plugin:publish-assets)
|
||||
args+=(
|
||||
':plugin:_sf_plugins'
|
||||
)
|
||||
;;
|
||||
|
||||
plugin:uninstall)
|
||||
_message 'plugin name'
|
||||
;;
|
||||
|
||||
plugin:upgrade)
|
||||
_message 'plugin name'
|
||||
;;
|
||||
|
||||
project:deploy)
|
||||
_message 'server name'
|
||||
;;
|
||||
|
||||
project:disable|project:enable)
|
||||
args+=(
|
||||
':environment:_sf_environments'
|
||||
'*:application:_sf_apps'
|
||||
)
|
||||
;;
|
||||
|
||||
project:optimize)
|
||||
args+=(
|
||||
':application:_sf_apps'
|
||||
':environment:_sf_environments'
|
||||
)
|
||||
;;
|
||||
|
||||
propel:data-dump|doctrine:data-dump)
|
||||
_message 'target filename'
|
||||
;;
|
||||
|
||||
propel:data-load|doctrine:data-load)
|
||||
args+=(
|
||||
'*:file:_files'
|
||||
)
|
||||
;;
|
||||
|
||||
propel:generate-admin)
|
||||
args+=(
|
||||
':application:_sf_apps'
|
||||
':model:_sf_models'
|
||||
)
|
||||
;;
|
||||
|
||||
propel:generate-module|propel:init-admin)
|
||||
args+=(
|
||||
':application:_sf_apps'
|
||||
':module:_sf_modules_candidate'
|
||||
':model:_sf_models'
|
||||
)
|
||||
;;
|
||||
|
||||
propel:generate-module-for-route|doctrine:generate-module-for-route)
|
||||
args+=(
|
||||
':application:_sf_apps'
|
||||
':"route name":'
|
||||
)
|
||||
;;
|
||||
|
||||
doctrine:create-model-tables|doctrine:delete-model-files)
|
||||
args+=(
|
||||
'*:model:_sf_doctrine_models'
|
||||
)
|
||||
;;
|
||||
|
||||
doctrine:generate-admin)
|
||||
args+=(
|
||||
':application:_sf_apps'
|
||||
'*:model:_sf_doctrine_models'
|
||||
)
|
||||
;;
|
||||
|
||||
doctrine:generate-module)
|
||||
args+=(
|
||||
':application:_sf_apps'
|
||||
':module:_sf_doctrine_modules_candidate'
|
||||
':model:_sf_doctrine_models'
|
||||
)
|
||||
;;
|
||||
|
||||
test:coverage)
|
||||
args+=(
|
||||
'*:file:_files'
|
||||
)
|
||||
;;
|
||||
|
||||
test:functional)
|
||||
args+=(
|
||||
':application:_sf_apps'
|
||||
'*:test:_sf_functionaltests'
|
||||
)
|
||||
;;
|
||||
|
||||
test:unit)
|
||||
args+=(
|
||||
'*:test:_sf_unittests'
|
||||
)
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
_arguments "$args[@]" && ret=0
|
||||
return
|
||||
;;
|
||||
esac
|
||||
return ret
|
||||
}
|
||||
|
||||
_symfony10 () {
|
||||
local curcontext="$curcontext" state line expl ret=1
|
||||
|
||||
_arguments -C \
|
||||
'(-T --tasks)'{-T,--tasks}'[list of the symfony tasks]' \
|
||||
'(-V --version)'{-V,--version}'[version]' \
|
||||
'1: :->tasks' \
|
||||
'*:: :->args' && ret=0
|
||||
|
||||
case $state in
|
||||
tasks)
|
||||
_sf10_tasks
|
||||
;;
|
||||
args)
|
||||
local task args
|
||||
|
||||
task=$words[1]
|
||||
args=()
|
||||
|
||||
case $task in
|
||||
init-project)
|
||||
_message 'new project name'
|
||||
;;
|
||||
|
||||
init-app)
|
||||
_message 'application name'
|
||||
;;
|
||||
|
||||
init-module)
|
||||
args+=(
|
||||
':application:_sf_apps'
|
||||
)
|
||||
;;
|
||||
|
||||
init-batch)
|
||||
args+=(
|
||||
':skeleton name:compadd default rotate'
|
||||
':"script name":'
|
||||
':application:_sf_apps'
|
||||
)
|
||||
;;
|
||||
|
||||
init-controller)
|
||||
args+=(
|
||||
':application:_sf_apps'
|
||||
':environment:_sf_environments'
|
||||
':"script name":'
|
||||
':"debug?":compadd true false'
|
||||
)
|
||||
;;
|
||||
|
||||
log-rotate)
|
||||
args+=(
|
||||
':application:_sf_apps'
|
||||
':environment:_sf_environments'
|
||||
)
|
||||
;;
|
||||
|
||||
propel-load-data|propel-build-all-load)
|
||||
args+=(
|
||||
':application:_sf_apps'
|
||||
':environment:_sf_environments'
|
||||
':fixtures:_sf_fixtures'
|
||||
)
|
||||
;;
|
||||
|
||||
clear-cache|cc)
|
||||
args+=(
|
||||
':application:_sf_apps'
|
||||
':what:compadd template config'
|
||||
)
|
||||
;;
|
||||
|
||||
sync)
|
||||
args+=(
|
||||
':environment:_sf_environments'
|
||||
':"real run?":compadd go'
|
||||
)
|
||||
;;
|
||||
|
||||
propel-init-crud|propel*-init-admin|propel-generate-crud)
|
||||
args+=(
|
||||
':application:_sf_apps'
|
||||
':module:_sf_modules_candidate'
|
||||
':model:_sf_models'
|
||||
)
|
||||
;;
|
||||
|
||||
doctrine-init-admin|doctrine-generate-crud)
|
||||
args+=(
|
||||
':application:_sf_apps'
|
||||
':module:_sf_doctrine_modules_candidate'
|
||||
':model:_sf_doctrine_models'
|
||||
)
|
||||
;;
|
||||
|
||||
test-unit)
|
||||
args+=(
|
||||
':test:_sf_unittests'
|
||||
)
|
||||
;;
|
||||
|
||||
test-functional)
|
||||
args+=(
|
||||
':application:_sf_apps'
|
||||
':test:_sf_functionaltests'
|
||||
)
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
_arguments "$args[@]" && ret=0
|
||||
return
|
||||
;;
|
||||
esac
|
||||
return ret
|
||||
}
|
||||
|
||||
_sf_tasks () {
|
||||
local tmp ns line cache_task
|
||||
|
||||
cache_task=$(_get_sf_cache_var task)
|
||||
(( ${(P)+cache_task} == 0 )) && {
|
||||
tmp=(
|
||||
${${${(f)${"$($service -T)"##*Available tasks:}}##[[:blank:]][[:blank:]]}%%[[:blank:]]*}
|
||||
)
|
||||
eval "$cache_task=()"
|
||||
ns=''
|
||||
|
||||
for line in $tmp; do
|
||||
if [ $line[1] = ":" ] ; then
|
||||
eval "$cache_task+=( ${ns}${line#:} )"
|
||||
else
|
||||
ns="${line}:"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
_wanted symfony-task expl 'Symfony task' compadd -a $cache_task
|
||||
}
|
||||
|
||||
_sf10_tasks () {
|
||||
local sf_tasks
|
||||
|
||||
sf_tasks=(
|
||||
${${${(f)${"$($service -T)"#available pake tasks:}%%task aliases:*}#[[:blank:]][[:blank:]]}/[[:blank:]]*>[[:blank:]]/:}
|
||||
)
|
||||
|
||||
_describe -t symfony-tasks 'Symfony task' sf_tasks
|
||||
}
|
||||
|
||||
_sf_apps () {
|
||||
_wanted application expl 'application' compadd \
|
||||
${$(echo apps/*):t}
|
||||
}
|
||||
|
||||
_sf_environments () {
|
||||
local app
|
||||
|
||||
app=$([ -f apps/"$words[2]"/config/settings.yml ] && echo $words[2] || echo frontend)
|
||||
if [ -r apps/$app/config/settings.yml ] ; then
|
||||
_wanted environment expl 'environment' compadd \
|
||||
${${${(M)${(@f)"$(<apps/$app/config/settings.yml)"}:#[[:alpha:]]*}%%:*}:#all}
|
||||
fi
|
||||
}
|
||||
|
||||
_sf_plugins () {
|
||||
_wanted application expl 'plugin' compadd \
|
||||
${$(echo plugins/*):t}
|
||||
}
|
||||
|
||||
_sf_models () {
|
||||
_wanted application expl 'model' compadd \
|
||||
$(_get_sfmodels)
|
||||
}
|
||||
|
||||
_sf_doctrine_models () {
|
||||
_wanted model expl 'model' compadd \
|
||||
$(_get_sf_doctrine_models)
|
||||
}
|
||||
|
||||
|
||||
_sf_modules_candidate () {
|
||||
_wanted module expl 'module' compadd \
|
||||
${$(_get_sfmodels):l}
|
||||
}
|
||||
|
||||
_sf_doctrine_modules_candidate () {
|
||||
_wanted module expl 'module' compadd \
|
||||
${$(_get_sf_doctrine_models):l}
|
||||
}
|
||||
|
||||
_sf_unittests () {
|
||||
_wanted test expl 'test' compadd \
|
||||
${${${$(echo test/unit/**/*Test.php):r}#test/unit/}%Test}
|
||||
}
|
||||
|
||||
_sf_functionaltests () {
|
||||
_wanted test expl 'test' compadd \
|
||||
${${$(echo test/functional/$words[2]/*ActionsTest.php):t:r}%Test}
|
||||
}
|
||||
|
||||
_sf_fixtures () {
|
||||
_files -W $(pwd)/data
|
||||
}
|
||||
|
||||
_get_sfmodels () {
|
||||
echo ${${$(echo lib/model/*Peer.php):t:r}%Peer}
|
||||
}
|
||||
|
||||
_get_sf_doctrine_models () {
|
||||
echo ${${$(echo lib/model/doctrine/*Table.class.php):t:r:r}%Table}
|
||||
}
|
||||
|
||||
_get_sf_cache_var () {
|
||||
echo ${$(echo "_sf_cache_${(j:_:)@}$(pwd)")//[^[:alnum:]]/_}
|
||||
}
|
||||
|
||||
_symfony "$@"
|
||||
|
||||
# Local Variables:
|
||||
# mode: Shell-Script
|
||||
# sh-indentation: 2
|
||||
# indent-tabs-mode: nil
|
||||
# sh-basic-offset: 2
|
||||
# End:
|
||||
# vim: ft=zsh sw=2 ts=2 et
|
35
src/_tarsnap
35
src/_tarsnap
|
@ -1,35 +0,0 @@
|
|||
#compdef tarsnap
|
||||
# ------------------------------------------------------------------------------
|
||||
# Description
|
||||
# -----------
|
||||
#
|
||||
# Completion script for the tarsnap command
|
||||
# (http://www.tarsnap.com/man.html).
|
||||
# ------------------------------------------------------------------------------
|
||||
# Authors
|
||||
# -------
|
||||
#
|
||||
# * Daniel Teunis <daniel@teunis.cc>
|
||||
#
|
||||
|
||||
_tarsnap(){
|
||||
local -a commands
|
||||
commands=(
|
||||
'--fsck:Perform some integrity checks on the archives stored'
|
||||
'--fsck-prune:Perform integrity checks and prune broken data'
|
||||
'--list-archives:Print the names of archives stored'
|
||||
'--nuke:Delete all of the archives stored'
|
||||
'--print-stats:Print global statistics concerning the archives stored'
|
||||
'-c:Create an archive containing the specified items and name'
|
||||
'-d:Delete the specified archive'
|
||||
'-r:Read the specified archive, convert it to a tar stream, and write it to stdout'
|
||||
'-t:List archive contents to stdout'
|
||||
'-x:Extract to disk from the archive'
|
||||
)
|
||||
|
||||
if (( CURRENT == 2 )); then
|
||||
_describe -t commands 'commands' commands
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
164
src/_veewee
164
src/_veewee
|
@ -1,164 +0,0 @@
|
|||
#compdef veewee
|
||||
# ------------------------------------------------------------------------------
|
||||
# Description
|
||||
# -----------
|
||||
#
|
||||
# Completion script for veewee 0.3.7 (https://github.com/jedi4ever/veewee)
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
# Authors
|
||||
# -------
|
||||
#
|
||||
# * Marius Bergmann (https://github.com/mbrgm)
|
||||
#
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
typeset curcontext state line cmds ret
|
||||
|
||||
curcontext="$curcontext"
|
||||
ret=1
|
||||
|
||||
_arguments -C \
|
||||
'--debug' \
|
||||
'--workdir=[Change the working directory (the folder containing the definitions folder).]:directory:_files -/' \
|
||||
'1: :->cmds' \
|
||||
'2: :->providers' \
|
||||
'*: :->args' && ret=0
|
||||
|
||||
|
||||
local -a provider_cmds; provider_cmds=(
|
||||
'build:Build box'
|
||||
'copy:Copy a file to the VM'
|
||||
'define:Define a new basebox starting from a template'
|
||||
'destroy:Destroys the virtualmachine that was built'
|
||||
'halt:Activates a shutdown the virtualmachine'
|
||||
'help:Describe subcommands or one specific subcommand'
|
||||
'list:Lists all defined boxes'
|
||||
'ostypes:List the available Operating System types'
|
||||
'sendkeys:Sends the key sequence (comma separated) to the box. E.g for testing the :boot_cmd_sequence'
|
||||
'ssh:SSH to box'
|
||||
'templates:List the currently available templates'
|
||||
'undefine:Removes the definition of a basebox'
|
||||
'up:Starts a Box'
|
||||
'validate:Validates a box against vmfusion compliancy rules'
|
||||
'winrm:Execute command via winrm'
|
||||
)
|
||||
|
||||
case $state in
|
||||
cmds)
|
||||
local -a cmds; cmds=(
|
||||
'fusion:Subcommand for Vmware fusion'
|
||||
'help:Describe available commands or one specific command'
|
||||
'kvm:Subcommand for KVM'
|
||||
'parallels:Subcommand for Parallels'
|
||||
'vbox:Subcommand for VirtualBox'
|
||||
'version:Prints the Veewee version information'
|
||||
)
|
||||
|
||||
_describe -t commands 'veewee command' cmds && ret=0
|
||||
;;
|
||||
|
||||
providers)
|
||||
case $line[1] in
|
||||
(help)
|
||||
local -a cmds; cmds=(
|
||||
'fusion'
|
||||
'help'
|
||||
'kvm'
|
||||
'parallels'
|
||||
'vbox'
|
||||
'version'
|
||||
)
|
||||
|
||||
_values -S , 'commands' $cmds && ret=0
|
||||
;;
|
||||
|
||||
(fusion)
|
||||
provider_cmds+='add_share:Adds a share to the guest'
|
||||
provider_cmds+='export:Exports the basebox to the vagrant format'
|
||||
|
||||
_describe -t commands 'veewee fusion command' provider_cmds && ret=0
|
||||
;;
|
||||
|
||||
(kvm)
|
||||
provider_cmds+='export:Exports the basebox to the vagrant format'
|
||||
|
||||
_describe -t commands 'veewee kvm command' provider_cmds && ret=0
|
||||
;;
|
||||
|
||||
(parallels)
|
||||
_describe -t commands 'veewee parallels command' provider_cmds && ret=0
|
||||
;;
|
||||
|
||||
(vbox)
|
||||
|
||||
provider_cmds+='export:Exports the basebox to the vagrant format'
|
||||
provider_cmds+='screenshot:Takes a screenshot of the box'
|
||||
|
||||
_describe -t commands 'veewee vbox command' provider_cmds && ret=0
|
||||
;;
|
||||
esac;
|
||||
;;
|
||||
args)
|
||||
case $line[2] in
|
||||
(add_share|build|copy|destroy|export|halt|screenshot|sendkeys|ssh|undefine|up|validate|winrm)
|
||||
if [ ${#line[@]} -eq 3 ]; then
|
||||
boxes=( ${(f)"$(ls -1 ./definitions)"} )
|
||||
_values -S , 'boxes' $boxes && ret=0
|
||||
fi
|
||||
;;
|
||||
(define)
|
||||
if [ ${#line[@]} -eq 4 ]; then
|
||||
templates=( ${(f)"$(_call_program templates veewee $line[1] templates | awk '/^veewee.+define/{sub(/^.+>[:\47] [:\47]/, "");sub(/[:\47].+$/, "");print}')"} )
|
||||
_values -S , 'templates' $templates && ret=0
|
||||
fi
|
||||
;;
|
||||
(help)
|
||||
local -a cmds; cmds=(
|
||||
'build'
|
||||
'copy'
|
||||
'define'
|
||||
'destroy'
|
||||
'halt'
|
||||
'help'
|
||||
'list'
|
||||
'ostypes'
|
||||
'sendkeys'
|
||||
'ssh'
|
||||
'templates'
|
||||
'undefine'
|
||||
'up'
|
||||
'validate'
|
||||
'winrm'
|
||||
)
|
||||
if [ $line[1] = "fusion" ]; then
|
||||
cmds+='add_share'
|
||||
cmds+='export'
|
||||
elif [ $line[1] = "kvm" ]; then
|
||||
cmds+='export'
|
||||
elif [ $line[1] = "vbox" ]; then
|
||||
cmds+='export'
|
||||
cmds+='screenshot'
|
||||
fi
|
||||
_values -S , 'commands' $cmds && ret=0
|
||||
;;
|
||||
esac;
|
||||
case $line[2] in
|
||||
(add_share)
|
||||
if [ ${#line[@]} -eq 5 ]; then
|
||||
_arguments "*::filename:_files"
|
||||
fi
|
||||
;;
|
||||
(copy)
|
||||
if [ ${#line[@]} -eq 4 ]; then
|
||||
_arguments "*::filename:_files"
|
||||
fi
|
||||
;;
|
||||
(screenshot)
|
||||
if [ ${#line[@]} -eq 4 ]; then
|
||||
_arguments "*::filename:_files"
|
||||
fi
|
||||
;;
|
||||
esac;
|
||||
;;
|
||||
esac;
|
Loading…
Reference in New Issue