diff --git a/.gitignore b/.gitignore index 51a5ee6c3..8fa66f02f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,8 @@ locals.zsh log/.zsh_history projects.zsh -custom/* -!custom/example +custom +!custom/plugins/example !custom/example.zsh *.swp !custom/example.zshcache diff --git a/README.textile b/README.textile index c808fb5d7..5900c95d8 100644 --- a/README.textile +++ b/README.textile @@ -7,25 +7,26 @@ bq. "OH MY ZSHELL!" h2. Setup @oh-my-zsh@ should work with any recent release of "zsh":http://www.zsh.org/, the minimum recommended version is 4.3.9. +If not already, install zsh using the command line first. h3. The automatic installer... (do you trust me?) -You can install this via the command line with either `curl` or `wget`. +You can install this via the command line with either @curl@ or @wget@. -h4. via `curl` +h4. via @curl@ @curl -L http://install.ohmyz.sh | sh@ -h4. via `wget` +h4. via @wget@ @wget --no-check-certificate http://install.ohmyz.sh -O - | sh@ h4. Optional: change the install directory -The default location is `~/.oh-my-zsh` (hidden in your home directory). +The default location is @~/.oh-my-zsh@ (hidden in your home directory). You can change the install directory with the ZSH environment variable, either -by running `export ZSH=/your/path` before installing, or setting it before the +by running @export ZSH=/your/path@ before installing, or setting it before the end of the install pipeline like this: @curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | ZSH=~/.dotfiles/zsh sh@ @@ -37,7 +38,7 @@ h3. The manual way @git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh@ -2. *OPTIONAL* Backup your existing ~/.zshrc file +2. *OPTIONAL* Backup your existing @~/.zshrc@ file @cp ~/.zshrc ~/.zshrc.orig@ @@ -53,13 +54,13 @@ h3. The manual way h3. Problems? -You _might_ need to modify your PATH in ~/.zshrc if you're not able to find some commands after switching to _Oh My Zsh_. +You _might_ need to modify your @PATH@ in @~/.zshrc@ if you're not able to find some commands after switching to _Oh My Zsh_. -If you installed manually or changed the install location, check ZSH in ~/.zshrc +If you installed manually or changed the install location, check ZSH in @~/.zshrc@ h2. Usage -* enable the plugins you want in your @~/.zshrc@ (take a look at @plugins/@ to see what's possible) +* enable the plugins you want in your @~/.zshrc@ (take a look at the @plugins/@ directory and the "wiki":https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins to see what's possible) ** example: @plugins=(git osx ruby)@ * Theme support: Change the @ZSH_THEME@ environment variable in @~/.zshrc@. ** Take a look at the "current themes":https://wiki.github.com/robbyrussell/oh-my-zsh/themes that come bundled with _Oh My Zsh_. @@ -72,16 +73,16 @@ the "refcard":http://www.bash2zsh.com/zsh_refcard/refcard.pdf is pretty tasty fo h3. Customization If you want to override any of the default behavior, just add a new file (ending in @.zsh@) into the @custom/@ directory. -If you have many functions which go well together you can put them as a *.plugin.zsh file in the @custom/plugins/@ directory and then enable this plugin. +If you have many functions which go well together you can put them as a @*.plugin.zsh@ file in the @custom/plugins/@ directory and then enable this plugin. If you would like to override the functionality of a plugin distributed with oh-my-zsh, create a plugin of the same name in the @custom/plugins/@ directory and it will be loaded instead of the one in @plugins/@. h3. Updates -By default you will be prompted to check for updates. If you would like oh-my-zsh to automatically update itself without prompting you, set the following in your ~/.zshrc +By default you will be prompted to check for updates. If you would like oh-my-zsh to automatically update itself without prompting you, set the following in your @~/.zshrc@ @DISABLE_UPDATE_PROMPT=true@ -To disable updates entirely, put this in your ~/.zshrc +To disable updates entirely, put this in your @~/.zshrc@ @DISABLE_AUTO_UPDATE=true@ diff --git a/custom/example/example.plugin.zsh b/custom/plugins/example/example.plugin.zsh similarity index 100% rename from custom/example/example.plugin.zsh rename to custom/plugins/example/example.plugin.zsh diff --git a/lib/completion.zsh b/lib/completion.zsh index 6e18e9c82..fa1d97f48 100644 --- a/lib/completion.zsh +++ b/lib/completion.zsh @@ -37,13 +37,14 @@ zstyle ':completion::complete:*' cache-path $ZSH/cache/ # Don't complete uninteresting users zstyle ':completion:*:*:*:users' ignored-patterns \ - adm amanda apache avahi beaglidx bin cacti canna clamav daemon \ - dbus distcache dovecot fax ftp games gdm gkrellmd gopher \ - hacluster haldaemon halt hsqldb ident junkbust ldap lp mail \ - mailman mailnull mldonkey mysql nagios \ - named netdump news nfsnobody nobody nscd ntp nut nx openvpn \ - operator pcap postfix postgres privoxy pulse pvm quagga radvd \ - rpc rpcuser rpm shutdown squid sshd sync uucp vcsa xfs + adm amanda apache at avahi avahi-autoipd beaglidx bin cacti canna \ + clamav daemon dbus distcache dnsmasq dovecot fax ftp games gdm \ + gkrellmd gopher hacluster haldaemon halt hsqldb ident junkbust kdm \ + ldap lp mail mailman mailnull man messagebus mldonkey mysql nagios \ + named netdump news nfsnobody nobody nscd ntp nut nx obsrun openvpn \ + operator pcap polkitd postfix postgres privoxy pulse pvm quagga radvd \ + rpc rpcuser rpm rtkit scard shutdown squid sshd statd svn sync tftp \ + usbmux uucp vcsa wwwrun xfs '_*' # ... unless we really want to. zstyle '*' single-ignored show diff --git a/lib/correction.zsh b/lib/correction.zsh index 47eb83b1d..3e1415a0b 100644 --- a/lib/correction.zsh +++ b/lib/correction.zsh @@ -1,13 +1,13 @@ -alias man='nocorrect man' -alias mv='nocorrect mv' -alias mysql='nocorrect mysql' -alias mkdir='nocorrect mkdir' -alias gist='nocorrect gist' -alias heroku='nocorrect heroku' -alias ebuild='nocorrect ebuild' -alias hpodder='nocorrect hpodder' -alias sudo='nocorrect sudo' - if [[ "$ENABLE_CORRECTION" == "true" ]]; then + alias ebuild='nocorrect ebuild' + alias gist='nocorrect gist' + alias heroku='nocorrect heroku' + alias hpodder='nocorrect hpodder' + alias man='nocorrect man' + alias mkdir='nocorrect mkdir' + alias mv='nocorrect mv' + alias mysql='nocorrect mysql' + alias sudo='nocorrect sudo' + setopt correct_all fi diff --git a/lib/functions.zsh b/lib/functions.zsh index aaf8a03e3..fda84a953 100644 --- a/lib/functions.zsh +++ b/lib/functions.zsh @@ -1,5 +1,5 @@ function zsh_stats() { - history | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n20 + fc -l 1 | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n20 } function uninstall_oh_my_zsh() { diff --git a/lib/git.zsh b/lib/git.zsh index 305a77aff..7aa5a0ea2 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -1,8 +1,8 @@ # get the name of the branch we are on function git_prompt_info() { - if [[ "$(git config --get oh-my-zsh.hide-status)" != "1" ]]; then + if [[ "$(command git config --get oh-my-zsh.hide-status 2>/dev/null)" != "1" ]]; then ref=$(command git symbolic-ref HEAD 2> /dev/null) || \ - ref=$(command git rev-parse --short HEAD 2> /dev/null) || return + ref=$(command git rev-parse --short HEAD 2> /dev/null) || return 0 echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX" fi } @@ -54,11 +54,19 @@ git_remote_status() { # Checks if there are commits ahead from remote function git_prompt_ahead() { - if $(echo "$(command git log origin/$(current_branch)..HEAD 2> /dev/null)" | grep '^commit' &> /dev/null); then + if $(echo "$(command git log @{upstream}..HEAD 2> /dev/null)" | grep '^commit' &> /dev/null); then echo "$ZSH_THEME_GIT_PROMPT_AHEAD" fi } +# Gets the number of commits ahead from remote +function git_commits_ahead() { + if $(echo "$(command git log @{upstream}..HEAD 2> /dev/null)" | grep '^commit' &> /dev/null); then + COMMITS=$(command git log @{upstream}..HEAD | grep '^commit' | wc -l | tr -d ' ') + echo "$ZSH_THEME_GIT_COMMITS_AHEAD_PREFIX$COMMITS$ZSH_THEME_GIT_COMMITS_AHEAD_SUFFIX" + fi +} + # Formats prompt string for current git commit short SHA function git_prompt_short_sha() { SHA=$(command git rev-parse --short HEAD 2> /dev/null) && echo "$ZSH_THEME_GIT_PROMPT_SHA_BEFORE$SHA$ZSH_THEME_GIT_PROMPT_SHA_AFTER" diff --git a/lib/grep.zsh b/lib/grep.zsh index 93c4270b6..276fec382 100644 --- a/lib/grep.zsh +++ b/lib/grep.zsh @@ -2,5 +2,23 @@ # Color grep results # Examples: http://rubyurl.com/ZXv # -export GREP_OPTIONS='--color=auto' -export GREP_COLOR='1;32' \ No newline at end of file + +GREP_OPTIONS="--color=auto" + +# avoid VCS folders (if the necessary grep flags are available) +grep-flag-available() { + echo | grep $1 "" >/dev/null 2>&1 +} +if grep-flag-available --exclude-dir=.cvs; then + for PATTERN in .cvs .git .hg .svn; do + GREP_OPTIONS+=" --exclude-dir=$PATTERN" + done +elif grep-flag-available --exclude=.cvs; then + for PATTERN in .cvs .git .hg .svn; do + GREP_OPTIONS+=" --exclude=$PATTERN" + done +fi +unfunction grep-flag-available + +export GREP_OPTIONS="$GREP_OPTIONS" +export GREP_COLOR='1;32' diff --git a/lib/history.zsh b/lib/history.zsh index 655945166..1d83e56e3 100644 --- a/lib/history.zsh +++ b/lib/history.zsh @@ -5,7 +5,6 @@ fi HISTSIZE=10000 SAVEHIST=10000 -setopt append_history setopt extended_history setopt hist_expire_dups_first setopt hist_ignore_dups # ignore duplication command history list diff --git a/lib/key-bindings.zsh b/lib/key-bindings.zsh index 94f1842f3..9063c6a18 100644 --- a/lib/key-bindings.zsh +++ b/lib/key-bindings.zsh @@ -15,29 +15,49 @@ if (( ${+terminfo[smkx]} )) && (( ${+terminfo[rmkx]} )); then zle -N zle-line-finish fi -bindkey -e # Use emacs key bindings +bindkey -e # Use emacs key bindings -bindkey '\ew' kill-region # [Esc-w] - Kill from the cursor to the mark -bindkey -s '\el' 'ls\n' # [Esc-l] - run command: ls -bindkey '^r' history-incremental-search-backward # [Ctrl-r] - Search backward incrementally for a specified string. The string may begin with ^ to anchor the search to the beginning of the line. -bindkey "${terminfo[kpp]}" up-line-or-history # [PageUp] - Up a line of history -bindkey "${terminfo[knp]}" down-line-or-history # [PageDown] - Down a line of history +bindkey '\ew' kill-region # [Esc-w] - Kill from the cursor to the mark +bindkey -s '\el' 'ls\n' # [Esc-l] - run command: ls +bindkey '^r' history-incremental-search-backward # [Ctrl-r] - Search backward incrementally for a specified string. The string may begin with ^ to anchor the search to the beginning of the line. +if [[ "${terminfo[kpp]}" != "" ]]; then + bindkey "${terminfo[kpp]}" up-line-or-history # [PageUp] - Up a line of history +fi +if [[ "${terminfo[knp]}" != "" ]]; then + bindkey "${terminfo[knp]}" down-line-or-history # [PageDown] - Down a line of history +fi -bindkey "${terminfo[kcuu1]}" up-line-or-search # start typing + [Up-Arrow] - fuzzy find history forward -bindkey "${terminfo[kcud1]}" down-line-or-search # start typing + [Down-Arrow] - fuzzy find history backward +if [[ "${terminfo[kcuu1]}" != "" ]]; then + bindkey "${terminfo[kcuu1]}" up-line-or-search # start typing + [Up-Arrow] - fuzzy find history forward +fi +if [[ "${terminfo[kcud1]}" != "" ]]; then + bindkey "${terminfo[kcud1]}" down-line-or-search # start typing + [Down-Arrow] - fuzzy find history backward +fi -bindkey "${terminfo[khome]}" beginning-of-line # [Home] - Go to beginning of line -bindkey "${terminfo[kend]}" end-of-line # [End] - Go to end of line +if [[ "${terminfo[khome]}" != "" ]]; then + bindkey "${terminfo[khome]}" beginning-of-line # [Home] - Go to beginning of line +fi +if [[ "${terminfo[kend]}" != "" ]]; then + bindkey "${terminfo[kend]}" end-of-line # [End] - Go to end of line +fi -bindkey ' ' magic-space # [Space] - do history expansion +bindkey ' ' magic-space # [Space] - do history expansion -bindkey '^[[1;5C' forward-word # [Ctrl-RightArrow] - move forward one word -bindkey '^[[1;5D' backward-word # [Ctrl-LeftArrow] - move backward one word +bindkey '^[[1;5C' forward-word # [Ctrl-RightArrow] - move forward one word +bindkey '^[[1;5D' backward-word # [Ctrl-LeftArrow] - move backward one word -bindkey "${terminfo[kcbt]}" reverse-menu-complete # [Shift-Tab] - move through the completion menu backwards +if [[ "${terminfo[kcbt]}" != "" ]]; then + bindkey "${terminfo[kcbt]}" reverse-menu-complete # [Shift-Tab] - move through the completion menu backwards +fi -bindkey '^?' backward-delete-char # [Backspace] - delete backward -bindkey "${terminfo[kdch1]}" delete-char # [Delete] - delete forward +bindkey '^?' backward-delete-char # [Backspace] - delete backward +if [[ "${terminfo[kdch1]}" != "" ]]; then + bindkey "${terminfo[kdch1]}" delete-char # [Delete] - delete forward +else + bindkey "^[[3~" delete-char + bindkey "^[3;5~" delete-char + bindkey "\e[3~" delete-char +fi # Edit the current command line in $EDITOR autoload -U edit-command-line diff --git a/lib/spectrum.zsh b/lib/spectrum.zsh index 166c942fb..b683aca29 100644 --- a/lib/spectrum.zsh +++ b/lib/spectrum.zsh @@ -19,17 +19,19 @@ for color in {000..255}; do BG[$color]="%{[48;5;${color}m%}" done + +ZSH_SPECTRUM_TEXT=${ZSH_SPECTRUM_TEXT:-Arma virumque cano Troiae qui primus ab oris} + # Show all 256 colors with color number function spectrum_ls() { for code in {000..255}; do - print -P -- "$code: %F{$code}Test%f" + print -P -- "$code: %F{$code}$ZSH_SPECTRUM_TEXT%f" done } # Show all 256 colors where the background is set to specific color function spectrum_bls() { for code in {000..255}; do - ((cc = code + 1)) - print -P -- "$BG[$code]$code: Test %{$reset_color%}" + print -P -- "$BG[$code]$code: $ZSH_SPECTRUM_TEXT %{$reset_color%}" done } diff --git a/lib/termsupport.zsh b/lib/termsupport.zsh index 5f2fe63d4..9c0a430fb 100644 --- a/lib/termsupport.zsh +++ b/lib/termsupport.zsh @@ -26,8 +26,11 @@ function omz_termsupport_precmd { function omz_termsupport_preexec { emulate -L zsh setopt extended_glob - local CMD=${1[(wr)^(*=*|sudo|ssh|rake|-*)]} #cmd name only, or if this is sudo or ssh, the next cmd + + # cmd name only, or if this is sudo or ssh, the next cmd + local CMD=${1[(wr)^(*=*|sudo|ssh|rake|-*)]:gs/%/%%} local LINE="${2:gs/%/%%}" + title '$CMD' '%100>...>$LINE%<<' } diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index 3c0f4f8f5..c217b91bb 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -46,7 +46,9 @@ else fi # Save the location of the current completion dump file. -ZSH_COMPDUMP="${ZDOTDIR:-${HOME}}/.zcompdump-${SHORT_HOST}-${ZSH_VERSION}" +if [ -z "$ZSH_COMPDUMP" ]; then + ZSH_COMPDUMP="${ZDOTDIR:-${HOME}}/.zcompdump-${SHORT_HOST}-${ZSH_VERSION}" +fi # Load and run compinit autoload -U compinit diff --git a/plugins/atom/atom.plugin.zsh b/plugins/atom/atom.plugin.zsh index 048fd7521..9adb9031a 100644 --- a/plugins/atom/atom.plugin.zsh +++ b/plugins/atom/atom.plugin.zsh @@ -1,4 +1,14 @@ -# -# Your guess is as good as mine. Let's just assume that we will need this... -# - For more info visit... http://atom.io/ -# \ No newline at end of file +local _atom_paths > /dev/null 2>&1 +_atom_paths=( + "$HOME/Applications/Atom.app" + "/Applications/Atom.app" +) + +for _atom_path in $_atom_paths; do + if [[ -a $_atom_path ]]; then + alias at="open -a '$_atom_path'" + break + fi +done + +alias att='at .' diff --git a/plugins/autojump/autojump.plugin.zsh b/plugins/autojump/autojump.plugin.zsh index 0aa14959d..50a694764 100644 --- a/plugins/autojump/autojump.plugin.zsh +++ b/plugins/autojump/autojump.plugin.zsh @@ -1,5 +1,7 @@ if [ $commands[autojump] ]; then # check if autojump is installed - if [ -f /usr/share/autojump/autojump.zsh ]; then # debian and ubuntu package + if [ -f $HOME/.autojump/etc/profile.d/autojump.zsh ]; then # manual user-local installation + . $HOME/.autojump/etc/profile.d/autojump.zsh + elif [ -f /usr/share/autojump/autojump.zsh ]; then # debian and ubuntu package . /usr/share/autojump/autojump.zsh elif [ -f /etc/profile.d/autojump.zsh ]; then # manual installation . /etc/profile.d/autojump.zsh @@ -7,8 +9,6 @@ if [ $commands[autojump] ]; then # check if autojump is installed . /etc/profile.d/autojump.sh elif [ -f /usr/local/share/autojump/autojump.zsh ]; then # freebsd installation . /usr/local/share/autojump/autojump.zsh - elif [ -f $HOME/.autojump/etc/profile.d/autojump.zsh ]; then # manual user-local installation - . $HOME/.autojump/etc/profile.d/autojump.zsh elif [ -f /opt/local/etc/profile.d/autojump.zsh ]; then # mac os x with ports . /opt/local/etc/profile.d/autojump.zsh elif [ $commands[brew] -a -f `brew --prefix`/etc/autojump.zsh ]; then # mac os x with brew diff --git a/plugins/battery/battery.plugin.zsh b/plugins/battery/battery.plugin.zsh index e39cc5b8f..32dd4b624 100644 --- a/plugins/battery/battery.plugin.zsh +++ b/plugins/battery/battery.plugin.zsh @@ -21,7 +21,7 @@ if [[ $(uname) == "Darwin" ]] ; then function plugged_in() { [ $(ioreg -rc AppleSmartBattery | grep -c '^.*"ExternalConnected"\ =\ Yes') -eq 1 ] } - + function battery_pct_remaining() { if plugged_in ; then echo "External Power" @@ -31,10 +31,14 @@ if [[ $(uname) == "Darwin" ]] ; then } function battery_time_remaining() { - local smart_battery_status="$(ioreg -rc "AppleSmartBattery")" + local smart_battery_status="$(ioreg -rc "AppleSmartBattery")" if [[ $(echo $smart_battery_status | grep -c '^.*"ExternalConnected"\ =\ No') -eq 1 ]] ; then timeremaining=$(echo $smart_battery_status | grep '^.*"AvgTimeToEmpty"\ =\ ' | sed -e 's/^.*"AvgTimeToEmpty"\ =\ //') - echo "~$((timeremaining / 60)):$((timeremaining % 60))" + if [ $timeremaining -gt 720 ] ; then + echo "::" + else + echo "~$((timeremaining / 60)):$((timeremaining % 60))" + fi else echo "∞" fi @@ -55,16 +59,28 @@ if [[ $(uname) == "Darwin" ]] ; then echo "∞" fi } - + function battery_is_charging() { - [[ $(ioreg -rc "AppleSmartBattery"| grep '^.*"IsCharging"\ =\ ' | sed -e 's/^.*"IsCharging"\ =\ //') == "Yes" ]] + [[ $(ioreg -rc "AppleSmartBattery"| grep '^.*"IsCharging"\ =\ ' | sed -e 's/^.*"IsCharging"\ =\ //') == "Yes" ]] } elif [[ $(uname) == "Linux" ]] ; then + function battery_is_charging() { + ! [[ $(acpi 2&>/dev/null | grep -c '^Battery.*Discharging') -gt 0 ]] + } + + function battery_pct() { + if (( $+commands[acpi] )) ; then + echo "$(acpi | cut -f2 -d ',' | tr -cd '[:digit:]')" + fi + } + function battery_pct_remaining() { - if [[ $(acpi 2&>/dev/null | grep -c '^Battery.*Discharging') -gt 0 ]] ; then - echo "$(acpi | cut -f2 -d ',' | tr -cd '[:digit:]')" + if [ ! $(battery_is_charging) ] ; then + battery_pct + else + echo "External Power" fi } @@ -89,15 +105,6 @@ elif [[ $(uname) == "Linux" ]] ; then echo "∞" fi } - - function battery_pct() { - # todo for on linux - } - - function battery_is_charging() { - # todo on linux - false - } else # Empty functions so we don't cause errors in prompts @@ -131,7 +138,7 @@ function battery_level_gauge() { if [[ $battery_remaining_percentage =~ [0-9]+ ]]; then local filled=$(((( $battery_remaining_percentage + $gauge_slots - 1) / $gauge_slots))); local empty=$(($gauge_slots - $filled)); - + if [[ $filled -gt $green_threshold ]]; then local gauge_color=$color_green; elif [[ $filled -gt $yellow_threshold ]]; then local gauge_color=$color_yellow; else local gauge_color=$color_red; @@ -139,10 +146,9 @@ function battery_level_gauge() { else local filled=$gauge_slots; local empty=0; - filled_symbol=${BATTERY_UNKNOWN_SYMBOL:-'.'}; + filled_symbol=${BATTERY_UNKNOWN_SYMBOL:-'.'}; fi - local charging=' ' && battery_is_charging && charging=$charging_symbol; printf ${charging_color//\%/\%\%}$charging${color_reset//\%/\%\%}${battery_prefix//\%/\%\%}${gauge_color//\%/\%\%} diff --git a/plugins/bower/_bower b/plugins/bower/_bower old mode 100755 new mode 100644 diff --git a/plugins/brew-cask/brew-cask.plugin.zsh b/plugins/brew-cask/brew-cask.plugin.zsh new file mode 100644 index 000000000..91ce0f498 --- /dev/null +++ b/plugins/brew-cask/brew-cask.plugin.zsh @@ -0,0 +1,84 @@ +# Autocompletion for homebrew-cask. +# +# This script intercepts calls to the brew plugin and adds autocompletion +# for the cask subcommand. +# +# Author: https://github.com/pstadler + +compdef _brew-cask brew + +_brew-cask() +{ + local curcontext="$curcontext" state line + typeset -A opt_args + + _arguments -C \ + ':command:->command' \ + ':subcmd:->subcmd' \ + '*::options:->options' + + case $state in + (command) + __call_original_brew + cask_commands=( + 'cask:manage casks' + ) + _describe -t commands 'brew cask command' cask_commands ;; + + (subcmd) + case "$line[1]" in + cask) + if (( CURRENT == 3 )); then + local -a subcommands + subcommands=( + "alfred:used to modify Alfred's scope to include the Caskroom" + 'audit:verifies installability of casks' + 'checklinks:checks for bad cask links' + 'cleanup:cleans up cached downloads' + 'create:creates a cask of the given name and opens it in an editor' + 'doctor:checks for configuration issues' + 'edit:edits the cask of the given name' + 'fetch:downloads Cask resources to local cache' + 'home:opens the homepage of the cask of the given name' + 'info:displays information about the cask of the given name' + 'install:installs the cask of the given name' + 'list:with no args, lists installed casks; given installed casks, lists installed files' + 'search:searches all known casks' + 'uninstall:uninstalls the cask of the given name' + "update:a synonym for 'brew update'" + ) + _describe -t commands "brew cask subcommand" subcommands + fi ;; + + *) + __call_original_brew ;; + esac ;; + + (options) + local -a casks installed_casks + local expl + case "$line[2]" in + list|uninstall) + __brew_installed_casks + _wanted installed_casks expl 'installed casks' compadd -a installed_casks ;; + audit|edit|home|info|install) + __brew_all_casks + _wanted casks expl 'all casks' compadd -a casks ;; + esac ;; + esac +} + +__brew_all_casks() { + casks=(`brew cask search`) +} + +__brew_installed_casks() { + installed_casks=(`brew cask list`) +} + +__call_original_brew() +{ + local ret=1 + _call_function ret _brew + compdef _brew-cask brew +} diff --git a/plugins/brew/brew.plugin.zsh b/plugins/brew/brew.plugin.zsh index c2e95884e..42fb80c9a 100644 --- a/plugins/brew/brew.plugin.zsh +++ b/plugins/brew/brew.plugin.zsh @@ -1 +1,2 @@ alias brews='brew list -1' +alias bubu="brew update && brew upgrade && brew cleanup" diff --git a/plugins/bundler/README.md b/plugins/bundler/README.md new file mode 100644 index 000000000..56f0c7176 --- /dev/null +++ b/plugins/bundler/README.md @@ -0,0 +1,49 @@ +# Bundler + +- adds completion for basic bundler commands +- adds short aliases for common bundler commands + - `be` aliased to `bundle exec` + - `bl` aliased to `bundle list` + - `bp` aliased to `bundle package` + - `bo` aliased to `bundle open` + - `bu` aliased to `bundle update` + - `bi` aliased to `bundle install --jobs=` (only for bundler `>= 1.4.0`) +- adds a wrapper for common gems: + - looks for a binstub under `./bin/` and executes it (if present) + - calls `bundle exec ` otherwise + +For a full list of *common gems* being wrapped by default please look at the `bundler.plugin.zsh` file. + +## Configuration + +Please use the exact name of the executable and not the gem name. + +### Add additional gems to be wrapped + +Add this before the plugin-list in your `.zshrc`: +```sh +BUNDLED_COMMANDS=(rubocop) +plugins=(... bundler ...) +``` +This will add the wrapper for the `rubocop` gem (i.e. the executable). + + +### Exclude gems from being wrapped + +Add this before the plugin-list in your `.zshrc`: +```sh +UNBUNDLED_COMMANDS=(foreman spin) +plugins=(... bundler ...) +``` +This will exclude the `foreman` and `spin` gems (i.e. their executable) from being wrapped. + +## Excluded gems + +These gems should not be called with `bundle exec`. Please see the Issues on GitHub for clarification. + +`berks` +`foreman` +`mailcatcher` +`rails` +`ruby` +`spin` diff --git a/plugins/bundler/_bundler b/plugins/bundler/_bundler index 2ec3a5f9c..ba647ab80 100644 --- a/plugins/bundler/_bundler +++ b/plugins/bundler/_bundler @@ -18,11 +18,13 @@ case $state in "check[Determine whether the requirements for your application are installed]" \ "list[Show all of the gems in the current bundle]" \ "show[Show the source location of a particular gem in the bundle]" \ + "outdated[Show all of the outdated gems in the current bundle]" \ "console[Start an IRB session in the context of the current bundle]" \ "open[Open an installed gem in the editor]" \ "viz[Generate a visual representation of your dependencies]" \ "init[Generate a simple Gemfile, placed in the current directory]" \ "gem[Create a simple gem, suitable for development with bundler]" \ + "platform[Displays platform compatibility information]" \ "clean[Cleans up unused gems in your bundler directory]" \ "help[Describe available tasks or one specific task]" ret=0 @@ -39,11 +41,13 @@ case $state in 'check' \ 'list' \ 'show' \ + 'outdated' \ 'console' \ 'open' \ 'viz' \ 'init' \ 'gem' \ + 'platform' \ 'help' && ret=0 ;; install) @@ -71,6 +75,15 @@ case $state in '(--verbose)--verbose[Enable verbose output mode]' ret=0 ;; + outdated) + _arguments \ + '(--pre)--pre[Check for newer pre-release gems]' \ + '(--source)--source[Check against a specific source]' \ + '(--local)--local[Do not attempt to fetch gems remotely and use the gem cache instead]' \ + '(--no-color)--no-color[Disable colorization in output]' \ + '(--verbose)--verbose[Enable verbose output mode]' + ret=0 + ;; (open|show) _gems=( $(bundle show 2> /dev/null | sed -e '/^ \*/!d; s/^ \* \([^ ]*\) .*/\1/') ) if [[ $_gems != "" ]]; then diff --git a/plugins/bundler/bundler.plugin.zsh b/plugins/bundler/bundler.plugin.zsh index 9dfed61a4..617dcde71 100644 --- a/plugins/bundler/bundler.plugin.zsh +++ b/plugins/bundler/bundler.plugin.zsh @@ -3,19 +3,54 @@ alias bl="bundle list" alias bp="bundle package" alias bo="bundle open" alias bu="bundle update" +alias bi="bundle_install" -# The following is based on https://github.com/gma/bundler-exec - -bundled_commands=(annotate berks cap capify cucumber foodcritic foreman guard jekyll kitchen knife middleman nanoc rackup rainbows rake rspec ruby shotgun spec spin spork strainer tailor taps thin thor unicorn unicorn_rails puma) +bundled_commands=( + annotate + cap + capify + cucumber + foodcritic + guard + irb + jekyll + kitchen + knife + middleman + nanoc + pry + puma + rackup + rainbows + rake + rspec + shotgun + sidekiq + spec + spork + spring + strainer + tailor + taps + thin + thor + unicorn + unicorn_rails +) # Remove $UNBUNDLED_COMMANDS from the bundled_commands list for cmd in $UNBUNDLED_COMMANDS; do bundled_commands=(${bundled_commands#$cmd}); done +# Add $BUNDLED_COMMANDS to the bundled_commands list +for cmd in $BUNDLED_COMMANDS; do + bundled_commands+=($cmd); +done + ## Functions -bi() { +bundle_install() { if _bundler-installed && _within-bundled-project; then local bundler_version=`bundle version | cut -d' ' -f3` if [[ $bundler_version > '1.4.0' || $bundler_version = '1.4.0' ]]; then @@ -39,17 +74,25 @@ _bundler-installed() { } _within-bundled-project() { - local check_dir=$PWD - while [ $check_dir != "/" ]; do + local check_dir="$PWD" + while [ "$check_dir" != "/" ]; do [ -f "$check_dir/Gemfile" ] && return check_dir="$(dirname $check_dir)" done false } +_binstubbed() { + [ -f "./bin/${1}" ] +} + _run-with-bundler() { if _bundler-installed && _within-bundled-project; then - bundle exec $@ + if _binstubbed $1; then + ./bin/$@ + else + bundle exec $@ + fi else $@ fi @@ -62,7 +105,6 @@ for cmd in $bundled_commands; do alias $cmd=bundled_$cmd if which _$cmd > /dev/null 2>&1; then - compdef _$cmd bundled_$cmd=$cmd + compdef _$cmd bundled_$cmd=$cmd fi done - diff --git a/plugins/colemak/colemak.plugin.zsh b/plugins/colemak/colemak.plugin.zsh index 34d42c280..cb7cc5068 100644 --- a/plugins/colemak/colemak.plugin.zsh +++ b/plugins/colemak/colemak.plugin.zsh @@ -19,4 +19,4 @@ bindkey -a 'N' vi-join bindkey -a 'j' vi-forward-word-end bindkey -a 'J' vi-forward-blank-word-end -lesskey $ZSH_CUSTOM/plugins/colemak/colemak-less +lesskey $ZSH/plugins/colemak/colemak-less diff --git a/plugins/colorize/colorize.plugin.zsh b/plugins/colorize/colorize.plugin.zsh index 0696607d9..11b58e69d 100644 --- a/plugins/colorize/colorize.plugin.zsh +++ b/plugins/colorize/colorize.plugin.zsh @@ -1,4 +1,4 @@ -# Plugin for highligthing file content +# Plugin for highlighting file content # Plugin highlights file content based on the filename extension. # If no highlighting method supported for given extension then it tries # guess it by looking for file content. @@ -6,9 +6,9 @@ alias colorize='colorize_via_pygmentize' colorize_via_pygmentize() { - if [ ! -x $(which pygmentize) ]; then - echo package \'pygmentize\' is not installed! - exit -1 + if [ ! -x "$(which pygmentize)" ]; then + echo "package \'pygmentize\' is not installed!" + return -1 fi if [ $# -eq 0 ]; then @@ -25,4 +25,4 @@ colorize_via_pygmentize() { pygmentize -g "$FNAME" fi done -} \ No newline at end of file +} diff --git a/plugins/common-aliases/common-aliases.plugin.zsh b/plugins/common-aliases/common-aliases.plugin.zsh index 75899ca2c..228a39da0 100644 --- a/plugins/common-aliases/common-aliases.plugin.zsh +++ b/plugins/common-aliases/common-aliases.plugin.zsh @@ -3,7 +3,6 @@ # # ls, the common ones I use a lot shortened for rapid fire usage -alias ls='ls --color' #I like color alias l='ls -lFh' #size,show type,human readable alias la='ls -lAFh' #long list,show almost all,show type,human readable alias lr='ls -tRFh' #sorted by date,recursive,show type,human readable @@ -39,7 +38,7 @@ alias -g NE="2> /dev/null" alias -g NUL="> /dev/null 2>&1" alias -g P="2>&1| pygmentize -l pytb" -alias dud='du --max-depth=1 -h' +alias dud='du -d 1 -h' alias duf='du -sh *' alias fd='find . -type d -name' alias ff='find . -type f -name' @@ -71,7 +70,7 @@ if [ ${ZSH_VERSION//\./} -ge 420 ]; then _image_fts=(jpg jpeg png gif mng tiff tif xpm) for ft in $_image_fts ; do alias -s $ft=$XIVIEWER; done - _media_fts=(avi mpg mpeg ogm mp3 wav ogg ape rm mov mkv) + _media_fts=(ape avi flv mkv mov mp3 mpeg mpg ogg ogm rm wav webm) for ft in $_media_fts ; do alias -s $ft=mplayer ; done #read documents diff --git a/plugins/composer/composer.plugin.zsh b/plugins/composer/composer.plugin.zsh index 9975aaca4..86f2ca4df 100644 --- a/plugins/composer/composer.plugin.zsh +++ b/plugins/composer/composer.plugin.zsh @@ -46,3 +46,6 @@ alias cdu='composer dump-autoload' # install composer in the current directory alias cget='curl -s https://getcomposer.org/installer | php' + +# Add Composer's global binaries to PATH +export PATH=$PATH:~/.composer/vendor/bin diff --git a/plugins/debian/debian.plugin.zsh b/plugins/debian/debian.plugin.zsh index 1e15487ba..6e45e0521 100644 --- a/plugins/debian/debian.plugin.zsh +++ b/plugins/debian/debian.plugin.zsh @@ -21,8 +21,8 @@ fi # Aliases ################################################################### # These are for more obscure uses of apt-get and aptitude that aren't covered # below. -alias ag='apt-get' -alias ap='aptitude' +alias age='apt-get' +alias api='aptitude' # Some self-explanatory aliases alias acs="apt-cache search" @@ -217,3 +217,11 @@ kerndeb () { "$revision" kernel_image kernel_headers } +# List packages by size +function apt-list-packages { + dpkg-query -W --showformat='${Installed-Size} ${Package} ${Status}\n' | \ + grep -v deinstall | \ + sort -n | \ + awk '{print $1" "$2}' +} + diff --git a/plugins/dirhistory/dirhistory.plugin.zsh b/plugins/dirhistory/dirhistory.plugin.zsh new file mode 100644 index 000000000..504d7ec14 --- /dev/null +++ b/plugins/dirhistory/dirhistory.plugin.zsh @@ -0,0 +1,132 @@ +## +# Navigate directory history using ALT-LEFT and ALT-RIGHT. ALT-LEFT moves back to directories +# that the user has changed to in the past, and ALT-RIGHT undoes ALT-LEFT. +# + +dirhistory_past=(`pwd`) +dirhistory_future=() +export dirhistory_past +export dirhistory_future + +export DIRHISTORY_SIZE=30 + +# Pop the last element of dirhistory_past. +# Pass the name of the variable to return the result in. +# Returns the element if the array was not empty, +# otherwise returns empty string. +function pop_past() { + eval "$1='$dirhistory_past[$#dirhistory_past]'" + if [[ $#dirhistory_past -gt 0 ]]; then + dirhistory_past[$#dirhistory_past]=() + fi +} + +function pop_future() { + eval "$1='$dirhistory_future[$#dirhistory_future]'" + if [[ $#dirhistory_future -gt 0 ]]; then + dirhistory_future[$#dirhistory_future]=() + fi +} + +# Push a new element onto the end of dirhistory_past. If the size of the array +# is >= DIRHISTORY_SIZE, the array is shifted +function push_past() { + if [[ $#dirhistory_past -ge $DIRHISTORY_SIZE ]]; then + shift dirhistory_past + fi + if [[ $#dirhistory_past -eq 0 || $dirhistory_past[$#dirhistory_past] != "$1" ]]; then + dirhistory_past+=($1) + fi +} + +function push_future() { + if [[ $#dirhistory_future -ge $DIRHISTORY_SIZE ]]; then + shift dirhistory_future + fi + if [[ $#dirhistory_future -eq 0 || $dirhistory_futuret[$#dirhistory_future] != "$1" ]]; then + dirhistory_future+=($1) + fi +} + +# Called by zsh when directory changes +function chpwd() { + push_past `pwd` + # If DIRHISTORY_CD is not set... + if [[ -z "${DIRHISTORY_CD+x}" ]]; then + # ... clear future. + dirhistory_future=() + fi +} + +function dirhistory_cd(){ + DIRHISTORY_CD="1" + cd $1 + unset DIRHISTORY_CD +} + +# Move backward in directory history +function dirhistory_back() { + local cw="" + local d="" + # Last element in dirhistory_past is the cwd. + + pop_past cw + if [[ "" == "$cw" ]]; then + # Someone overwrote our variable. Recover it. + dirhistory_past=(`pwd`) + return + fi + + pop_past d + if [[ "" != "$d" ]]; then + dirhistory_cd $d + push_future $cw + else + push_past $cw + fi +} + + +# Move forward in directory history +function dirhistory_forward() { + local d="" + + pop_future d + if [[ "" != "$d" ]]; then + dirhistory_cd $d + push_past $d + fi +} + + +# Bind keys to history navigation +function dirhistory_zle_dirhistory_back() { + # Erase current line in buffer + zle kill-buffer + dirhistory_back + zle accept-line +} + +function dirhistory_zle_dirhistory_future() { + # Erase current line in buffer + zle kill-buffer + dirhistory_forward + zle accept-line +} + +zle -N dirhistory_zle_dirhistory_back +# xterm in normal mode +bindkey "\e[3D" dirhistory_zle_dirhistory_back +bindkey "\e[1;3D" dirhistory_zle_dirhistory_back +# Putty: +bindkey "\e\e[D" dirhistory_zle_dirhistory_back +# GNU screen: +bindkey "\eO3D" dirhistory_zle_dirhistory_back + +zle -N dirhistory_zle_dirhistory_future +bindkey "\e[3C" dirhistory_zle_dirhistory_future +bindkey "\e[1;3C" dirhistory_zle_dirhistory_future +bindkey "\e\e[C" dirhistory_zle_dirhistory_future +bindkey "\eO3C" dirhistory_zle_dirhistory_future + + diff --git a/plugins/dirpersist/dirpersist.plugin.zsh b/plugins/dirpersist/dirpersist.plugin.zsh index 0f6d9f435..88d1129d4 100644 --- a/plugins/dirpersist/dirpersist.plugin.zsh +++ b/plugins/dirpersist/dirpersist.plugin.zsh @@ -1,39 +1,19 @@ -#!/bin/zsh -# -# Make the dirstack more persistant -# -# Add dirpersist to $plugins in ~/.zshrc to load -# +# Save dirstack history to .zdirs +# adapted from: +# github.com/grml/grml-etc-core/blob/master/etc/zsh/zshrc#L1547 -# $zdirstore is the file used to persist the stack -zdirstore=~/.zdirstore +DIRSTACKSIZE=${DIRSTACKSIZE:-20} +dirstack_file=${dirstack_file:-${HOME}/.zdirs} -dirpersistinstall () { - if grep 'dirpersiststore' ~/.zlogout > /dev/null; then - else - if read -q \?"Would you like to set up your .zlogout file for use with dirspersist? (y/n) "; then - echo "# Store dirs stack\n# See $ZSH/plugins/dirspersist.plugin.zsh\ndirpersiststore" >> ~/.zlogout - else - echo "If you don't want this message to appear, remove dirspersist from \$plugins" - fi - fi +if [[ -f ${dirstack_file} ]] && [[ ${#dirstack[*]} -eq 0 ]] ; then + dirstack=( ${(f)"$(< $dirstack_file)"} ) + # "cd -" won't work after login by just setting $OLDPWD, so + [[ -d $dirstack[1] ]] && cd $dirstack[1] && cd $OLDPWD +fi + +chpwd() { + if (( $DIRSTACKSIZE <= 0 )) || [[ -z $dirstack_file ]]; then return; fi + local -ax my_stack + my_stack=( ${PWD} ${dirstack} ) + builtin print -l ${(u)my_stack} >! ${dirstack_file} } - -dirpersiststore () { - dirs -p | perl -e 'foreach (reverse ) {chomp;s/([& ])/\\$1/g ;print "if [ -d $_ ]; then pushd -q $_; fi\n"}' > $zdirstore -} - -dirpersistrestore () { - if [ -f $zdirstore ]; then - source $zdirstore - fi -} - -DIRSTACKSIZE=10 -setopt autopushd pushdminus pushdsilent pushdtohome pushdignoredups - -dirpersistinstall -dirpersistrestore - -# Make popd changes permanent without having to wait for logout -alias popd="popd;dirpersiststore" diff --git a/plugins/django/django.plugin.zsh b/plugins/django/django.plugin.zsh index 9d898edca..aaaa7d21d 100644 --- a/plugins/django/django.plugin.zsh +++ b/plugins/django/django.plugin.zsh @@ -141,6 +141,7 @@ _managepy-sqlinitialdata(){} _managepy-sqlreset(){} _managepy-sqlsequencereset(){} _managepy-startapp(){} +_managepy-startproject(){} _managepy-syncdb() { _arguments -s : \ @@ -198,6 +199,7 @@ _managepy-commands() { '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).' "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 this current directory." "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).' diff --git a/plugins/docker/_docker b/plugins/docker/_docker index 12eee7a15..28568a6e5 100644 --- a/plugins/docker/_docker +++ b/plugins/docker/_docker @@ -2,7 +2,8 @@ # Docker autocompletion for oh-my-zsh # Requires: Docker installed -# Author : Azaan (@aeonazaan) +# Author: Azaan (@aeonazaan) +# Updates: Bob Maerten (@bobmaerten) for Docker v0.9+ # ----- Helper functions @@ -24,21 +25,30 @@ __docker_images() { # Seperate function for each command, makes extension easier later # --------------------------- __attach() { + _arguments \ + '--no-stdin[Do not attach stdin]' \ + '--sig-proxy[Proxify all received signal to the process (even in non-tty mode)]' __docker_containers } __build() { _arguments \ - '-q=false[Suppress verbose build output]' \ - '-t="[fuck to be applied to the resulting image in case of success]' \ + '--no-cache[Do not use cache when building the image]' \ + '(-q,--quiet)'{-q,--quiet}'[Suppress the verbose output generated by the containers]' \ + '--rm[Remove intermediate containers after a successful build]' \ + '(-t,--tag=)'{-t,--tag=}'[Repository name (and optionally a tag) to be applied to the resulting image in case of success]' \ '*:files:_files' } __commit() { _arguments \ - '-author="[Author]' \ - '-m="[Commit message]' \ - '-run="[Config automatically applied when the image is run.\n]' + '(-a,--author=)'{-a,--author=}'[Author (eg. "John Hannibal Smith "]' \ + '(-m,--message=)'{-m,--message=}'[Commit message]' \ + '--run=[Config automatically applied when the image is run.]' + __docker_containers +} + +__cp() { __docker_containers } @@ -46,21 +56,29 @@ __diff() { __docker_containers } +__events() { + _arguments \ + '--since=[Show previously created events and then stream.]' +} + __export() { __docker_containers } - __history() { + _arguments \ + '--no-trunc=[Don''t truncate output]' \ + '(-q,--quiet)'{-q,--quiet}'[Only show numeric IDs]' __docker_images } __images() { _arguments \ - '-a[show all images]' \ - '-notrunc[dont truncate output]' \ - '-q[only show numeric IDs]' \ - '-viz[output graph in graphviz format]' + '(-a,--all)'{-a,--all}'[Show all images (by default filter out the intermediate images used to build)]' \ + '--no-trunc[Don''t truncate output]' \ + '(-q,--quiet=)'{-q,--quiet=}'[Only show numeric IDs]' \ + '(-t,--tree=)'{-t,--tree=}'[Output graph in tree format]' \ + '(-v,--viz=)'{-v,--viz=}'[Output graph in graphviz format]' __docker_images } @@ -86,14 +104,20 @@ __kill() { __docker_containers } +__load() { + _arguments '*:files:_files' +} + __login() { _arguments \ - '-e="[email]' \ - '-p="[password]' \ - '-u="[username]' \ + '(-e,--email=)'{-e,-email=}'[Email]' \ + '(-p,--password=)'{-p,-password=}'[Password]' \ + '(-u,--username=)'{-u,-username=}'[Username]' } __logs() { + _arguments \ + '(-f,--follow)'{-f,-follow}'[Follow log output]' __docker_containers } @@ -107,77 +131,107 @@ __top() { __ps() { _arguments \ - '-a[Show all containers. Only running containers are shown by default.]' \ - '-beforeId="[Show only container created before Id, include non-running ones.]' \ - '-l[Show only the latest created container, include non-running ones.]' \ - '-n=[Show n last created containers, include non-running ones.]' \ - '-notrunc[Dont truncate output]' \ - '-q[Only display numeric IDs]' \ - '-s[Display sizes]' \ - '-sinceId="[Show only containers created since Id, include non-running ones.]' + '(-a,--all)'{-a,--all}'[Show all containers. Only running containers are shown by default.]' \ + '--before-id=[Show only container created before Id, include non-running ones.]' \ + '(-l,--latest)'{-l,--latest}'[Show only the latest created container, include non-running ones.]' \ + '-n=[Show n last created containers, include non-running ones. default=-1.]' \ + '--no-trunc[Don''t truncate output]' \ + '(-q,--quiet)'{-q,--quiet}'[Only display numeric IDs]' \ + '(-s,--size)'{-s,--size}'[Display sizes]' \ + '--since-id=[Show only containers created since Id, include non-running ones.]' } __pull() { - _arguments '-t="[Download tagged image in repository]' + _arguments \ + '(-t,--tag=)'{-t,--tag=}'[Download tagged image in repository]' } __push() { - + # no arguments } __restart() { - _arguments '-t=[number of seconds to try to stop before killing]' + _arguments \ + '(-t,--time=)'{-t,--time=}'[Number of seconds to try to stop for before killing the container. Once killed it will then be restarted. Default=10]' __docker_containers } __rm() { - _arguments '-v[Remove the volumes associated to the container]' + _arguments \ + '(-f,--force=)'{-f,--force=}'[Force removal of running container]' \ + '(-l,--link=)'{-l,--link=}'[Remove the specified link and not the underlying container]' \ + '(-v,--volumes=)'{-v,--volumes=}'[Remove the volumes associated to the container]' __docker_containers } __rmi() { + _arguments \ + '(-f,--force=)'{-f,--force=}'[Force]' __docker_images } __run() { _arguments \ - '-a=[Attach to stdin, stdout or stderr.]' \ - '-c=[CPU shares (relative weight)]' \ - '-d[Detached mode: leave the container running in the background]' \ - '-dns=[Set custom dns servers]' \ - '-e=[Set environment variables]' \ - '-entrypoint="[Overwrite the default entrypoint of the image]' \ - '-h="[Container host name]' \ - '-i[Keep stdin open even if not attached]' \ - '-m=[Memory limit (in bytes)]' \ - '-p=[Expose a containers port to the host (use docker port to see the actual mapping)]' \ - '-t[Allocate a pseudo-tty]' \ - '-u="[Username or UID]' \ - '-v=[Bind mount a volume (e.g. from the host: -v /host:/container, from docker: -v /container)]' \ - '-volumes-from="[Mount volumes from the specified container]' + '(-P,--publish-all=)'{-P,--publish-all=}'[Publish all exposed ports to the host interfaces]' \ + '(-a,--attach=)'{-a,--attach=}'[Attach to stdin, stdout or stderr.]' \ + '(-c,--cpu-shares=)'{-c,--cpu-shares=}': CPU shares (relative weight)]' \ + '--cidfile=[Write the container ID to the file]' \ + '(-d,--detach=)'{-d,--detach=}'[Detached mode: Run container in the background, print new container id]' \ + '--dns=[Set custom dns servers]' \ + '(-e,--env=)'{-e,--env=}'[Set environment variables]' \ + '--entrypoint=[Overwrite the default entrypoint of the image]' \ + '--expose=[Expose a port from the container without publishing it to your host]' \ + '(-h,--hostname=)'{-h,--hostname=}'[Container host name]' \ + '(-i,--interactive=)'{-i,--interactive=}'[Keep stdin open even if not attached]' \ + '--link=[Add link to another container (name:alias)]' \ + '--lxc-conf=[Add custom lxc options -lxc-conf="lxc.cgroup.cpuset.cpus = 0,1"]' \ + '(-m,--memory=)'{-m,--memory=}'[Memory limit (format: , where unit = b, k, m or g)]' \ + '(-n,--networking=)'{-n,--networking=}'[Enable networking for this container]' \ + '--name=[Assign a name to the container]' \ + '(-p,--publish=)'{-p,--publish=}'[Publish a container''s port to the host (format: ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort) (use "docker port" to see the actual mapping)]' \ + '--privileged=[Give extended privileges to this container]' \ + '--rm=[Automatically remove the container when it exits (incompatible with -d)]' \ + '--sig-proxy=[Proxify all received signal to the process (even in non-tty mode)]' \ + '(-t,--tty=)'{-t,--tty=}'[Allocate a pseudo-tty]' \ + '(-u,--user=)'{-u,--user=}'[Username or UID]' \ + '(-v,--volume=)'{-v,--volume=}'[Bind mount a volume (e.g. from the host: -v /host:/container, from docker: -v /container)]' \ + '--volumes-from=[Mount volumes from the specified container(s)]' \ + '(-w,--workdir=)'{-w,--workdir=}'[Working directory inside the container]' __docker_images } __search() { - _arguments '-notrunc[Dont truncate output]' + _arguments \ + '--no-trunc=[Don''t truncate output]' \ + '-s,--stars=)'{-s,--stars=}'[Only displays with at least xxx stars]' \ + '-t,--trusted=)'{-t,--trusted=}'[Only show trusted builds]' +} + +__save() { + __docker_images } __start() { + _arguments \ + '(-a,--attach=)'{-a,--attach=}'[Attach container''s stdout/stderr and forward all signals to the process]' \ + '(-i,--interactive=)'{-i,--interactive=}'[Attach container''s stdin]' __docker_containers } __stop() { - _arguments '-t=[number of seconds to try to stop before killing]' + _arguments \ + '(-t,--time=)'{-t,--time=}'[Number of seconds to wait for the container to stop before killing it.]' __docker_containers } __tag() { - _arguments '-f[Force]' + _arguments \ + '(-f,--force=)'{-f,--force=}'[Force]' __docker_images } __version() { - + # no arguments } __wait() { @@ -192,7 +246,9 @@ _1st_arguments=( "attach":"Attach to a running container" "build":"Build a container from a Dockerfile" "commit":"Create a new image from a container's changes" + "cp":"Copy files/folders from the containers filesystem to the host path" "diff":"Inspect changes on a container's filesystem" + "events":"Get real time events from the server" "export":"Stream the contents of a container as a tar archive" "history":"Show the history of an image" "images":"List images" @@ -201,10 +257,10 @@ _1st_arguments=( "insert":"Insert a file in an image" "inspect":"Return low-level information on a container" "kill":"Kill a running container" + "load":"Load an image from a tar archive" "login":"Register or Login to the docker registry server" "logs":"Fetch the logs of a container" "port":"Lookup the public-facing port which is NAT-ed to PRIVATE_PORT" - "top":"Lookup the running processes of a container" "ps":"List containers" "pull":"Pull an image or a repository from the docker registry server" "push":"Push an image or a repository to the docker registry server" @@ -212,10 +268,12 @@ _1st_arguments=( "rm":"Remove one or more containers" "rmi":"Remove one or more images" "run":"Run a command in a new container" + "save":"Save an image to a tar archive" "search":"Search for an image in the docker index" "start":"Start a stopped container" "stop":"Stop a running container" "tag":"Tag an image into a repository" + "top":"Lookup the running processes of a container" "version":"Show the docker version information" "wait":"Block until a container stops, then print its exit code" ) @@ -230,13 +288,17 @@ fi local -a _command_args case "$words[1]" in attach) - __docker_containers ;; + __attach ;; build) __build ;; commit) __commit ;; + cp) + __cp ;; diff) __diff ;; + events) + __events ;; export) __export ;; history) @@ -253,14 +315,14 @@ case "$words[1]" in __inspect ;; kill) __kill ;; + load) + __load ;; login) __login ;; logs) __logs ;; port) __port ;; - top) - __top ;; ps) __ps ;; pull) @@ -275,6 +337,8 @@ case "$words[1]" in __rmi ;; run) __run ;; + save) + __save ;; search) __search ;; start) @@ -283,6 +347,8 @@ case "$words[1]" in __stop ;; tag) __tag ;; + top) + __top ;; version) __version ;; wait) diff --git a/plugins/emacs/emacsclient.sh b/plugins/emacs/emacsclient.sh index 38d419813..625201a16 100755 --- a/plugins/emacs/emacsclient.sh +++ b/plugins/emacs/emacsclient.sh @@ -3,7 +3,7 @@ # get list of available X windows. x=`emacsclient --alternate-editor '' --eval '(x-display-list)' 2>/dev/null` -if [ -z "$x" ] ;then +if [ -z "$x" ] || [ "$x" = "nil" ] ;then # Create one if there is no X window yet. emacsclient --alternate-editor "" --create-frame "$@" else diff --git a/plugins/extract/extract.plugin.zsh b/plugins/extract/extract.plugin.zsh index 7352e5bad..a6e16ddf7 100644 --- a/plugins/extract/extract.plugin.zsh +++ b/plugins/extract/extract.plugin.zsh @@ -52,7 +52,7 @@ function extract() { (*.xz) unxz "$1" ;; (*.lzma) unlzma "$1" ;; (*.Z) uncompress "$1" ;; - (*.zip|*.war|*.jar) unzip "$1" -d $extract_dir ;; + (*.zip|*.war|*.jar|*.sublime-package) unzip "$1" -d $extract_dir ;; (*.rar) unrar x -ad "$1" ;; (*.7z) 7za x "$1" ;; (*.deb) diff --git a/plugins/frontend-search/README.md b/plugins/frontend-search/README.md new file mode 100644 index 000000000..32784d03b --- /dev/null +++ b/plugins/frontend-search/README.md @@ -0,0 +1,82 @@ +## Rationale ## + +The idea for this script is to help searches in important doc contents from frontend. + +## Instalation ## + +I will send a Pull Request with this plugin for .oh-my-zsh official repository. If accept them, it's only add in plugins list that exists in ```.zshrc``` file. + +For now, you can clone this repository and add in ```custom/plugins``` folder + +```bash +$ git clone git://github.com/willmendesneto/frontend-search.git ~/.oh-my-zsh/custom/plugins/frontend-search +``` + +After this, restart your terminal and frontend-search plugin is configurated in you CLI. + +```bash +... +plugins=( ... frontend-search) +... +``` + +## Commands ## + +All command searches are accept only in format + +* `frontend ` + +The search content are + +* `jquery ` +* `mdn ` +* `compass ` +* `html5please ` +* `caniuse ` +* `aurajs ` +* `dartlang ` +* `lodash ` +* `qunit ` +* `fontello ` +* `bootsnipp ` +* `cssflow ` +* `codepen ` +* `unheap ` +* `bem &as_sitesearch=bem.info>` +* `smacss &as_sitesearch=smacss.com>` +* `angularjs &as_sitesearch=angularjs.org>` +* `reactjs &as_sitesearch=facebook.github.io/react>` +* `emberjs ` + + +## Aliases ## + +There are a few aliases presented as well: + +* `jquery` A shorthand for `frontend jquery` +* `mdn` A shorthand for `frontend mdn` +* `compass` A shorthand for `frontend compass` +* `html5please` A shorthand for `frontend html5please` +* `caniuse` A shorthand for `frontend caniuse` +* `aurajs` A shorthand for `frontend aurajs` +* `dartlang` A shorthand for `frontend dartlang` +* `lodash` A shorthand for `frontend lodash` +* `qunit` A shorthand for `frontend qunit` +* `fontello` A shorthand for `frontend fontello` +* `bootsnipp` A shorthand for `frontend bootsnipp` +* `cssflow` A shorthand for `frontend cssflow` +* `codepen` A shorthand for `frontend codepen` +* `unheap` A shorthand for `frontend unheap` +* `bem` A shorthand for `frontend bem` +* `smacss` A shorthand for `frontend smacss` +* `angularjs` A shorthand for `frontend angularjs` +* `reactjs` A shorthand for `frontend reactjs` +* `emberjs` A shorthand for `frontend emberjs` + +## Author + +**Wilson Mendes (willmendesneto)** ++ ++ + +New features comming soon. diff --git a/plugins/frontend-search/frontend-search.plugin.zsh b/plugins/frontend-search/frontend-search.plugin.zsh new file mode 100644 index 000000000..38b1a80ea --- /dev/null +++ b/plugins/frontend-search/frontend-search.plugin.zsh @@ -0,0 +1,151 @@ +# frontend from terminal + +function frontend() { + + # get the open command + local open_cmd + if [[ $(uname -s) == 'Darwin' ]]; then + open_cmd='open' + else + open_cmd='xdg-open' + fi + + # no keyword provided, simply show how call methods + if [[ $# -le 1 ]]; then + echo "Please provide a search-content and a search-term for app.\nEx:\nfrontend \n" + return 1 + fi + + # check whether the search engine is supported + if [[ ! $1 =~ '(jquery|mdn|compass|html5please|caniuse|aurajs|dartlang|qunit|fontello|bootsnipp|cssflow|codepen|unheap|bem|smacss|angularjs|reactjs|emberjs)' ]]; + then + echo "Search valid search content $1 not supported." + echo "Valid contents: (formats 'frontend ' or '')" + echo "* jquery" + echo "* mdn" + echo "* compass" + echo "* html5please" + echo "* caniuse" + echo "* aurajs" + echo "* dartlang" + echo "* lodash" + echo "* qunit" + echo "* fontello" + echo "* bootsnipp" + echo "* cssflow" + echo "* codepen" + echo "* unheap" + echo "* bem" + echo "* smacss" + echo "* angularjs" + echo "* reactjs" + echo "* emberjs" + echo "" + + return 1 + fi + + local url="http://" + local query="" + + case "$1" in + "jquery") + url="${url}api.jquery.com" + url="${url}/?s=$2" ;; + "mdn") + url="${url}developer.mozilla.org" + url="${url}/search?q=$2" ;; + "compass") + url="${url}compass-style.org" + url="${url}/search?q=$2" ;; + "html5please") + url="${url}html5please.com" + url="${url}/#$2" ;; + "caniuse") + url="${url}caniuse.com" + url="${url}/#search=$2" ;; + "aurajs") + url="${url}aurajs.com" + url="${url}/api/#stq=$2" ;; + "dartlang") + url="${url}api.dartlang.org/apidocs/channels/stable/dartdoc-viewer" + url="${url}/dart-$2" ;; + "qunit") + url="${url}api.qunitjs.com" + url="${url}/?s=$2" ;; + "fontello") + url="${url}fontello.com" + url="${url}/#search=$2" ;; + "bootsnipp") + url="${url}bootsnipp.com" + url="${url}/search?q=$2" ;; + "cssflow") + url="${url}cssflow.com" + url="${url}/search?q=$2" ;; + "codepen") + url="${url}codepen.io" + url="${url}/search?q=$2" ;; + "unheap") + url="${url}www.unheap.com" + url="${url}/?s=$2" ;; + "bem") + url="${url}google.com" + url="${url}/search?as_q=$2&as_sitesearch=bem.info" ;; + "smacss") + url="${url}google.com" + url="${url}/search?as_q=$2&as_sitesearch=smacss.com" ;; + "angularjs") + url="${url}google.com" + url="${url}/search?as_q=$2&as_sitesearch=angularjs.org" ;; + "reactjs") + url="${url}google.com" + url="${url}/search?as_q=$2&as_sitesearch=facebook.github.io/react" ;; + "emberjs") + url="${url}emberjs.com" + url="${url}/api/#stq=$2&stp=1" ;; + *) echo "INVALID PARAM!" + return ;; + esac + + echo "$url" + + $open_cmd "$url" + +} + +# javascript +alias jquery='frontend jquery' +alias mdn='frontend mdn' + +# pre processors frameworks +alias compass='frontend compass' + +# important links +alias html5please='frontend html5please' +alias caniuse='frontend caniuse' + +# components and libraries +alias aurajs='frontend aurajs' +alias dartlang='frontend dartlang' +alias lodash='frontend lodash' + +#tests +alias qunit='frontend qunit' + +#fonts +alias fontello='frontend fontello' + +# snippets +alias bootsnipp='frontend bootsnipp' +alias cssflow='frontend cssflow' +alias codepen='frontend codepen' +alias unheap='frontend unheap' + +# css architecture +alias bem='frontend bem' +alias smacss='frontend smacss' + +# frameworks +alias angularjs='frontend angularjs' +alias reactjs='frontend reactjs' +alias emberjs='frontend emberjs' diff --git a/plugins/gas/_gas b/plugins/gas/_gas index befdc9459..23e6d99aa 100644 --- a/plugins/gas/_gas +++ b/plugins/gas/_gas @@ -13,6 +13,7 @@ case $state in cmds=( "version:Prints Gas's version" "use:Uses author" + "ssh:Creates a new ssh key for an existing gas author" "show:Shows your current user" "list:Lists your authors" "import:Imports current user to gasconfig" @@ -25,8 +26,12 @@ case $state in args) case $line[1] in (use|delete) - _values -S , 'authors' $(cat ~/.gas | sed -n -e 's/^\[\(.*\)\]/\1/p') && ret=0 - ;; + VERSION=$(gas -v) + if [[ $VERSION == <1->.*.* ]] || [[ $VERSION == 0.<2->.* ]] || [[ $VERSION == 0.1.<6-> ]] then + _values -S , 'authors' $(cat ~/.gas/gas.authors | sed -n -e 's/^.*\[\(.*\)\]/\1/p') && ret=0 + else + _values -S , 'authors' $(cat ~/.gas | sed -n -e 's/^\[\(.*\)\]/\1/p') && ret=0 + fi esac ;; esac diff --git a/plugins/gem/_gem b/plugins/gem/_gem index 66c77b7d1..25967f1e7 100644 --- a/plugins/gem/_gem +++ b/plugins/gem/_gem @@ -56,6 +56,9 @@ if (( CURRENT == 1 )); then fi case "$words[1]" in + build) + _files -g "*.gemspec" + ;; list) if [[ "$state" == forms ]]; then _gem_installed diff --git a/plugins/git-prompt/gitstatus.py b/plugins/git-prompt/gitstatus.py index ef894bff2..c665a9ee1 100644 --- a/plugins/git-prompt/gitstatus.py +++ b/plugins/git-prompt/gitstatus.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python2 # -*- coding: UTF-8 -*- from subprocess import Popen, PIPE import re @@ -16,7 +16,7 @@ symbols = { } output, error = Popen( - ['git', 'status'], stdout=PIPE, stderr=PIPE).communicate() + ['git', 'status'], stdout=PIPE, stderr=PIPE, universal_newlines=True).communicate() if error: import sys diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index 2b5983f33..9f7819df3 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -149,7 +149,7 @@ function work_in_progress() { fi } # these alias commit and uncomit wip branches -alias gwip='git add -A; git ls-files --deleted -z | xargs -0 git rm; git commit -m "--wip--"' +alias gwip='git add -A; git ls-files --deleted -z | xargs -r0 git rm; git commit -m "--wip--"' alias gunwip='git log -n 1 | grep -q -c "\-\-wip\-\-" && git reset HEAD~1' # these alias ignore changes to file diff --git a/plugins/github/github.plugin.zsh b/plugins/github/github.plugin.zsh index 25b1a1e1b..bd69b1bd5 100644 --- a/plugins/github/github.plugin.zsh +++ b/plugins/github/github.plugin.zsh @@ -40,7 +40,7 @@ fi # # Use this when creating a new repo from scratch. empty_gh() { # [NAME_OF_REPO] - repo = $1 + repo=$1 ghuser=$( git config github.user ) mkdir "$repo" diff --git a/plugins/glassfish/_asadmin b/plugins/glassfish/_asadmin new file mode 100644 index 000000000..a6a7af549 --- /dev/null +++ b/plugins/glassfish/_asadmin @@ -0,0 +1,1150 @@ +#compdef asadmin +#autoload + +local -a _1st_arguments +_1st_arguments=( + "add-library:adds one or more library JAR files to GlassFish Server" + "add-resources:creates the resources specified in an XML file" + "apply-http-lb-changes:applies load balancer configuration changes to the load balancer" + "backup-domain:performs a backup on the domain" + "change-admin-password:changes the administrator password" + "change-master-broker:changes the master broker in a Message Queue cluster providing JMS services for a GlassFish Server cluster." + "change-master-password:changes the master password" + "collect-log-files:creates a ZIP archive of all available log files" + "configure-jms-cluster:configures the Message Queue cluster providing JMS services to a GlassFish Server cluster" + "configure-lb-weight:sets load balancing weights for clustered instances" + "configure-ldap-for-admin:configures the authentication realm named admin-realm for the given LDAP" + "copy-config:copies an existing named configuration to create another configuration" + "create-admin-object:adds the administered object with the specified JNDI name for a resource adapter" + "create-application-ref:creates a reference to an application" + "create-audit-module:adds an audit module" + "create-auth-realm:adds the named authentication realm" + "create-cluster:creates a GlassFish Server cluster" + "create-connector-connection-pool:adds a connection pool with the specified connection pool name" + "create-connector-resource:registers the connector resource with the specified JNDI name" + "create-connector-security-map:creates a security map for the specified connector connection pool" + "create-connector-work-security-map:creates a work security map for the specified resource adapter" + "create-custom-resource:creates a custom resource" + "create-domain:creates a domain" + "create-file-user:creates a new file user" + "create-http:sets HTTP parameters for a protocol" + "create-http-health-checker:creates a health-checker for a specified load balancer configuration" + "create-http-lb:creates a load balancer" + "create-http-lb-config:creates a configuration for the load balancer" + "create-http-lb-ref:adds an existing cluster or server instance to an existing load balancer configuration or load balancer" + "create-http-listener:adds a new HTTP network listener socket" + "create-http-redirect:adds a new HTTP redirect" + "create-iiop-listener:adds an IIOP listener" + "create-instance:creates a GlassFish Server instance" + "create-jacc-provider:enables administrators to create a JACC provider that can be used by third-party authorization modules for applications running in GlassFish Server" + "create-javamail-resource:creates a JavaMail session resource" + "create-jdbc-connection-pool:registers a JDBC connection pool" + "create-jdbc-resource:creates a JDBC resource with the specified JNDI name" + "create-jms-host:creates a JMS host" + "create-jms-resource:creates a JMS resource" + "create-jmsdest:creates a JMS physical destination" + "create-jndi-resource:registers a JNDI resource" + "create-jvm-options:creates options for the Java application launcher" + "create-lifecycle-module:creates a lifecycle module" + "create-local-instance:creates a GlassFish Server instance on the host where the subcommand is run" + "create-message-security-provider:enables administrators to create a message security provider, which specifies how SOAP messages will be secured." + "create-network-listener:adds a new network listener socket" + "create-node-config:creates a node that is not enabled for remote communication" + "create-node-dcom:creates a node that is enabled for com munication over DCOM" + "create-node-ssh:creates a node that is enabled for communication over SSH" + "create-password-alias:creates a password alias" + "create-profiler:creates the profiler element" + "create-protocol:adds a new protocol" + "create-protocol-filter:adds a new protocol filter" + "create-protocol-finder:adds a new protocol finder" + "create-resource-adapter-config:creates the configuration information for the connector module" + "create-resource-ref:creates a reference to a resource" + "create-service:configures the starting of a DAS or a GlassFish Server instance on an unattended boot" + "create-ssl:creates and configures the SSL element in the selected HTTP listener, IIOP listener, or IIOP service" + "create-system-properties:adds one or more system property elements that can be referenced elsewhere in the configuration." + "create-threadpool:adds a thread pool" + "create-transport:adds a new transport" + "create-virtual-server:creates the named virtual server" + "delete-admin-object:removes the administered object with the specified JNDI name." + "delete-application-ref:removes a reference to an applica tion" + "delete-audit-module:removes the named audit-module" + "delete-auth-realm:removes the named authentication realm" + "delete-cluster:deletes a GlassFish Server cluster" + "delete-config:deletes an existing named configuration" + "delete-connector-connection-pool:removes the specified connector connection pool" + "delete-connector-resource:removes the connector resource with the specified JNDI name" + "delete-connector-security-map:deletes a security map for the specified connector connection pool" + "delete-connector-work-security-map:deletes a work security map for the specified resource adapter" + "delete-custom-resource:removes a custom resource" + "delete-domain:deletes a domain" + "delete-file-user:removes the named file user" + "delete-http:removes HTTP parameters from a protocol" + "delete-http-health-checker:deletes the health-checker for a specified load balancer configuration" + "delete-http-lb:deletes a load balancer" + "delete-http-lb-config:deletes a load balancer configuration" + "delete-http-lb-ref:deletes the cluster or server instance from a load balancer" + "delete-http-listener:removes a network listener" + "delete-http-redirect:removes an HTTP redirect" + "delete-iiop-listener:removes an IIOP listener" + "delete-instance:deletes a GlassFish Server instance" + "delete-jacc-provider:enables administrators to delete JACC providers defined for a domain" + "delete-javamail-resource:removes a JavaMail session resource" + "delete-jdbc-connection-pool:removes the specified JDBC connection pool" + "delete-jdbc-resource:removes a JDBC resource with the specified JNDI name" + "delete-jms-host:removes a JMS host" + "delete-jms-resource:removes a JMS resource" + "delete-jmsdest:removes a JMS physical destination" + "delete-jndi-resource:removes a JNDI resource" + "delete-jvm-options:removes one or more options for the Java application launcher" + "delete-lifecycle-module:removes the lifecycle module" + "delete-local-instance:deletes a GlassFish Server instance on the machine where the subcommand is run" + "delete-log-levels:" + "delete-message-security-provider:enables administrators to delete a message security provider" + "delete-network-listener:removes a network listener" + "delete-node-config:deletes a node that is not enabled for remote communication" + "delete-node-dcom:deletes a node that is enabled for communication over DCOM" + "delete-node-ssh:deletes a node that is enabled for communication over SSH" + "delete-password-alias:deletes a password alias" + "delete-profiler:removes the profiler element" + "delete-protocol:removes a protocol" + "delete-protocol-filter:removes a protocol filter" + "delete-protocol-finder:removes a protocol finder" + "delete-resource-adapter-config:deletes the resource adapter configuration" + "delete-resource-ref:removes a reference to a resource" + "delete-ssl:deletes the SSL element in the selected HTTP listener, IIOP listener, or IIOP service" + "delete-system-property:removes a system property of the domain, configuration, cluster, or server instance, one at a time" + "delete-threadpool:removes a thread pool" + "delete-transport:removes a transport" + "delete-virtual-server:removes a virtual server" + "deploy:deploys the specified component" + "deploydir:deploys an exploded format of application archive" + "environment variable" + "disable:disables the component" + "disable-http-lb-application:disables an application managed by a load balancer" + "disable-http-lb-server:disables a sever or cluster managed by a load balancer" + "disable-monitoring:disables monitoring for the server or for specific monitorable modules" + "disable-secure-admin:disables secure admin if it is already enabled." + "disable-secure-admin-internal-user:Instructs the GlassFish Server DAS and instances to not use the specified admin user to authenticate with each other and to authorize admin operations." + "disable-secure-admin-principal:disables the certificate for authorizing access in secure administration." + "enable:enables the component" + "enable-http-lb-application:enables a previously-disabled application managed by a load balancer" + "enable-http-lb-server:enables a previously disabled sever or cluster managed by a load balancer" + "enable-monitoring:enables monitoring for the server or for specific monitorable modules" + "enable-secure-admin:enables secure admin (if it is not already enabled), optionally changing the alias used for DAS-to-instance admin messages or the alias used for instance-to-DAS admin messages." + "enable-secure-admin-internal-user:Instructs the GlassFish Server DAS and instances to use the specified admin user and the password associated with the password alias to authenticate with each other and to authorize admin operations." + "enable-secure-admin-principal:Instructs GlassFish Server, when secure admin is enabled, to accept admin requests from clients identified by the specified SSL certificate." + "export:marks a variable name for automatic export to the environment of subsequent commands in multimode" + "export-http-lb-config:exports the load balancer configuration or load balancer to a file" + "export-sync-bundle:exports the configuration data of a cluster or standalone instance to an archive file" + "flush-connection-pool:reintializes all connections established in the specified connection pool" + "flush-jmsdest:purges messages in a JMS destination." + "freeze-transaction-service:freezes the transaction subsystem" + "generate-domain-schema:" + "generate-jvm-report:shows the JVM machine statistics for a given target instance" + "get:gets the values of configurable or monitorable attributes" + "get-client-stubs:retrieves the application JAR files needed to launch the application client." + "get-health:provides information on the cluster health" + "help" + "asadmin:utility for performing administrative tasks for Oracle GlassFish Server" + "import-sync-bundle:imports the configuration data of a clustered instance or standalone instance from an archive file" + "install-node:installs GlassFish Server software on specified SSH-enabled hosts" + "install-node-dcom:installs GlassFish Server software on specified DCOM-enabled hosts" + "install-node-ssh:installs GlassFish Server software on specified SSH-enabled hosts" + "jms-ping:checks if the JMS service is up and running" + "list:lists configurable or monitorable elements" + "list-admin-objects:gets all the administered objects" + "list-application-refs:lists the existing application references" + "list-applications:lists deployed applications" + "list-audit-modules:gets all audit modules and displays them" + "list-auth-realms:lists the authentication realms" + "list-backups:lists all backups" + "list-clusters:lists existing clusters in a domain" + "list-commands:lists available commands" + "list-components:lists deployed components" + "list-configs:lists named configurations" + "list-connector-connection-pools:lists the existing connector connection pools" + "list-connector-resources:lists all connector resources" + "list-connector-security-maps:lists the security maps belonging to the specified connector connection pool" + "list-connector-work-security-maps:lists the work security maps belonging to the specified resource adapter" + "list-containers:lists application containers" + "list-custom-resources:gets all custom resources" + "list-domains:lists the domains in the specified directory" + "list-file-groups:lists file groups" + "list-file-users:lists the file users" + "list-http-lb-configs:lists load balancer configurations" + "list-http-lbs:lists load balancers" + "list-http-listeners:lists the existing network listeners" + "list-iiop-listeners:lists the existing IIOP listeners" + "list-instances:lists GlassFish Server instances in a domain" + "list-jacc-providers:enables administrators to list JACC providers defined for a domain" + "list-javamail-resources:lists the existing JavaMail session resources" + "list-jdbc-connection-pools:lists all JDBC connection pools" + "list-jdbc-resources:lists all JDBC resources" + "list-jms-hosts:lists the existing JMS hosts" + "list-jms-resources:lists the JMS resources" + "list-jmsdest:lists the existing JMS physical destinations" + "list-jndi-entries:browses and queries the JNDI tree" + "list-jndi-resources:lists all existing JNDI resources" + "list-jvm-options:lists options for the Java application launcher" + "list-libraries:lists library JAR files on GlassFish Server" + "list-lifecycle-modules:lists the lifecycle modules" + "list-log-attributes:lists all logging attributes defined for a specified target in a domain" + "list-log-levels:lists the loggers and their log levels" + "list-message-security-providers:lists all security message providers for the given message layer" + "list-modules:lists GlassFish Server modules" + "list-network-listeners:lists the existing network listeners" + "list-nodes:lists all GlassFish Server nodes in a domain" + "list-nodes-config:lists all GlassFish Server nodes that do not support remote communication in a domain" + "list-nodes-dcom:lists all GlassFish Server nodes that support communication over DCOM in a domain" + "list-nodes-ssh:lists all GlassFish Server nodes that support communication over SSH in a domain" + "list-password-aliases:lists all password aliases" + "list-persistence-types:lists registered persistence types for HTTP sessions and SFSB instances" + "list-protocol-filters:lists the existing protocol filters" + "list-protocol-finders:lists the existing protocol finders" + "list-protocols:lists the existing protocols" + "list-resource-adapter-configs:lists the names of the current resource adapter configurations" + "list-resource-refs:lists existing resource references" + "list-secure-admin-internal-users:lists the user names that the GlassFish Server DAS and instances use to authenticate with each other and to authorize admin operations." + "list-secure-admin-principals:lists the certificates for which GlassFish Server accepts admin requests from clients." + "list-sub-components:lists EJB or servlet components in a deployed module or module of a deployed application" + "list-supported-cipher-suites:enables administrators to list the cipher suites that are supported and available to a specified GlassFish Server target" + "list-system-properties:lists the system properties of the domain, configuration, cluster, or server instance" + "list-threadpools:lists all the thread pools" + "list-timers:lists all of the persistent timers owned by server instance(s)" + "list-transports:lists the existing transports" + "list-virtual-servers:lists the existing virtual servers" + "list-web-context-param:lists servlet contextinitialization parameters of a deployed web application or module" + "list-web-env-entry:lists environment entries for a deployed web application or module" + "login:logs you into a domain" + "migrate-timers:moves EJB timers when a clustered instance was stopped or has crashed" + "monitor:displays monitoring data for commonly used components and services" + "multimode:allows multiple subcommands to be run while preserving environment settings and remaining in the asadmin utility" + "ping-connection-pool:tests if a connection pool is usable" + "ping-node-dcom:tests if a node that is enabled for communication over DCOM is usable" + "ping-node-ssh:tests if a node that is enabled for communication over SSH is usable" + "recover-transactions:manually recovers pending transactions" + "redeploy:redeploys the specified component" + "remove-library:removes one or more library JAR files from GlassFish Server" + "restart-domain:restarts the DAS of the specified domain" + "restart-instance:restarts a running GlassFish Server instance" + "restart-local-instance:restarts a running GlassFish Server instance on the host where the subcommand is run" + "restore-domain:restores files from backup" + "rollback-transaction:rolls back the named transaction" + "rotate-log:rotates the log file" + "set:sets the values of configurable attributes" + "set-log-attributes:sets the logging attributes for one or more loggers" + "set-log-levels:sets the log level for one or more loggers" + "set-web-context-param:sets a servlet context initialization parameter of a deployed web application or module" + "set-web-env-entry:sets an environment entry for a deployed web application or module" + "setup-ssh:sets up an SSH key on specified hosts" + "show-component-status:displays the status of the deployed component" + "start-cluster:starts a cluster" + "start-database:starts the Java DB" + "start-domain:starts the DAS of the specified domain" + "start-instance:starts a GlassFish Server instance" + "start-local-instance:starts a GlassFish Server instance on the host where the subcommand is run" + "stop-cluster:stops a GlassFish Server cluster" + "stop-database:stops the Java DB" + "stop-domain:stops the Domain Administration Server of the specified domain" + "stop-instance:stops a running GlassFish Server instance" + "stop-local-instance:stops a GlassFish Server instance on the machine where the subcommand is run" + "undeploy:removes a deployed component" + "unfreeze-transaction-service:resumes all suspended transactions" + "uninstall-node:uninstalls GlassFish Server software from specified hosts" + "uninstall-node-dcom:uninstalls GlassFish Server software from specified DCOM-enabled hosts" + "uninstall-node-ssh:uninstalls GlassFish Server software from specified SSH-enabled hosts" + "unset:removes one or more variables from the multimode environment" + "unset-web-context-param:unsets a servlet context initialization parameter of a deployed web application or module" + "unset-web-env-entry:unsets an environment entry for a deployed web application or module" + "update-connector-security-map:modifies a security map for the specified connector connection pool" + "update-connector-work-security-map:modifies a work security map for the specified resource adapter" + "update-file-user:updates a current file user as specified" + "update-node-config:updates the configuration data of anode" + "update-node-dcom:updates the configuration data of a node" + "update-node-ssh:updates the configuration data of a node" + "update-password-alias:updates a password alias" + "uptime:returns the length of time that the DAS has been running" + "validate-dcom:tests the connection over DCOM to a remote host" + "validate-multicast:validates that multicast transport is available for clusters" + "verify-domain-xml:verifies the content of the domain.xml file" + "version:displays version information forGlassFish Server" +) + +_arguments '*:: :->command' + +if (( CURRENT == 1 )); then + _describe -t commands "asadmin command" _1st_arguments + return +fi + +local -a _command_args +case "$words[1]" in + add-library) + _command_args=('*:directory:_files' '--host+:' '--port+:' '--type+:type:(common ext app)') + ;; + add-resources) + _command_args=('*:directory:_files' '--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_das_domain_standalone_instance') + ;; + apply-http-lb-changes) + _command_args=('--host+:' '--ping+:' '--port+:') + ;; + backup-domain) + _command_args=('--backupconfig+:' '--backupdir+:' '--description+:' '--domaindir+:' '--long+:long:(true false)') + ;; + change-admin-password) + _command_args=('--domain_name+:' '--domaindir+:') + ;; + change-master-broker) + _command_args=('--host+:' '--port+:') + ;; + change-master-password) + _command_args=('--domaindir+:' '--nodedir+:' '--savemasterpassword+:savemasterpassword:(true false)') + ;; + collect-log-files) + _command_args=('--host+:' '--port+:' '--retrieve+:retrieve:(true false)' '--target+:') + ;; + configure-jms-cluster) + _command_args=('--clustertype+:' '--configstoretype+:' '--dburl+:' '--dbuser+:' '--dbvendor+:' '--host+:' '--jmsdbpassword+:' '--messagestoretype+:' '--port+:' '--property+:') + ;; + configure-lb-weight) + _command_args=('--cluster+:cluster:_asadmin_clusters' '--host+:' '--port+:') + ;; + configure-ldap-for-admin) + _command_args=('--basedn+:' '--host+:' '--ldap-group+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance' '--url+:') + ;; + copy-config) + _command_args=('--host+:' '--port+:' '--systemproperties+:') + ;; + create-admin-object) + _command_args=('--classname+:' '--description+:' '--enabled+:enabled:(true false)' '--host+:' '--port+:' '--property+:' '--raname+:' '--restype+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + create-application-ref) + _command_args=('--enabled+:enabled:(true false)' '--host+:' '--lbenabled+:lbenabled:(true false)' '--port+:' '--target+:target:_asadmin_targets_cluster_das_standalone_instance' '--virtualservers+:') + ;; + create-audit-module) + _command_args=('--classname+:' '--host+:' '--port+:' '--property+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + create-auth-realm) + _command_args=('--classname+:' '--host+:' '--port+:' '--property+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + create-connector-connection-pool) + _command_args=('--associatewiththread+:associatewiththread:(true false)' '--connectiondefinition+:' '--creationretryattempts+:' '--creationretryinterval+:' '--description+:' '--failconnection+:failconnection:(true false)' '--host+:' '--idletimeout+:' '--isconnectvalidatereq+:isconnectvalidatereq:(true false)' '--lazyconnectionassociation+:lazyconnectionassociation:(true false)' '--lazyconnectionenlistment+:lazyconnectionenlistment:(true false)' '--leakreclaim+:leakreclaim:(true false)' '--leaktimeout+:' '--matchconnections+:matchconnections:(true false)' '--maxconnectionusagecount+:' '--maxpoolsize+:' '--maxwait+:' '--ping+:ping:(true false)' '--pooling+:pooling:(true false)' '--poolresize+:' '--port+:' '--property+:' '--raname+:' '--steadypoolsize+:' '--target+:' '--transactionsupport+:transactionsupport:(XATransaction LocalTransaction NoTransaction)' '--validateatmostonceperiod+:') + ;; + create-connector-resource) + _command_args=('--description+:' '--enabled+:enabled:(true false)' '--host+:' '--objecttype+:' '--poolname+:' '--port+:' '--property+:' '--target+:target:_asadmin_targets_cluster_das_domain_standalone_instance') + ;; + create-connector-security-map) + _command_args=('--host+:' '--mappedpassword+:' '--mappedusername+:' '--poolname+:' '--port+:' '--principals+:' '--target+:' '--usergroups+:') + ;; + create-connector-work-security-map) + _command_args=('--description+:' '--groupsmap+:' '--host+:' '--port+:' '--principalsmap+:' '--raname+:') + ;; + create-custom-resource) + _command_args=('--description+:' '--enabled+:enabled:(true false)' '--factoryclass+:' '--host+:' '--port+:' '--property+:' '--restype+:' '--target+:target:_asadmin_targets_cluster_das_domain_standalone_instance') + ;; + create-domain) + _command_args=('--adminport+:' '--checkports+:checkports:(true false)' '--domaindir+:' '--domainproperties+:' '--instanceport+:' '--keytooloptions+:' '--nopassword+:nopassword:(true false)' '--portbase+:' '--profile+:' '--savelogin+:savelogin:(true false)' '--savemasterpassword+:savemasterpassword:(true false)' '--template+:' '--usemasterpassword+:usemasterpassword:(true false)') + ;; + create-file-user) + _command_args=('--authrealmname+:' '--groups+:' '--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance' '--userpassword+:') + ;; + create-http) + _command_args=('--default-virtual-server+:' '--dns-lookup-enabled+:dns-lookup-enabled:(true false)' '--host+:' '--max-connection+:' '--port+:' '--request-timeout-seconds+:' '--servername+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance' '--timeout-seconds+:' '--xpowered+:xpowered:(true false)') + ;; + create-http-health-checker) + _command_args=('--config+:' '--host+:' '--interval+:' '--port+:' '--timeout+:' '--url+:') + ;; + create-http-lb) + _command_args=('--autoapplyenabled+:autoapplyenabled:(true false)' '--devicehost+:' '--deviceport+:' '--healthcheckerinterval+:' '--healthcheckertimeout+:' '--healthcheckerurl+:' '--host+:' '--httpsrouting+:httpsrouting:(true false)' '--lbenableallapplications+:' '--lbenableallinstances+:' '--lbpolicy+:' '--lbpolicymodule+:' '--lbweight+:' '--monitor+:monitor:(true false)' '--port+:' '--property+:' '--reloadinterval+:' '--responsetimeout+:' '--routecookie+:routecookie:(true false)' '--sslproxyhost+:' '--sslproxyport+:' '--target+:target:_asadmin_targets_cluster_standalone_instance') + ;; + create-http-lb-ref) + _command_args=('--config+:' '--healthcheckerinterval+:' '--healthcheckertimeout+:' '--healthcheckerurl+:' '--host+:' '--lbenableallapplications+:' '--lbenableallinstances+:' '--lbname+:' '--lbpolicy+:' '--lbpolicymodule+:' '--lbweight+:' '--port+:') + ;; + create-http-listener) + _command_args=('--acceptorthreads+:' '--default-virtual-server+:' '--defaultvs+:' '--enabled+:enabled:(true false)' '--host+:' '--listeneraddress+:' '--listenerport+:' '--port+:' '--redirectport+:' '--secure+:secure:(true false)' '--securityenabled+:securityenabled:(true false)' '--servername+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance' '--xpowered+:xpowered:(true false)') + ;; + create-http-redirect) + _command_args=('--host+:' '--port+:' '--redirect-port+:' '--secure-redirect+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + create-iiop-listener) + _command_args=('--enabled+:enabled:(true false)' '--host+:' '--iiopport+:' '--listeneraddress+:' '--port+:' '--property+:' '--securityenabled+:securityenabled:(true false)' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + create-instance) + _command_args=('--checkports+:checkports:(true false)' '--cluster+:cluster:_asadmin_clusters' '--config+:' '--host+:' '--lbenabled+:lbenabled:(true false)' '--node+:node:_asadmin_nodes' '--port+:' '--portbase+:' '--systemproperties+:' '--terse+:terse:(true false)') + ;; + create-jacc-provider) + _command_args=('--host+:' '--policyconfigfactoryclass+:' '--policyproviderclass+:' '--port+:' '--property+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + create-javamail-resource) + _command_args=('--debug+:debug:(true false)' '--description+:' '--enabled+:enabled:(true false)' '--fromaddress+:' '--host+:' '--mailhost+:' '--mailuser+:' '--port+:' '--property+:' '--storeprotocol+:' '--storeprotocolclass+:' '--target+:target:_asadmin_targets_cluster_das_domain_standalone_instance' '--transprotocol+:' '--transprotocolclass+:') + ;; + create-jdbc-connection-pool) + _command_args=('--allownoncomponentcallers+:allownoncomponentcallers:(true false)' '--associatewiththread+:associatewiththread:(true false)' '--creationretryattempts+:' '--creationretryinterval+:' '--datasourceclassname+:' '--description+:' '--driverclassname+:' '--failconnection+:failconnection:(true false)' '--host+:' '--idletimeout+:' '--initsql+:' '--isconnectvalidatereq+:isconnectvalidatereq:(true false)' '--isisolationguaranteed+:isisolationguaranteed:(true false)' '--isolationlevel+:' '--lazyconnectionassociation+:lazyconnectionassociation:(true false)' '--lazyconnectionenlistment+:lazyconnectionenlistment:(true false)' '--leakreclaim+:leakreclaim:(true false)' '--leaktimeout+:' '--matchconnections+:matchconnections:(true false)' '--maxconnectionusagecount+:' '--maxpoolsize+:' '--maxwait+:' '--nontransactionalconnections+:nontransactionalconnections:(true false)' '--ping+:ping:(true false)' '--pooling+:pooling:(true false)' '--poolresize+:' '--port+:' '--property+:' '--restype+:restype:(javax.sql.DataSource javax.sql.XADataSource javax.sql.ConnectionPoolDataSource java.sql.Driver)' '--sqltracelisteners+:' '--statementcachesize+:' '--statementleakreclaim+:statementleakreclaim:(true false)' '--statementleaktimeout+:' '--statementtimeout+:' '--steadypoolsize+:' '--target+:' '--validateatmostonceperiod+:' '--validationclassname+:' '--validationmethod+:validationmethod:(auto-commit meta-data table custom-validation)' '--validationtable+:' '--wrapjdbcobjects+:wrapjdbcobjects:(true false)') + ;; + create-jdbc-resource) + _command_args=('--connectionpoolid+:' '--description+:' '--enabled+:enabled:(true false)' '--host+:' '--port+:' '--property+:' '--target+:target:_asadmin_targets_cluster_das_domain_standalone_instance') + ;; + create-jms-host) + _command_args=('--host+:' '--mqhost+:' '--mqpassword+:' '--mqport+:' '--mquser+:' '--port+:' '--property+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + create-jms-resource) + _command_args=('--description+:' '--enabled+:enabled:(true false)' '--host+:' '--port+:' '--property+:' '--restype+:' '--target+:target:_asadmin_targets_cluster_das_domain_standalone_instance') + ;; + create-jmsdest) + _command_args=('--desttype+:' '--host+:' '--port+:' '--property+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + create-jndi-resource) + _command_args=('--description+:' '--enabled+:enabled:(true false)' '--factoryclass+:' '--host+:' '--jndilookupname+:' '--port+:' '--property+:' '--restype+:' '--target+:target:_asadmin_targets_cluster_das_domain_standalone_instance') + ;; + create-jvm-options) + _command_args=('--host+:' '--port+:' '--profiler+:profiler:(true false)' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + create-lifecycle-module) + _command_args=('--classname+:' '--classpath+:' '--description+:' '--enabled+:enabled:(true false)' '--failurefatal+:failurefatal:(true false)' '--host+:' '--loadorder+:' '--port+:' '--property+:' '--target+:target:_asadmin_targets_cluster_das_domain_standalone_instance') + ;; + create-local-instance) + _command_args=('--checkports+:checkports:(true false)' '--cluster+:cluster:_asadmin_clusters' '--config+:' '--lbenabled+:lbenabled:(true false)' '--node+:node:_asadmin_nodes' '--nodedir+:' '--portbase+:' '--savemasterpassword+:savemasterpassword:(true false)' '--systemproperties+:' '--usemasterpassword+:usemasterpassword:(true false)') + ;; + create-message-security-provider) + _command_args=('--classname+:' '--host+:' '--isdefaultprovider+:isdefaultprovider:(true false)' '--layer+:layer:(SOAP HttpServlet)' '--port+:' '--property+:' '--providertype+:providertype:(client server client-server)' '--requestauthrecipient+:' '--requestauthsource+:' '--responseauthrecipient+:' '--responseauthsource+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + create-network-listener) + _command_args=('--address+:' '--enabled+:enabled:(true false)' '--host+:' '--jkenabled+:jkenabled:(true false)' '--listenerport+:' '--port+:' '--protocol+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance' '--threadpool+:' '--transport+:') + ;; + create-node-config) + _command_args=('--host+:' '--installdir+:' '--nodedir+:' '--nodehost+:' '--port+:') + ;; + create-node-dcom) + _command_args=('--archive+:' '--force+:force:(true false)' '--host+:' '--install+:install:(true false)' '--installdir+:' '--nodedir+:' '--nodehost+:' '--port+:' '--windowsdomain+:' '--windowspassword+:' '--windowsuser+:') + ;; + create-node-ssh) + _command_args=('--archive+:' '--force+:force:(true false)' '--host+:' '--install+:install:(true false)' '--installdir+:' '--nodedir+:' '--nodehost+:' '--port+:' '--sshkeyfile+:' '--sshkeypassphrase+:' '--sshpassword+:' '--sshport+:' '--sshuser+:') + ;; + create-password-alias) + _command_args=('--aliaspassword+:' '--host+:' '--port+:') + ;; + create-profiler) + _command_args=('--classpath+:' '--enabled+:enabled:(true false)' '--host+:' '--nativelibrarypath+:' '--port+:' '--property+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + create-protocol) + _command_args=('--host+:' '--port+:' '--securityenabled+:securityenabled:(true false)' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + create-protocol-filter) + _command_args=('--classname+:' '--host+:' '--port+:' '--protocol+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + create-protocol-finder) + _command_args=('--classname+:' '--host+:' '--port+:' '--protocol+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance' '--targetprotocol+:') + ;; + create-resource-adapter-config) + _command_args=('--host+:' '--objecttype+:' '--port+:' '--property+:' '--target+:' '--threadpoolid+:') + ;; + create-resource-ref) + _command_args=('--enabled+:enabled:(true false)' '--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_das_standalone_instance') + ;; + create-service) + _command_args=('*:instances:_asadmin_instances' '--domaindir+:domaindir:directory:_files' '--dry-run+:dry-run:(true false)' '--force+:force:(true false)' '--name+:' '--node+:node:_asadmin_nodes' '--nodedir+:' '--serviceproperties+:' '--serviceuser+:') + ;; + create-ssl) + _command_args=('--certname+:' '--clientauthenabled+:clientauthenabled:(true false)' '--host+:' '--port+:' '--ssl2ciphers+:' '--ssl2enabled+:ssl2enabled:(true false)' '--ssl3enabled+:ssl3enabled:(true false)' '--ssl3tlsciphers+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance' '--tlsenabled+:tlsenabled:(true false)' '--tlsrollbackenabled+:tlsrollbackenabled:(true false)' '--type+:type:(network-listener http-listener iiop-listener iiop-service jmx-connector)') + ;; + create-system-properties) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_clustered_instance_config_das_domain_standalone_instance') + ;; + create-threadpool) + _command_args=('--host+:' '--idletimeout+:' '--maxqueuesize+:' '--maxthreadpoolsize+:' '--minthreadpoolsize+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance' '--workqueues+:') + ;; + create-transport) + _command_args=('--acceptorthreads+:' '--buffersizebytes+:' '--bytebuffertype+:' '--classname+:' '--displayconfiguration+:displayconfiguration:(true false)' '--enablesnoop+:enablesnoop:(true false)' '--host+:' '--idlekeytimeoutseconds+:' '--maxconnectionscount+:' '--port+:' '--readtimeoutmillis+:' '--selectionkeyhandler+:' '--selectorpolltimeoutmillis+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance' '--tcpnodelay+:tcpnodelay:(true false)' '--writetimeoutmillis+:') + ;; + create-virtual-server) + _command_args=('--defaultwebmodule+:' '--host+:' '--hosts+:' '--httplisteners+:' '--logfile+:' '--networklisteners+:' '--port+:' '--property+:' '--state+:state:(on off disabled)' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + delete-admin-object) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + delete-application-ref) + _command_args=('--cascade+:cascade:(true false)' '--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_das_standalone_instance') + ;; + delete-audit-module) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + delete-auth-realm) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + delete-config) + _command_args=('--host+:' '--port+:') + ;; + delete-connector-connection-pool) + _command_args=('--cascade+:cascade:(true false)' '--host+:' '--port+:' '--target+:') + ;; + delete-connector-resource) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_das_domain_standalone_instance') + ;; + delete-connector-security-map) + _command_args=('--host+:' '--poolname+:' '--port+:' '--target+:') + ;; + delete-connector-work-security-map) + _command_args=('--host+:' '--port+:' '--raname+:') + ;; + delete-custom-resource) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_das_domain_standalone_instance') + ;; + delete-domain) + _command_args=('--domaindir+:') + ;; + delete-file-user) + _command_args=('--authrealmname+:' '--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + delete-http) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + delete-http-health-checker) + _command_args=('--config+:' '--host+:' '--port+:') + ;; + delete-http-lb-ref) + _command_args=('--config+:' '--force+:' '--host+:' '--lbname+:' '--port+:') + ;; + delete-http-listener) + _command_args=('--host+:' '--port+:' '--secure+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + delete-http-redirect) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + delete-iiop-listener) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + delete-instance) + _command_args=('*:instances:_asadmin_instances' '--host+:' '--port+:' '--terse+:terse:(true false)') + ;; + delete-jacc-provider) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + delete-javamail-resource) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_das_domain_standalone_instance') + ;; + delete-jdbc-connection-pool) + _command_args=('--cascade+:cascade:(true false)' '--host+:' '--port+:' '--target+:') + ;; + delete-jdbc-resource) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_das_domain_standalone_instance') + ;; + delete-jms-host) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + delete-jms-resource) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_das_domain_standalone_instance') + ;; + delete-jmsdest) + _command_args=('--desttype+:' '--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + delete-jndi-resource) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_das_domain_standalone_instance') + ;; + delete-jvm-options) + _command_args=('--host+:' '--port+:' '--profiler+:profiler:(true false)' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + delete-lifecycle-module) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_das_domain_standalone_instance') + ;; + delete-local-instance) + _command_args=('*:instances:_asadmin_instances' '--node+:node:_asadmin_nodes' '--nodedir+:') + ;; + delete-log-levels) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + delete-message-security-provider) + _command_args=('--host+:' '--layer+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + delete-network-listener) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + delete-node-config) + _command_args=('*:nodes:_asadmin_nodes_config' '--host+:' '--port+:') + ;; + delete-node-dcom) + _command_args=('*:nodes:_asadmin_nodes_dcom' '--force+:force:(true false)' '--host+:' '--port+:' '--uninstall+:uninstall:(true false)') + ;; + delete-node-ssh) + _command_args=('*:nodes:_asadmin_nodes_ssh' '--force+:force:(true false)' '--host+:' '--port+:' '--uninstall+:uninstall:(true false)') + ;; + delete-password-alias) + _command_args=('--host+:' '--port+:') + ;; + delete-profiler) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + delete-protocol) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + delete-protocol-filter) + _command_args=('--host+:' '--port+:' '--protocol+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + delete-protocol-finder) + _command_args=('--host+:' '--port+:' '--protocol+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + delete-resource-adapter-config) + _command_args=('--host+:' '--port+:' '--target+:') + ;; + delete-resource-ref) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_das_standalone_instance') + ;; + delete-ssl) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance' '--type+:type:(network-listener http-listener iiop-listener iiop-service jmx-connector)') + ;; + delete-system-property) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_clustered_instance_config_das_domain_standalone_instance') + ;; + delete-threadpool) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + delete-transport) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + delete-virtual-server) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + deploy) + _command_args=('*:directory:_files' '--asyncreplication+:asyncreplication:(true false)' '--availabilityenabled+:availabilityenabled:(true false)' '--contextroot+:' '--createtables+:createtables:(true false)' '--dbvendorname+:' '--deploymentplan+:deploymentplan:directory:_files' '--description+:' '--dropandcreatetables+:dropandcreatetables:(true false)' '--enabled+:enabled:(true false)' '--force+:force:(true false)' '--generatermistubs+:generatermistubs:(true false)' '--host+:' '--isredeploy+:isredeploy:(true false)' '--keepfailedstubs+:keepfailedstubs:(true false)' '--keepreposdir+:keepreposdir:(true false)' '--keepstate+:keepstate:(true false)' '--lbenabled+:lbenabled:(true false)' '--libraries+:' '--logreportederrors+:logreportederrors:(true false)' '--name+:' '--port+:' '--precompilejsp+:precompilejsp:(true false)' '--properties+:' '--property+:' '--retrieve+:' '--target+:target:_asadmin_targets_cluster_das_domain_standalone_instance' '--type+:' '--uniquetablenames+:uniquetablenames:(true false)' '--verify+:verify:(true false)' '--virtualservers+:') + ;; + deploydir) + _command_args=('*:directory:_files' '--asyncreplication+:asyncreplication:(true false)' '--availabilityenabled+:availabilityenabled:(true false)' '--contextroot+:' '--createtables+:createtables:(true false)' '--dbvendorname+:' '--deploymentplan+:deploymentplan:directory:_files' '--description+:' '--dropandcreatetables+:dropandcreatetables:(true false)' '--enabled+:enabled:(true false)' '--force+:force:(true false)' '--generatermistubs+:generatermistubs:(true false)' '--host+:' '--isredeploy+:isredeploy:(true false)' '--keepfailedstubs+:keepfailedstubs:(true false)' '--keepreposdir+:keepreposdir:(true false)' '--keepstate+:keepstate:(true false)' '--lbenabled+:lbenabled:(true false)' '--libraries+:' '--logreportederrors+:logreportederrors:(true false)' '--name+:' '--port+:' '--precompilejsp+:precompilejsp:(true false)' '--properties+:' '--property+:' '--retrieve+:' '--target+:target:_asadmin_targets_cluster_das_domain_standalone_instance' '--type+:' '--uniquetablenames+:uniquetablenames:(true false)' '--verify+:verify:(true false)' '--virtualservers+:') + ;; + disable) + _command_args=('--cascade+:cascade:(true false)' '--droptables+:droptables:(true false)' '--host+:' '--isredeploy+:isredeploy:(true false)' '--isundeploy+:isundeploy:(true false)' '--keepreposdir+:keepreposdir:(true false)' '--keepstate+:keepstate:(true false)' '--port+:' '--properties+:' '--target+:target:_asadmin_targets_cluster_clustered_instance_das_domain_standalone_instance') + ;; + disable-http-lb-application) + _command_args=('--host+:' '--name+:' '--port+:' '--timeout+:') + ;; + disable-http-lb-server) + _command_args=('--host+:' '--port+:' '--timeout+:') + ;; + disable-monitoring) + _command_args=('--host+:' '--modules+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + disable-secure-admin) + _command_args=('--host+:' '--port+:') + ;; + enable) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_clustered_instance_das_domain_standalone_instance') + ;; + enable-http-lb-application) + _command_args=('--host+:' '--name+:' '--port+:') + ;; + enable-http-lb-server) + _command_args=('--host+:' '--port+:') + ;; + enable-monitoring) + _command_args=('--dtrace+:dtrace:(true false)' '--host+:' '--mbean+:mbean:(true false)' '--modules+:' '--options+:' '--pid+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + enable-secure-admin) + _command_args=('--adminalias+:' '--host+:' '--instancealias+:' '--port+:') + ;; + export-http-lb-config) + _command_args=('--config+:' '--host+:' '--lbname+:' '--lbtargets+:' '--port+:' '--property+:' '--retrievefile+:retrievefile:(true false)') + ;; + export-sync-bundle) + _command_args=('--host+:' '--port+:' '--retrieve+:retrieve:(true false)' '--target+:') + ;; + flush-connection-pool) + _command_args=('--appname+:' '--host+:' '--modulename+:' '--port+:') + ;; + flush-jmsdest) + _command_args=('--desttype+:' '--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + freeze-transaction-service) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_clustered_instance_config_das_standalone_instance') + ;; + generate-domain-schema) + _command_args=('--format+:' '--host+:' '--port+:' '--showdeprecated+:showdeprecated:(true false)' '--showsubclasses+:showsubclasses:(true false)') + ;; + generate-jvm-report) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_clustered_instance_das_standalone_instance' '--type+:type:(summary thread class memory log)') + ;; + get) + _command_args=('--host+:' '--monitor+:monitor:(true false)' '--port+:') + ;; + get-client-stubs) + _command_args=('--appname+:' '--host+:' '--port+:') + ;; + get-health) + _command_args=('--host+:' '--port+:') + ;; + help) + _describe -t help-commands "asadmin help command" _1st_arguments + ;; + import-sync-bundle) + _command_args=('--instance+:' '--node+:node:_asadmin_nodes' '--nodedir+:') + ;; + install-node) + _command_args=('--archive+:' '--create+:create:(true false)' '--force+:force:(true false)' '--installdir+:' '--save+:save:(true false)' '--sshkeyfile+:' '--sshport+:' '--sshuser+:') + ;; + install-node-dcom) + _command_args=('--archive+:' '--create+:create:(true false)' '--force+:force:(true false)' '--installdir+:' '--save+:save:(true false)' '--windowsdomain+:' '--windowsuser+:') + ;; + install-node-ssh) + _command_args=('--archive+:' '--create+:create:(true false)' '--force+:force:(true false)' '--installdir+:' '--save+:save:(true false)' '--sshkeyfile+:' '--sshport+:' '--sshuser+:') + ;; + jms-ping) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_clustered_instance_config_das_standalone_instance') + ;; + list) + _command_args=('--host+:' '--monitor+:monitor:(true false)' '--port+:') + ;; + list-admin-objects) + _command_args=('*:targets:_asadmin_targets_cluster_clustered_instance_config_das_standalone_instance' '--host+:' '--port+:') + ;; + list-application-refs) + _command_args=('*:targets:_asadmin_targets_cluster_das_standalone_instance' '--host+:' '--long+:long:(true false)' '--port+:' '--terse+:terse:(true false)') + ;; + list-applications) + _command_args=('*:targets:_asadmin_targets_cluster_das_domain_standalone_instance' '--host+:' '--long+:long:(true false)' '--port+:' '--resources+:resources:(true false)' '--subcomponents+:subcomponents:(true false)' '--terse+:terse:(true false)' '--type+:') + ;; + list-audit-modules) + _command_args=('*:targets:_asadmin_targets_cluster_clustered_instance_config_das_standalone_instance' '--host+:' '--port+:') + ;; + list-auth-realms) + _command_args=('*:targets:_asadmin_targets_cluster_clustered_instance_config_das_standalone_instance' '--host+:' '--port+:') + ;; + list-backups) + _command_args=('--backupconfig+:' '--backupdir+:' '--domaindir+:' '--long+:long:(true false)') + ;; + list-clusters) + _command_args=('--host+:' '--port+:') + ;; + list-commands) + _command_args=('--localonly+:localonly:(true false)' '--remoteonly+:remoteonly:(true false)') + ;; + list-components) + _command_args=('*:targets:_asadmin_targets_cluster_das_domain_standalone_instance' '--host+:' '--long+:long:(true false)' '--port+:' '--resources+:resources:(true false)' '--subcomponents+:subcomponents:(true false)' '--terse+:terse:(true false)' '--type+:') + ;; + list-configs) + _command_args=('*:targets:_asadmin_targets_cluster_clustered_instance_config_das_domain_standalone_instance' '--host+:' '--port+:') + ;; + list-connector-connection-pools) + _command_args=('--host+:' '--port+:') + ;; + list-connector-resources) + _command_args=('*:targets:_asadmin_targets_cluster_clustered_instance_das_domain_standalone_instance' '--host+:' '--port+:') + ;; + list-connector-security-maps) + _command_args=('--host+:' '--long+:long:(true false)' '--port+:' '--securitymap+:' '--target+:target:_asadmin_targets_cluster_clustered_instance_das_domain_standalone_instance') + ;; + list-connector-work-security-maps) + _command_args=('--host+:' '--port+:' '--securitymap+:') + ;; + list-containers) + _command_args=('--host+:' '--port+:') + ;; + list-custom-resources) + _command_args=('*:targets:_asadmin_targets_cluster_clustered_instance_das_domain_standalone_instance' '--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_clustered_instance_das_domain_standalone_instance') + ;; + list-descriptors) + _command_args=('--host+:' '--port+:') + ;; + list-domains) + _command_args=('--domaindir+:') + ;; + list-file-groups) + _command_args=('--authrealmname+:' '--host+:' '--name+:' '--port+:') + ;; + list-file-users) + _command_args=('*:targets:_asadmin_targets_cluster_clustered_instance_config_das_standalone_instance' '--authrealmname+:' '--host+:' '--port+:') + ;; + list-http-lb-configs) + _command_args=('--host+:' '--port+:') + ;; + list-http-listeners) + _command_args=('*:targets:_asadmin_targets_cluster_config_das_standalone_instance' '--host+:' '--long+:long:(true false)' '--port+:') + ;; + list-iiop-listeners) + _command_args=('*:targets:_asadmin_targets_cluster_clustered_instance_config_das_domain_standalone_instance' '--host+:' '--port+:') + ;; + list-instances) + _command_args=('--host+:' '--long+:long:(true false)' '--nostatus+:nostatus:(true false)' '--port+:' '--standaloneonly+:standaloneonly:(true false)' '--timeoutmsec+:') + ;; + list-jacc-providers) + _command_args=('*:targets:_asadmin_targets_cluster_clustered_instance_config_das_standalone_instance' '--host+:' '--port+:') + ;; + list-javamail-resources) + _command_args=('*:targets:_asadmin_targets_cluster_clustered_instance_das_domain_standalone_instance' '--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_clustered_instance_das_domain_standalone_instance') + ;; + list-jdbc-connection-pools) + _command_args=('--host+:' '--port+:') + ;; + list-jdbc-resources) + _command_args=('--host+:' '--port+:') + ;; + list-jms-hosts) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + list-jms-resources) + _command_args=('*:targets:_asadmin_targets_cluster_das_domain_standalone_instance' '--host+:' '--port+:' '--restype+:') + ;; + list-jmsdest) + _command_args=('*:targets:_asadmin_targets_cluster_config_das_standalone_instance' '--desttype+:' '--host+:' '--port+:' '--property+:') + ;; + list-jndi-entries) + _command_args=('*:targets:_asadmin_targets_cluster_clustered_instance_das_domain_standalone_instance' '--context+:' '--host+:' '--port+:') + ;; + list-jndi-resources) + _command_args=('*:targets:_asadmin_targets_cluster_clustered_instance_das_domain_standalone_instance' '--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_clustered_instance_das_domain_standalone_instance') + ;; + list-jvm-options) + _command_args=('--host+:' '--port+:' '--profiler+:profiler:(true false)' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + list-libraries) + _command_args=('--host+:' '--port+:' '--type+:type:(common ext app)') + ;; + list-lifecycle-modules) + _command_args=('*:targets:_asadmin_targets_cluster_das_domain_standalone_instance' '--host+:' '--port+:' '--terse+:terse:(true false)') + ;; + list-log-attributes) + _command_args=('*:targets:_asadmin_targets_cluster_clustered_instance_config_das_standalone_instance' '--host+:' '--port+:') + ;; + list-log-levels) + _command_args=('--host+:' '--port+:') + ;; + list-message-security-providers) + _command_args=('*:targets:_asadmin_targets_cluster_clustered_instance_config_das_standalone_instance' '--host+:' '--layer+:layer:(SOAP HttpServlet)' '--port+:') + ;; + list-modules) + _command_args=('--host+:' '--port+:') + ;; + list-network-listeners) + _command_args=('*:targets:_asadmin_targets_cluster_config_das_standalone_instance' '--host+:' '--port+:') + ;; + list-nodes) + _command_args=('--host+:' '--long+:long:(true false)' '--port+:' '--terse+:terse:(true false)') + ;; + list-nodes-config) + _command_args=('--host+:' '--long+:long:(true false)' '--port+:' '--terse+:terse:(true false)') + ;; + list-nodes-dcom) + _command_args=('--host+:' '--long+:long:(true false)' '--port+:' '--terse+:terse:(true false)') + ;; + list-nodes-ssh) + _command_args=('--host+:' '--long+:long:(true false)' '--port+:' '--terse+:terse:(true false)') + ;; + list-password-aliases) + _command_args=('--host+:' '--port+:') + ;; + list-persistence-types) + _command_args=('--host+:' '--port+:' '--type+:') + ;; + list-protocol-filters) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + list-protocol-finders) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + list-protocols) + _command_args=('*:targets:_asadmin_targets_cluster_config_das_standalone_instance' '--host+:' '--port+:') + ;; + list-resource-adapter-configs) + _command_args=('--host+:' '--long+:long:(true false)' '--port+:' '--raname+:') + ;; + list-resource-refs) + _command_args=('*:targets:_asadmin_targets_cluster_clustered_instance_das_standalone_instance' '--host+:' '--port+:') + ;; + list-sub-components) + _command_args=('--appname+:' '--host+:' '--port+:' '--resources+:resources:(true false)' '--terse+:terse:(true false)' '--type+:') + ;; + list-supported-cipher-suites) + _command_args=('--host+:' '--port+:') + ;; + list-system-properties) + _command_args=('*:targets:_asadmin_targets_cluster_clustered_instance_config_das_domain_standalone_instance' '--host+:' '--port+:') + ;; + list-threadpools) + _command_args=('--host+:' '--port+:') + ;; + list-timers) + _command_args=('*:targets:_asadmin_targets_cluster_das_standalone_instance' '--host+:' '--port+:') + ;; + list-transports) + _command_args=('*:targets:_asadmin_targets_cluster_config_das_standalone_instance' '--host+:' '--port+:') + ;; + list-virtual-servers) + _command_args=('*:targets:_asadmin_targets_cluster_config_das_standalone_instance' '--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + list-web-context-param) + _command_args=('--host+:' '--name+:' '--port+:') + ;; + list-web-env-entry) + _command_args=('--host+:' '--name+:' '--port+:') + ;; + login) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_das_standalone_instance') + ;; + migrate-timers) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_clustered_instance_das') + ;; + monitor) + _command_args=('--filename+:filename:directory:_files' '--filter+:' '--interval+:' '--type+:') + ;; + multimode) + _command_args=('--encoding+:' '--file+:file:directory:_files' '--printprompt+:printprompt:(true false)') + ;; + ping-connection-pool) + _command_args=('--appname+:' '--host+:' '--modulename+:' '--port+:' '--target+:') + ;; + ping-node-dcom) + _command_args=('*:nodes:_asadmin_nodes_dcom' '--host+:' '--port+:' '--validate+:validate:(true false)') + ;; + ping-node-ssh) + _command_args=('*:nodes:_asadmin_nodes_ssh' '--host+:' '--port+:' '--validate+:validate:(true false)') + ;; + recover-transactions) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_clustered_instance_das_standalone_instance' '--transactionlogdir+:') + ;; + redeploy) + _command_args=('*:directory:_files' '--asyncreplication+:asyncreplication:(true false)' '--availabilityenabled+:availabilityenabled:(true false)' '--contextroot+:' '--createtables+:createtables:(true false)' '--dbvendorname+:' '--deploymentplan+:deploymentplan:directory:_files' '--description+:' '--dropandcreatetables+:dropandcreatetables:(true false)' '--enabled+:enabled:(true false)' '--force+:force:(true false)' '--generatermistubs+:generatermistubs:(true false)' '--host+:' '--isredeploy+:isredeploy:(true false)' '--keepfailedstubs+:keepfailedstubs:(true false)' '--keepreposdir+:keepreposdir:(true false)' '--keepstate+:keepstate:(true false)' '--lbenabled+:lbenabled:(true false)' '--libraries+:' '--logreportederrors+:logreportederrors:(true false)' '--name+:' '--port+:' '--precompilejsp+:precompilejsp:(true false)' '--properties+:' '--property+:' '--retrieve+:' '--target+:target:_asadmin_targets_cluster_das_domain_standalone_instance' '--type+:' '--uniquetablenames+:uniquetablenames:(true false)' '--verify+:verify:(true false)' '--virtualservers+:') + ;; + remove-library) + _command_args=('*:libraries:_asadmin_libraries' '--host+:' '--port+:' '--type+:type:(common ext app)') + ;; + restart-domain) + _command_args=('--debug+:debug:(true false)' '--domaindir+:' '--force+:force:(true false)' '--kill+:kill:(true false)') + ;; + restart-instance) + _command_args=('*:instances:_asadmin_instances' '--debug+:' '--host+:' '--port+:') + ;; + restart-local-instance) + _command_args=('*:instances:_asadmin_instances' '--debug+:debug:(true false)' '--force+:force:(true false)' '--kill+:kill:(true false)' '--node+:node:_asadmin_nodes' '--nodedir+:') + ;; + restore-domain) + _command_args=('--backupconfig+:' '--backupdir+:' '--description+:' '--domaindir+:' '--filename+:' '--force+:force:(true false)' '--long+:long:(true false)') + ;; + rollback-transaction) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_clustered_instance_das_standalone_instance' '--transaction_id+:') + ;; + rotate-log) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_clustered_instance_das_standalone_instance') + ;; + set) + _command_args=('--host+:' '--port+:') + ;; + set-log-attributes) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + set-log-levels) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance') + ;; + set-web-context-param) + _command_args=('--description+:' '--host+:' '--ignoredescriptoritem+:ignoredescriptoritem:(true false)' '--name+:' '--port+:' '--value+:') + ;; + set-web-env-entry) + _command_args=('--description+:' '--host+:' '--ignoredescriptoritem+:ignoredescriptoritem:(true false)' '--name+:' '--port+:' '--type+:' '--value+:') + ;; + setup-ssh) + _command_args=('--generatekey+:generatekey:(true false)' '--sshkeyfile+:' '--sshport+:' '--sshpublickeyfile+:' '--sshuser+:') + ;; + show-component-status) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_clustered_instance_das_domain_standalone_instance') + ;; + start-cluster) + _command_args=('*:clusters:_asadmin_clusters' '--autohadboverride+:autohadboverride:(true false)' '--host+:' '--port+:' '--verbose+:verbose:(true false)') + ;; + start-database) + _command_args=('--dbhome+:' '--dbhost+:' '--dbport+:' '--jvmoptions+:') + ;; + start-domain) + _command_args=('--debug+:debug:(true false)' '--domaindir+:' '--upgrade+:upgrade:(true false)' '--verbose+:verbose:(true false)') + ;; + start-instance) + _command_args=('*:instances:_asadmin_instances' '--debug+:debug:(true false)' '--host+:' '--port+:' '--setenv+:' '--sync+:sync:(none normal full)' '--terse+:terse:(true false)') + ;; + start-local-instance) + _command_args=('*:instances:_asadmin_instances' '--debug+:debug:(true false)' '--node+:node:_asadmin_nodes' '--nodedir+:' '--sync+:sync:(none normal full)' '--verbose+:verbose:(true false)') + ;; + stop-cluster) + _command_args=('*:clusters:_asadmin_clusters' '--autohadboverride+:autohadboverride:(true false)' '--host+:' '--kill+:kill:(true false)' '--port+:' '--verbose+:verbose:(true false)') + ;; + stop-database) + _command_args=('--dbhost+:' '--dbport+:' '--dbuser+:') + ;; + stop-domain) + _command_args=('--domaindir+:' '--force+:force:(true false)' '--kill+:kill:(true false)') + ;; + stop-instance) + _command_args=('*:instances:_asadmin_instances' '--force+:force:(true false)' '--host+:' '--kill+:kill:(true false)' '--port+:') + ;; + stop-local-instance) + _command_args=('*:instances:_asadmin_instances' '--force+:force:(true false)' '--kill+:kill:(true false)' '--node+:node:_asadmin_nodes' '--nodedir+:') + ;; + test-upgrade) + _command_args=('--host+:' '--port+:') + ;; + undeploy) + _command_args=('*:applications:_asadmin_applications' '--cascade+:cascade:(true false)' '--droptables+:droptables:(true false)' '--host+:' '--isredeploy+:isredeploy:(true false)' '--keepreposdir+:keepreposdir:(true false)' '--keepstate+:keepstate:(true false)' '--port+:' '--properties+:' '--target+:target:_asadmin_targets_cluster_das_domain_standalone_instance') + ;; + unfreeze-transaction-service) + _command_args=('--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_clustered_instance_config_das_standalone_instance') + ;; + uninstall-node) + _command_args=('--force+:force:(true false)' '--installdir+:' '--sshkeyfile+:' '--sshport+:' '--sshuser+:') + ;; + uninstall-node-dcom) + _command_args=('--force+:force:(true false)' '--installdir+:' '--windowsdomain+:' '--windowsuser+:') + ;; + uninstall-node-ssh) + _command_args=('--force+:force:(true false)' '--installdir+:' '--sshkeyfile+:' '--sshport+:' '--sshuser+:') + ;; + unset-web-context-param) + _command_args=('--host+:' '--name+:' '--port+:') + ;; + unset-web-env-entry) + _command_args=('--host+:' '--name+:' '--port+:') + ;; + update-connector-security-map) + _command_args=('--addprincipals+:' '--addusergroups+:' '--host+:' '--mappedpassword+:' '--mappedusername+:' '--poolname+:' '--port+:' '--removeprincipals+:' '--removeusergroups+:' '--target+:') + ;; + update-connector-work-security-map) + _command_args=('--addgroups+:' '--addprincipals+:' '--host+:' '--port+:' '--raname+:' '--removegroups+:' '--removeprincipals+:') + ;; + update-file-user) + _command_args=('--authrealmname+:' '--groups+:' '--host+:' '--port+:' '--target+:target:_asadmin_targets_cluster_config_das_standalone_instance' '--userpassword+:') + ;; + update-node-config) + _command_args=('*:nodes:_asadmin_nodes_config' '--host+:' '--installdir+:' '--nodedir+:' '--nodehost+:' '--port+:') + ;; + update-node-dcom) + _command_args=('*:nodes:_asadmin_nodes_dcom' '--force+:force:(true false)' '--host+:' '--installdir+:' '--nodedir+:' '--nodehost+:' '--port+:' '--windowsdomain+:' '--windowspassword+:' '--windowsuser+:') + ;; + update-node-ssh) + _command_args=('*:nodes:_asadmin_nodes_ssh' '--force+:force:(true false)' '--host+:' '--installdir+:' '--nodedir+:' '--nodehost+:' '--port+:' '--sshkeyfile+:' '--sshkeypassphrase+:' '--sshpassword+:' '--sshport+:' '--sshuser+:') + ;; + update-password-alias) + _command_args=('--aliaspassword+:' '--host+:' '--port+:') + ;; + uptime) + _command_args=('--host+:' '--milliseconds+:milliseconds:(true false)' '--port+:') + ;; + validate-dcom) + _command_args=('--host+:' '--port+:' '--remotetestdir+:' '--verbose+:verbose:(true false)' '--windowsdomain+:' '--windowspassword+:' '--windowsuser+:') + ;; + validate-multicast) + _command_args=('--bindaddress+:' '--multicastaddress+:' '--multicastport+:' '--sendperiod+:' '--timeout+:' '--timetolive+:' '--verbose+:verbose:(true false)') + ;; + verify-domain-xml) + _command_args=('--domaindir+:') + ;; + version) + _command_args=('--local+:local:(true false)' '--terse+:terse:(true false)' '--verbose+:verbose:(true false)') + ;; +esac + + +_asadmin_applications() { + compadd $(command asadmin list-applications --terse | sed 's/\s.*//') +} + +_asadmin_clusters() { + compadd $(command asadmin list-clusters --terse | sed 's/\s.*//') +} + +_asadmin_configs() { + compadd $(command asadmin list-configs --terse) +} + +_asadmin_instances() { + compadd $(command asadmin list-instances --terse --nostatus domain) +} + +_asadmin_instances_standalone() { + compadd $(command asadmin list-instances --terse --standaloneonly --nostatus domain) +} + +_asadmin_libraries() { + compadd $(command asadmin list-libraries --terse) +} + +_asadmin_nodes() { + compadd $(command asadmin list-nodes --terse) +} + +_asadmin_nodes_config() { + compadd $(command asadmin list-nodes-config --terse) +} + +_asadmin_nodes_dcom() { + compadd $(command asadmin list-nodes-dcom --terse) +} + +_asadmin_nodes_ssh() { + compadd $(command asadmin list-nodes-ssh --terse) +} + +_asadmin_targets() { + _asadmin_instances + _asadmin_clusters + _asadmin_configs + compadd domain server +} + +_asadmin_targets_cluster_clustered_instance_config_das_domain_standalone_instance() { + _asadmin_instances + _asadmin_clusters + _asadmin_configs + compadd domain server +} + +_asadmin_targets_cluster_clustered_instance_config_das_standalone_instance() { + _asadmin_instances + _asadmin_clusters + _asadmin_configs + compadd server +} + +_asadmin_targets_cluster_clustered_instance_das_domain_standalone_instance() { + _asadmin_instances + _asadmin_clusters + compadd domain server +} + +_asadmin_targets_cluster_clustered_instance_das_standalone_instance() { + _asadmin_instances + _asadmin_clusters + _asadmin_configs + compadd server +} + +_asadmin_targets_cluster_config_das_standalone_instance() { + _asadmin_instances_standalone + _asadmin_clusters + _asadmin_configs + compadd server +} + +_asadmin_targets_cluster_das_domain_standalone_instance() { + _asadmin_instances_standalone + _asadmin_clusters + compadd domain server +} + +_asadmin_targets_cluster_das_standalone_instance() { + _asadmin_instances_standalone + _asadmin_clusters + compadd server +} + +_asadmin_targets_clustered_instance_das() { + _asadmin_instances + compadd server +} + +_asadmin_targets_clustered_instance_das_standalone_instance() { + _asadmin_instances + compadd server +} + +_asadmin_targets_cluster_standalone_instance() { + _asadmin_clusters + _asadmin_instances_standalone +} + + +compadd '--help' +_arguments \ + $_command_args \ + && return 0; diff --git a/plugins/glassfish/glassfish.plugin.zsh b/plugins/glassfish/glassfish.plugin.zsh new file mode 100644 index 000000000..fde2edb2a --- /dev/null +++ b/plugins/glassfish/glassfish.plugin.zsh @@ -0,0 +1,3 @@ +# if there is a user named 'glassfish' on the system, we'll assume +# that is the user asadmin should be run as +# grep -e '^glassfish' /etc/passwd > /dev/null && alias asadmin='sudo -u glassfish asadmin' \ No newline at end of file diff --git a/plugins/golang/golang.plugin.zsh b/plugins/golang/golang.plugin.zsh index 18bcaaff2..f2be6ca9c 100644 --- a/plugins/golang/golang.plugin.zsh +++ b/plugins/golang/golang.plugin.zsh @@ -158,3 +158,6 @@ __go_tool_complete() { } compdef __go_tool_complete go + +# aliases +alias gfa='go fmt . ./...' diff --git a/plugins/gradle/gradle.plugin.zsh b/plugins/gradle/gradle.plugin.zsh index 9229512f7..97bf50b43 100644 --- a/plugins/gradle/gradle.plugin.zsh +++ b/plugins/gradle/gradle.plugin.zsh @@ -60,7 +60,7 @@ function in_gradle() { ############################################################################ _gradle_does_task_list_need_generating () { [ ! -f .gradletasknamecache ] && return 0; - [ .gradletasknamecache -nt build.gradle ] && return 0; + [ build.gradle -nt .gradletasknamecache ] && return 0; return 1; } diff --git a/plugins/grails/grails.plugin.zsh b/plugins/grails/grails.plugin.zsh old mode 100755 new mode 100644 diff --git a/plugins/history-substring-search/history-substring-search.zsh b/plugins/history-substring-search/history-substring-search.zsh index 53f707c79..22f03dd6d 100644 --- a/plugins/history-substring-search/history-substring-search.zsh +++ b/plugins/history-substring-search/history-substring-search.zsh @@ -163,8 +163,13 @@ function history-substring-search-down() { zle -N history-substring-search-up zle -N history-substring-search-down -bindkey '\e[A' history-substring-search-up -bindkey '\e[B' history-substring-search-down +zmodload zsh/terminfo +if [[ -n "$terminfo[kcuu1]" ]]; then + bindkey "$terminfo[kcuu1]" history-substring-search-up +fi +if [[ -n "$terminfo[kcud1]" ]]; then + bindkey "$terminfo[kcud1]" history-substring-search-down +fi #----------------------------------------------------------------------------- # implementation details diff --git a/plugins/jira/jira.plugin.zsh b/plugins/jira/jira.plugin.zsh index 739ee7142..3d510e430 100644 --- a/plugins/jira/jira.plugin.zsh +++ b/plugins/jira/jira.plugin.zsh @@ -29,15 +29,23 @@ open_jira_issue () { return 0 fi + if [ -f .jira-prefix ]; then + jira_prefix=$(cat .jira-prefix) + elif [ -f ~/.jira-prefix ]; then + jira_prefix=$(cat ~/.jira-prefix) + else + jira_prefix="" + fi + if [ -z "$1" ]; then echo "Opening new issue" $open_cmd "$jira_url/secure/CreateIssue!default.jspa" else echo "Opening issue #$1" if [[ "x$JIRA_RAPID_BOARD" = "xtrue" ]]; then - $open_cmd "$jira_url/issues/$1" + $open_cmd "$jira_url/issues/$jira_prefix$1" else - $open_cmd "$jira_url/browse/$1" + $open_cmd "$jira_url/browse/$jira_prefix$1" fi fi } diff --git a/plugins/jruby/jruby.plugin.zsh b/plugins/jruby/jruby.plugin.zsh old mode 100755 new mode 100644 diff --git a/plugins/jsontools/README.md b/plugins/jsontools/README.md new file mode 100644 index 000000000..4faf58b98 --- /dev/null +++ b/plugins/jsontools/README.md @@ -0,0 +1,42 @@ +# jsontools + +Handy command line tools for dealing with json data. + +## Tools + +- **pp_json** - pretty prints json +- **is_json** - returns true if valid json; false otherwise +- **urlencode_json** - returns a url encoded string for the given json +- **urldecode_json** - returns decoded json for the given url encoded string + +## Usage +Usage is simple...just take your json data and pipe it into the appropriate jsontool. +```sh + | +``` +## Examples + +##### pp_json + +```sh +# curl json data and pretty print the results +curl https://coderwall.com/bobwilliams.json | pp_json +``` + +##### is_json +```sh +# pretty print the contents of an existing json file +less data.json | is_json +``` + +##### urlencode_json +```sh +# json data directly from the command line +echo '{"b":2, "a":1}' | urlencode_json +``` + +##### urldecode_json +```sh +# url encoded string to decode +echo '%7B%22b%22:2,%20%22a%22:1%7D%0A' | urldecode_json +``` \ No newline at end of file diff --git a/plugins/jsontools/jsontools.plugin.zsh b/plugins/jsontools/jsontools.plugin.zsh new file mode 100644 index 000000000..20d5eb1c9 --- /dev/null +++ b/plugins/jsontools/jsontools.plugin.zsh @@ -0,0 +1,39 @@ +# JSON Tools +# Adds command line aliases useful for dealing with JSON + +if [[ $(whence $JSONTOOLS_METHOD) = "" ]]; then + JSONTOOLS_METHOD="" +fi + +if [[ $(whence node) != "" && ( "x$JSONTOOLS_METHOD" = "x" || "x$JSONTOOLS_METHOD" = "xnode" ) ]]; then + alias pp_json='xargs -0 node -e "console.log(JSON.stringify(JSON.parse(process.argv[1]), null, 4));"' + alias is_json='xargs -0 node -e "try {json = JSON.parse(process.argv[1]);} catch (e) { console.log(false); json = null; } if(json) { console.log(true); }"' + alias urlencode_json='xargs -0 node -e "console.log(encodeURIComponent(process.argv[1]))"' + alias urldecode_json='xargs -0 node -e "console.log(decodeURIComponent(process.argv[1]))"' +elif [[ $(whence python) != "" && ( "x$JSONTOOLS_METHOD" = "x" || "x$JSONTOOLS_METHOD" = "xpython" ) ]]; then + alias pp_json='python -mjson.tool' + alias is_json='python -c " +import json, sys; +try: + json.loads(sys.stdin.read()) +except ValueError, e: + print False +else: + print True +sys.exit(0)"' + alias urlencode_json='python -c " +import urllib, json, sys; +print urllib.quote_plus(sys.stdin.read()) +sys.exit(0)"' + alias urldecode_json='python -c " +import urllib, json, sys; +print urllib.unquote_plus(sys.stdin.read()) +sys.exit(0)"' +elif [[ $(whence ruby) != "" && ( "x$JSONTOOLS_METHOD" = "x" || "x$JSONTOOLS_METHOD" = "xruby" ) ]]; then + alias pp_json='ruby -e "require \"json\"; require \"yaml\"; puts JSON.parse(STDIN.read).to_yaml"' + alias is_json='ruby -e "require \"json\"; begin; JSON.parse(STDIN.read); puts true; rescue Exception => e; puts false; end"' + alias urlencode_json='ruby -e "require \"uri\"; puts URI.escape(STDIN.read)"' + alias urldecode_json='ruby -e "require \"uri\"; puts URI.unescape(STDIN.read)"' +fi + +unset JSONTOOLS_METHOD \ No newline at end of file diff --git a/plugins/jump/jump.plugin.zsh b/plugins/jump/jump.plugin.zsh index 5096879d8..1b23b5d42 100644 --- a/plugins/jump/jump.plugin.zsh +++ b/plugins/jump/jump.plugin.zsh @@ -39,7 +39,7 @@ marks() { _completemarks() { if [[ $(ls "${MARKPATH}" | wc -l) -gt 1 ]]; then - reply=($(ls $MARKPATH/**/*(-) | grep : | sed -E 's/(.*)\/([_\da-zA-Z\-]*):$/\2/g')) + reply=($(ls $MARKPATH/**/*(-) | grep : | sed -E 's/(.*)\/([_a-zA-Z0-9\.\-]*):$/\2/g')) else if readlink -e "${MARKPATH}"/* &>/dev/null; then reply=($(ls "${MARKPATH}")) diff --git a/plugins/knife/_knife b/plugins/knife/_knife index b44283f78..163149267 100644 --- a/plugins/knife/_knife +++ b/plugins/knife/_knife @@ -31,7 +31,7 @@ _knife() { case $state in knifecmd) - compadd -Q "$@" bootstrap client configure cookbook "cookbook site" "data bag" diff exec environment index node recipe role search ssh status upload windows $cloudproviders + compadd -Q "$@" bootstrap client configure cookbook "cookbook site" "data bag" diff exec environment index node recipe role search ssh status upload vault windows $cloudproviders ;; knifesubcmd) case $words[2] in @@ -65,6 +65,9 @@ _knife() { upload) _arguments '*:file or directory:_files -g "*"' ;; + vault) + compadd -Q "$@" create decrypt delete edit remove "rotate all keys" "rotate keys" show update + ;; windows) compadd "$@" bootstrap ;; diff --git a/plugins/laravel4/laravel4.plugin.zsh b/plugins/laravel4/laravel4.plugin.zsh new file mode 100644 index 000000000..4b1022b66 --- /dev/null +++ b/plugins/laravel4/laravel4.plugin.zsh @@ -0,0 +1,20 @@ +# Laravel4 basic command completion +_laravel4_get_command_list () { + php artisan --no-ansi | sed "1,/Available commands/d" | awk '/^ [a-z]+/ { print $1 }' +} + +_laravel4 () { + if [ -f artisan ]; then + compadd `_laravel4_get_command_list` + fi +} + +compdef _laravel4 artisan +compdef _laravel4 la4 + +#Alias +alias la4='php artisan' + +alias la4dump='php artisan dump-autoload' +alias la4cache='php artisan cache:clear' +alias la4routes='php artisan routes' diff --git a/plugins/mercurial/mercurial.plugin.zsh b/plugins/mercurial/mercurial.plugin.zsh index 2e99a12fb..ff95d5e40 100644 --- a/plugins/mercurial/mercurial.plugin.zsh +++ b/plugins/mercurial/mercurial.plugin.zsh @@ -16,6 +16,8 @@ alias hgs='hg status' alias hgsl='hg log --limit 20 --template "{node|short} | {date|isodatesec} | {author|user}: {desc|strip|firstline}\n" ' # this is the 'git commit --amend' equivalent alias hgca='hg qimport -r tip ; hg qrefresh -e ; hg qfinish tip' +# list unresolved files (since hg does not list unmerged files in the status command) +alias hgun='hg resolve --list' function in_hg() { if [[ -d .hg ]] || $(hg summary > /dev/null 2>&1); then diff --git a/plugins/mvn/mvn.plugin.zsh b/plugins/mvn/mvn.plugin.zsh index ed7968534..a70625fcf 100644 --- a/plugins/mvn/mvn.plugin.zsh +++ b/plugins/mvn/mvn.plugin.zsh @@ -44,19 +44,22 @@ mvn-color() # aliases alias mvncie='mvn clean install eclipse:eclipse' alias mvnci='mvn clean install' +alias mvncist='mvn clean install -DskipTests' alias mvne='mvn eclipse:eclipse' alias mvnce='mvn clean eclipse:clean eclipse:eclipse' alias mvnd='mvn deploy' alias mvnp='mvn package' alias mvnc='mvn clean' alias mvncom='mvn compile' +alias mvnct='mvn clean test' alias mvnt='mvn test' alias mvnag='mvn archetype:generate' alias mvn-updates='mvn versions:display-dependency-updates' alias mvntc7='mvn tomcat7:run' alias mvntc='mvn tomcat:run' alias mvnjetty='mvn jetty:run' - +alias mvndt='mvn dependency:tree' +alias mvns='mvn site' function listMavenCompletions { reply=( @@ -126,6 +129,8 @@ function listMavenCompletions { tomcat6:run tomcat6:run-war tomcat6:run-war-only tomcat6:stop tomcat6:deploy tomcat6:undeploy # tomcat7 tomcat7:run tomcat7:run-war tomcat7:run-war-only tomcat7:deploy + # spring-boot + spring-boot:run spring-boot:repackage # exec exec:exec exec:java # versions diff --git a/plugins/osx/osx.plugin.zsh b/plugins/osx/osx.plugin.zsh index 608ec3789..a63f0ee05 100644 --- a/plugins/osx/osx.plugin.zsh +++ b/plugins/osx/osx.plugin.zsh @@ -174,20 +174,23 @@ function itunes() { next|previous) opt="$opt track" ;; + vol) + opt="set sound volume to $1" #$1 Due to the shift + ;; ""|-h|--help) echo "Usage: itunes