From 06659f7fc1455990d5aa0c37609e191839ad5be0 Mon Sep 17 00:00:00 2001
From: Satoshi Ohmori
Date: Fri, 25 Dec 2015 19:54:12 +0900
Subject: [PATCH 001/294] Support bundler
---
plugins/rails/rails.plugin.zsh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/plugins/rails/rails.plugin.zsh b/plugins/rails/rails.plugin.zsh
index 8af1d6301..5dfca49e9 100644
--- a/plugins/rails/rails.plugin.zsh
+++ b/plugins/rails/rails.plugin.zsh
@@ -13,6 +13,8 @@ function _rails_command () {
function _rake_command () {
if [ -e "bin/rake" ]; then
bin/rake $@
+ elif type bundle &> /dev/null && [ -e "Gemfile" ]; then
+ bundle exec rake $@
else
command rake $@
fi
From bdc82114d010b3f1ffdfc90b48fa80094176a0ca Mon Sep 17 00:00:00 2001
From: Wasif Hasan Baig
Date: Thu, 26 May 2016 10:26:01 -0700
Subject: [PATCH 002/294] Changd `alias gsta='git stash'` to `alias gsta='git
stash save'`.
---
plugins/git/git.plugin.zsh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh
index 34f69029a..eb7bc8034 100644
--- a/plugins/git/git.plugin.zsh
+++ b/plugins/git/git.plugin.zsh
@@ -199,7 +199,7 @@ alias gsps='git show --pretty=short --show-signature'
alias gsr='git svn rebase'
alias gss='git status -s'
alias gst='git status'
-alias gsta='git stash'
+alias gsta='git stash save'
alias gstaa='git stash apply'
alias gstd='git stash drop'
alias gstl='git stash list'
From 73cca9432253ab06c8ad64f96f21effac5532a6d Mon Sep 17 00:00:00 2001
From: Alex Light
Date: Fri, 27 May 2016 15:38:41 -0700
Subject: [PATCH 003/294] Add zsh completion plugin for rustc (#3159)
---
plugins/rust/_rust | 191 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 191 insertions(+)
create mode 100644 plugins/rust/_rust
diff --git a/plugins/rust/_rust b/plugins/rust/_rust
new file mode 100644
index 000000000..f4e8f6f78
--- /dev/null
+++ b/plugins/rust/_rust
@@ -0,0 +1,191 @@
+#compdef rustc
+
+local -a _rustc_opts_switches _rustc_opts_lint _rustc_opts_debug
+
+typeset -A opt_args
+
+_rustc_debuginfo_levels=(
+ "0[no debug info]"
+ "1[line-tables only (for stacktraces and breakpoints)]"
+ "2[full debug info with variable and type information (same as -g)]"
+)
+
+_rustc_crate_types=(
+ 'bin'
+ 'lib'
+ 'rlib'
+ 'dylib'
+ 'staticlib'
+)
+
+_rustc_emit_types=(
+ 'asm'
+ 'bc'
+ 'ir'
+ 'obj'
+ 'link'
+)
+_rustc_pretty_types=(
+ 'normal[un-annotated source]'
+ 'expanded[crates expanded]'
+ 'typed[crates expanded, with type annotations]'
+ 'identified[fully parenthesized, AST nodes and blocks with IDs]'
+ 'flowgraph=[graphviz formatted flowgraph for node]:NODEID:'
+)
+_rustc_color_types=(
+ 'auto[colorize, if output goes to a tty (default)]'
+ 'always[always colorize output]'
+ 'never[never colorize output]'
+)
+
+_rustc_opts_vals=(
+ --crate-name='[Specify the name of the crate being built]'
+ --crate-type='[Comma separated list of types of crates for the compiler to emit]:TYPES:_values -s "," "Crate types" "$_rustc_crate_types[@]"'
+ --emit='[Comma separated list of types of output for the compiler to emit]:TYPES:_values -s "," "Emit Targets" "$_rustc_emit_types[@]"'
+ --debuginfo='[Emit DWARF debug info to the objects created]:LEVEL:_values "Debug Levels" "$_rustc_debuginfo_levels[@]"'
+ --dep-info='[Output dependency info to after compiling]::FILE:_files -/'
+ --sysroot='[Override the system root]:PATH:_files -/'
+ --cfg='[Configure the compilation environment]:SPEC:'
+ --out-dir='[Write output to compiler-chosen filename in . Ignored if -o is specified. (default the current directory)]:DIR:_files -/'
+ -o'[Write output to . Ignored if more than one --emit is specified.]:FILENAME:_files'
+ --opt-level='[Optimize with possible levels 0-3]:LEVEL:(0 1 2 3)'
+ --pretty='[Pretty-print the input instead of compiling]::TYPE:_values "TYPES" "$_rustc_pretty_types[@]"'
+ -L'[Add a directory to the library search path]:DIR:_files -/'
+ --target='[Target triple cpu-manufacturer-kernel\[-os\] to compile]:TRIPLE:'
+ --color='[Configure coloring of output]:CONF:_values "COLORS" "$_rustc_color_types[@]"'
+ {-v,--version}'[Print version info and exit]::VERBOSE:(verbose)'
+ --explain='[Provide a detailed explanation of an error message]:OPT:'
+ --extern'[Specify where an external rust library is located]:ARG:'
+)
+
+_rustc_opts_switches=(
+ -g'[Equivalent to --debuginfo=2]'
+ {-h,--help}'[Display this message]'
+ --no-analysis'[Parse and expand the output, but run no analysis or produce output]'
+ --no-trans'[Run all passes except translation; no output]'
+ -O'[Equivalent to --opt-level=2]'
+ --parse-only'[Parse only; do not compile, assemble, or link]'
+ --print-crate-name'[Output the crate name and exit]'
+ --print-file-name'[Output the file(s) that would be written if compilation continued and exit]'
+ --test'[Build a test harness]'
+)
+_rustc_opts_codegen=(
+ 'ar=[Path to the archive utility to use when assembling archives.]:BIN:_path_files'
+ 'linker=[Path to the linker utility to use when linking libraries, executables, and objects.]:BIN:_path_files'
+ 'link-args=[A space-separated list of extra arguments to pass to the linker when the linker is invoked.]:ARGS:'
+ 'target-cpu=[Selects a target processor. If the value is "help", then a list of available CPUs is printed.]:CPU:'
+ 'target-feature=[A space-separated list of features to enable or disable for the target. A preceding "+" enables a feature while a preceding "-" disables it. Available features can be discovered through target-cpu=help.]:FEATURE:'
+ 'passes=[A space-separated list of extra LLVM passes to run. A value of "list" will cause rustc to print all known passes and exit. The passes specified are appended at the end of the normal pass manager.]:LIST:'
+ 'llvm-args=[A space-separated list of arguments to pass through to LLVM.]:ARGS:'
+ 'save-temps[If specified, the compiler will save more files (.bc, .o, .no-opt.bc) generated throughout compilation in the output directory.]'
+ 'rpath[If specified, then the rpath value for dynamic libraries will be set in either dynamic library or executable outputs.]'
+ 'no-prepopulate-passes[Suppresses pre-population of the LLVM pass manager that is run over the module.]'
+ 'no-vectorize-loops[Suppresses running the loop vectorization LLVM pass, regardless of optimization level.]'
+ 'no-vectorize-slp[Suppresses running the LLVM SLP vectorization pass, regardless of optimization level.]'
+ 'soft-float[Generates software floating point library calls instead of hardware instructions.]'
+ 'prefer-dynamic[Prefers dynamic linking to static linking.]'
+ "no-integrated-as[Force usage of an external assembler rather than LLVM's integrated one.]"
+ 'no-redzone[disable the use of the redzone]'
+ 'relocation-model=[The relocation model to use. (default: pic)]:MODEL:(pic static dynamic-no-pic)'
+ 'code-model=[choose the code model to use (llc -code-model for details)]:MODEL:'
+ 'metadata=[metadata to mangle symbol names with]:VAL:'
+ 'extra-filenames=[extra data to put in each output filename]:VAL:'
+ 'codegen-units=[divide crate into N units to optimize in parallel]:N:'
+ 'help[Show all codegen options]'
+)
+
+_rustc_opts_lint=(
+ 'help[Show a list of all lints]'
+ 'experimental[detects use of #\[experimental\] items]'
+ 'heap-memory[use of any (Box type or @ type) heap memory]'
+ 'managed-heap-memory[use of managed (@ type) heap memory]'
+ 'missing-doc[detects missing documentation for public members]'
+ 'non-uppercase-statics[static constants should have uppercase identifiers]'
+ 'owned-heap-memory[use of owned (~ type) heap memory]'
+ 'unnecessary-qualification[detects unnecessarily qualified names]'
+ 'unsafe-block[usage of an `unsafe` block]'
+ 'unstable[detects use of #\[unstable\] items (incl. items with no stability attribute)]'
+ 'unused-result[unused result of an expression in a statement]'
+ 'variant-size-difference[detects enums with widely varying variant sizes]'
+ 'ctypes[proper use of libc types in foreign modules]'
+ 'dead-assignment[detect assignments that will never be read]'
+ 'dead-code[detect piece of code that will never be used]'
+ 'deprecated[detects use of #\[deprecated\] items]'
+ 'non-camel-case-types[types, variants and traits should have camel case names]'
+ 'non-snake-case[methods, functions, lifetime parameters and modules should have snake case names]'
+ 'path-statement[path statements with no effect]'
+ 'raw-pointer-deriving[uses of #\[deriving\] with raw pointers are rarely correct]'
+ 'type-limits[comparisons made useless by limits of the types involved]'
+ 'type-overflow[literal out of range for its type]'
+ 'unnecessary-allocation[detects unnecessary allocations that can be eliminated]'
+ 'unnecessary-parens[`if`, `match`, `while` and `return` do not need parentheses]'
+ 'unreachable-code[detects unreachable code]'
+ 'unrecognized-lint[unrecognized lint attribute]'
+ 'unsigned-negate[using an unary minus operator on unsigned type]'
+ 'unused-attribute[detects attributes that were not used by the compiler]'
+ 'unused-imports[imports that are never used]'
+ 'unused-must-use[unused result of a type flagged as #\[must_use\]]'
+ "unused-mut[detect mut variables which don't need to be mutable]"
+ 'unused-unsafe[unnecessary use of an `unsafe` block]'
+ 'unused-variable[detect variables which are not used in any way]'
+ 'visible-private-types[detect use of private types in exported type signatures]'
+ 'warnings[mass-change the level for lints which produce warnings]'
+ 'while-true[suggest using `loop { }` instead of `while true { }`]'
+ 'unknown-crate-type[unknown crate type found in #\[crate_type\] directive]'
+ 'unknown-features[unknown features found in crate-level #\[feature\] directives]'
+ 'bad-style[group of non_camel_case_types, non_snake_case, non_uppercase_statics]'
+ 'unused[group of unused_imports, unused_variable, dead_assignment, dead_code, unused_mut, unreachable_code]'
+)
+
+_rustc_opts_debug=(
+ 'verbose[in general, enable more debug printouts]'
+ 'time-passes[measure time of each rustc pass]'
+ 'count-llvm-insns[count where LLVM instrs originate]'
+ 'time-llvm-passes[measure time of each LLVM pass]'
+ 'trans-stats[gather trans statistics]'
+ 'asm-comments[generate comments into the assembly (may change behavior)]'
+ 'no-verify[skip LLVM verification]'
+ 'borrowck-stats[gather borrowck statistics]'
+ 'no-landing-pads[omit landing pads for unwinding]'
+ 'debug-llvm[enable debug output from LLVM]'
+ 'show-span[show spans for compiler debugging]'
+ 'count-type-sizes[count the sizes of aggregate types]'
+ 'meta-stats[gather metadata statistics]'
+ 'no-opt[do not optimize, even if -O is passed]'
+ 'print-link-args[Print the arguments passed to the linker]'
+ 'gc[Garbage collect shared data (experimental)]'
+ 'print-llvm-passes[Prints the llvm optimization passes being run]'
+ 'lto[Perform LLVM link-time optimizations]'
+ 'ast-json[Print the AST as JSON and halt]'
+ 'ast-json-noexpand[Print the pre-expansion AST as JSON and halt]'
+ 'ls[List the symbols defined by a library crate]'
+ 'save-analysis[Write syntax and type analysis information in addition to normal output]'
+ 'flowgraph-print-loans[Include loan analysis data in --pretty flowgraph output]'
+ 'flowgraph-print-moves[Include move analysis data in --pretty flowgraph output]'
+ 'flowgraph-print-assigns[Include assignment analysis data in --pretty flowgraph output]'
+ 'flowgraph-print-all[Include all dataflow analysis data in --pretty flowgraph output]'
+)
+
+_rustc_opts_fun_lint(){
+ _values -s , 'options' \
+ "$_rustc_opts_lint[@]"
+}
+
+_rustc_opts_fun_debug(){
+ _values 'options' "$_rustc_opts_debug[@]"
+}
+
+_rustc_opts_fun_codegen(){
+ _values 'options' "$_rustc_opts_codegen[@]"
+}
+
+_arguments -s : \
+ '(-W --warn)'{-W,--warn=}'[Set lint warnings]:lint options:_rustc_opts_fun_lint' \
+ '(-A --allow)'{-A,--allow=}'[Set lint allowed]:lint options:_rustc_opts_fun_lint' \
+ '(-D --deny)'{-D,--deny=}'[Set lint denied]:lint options:_rustc_opts_fun_lint' \
+ '(-F --forbid)'{-F,--forbid=}'[Set lint forbidden]:lint options:_rustc_opts_fun_lint' \
+ '*-Z[Set internal debugging options]:debug options:_rustc_opts_fun_debug' \
+ '*-C[Set internal Codegen options]:codegen options:_rustc_opts_fun_codegen' \
+ "$_rustc_opts_switches[@]" \
+ "$_rustc_opts_vals[@]" \
+ '::files:_files -g "*.rs"'
From c1951892314592295b0d5865f8ef5c72f360d6d0 Mon Sep 17 00:00:00 2001
From: Victor Torres
Date: Sun, 29 May 2016 06:25:17 -0300
Subject: [PATCH 004/294] Use default branch on recently created Mercurial
repository. (#4985)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
After `hg init` command, sometimes Mercurial does not create `.hg/branch` file so we'll use 'default' as fallback, which is the master branch in Mercurial repositories.
Signed-off-by: Marc Cornellà
---
plugins/branch/branch.plugin.zsh | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/plugins/branch/branch.plugin.zsh b/plugins/branch/branch.plugin.zsh
index a1e9ca31b..2e5659bdf 100644
--- a/plugins/branch/branch.plugin.zsh
+++ b/plugins/branch/branch.plugin.zsh
@@ -17,7 +17,12 @@ function branch_prompt_info() {
# Mercurial repository
if [[ -d "${current_dir}/.hg" ]]
then
- echo '☿' $(<"$current_dir/.hg/branch")
+ if [[ -f "$current_dir/.hg/branch" ]]
+ then
+ echo '☿' $(<"$current_dir/.hg/branch")
+ else
+ echo '☿ default'
+ fi
return;
fi
# Defines path as parent directory and keeps looking for :)
From 483f1208a5fc1fbe129958452388bdc3c3409e1e Mon Sep 17 00:00:00 2001
From: Andrew Janke
Date: Mon, 30 May 2016 18:53:54 -0400
Subject: [PATCH 005/294] installer: fix ordering of cygwin msys git check
(#4557)
---
tools/install.sh | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/tools/install.sh b/tools/install.sh
index 8cba52085..199d29419 100755
--- a/tools/install.sh
+++ b/tools/install.sh
@@ -53,11 +53,6 @@ main() {
echo "Error: git is not installed"
exit 1
}
- env git clone --depth=1 https://github.com/robbyrussell/oh-my-zsh.git $ZSH || {
- printf "Error: git clone of oh-my-zsh repo failed\n"
- exit 1
- }
-
# The Windows (MSYS) Git is not compatible with normal use on cygwin
if [ "$OSTYPE" = cygwin ]; then
if git --version | grep msysgit > /dev/null; then
@@ -66,6 +61,11 @@ main() {
exit 1
fi
fi
+ env git clone --depth=1 https://github.com/robbyrussell/oh-my-zsh.git $ZSH || {
+ printf "Error: git clone of oh-my-zsh repo failed\n"
+ exit 1
+ }
+
printf "${BLUE}Looking for an existing zsh config...${NORMAL}\n"
if [ -f ~/.zshrc ] || [ -h ~/.zshrc ]; then
From 5fa4d9d7606057ccb8e39a452db9a656b5f3caed Mon Sep 17 00:00:00 2001
From: wangzengdi
Date: Tue, 31 May 2016 09:57:36 +0800
Subject: [PATCH 006/294] add alias gh=git help
---
plugins/git/git.plugin.zsh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh
index eb7bc8034..3187cab74 100644
--- a/plugins/git/git.plugin.zsh
+++ b/plugins/git/git.plugin.zsh
@@ -137,6 +137,8 @@ compdef _git ggu=git-checkout
alias ggpur='ggu'
compdef _git ggpur=git-checkout
+alias gh='git help'
+
alias gignore='git update-index --assume-unchanged'
alias gignored='git ls-files -v | grep "^[[:lower:]]"'
alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk'
From e1e549ca504b18d3ee5d5ea22d2d99a45ac1f668 Mon Sep 17 00:00:00 2001
From: debbbbie
Date: Tue, 31 May 2016 05:41:45 -0500
Subject: [PATCH 007/294] add plugin react-native (#4606)
---
plugins/react-native/_react-native | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
create mode 100644 plugins/react-native/_react-native
diff --git a/plugins/react-native/_react-native b/plugins/react-native/_react-native
new file mode 100644
index 000000000..47ee8c370
--- /dev/null
+++ b/plugins/react-native/_react-native
@@ -0,0 +1,23 @@
+#compdef react-native
+#autoload
+
+local -a _1st_arguments
+_1st_arguments=(
+ 'start:starts the webserver'
+ 'bundle:builds the javascript bundle for offline use'
+ 'new-library:generates a native library bridge'
+ 'android:generates an Android project for your app'
+ 'run-android:builds your app and starts it on a connected Android emulator or device'
+ 'upgrade:upgrade your apps template files to the latest version; run this after updating the react-native version in your package.json and running npm install'
+)
+
+
+_arguments \
+ '(--version)--version[show version]' \
+ '(--help)--help[show help]' \
+ '*:: :->subcmds' && return 0
+
+if (( CURRENT == 1 )); then
+ _describe -t commands "react-native subcommand" _1st_arguments
+ return
+fi
From dc222704dfac09f7b5eaa8befd7afc39c69e51c5 Mon Sep 17 00:00:00 2001
From: Ivan Mironov
Date: Wed, 1 Jun 2016 13:23:20 +0300
Subject: [PATCH 008/294] Fix arcanist aliases (#5110)
* Fix arc cover alias
* Fix arc pacth alias
---
plugins/arcanist/arcanist.plugin.zsh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/plugins/arcanist/arcanist.plugin.zsh b/plugins/arcanist/arcanist.plugin.zsh
index 90851ac62..3f4eb07f4 100644
--- a/plugins/arcanist/arcanist.plugin.zsh
+++ b/plugins/arcanist/arcanist.plugin.zsh
@@ -5,7 +5,7 @@
alias ara='arc amend'
alias arb='arc branch'
-alias arc='arc cover'
+alias arco='arc cover'
alias arci='arc commit'
alias ard='arc diff'
@@ -18,4 +18,4 @@ alias arh='arc help'
alias arl='arc land'
alias arli='arc lint'
alias arls='arc list'
-alias arp='arc patch'
+alias arpa='arc patch'
From deb992b8aa493ecd4cb13ceb32aa848909bbcefa Mon Sep 17 00:00:00 2001
From: Bilal Budhani
Date: Mon, 6 Jun 2016 04:39:42 +0530
Subject: [PATCH 009/294] Adds ReactNative plugin :iphone: (#5018)
---
plugins/react-native/README.md | 14 ++++++++++++++
plugins/react-native/react-native.plugin.zsh | 6 ++++++
2 files changed, 20 insertions(+)
create mode 100644 plugins/react-native/README.md
create mode 100644 plugins/react-native/react-native.plugin.zsh
diff --git a/plugins/react-native/README.md b/plugins/react-native/README.md
new file mode 100644
index 000000000..78bfb6844
--- /dev/null
+++ b/plugins/react-native/README.md
@@ -0,0 +1,14 @@
+# React Native
+
+**Maintainer:** [BilalBudhani](https://github.com/BilalBudhani)
+
+### List of Aliases
+
+Alias | React Native command
+------|---------------------
+**rnand** | *react-native run-android*
+**rnios** | *react-native run-ios*
+**rnios4s** | *react-native run-ios --simulator "iPhone 4s"*
+**rnios5** | *react-native run-ios --simulator "iPhone 5"*
+**rnios5s** | *react-native run-ios --simulator "iPhone 5s"*
+
diff --git a/plugins/react-native/react-native.plugin.zsh b/plugins/react-native/react-native.plugin.zsh
new file mode 100644
index 000000000..7323f1d2e
--- /dev/null
+++ b/plugins/react-native/react-native.plugin.zsh
@@ -0,0 +1,6 @@
+alias rnand='react-native run-android'
+alias rnios4s='react-native run-ios --simulator "iPhone 4s"'
+alias rnios5='react-native run-ios --simulator "iPhone 5"'
+alias rnios5s='react-native run-ios --simulator "iPhone 5s"'
+alias rnios='react-native run-ios'
+
From 2d7a451e0e9221e02c9b34e824dea959eaa6a079 Mon Sep 17 00:00:00 2001
From: Ben Cole
Date: Mon, 6 Jun 2016 06:43:59 +0100
Subject: [PATCH 010/294] Add list-timers to systemd user commands (#5099)
This is useful for listing "cron like" systemd jobs
---
plugins/systemd/systemd.plugin.zsh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/systemd/systemd.plugin.zsh b/plugins/systemd/systemd.plugin.zsh
index b19793557..5a35ecbc7 100644
--- a/plugins/systemd/systemd.plugin.zsh
+++ b/plugins/systemd/systemd.plugin.zsh
@@ -1,6 +1,6 @@
user_commands=(
list-units is-active status show help list-unit-files
- is-enabled list-jobs show-environment cat)
+ is-enabled list-jobs show-environment cat list-timers)
sudo_commands=(
start stop reload restart try-restart isolate kill
From 80cac854191020cb874c04af862a6569e2156f8c Mon Sep 17 00:00:00 2001
From: kierandoonan
Date: Wed, 8 Jun 2016 16:27:51 +0100
Subject: [PATCH 011/294] Fix: Plugin knife: Add relative local path for
commands which upload files (#4240)
* Added autocomplete support for local knife file uploads
* Added option to allow for relative path resolution for cookbooks
* Updated _chef_root function to use directory:h
---
plugins/knife/_knife | 56 +++++++++++++++++++++++++++++++++++++-------
1 file changed, 48 insertions(+), 8 deletions(-)
diff --git a/plugins/knife/_knife b/plugins/knife/_knife
index 163149267..0d61ff15c 100644
--- a/plugins/knife/_knife
+++ b/plugins/knife/_knife
@@ -3,6 +3,9 @@
# You can override the path to knife.rb and your cookbooks by setting
# KNIFE_CONF_PATH=/path/to/my/.chef/knife.rb
# KNIFE_COOKBOOK_PATH=/path/to/my/chef/cookbooks
+# If you want your local cookbooks path to be calculated relative to where you are then
+# set the below option
+# KNIFE_RELATIVE_PATH=true
# Read around where these are used for more detail.
# These flags should be available everywhere according to man knife
@@ -119,7 +122,19 @@ _knife() {
_arguments '4:Subsubsubcommands:($(_chef_$words[2]_$words[3]s_remote))'
;;
file)
- _arguments '*:file or directory:_files -g "*.(rb|json)"'
+ case $words[2] in
+ environment)
+ _arguments '*:files:_path_files -g "*.(rb|json)" -W "$(_chef_root)/environments"'
+ ;;
+ node)
+ _arguments '*:files:_path_files -g "*.(rb|json)" -W "$(_chef_root)/nodes"'
+ ;;
+ role)
+ _arguments '*:files:_path_files -g "*.(rb|json)" -W "$(_chef_root)/roles"'
+ ;;
+ *)
+ _arguments '*:Subsubcommands:($(_knife_options3))'
+ esac
;;
list)
compadd -a "$@" knife_general_flags
@@ -132,11 +147,22 @@ _knife() {
if (( versioncomp > 0 )); then
compadd "$@" attributes definitions files libraries providers recipes resources templates
else
- _arguments '*:Subsubcommands:($(_knife_options2))'
+ case $words[5] in
+ file)
+ _arguments '*:directory:_path_files -/ -W "$(_chef_root)/data_bags" -qS \ '
+ ;;
+ *) _arguments '*:Subsubcommands:($(_knife_options2))'
+ esac
fi
;;
knifesubcmd5)
- _arguments '*:Subsubcommands:($(_knife_options3))'
+ case $words[5] in
+ file)
+ _arguments '*:files:_path_files -g "*.json" -W "$(_chef_root)/data_bags/$words[6]"'
+ ;;
+ *)
+ _arguments '*:Subsubcommands:($(_knife_options3))'
+ esac
esac
}
@@ -184,12 +210,15 @@ _chef_environments_remote() {
# The chef_x_local functions use the knife config to find the paths of relevant objects x to be uploaded to the server
_chef_cookbooks_local() {
-
- local knife_rb=${KNIFE_CONF_PATH:-${HOME}/.chef/knife.rb}
- if [ -f ./.chef/knife.rb ]; then
- knife_rb="./.chef/knife.rb"
+ if [ $KNIFE_RELATIVE_PATH ]; then
+ local cookbook_path="$(_chef_root)/cookbooks"
+ else
+ local knife_rb=${KNIFE_CONF_PATH:-${HOME}/.chef/knife.rb}
+ if [ -f ./.chef/knife.rb ]; then
+ knife_rb="./.chef/knife.rb"
+ fi
+ local cookbook_path=${KNIFE_COOKBOOK_PATH:-$(grep cookbook_path $knife_rb | awk 'BEGIN {FS = "[" }; {print $2}' | sed 's/\,//g' | sed "s/'//g" | sed 's/\(.*\)]/\1/' )}
fi
- local cookbook_path=${KNIFE_COOKBOOK_PATH:-$(grep cookbook_path $knife_rb | awk 'BEGIN {FS = "[" }; {print $2}' | sed 's/\,//g' | sed "s/'//g" | sed 's/\(.*\)]/\1/' )}
(for i in $cookbook_path; do ls $i; done)
}
@@ -198,4 +227,15 @@ _cookbook_versions() {
(knife cookbook show $words[4] | grep -v $words[4] | grep -v -E '\]|\[|\{|\}' | sed 's/ //g' | sed 's/"//g')
}
+# Searches up from current directory to find the closest folder that has a .chef folder
+# Useful for the knife upload/from file commands
+_chef_root () {
+ directory="$PWD"
+ while [ $directory != '/' ]
+ do
+ test -e "$directory/.chef" && echo "$directory" && return
+ directory="${directory:h}"
+ done
+}
+
_knife "$@"
From 3ce22281db39279ad18477339b0ff3327b69564f Mon Sep 17 00:00:00 2001
From: Mikael RANDY
Date: Thu, 9 Jun 2016 22:39:54 +0200
Subject: [PATCH 012/294] Mod: use new debug namespace to avoid deprecation
warning (#4799)
From 514ef607046e2c081de8e6c550360868cd91650f Mon Sep 17 00:00:00 2001
From: Christian Wolff
Date: Tue, 14 Jun 2016 20:32:10 +0200
Subject: [PATCH 013/294] Replace _kitchen completion with the version from
zsh-users (#5011)
---
plugins/kitchen/_kitchen | 106 +++++++++++++++++++++++++++------------
1 file changed, 75 insertions(+), 31 deletions(-)
diff --git a/plugins/kitchen/_kitchen b/plugins/kitchen/_kitchen
index 54105b61a..dee5c5809 100644
--- a/plugins/kitchen/_kitchen
+++ b/plugins/kitchen/_kitchen
@@ -1,41 +1,85 @@
-# author: Peter Eisentraut
-# source: https://gist.github.com/petere/10307599
-# compdef kitchen
+#compdef kitchen
+# ------------------------------------------------------------------------------
+# Copyright (c) 2014 Github zsh-users - http://github.com/zsh-users
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# * Neither the name of the zsh-users nor the
+# names of its contributors may be used to endorse or promote products
+# derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# ------------------------------------------------------------------------------
+# Description
+# -----------
+#
+# Completion script for Test Kitchen (http://kitchen.ci/).
+#
+# ------------------------------------------------------------------------------
+# Authors
+# -------
+#
+# * Peter Eisentraut (https://github.com/petere)
+#
+# ------------------------------------------------------------------------------
+
_kitchen() {
- local curcontext="$curcontext" state line
- typeset -A opt_args
+ local curcontext="$curcontext" state line
+ typeset -A opt_args
- _arguments '1: :->cmds'\
- '2: :->args'
+ _arguments '1: :->cmds'\
+ '2: :->args'
- case $state in
- cmds)
- _arguments "1:Commands:(console converge create destroy diagnose driver help init list login setup test verify version)"
- ;;
- args)
- case $line[1] in
- converge|create|destroy|diagnose|list|setup|test|verify)
- compadd "$@" all
- _kitchen_instances
- ;;
- login)
- _kitchen_instances
- ;;
- esac
- ;;
- esac
+ case $state in
+ cmds)
+ _kitchen_commands
+ ;;
+ args)
+ case $line[1] in
+ converge|create|destroy|diagnose|list|setup|test|verify)
+ compadd 'all'
+ _kitchen_instances
+ ;;
+ login)
+ _kitchen_instances
+ ;;
+ esac
+ ;;
+ esac
+}
+
+_kitchen_commands() {
+ local commands
+
+ commands=("${(@f)$(_call_program commands $service help | sed -n 's/^ kitchen \([[:alpha:]]*\) [ [].*# \(.*\)$/\1:\2/p')}")
+ _describe -t commands 'kitchen commands' commands
}
_kitchen_instances() {
- if [[ $_kitchen_instances_cache_dir != $PWD ]]; then
- unset _kitchen_instances_cache
- fi
- if [[ ${+_kitchen_instances_cache} -eq 0 ]]; then
- _kitchen_instances_cache=(${(f)"$(bundle exec kitchen list -b 2>/dev/null || kitchen list -b 2>/dev/null)"})
- _kitchen_instances_cache_dir=$PWD
- fi
- compadd -a _kitchen_instances_cache
+ if [[ $_kitchen_instances_cache_dir != $PWD ]]; then
+ unset _kitchen_instances_cache
+ fi
+ if [[ ${+_kitchen_instances_cache} -eq 0 ]]; then
+ _kitchen_instances_cache=(${(f)"$(_call_program instances $service list -b 2>/dev/null)"})
+ _kitchen_instances_cache_dir=$PWD
+ fi
+ _wanted instances expl 'instance' compadd -a _kitchen_instances_cache
}
_kitchen "$@"
From 53acf21182a630e1f45feb49fca641e645ba8415 Mon Sep 17 00:00:00 2001
From: Harald Nordgren
Date: Wed, 15 Jun 2016 00:12:24 +0200
Subject: [PATCH 014/294] Peepcode theme: Don't try to use RVM if it's not
available (#5154)
---
themes/peepcode.zsh-theme | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/themes/peepcode.zsh-theme b/themes/peepcode.zsh-theme
index 96e4f1192..9dc58294a 100644
--- a/themes/peepcode.zsh-theme
+++ b/themes/peepcode.zsh-theme
@@ -41,4 +41,10 @@ PROMPT='
%~
${smiley} %{$reset_color%}'
-RPROMPT='%{$fg[white]%} $(~/.rvm/bin/rvm-prompt)$(git_prompt)%{$reset_color%}'
+if [[ -d ~/.rvm ]] && [[ -e ~/.rvm/bin/rvm-prompt ]]; then
+ rvm_prompt='$(~/.rvm/bin/rvm-prompt)'
+else
+ rvm_prompt=''
+fi
+
+RPROMPT='%{$fg[white]%} $rvm_prompt$(git_prompt)%{$reset_color%}'
From 3f2dd807730e8588c84fb6491d243e51c265f5eb Mon Sep 17 00:00:00 2001
From: intsilence
Date: Wed, 15 Jun 2016 11:42:48 +0800
Subject: [PATCH 015/294] add 'mvn clean install -DskipTests --offline' alias
to speed up maven compile (#5153)
* add 'mvn clean install -DskipTests --offline' to speed up maven compile
* update maven plugin README
---
plugins/mvn/README.md | 1 +
plugins/mvn/mvn.plugin.zsh | 1 +
2 files changed, 2 insertions(+)
diff --git a/plugins/mvn/README.md b/plugins/mvn/README.md
index 79192bb54..ffc5f6832 100644
--- a/plugins/mvn/README.md
+++ b/plugins/mvn/README.md
@@ -15,6 +15,7 @@ plugins=(... mvn)
| `mvncie` | `mvn clean install eclipse:eclipse` |
| `mvnci` | `mvn clean install` |
| `mvncist` | `mvn clean install -DskipTests` |
+| `mvncisto` | `mvn clean install -DskipTests --offline` |
| `mvne` | `mvn eclipse:eclipse` |
| `mvnd` | `mvn deploy` |
| `mvnp` | `mvn package` |
diff --git a/plugins/mvn/mvn.plugin.zsh b/plugins/mvn/mvn.plugin.zsh
index 7aaab0e18..068963ac2 100644
--- a/plugins/mvn/mvn.plugin.zsh
+++ b/plugins/mvn/mvn.plugin.zsh
@@ -45,6 +45,7 @@ mvn-color()
alias mvncie='mvn clean install eclipse:eclipse'
alias mvnci='mvn clean install'
alias mvncist='mvn clean install -DskipTests'
+alias mvncisto='mvn clean install -DskipTests --offline'
alias mvne='mvn eclipse:eclipse'
alias mvnce='mvn clean eclipse:clean eclipse:eclipse'
alias mvnd='mvn deploy'
From 623ea2381871d41c788270f75b54cad212de8159 Mon Sep 17 00:00:00 2001
From: mssalvatore
Date: Wed, 15 Jun 2016 17:17:03 -0400
Subject: [PATCH 016/294] Add ofd() to OSX plugin to open finder on current
directory (#5164)
* Add ofd() to OSX plugin to open finder on current directory
* Change `pwd` to $PWD in osx.plugin.zsh
Suggested by mcornella
---
plugins/osx/osx.plugin.zsh | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/plugins/osx/osx.plugin.zsh b/plugins/osx/osx.plugin.zsh
index c92b6556d..99d66f25e 100644
--- a/plugins/osx/osx.plugin.zsh
+++ b/plugins/osx/osx.plugin.zsh
@@ -151,6 +151,14 @@ function pfd() {
EOF
}
+function ofd() {
+ osascript 2>/dev/null </dev/null <
Date: Wed, 15 Jun 2016 18:03:37 -0400
Subject: [PATCH 017/294] Open finder to PWD - part 2 (#5165)
* Modifies ofd to use alias to open_command instead of shell function with AppleScript
---
plugins/osx/osx.plugin.zsh | 3 +++
1 file changed, 3 insertions(+)
diff --git a/plugins/osx/osx.plugin.zsh b/plugins/osx/osx.plugin.zsh
index 99d66f25e..a80b19926 100644
--- a/plugins/osx/osx.plugin.zsh
+++ b/plugins/osx/osx.plugin.zsh
@@ -5,6 +5,9 @@
# VERSION: 1.1.0
# ------------------------------------------------------------------------------
+# Open the current directory in a Finder window
+alias ofd='open_command $PWD'
+
function _omz_osx_get_frontmost_app() {
local the_app=$(
osascript 2>/dev/null <
Date: Thu, 16 Jun 2016 00:23:09 +0200
Subject: [PATCH 018/294] Add README for OSX plugin and refactor plugin file
---
plugins/osx/README.md | 27 +++++++++++++++++++++++++++
plugins/osx/_man-preview | 5 -----
plugins/osx/osx.plugin.zsh | 16 +---------------
3 files changed, 28 insertions(+), 20 deletions(-)
create mode 100644 plugins/osx/README.md
delete mode 100644 plugins/osx/_man-preview
diff --git a/plugins/osx/README.md b/plugins/osx/README.md
new file mode 100644
index 000000000..a06184a45
--- /dev/null
+++ b/plugins/osx/README.md
@@ -0,0 +1,27 @@
+# OSX plugin
+
+## Description
+
+This plugin provides a few utilities to make it more enjoyable on OSX.
+
+To start using it, add the `osx` plugin to your plugins array in `~/.zshrc`:
+
+```zsh
+plugins=(... osx)
+```
+
+Original author: [Sorin Ionescu](https://github.com/sorin-ionescu)
+
+
+## Commands
+
+| Command | Description |
+|:--------------|:-----------------------------------------------|
+| `tab` | Open the current directory in a new tab |
+| `ofd` | Open the current directory in a Finder window |
+| `pfd` | Return the path of the frontmost Finder window |
+| `pfs` | Return the current Finder selection |
+| `cdf` | `cd` to the current Finder directory |
+| `pushdf` | `pushd` to the current Finder directory |
+| `quick-look` | Quick-Look a specified file |
+| `man-preview` | Open a specified man page in Preview app |
diff --git a/plugins/osx/_man-preview b/plugins/osx/_man-preview
deleted file mode 100644
index 6cc344ad4..000000000
--- a/plugins/osx/_man-preview
+++ /dev/null
@@ -1,5 +0,0 @@
-#compdef man-preview
-#autoload
-
-_man
-
diff --git a/plugins/osx/osx.plugin.zsh b/plugins/osx/osx.plugin.zsh
index a80b19926..c66325cde 100644
--- a/plugins/osx/osx.plugin.zsh
+++ b/plugins/osx/osx.plugin.zsh
@@ -1,10 +1,3 @@
-# ------------------------------------------------------------------------------
-# FILE: osx.plugin.zsh
-# DESCRIPTION: oh-my-zsh plugin file.
-# AUTHOR: Sorin Ionescu (sorin.ionescu@gmail.com)
-# VERSION: 1.1.0
-# ------------------------------------------------------------------------------
-
# Open the current directory in a Finder window
alias ofd='open_command $PWD'
@@ -154,14 +147,6 @@ function pfd() {
EOF
}
-function ofd() {
- osascript 2>/dev/null </dev/null <
Date: Thu, 16 Jun 2016 12:56:34 -0700
Subject: [PATCH 019/294] Remove undesirable hardcoding of PATH into zshrc
(#4925)
See robbyrussell@b67961d
---
templates/zshrc.zsh-template | 2 +-
tools/install.sh | 6 ------
2 files changed, 1 insertion(+), 7 deletions(-)
diff --git a/templates/zshrc.zsh-template b/templates/zshrc.zsh-template
index 44e8b0d1b..632490132 100644
--- a/templates/zshrc.zsh-template
+++ b/templates/zshrc.zsh-template
@@ -53,7 +53,7 @@ plugins=(git)
# User configuration
-export PATH=$HOME/bin:/usr/local/bin:$PATH
+# export PATH="/usr/bin:/bin:/usr/sbin:/sbin:$PATH"
# export MANPATH="/usr/local/man:$MANPATH"
source $ZSH/oh-my-zsh.sh
diff --git a/tools/install.sh b/tools/install.sh
index 199d29419..3f4de8681 100755
--- a/tools/install.sh
+++ b/tools/install.sh
@@ -80,12 +80,6 @@ main() {
" ~/.zshrc > ~/.zshrc-omztemp
mv -f ~/.zshrc-omztemp ~/.zshrc
- printf "${BLUE}Copying your current PATH and adding it to the end of ~/.zshrc for you.${NORMAL}\n"
- sed "/export PATH=/ c\\
- export PATH=\"$PATH\"
- " ~/.zshrc > ~/.zshrc-omztemp
- mv -f ~/.zshrc-omztemp ~/.zshrc
-
# If this user's login shell is not already "zsh", attempt to switch.
TEST_CURRENT_SHELL=$(expr "$SHELL" : '.*/\(.*\)')
if [ "$TEST_CURRENT_SHELL" != "zsh" ]; then
From b1561c662b8629a33f5ffc89fd1be93b65e5c541 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Fri, 17 Jun 2016 11:43:08 +0200
Subject: [PATCH 020/294] Update taskwarrior completion to 2.5.1 (#5171)
---
plugins/taskwarrior/_task | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/plugins/taskwarrior/_task b/plugins/taskwarrior/_task
index afa30d45a..46628be94 100644
--- a/plugins/taskwarrior/_task
+++ b/plugins/taskwarrior/_task
@@ -1,6 +1,6 @@
#compdef task
#
-# Copyright 2010 - 2015 Johannes Schlatow
+# Copyright 2010 - 2016 Johannes Schlatow
# Copyright 2009 P.C. Shyamshankar
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -26,7 +26,6 @@
typeset -g _task_cmds _task_projects _task_tags _task_config _task_modifiers
_task_projects=($(task _projects))
_task_tags=($(task _tags))
-_task_ids=($(task _ids))
_task_zshids=( ${(f)"$(task _zshids)"} )
_task_config=($(task _config))
_task_columns=($(task _columns))
@@ -139,8 +138,10 @@ task_dates=(
)
local -a task_zshids
-_regex_words values 'task IDs' $_task_zshids
-task_zshids=("$reply[@]")
+if (( $#_task_zshids )); then
+ _regex_words values 'task IDs' $_task_zshids
+ task_zshids=("$reply[@]")
+fi
_regex_words values 'task frequencies' \
'daily:Every day' \
From d7c06131a251ec9e9c715383f33eec977c72b6ea Mon Sep 17 00:00:00 2001
From: Jordan Gwyn
Date: Fri, 17 Jun 2016 03:12:59 -0700
Subject: [PATCH 021/294] emacs plugin tweak to open buffer from stdin (#5126)
---
plugins/emacs/emacsclient.sh | 29 ++++++++++++++++++++++-------
1 file changed, 22 insertions(+), 7 deletions(-)
diff --git a/plugins/emacs/emacsclient.sh b/plugins/emacs/emacsclient.sh
index 625201a16..d61ebb15b 100755
--- a/plugins/emacs/emacsclient.sh
+++ b/plugins/emacs/emacsclient.sh
@@ -1,12 +1,27 @@
#!/bin/sh
-# get list of available X windows.
-x=`emacsclient --alternate-editor '' --eval '(x-display-list)' 2>/dev/null`
+function _emacsfun
+{
+ # get list of available X windows.
+ x=`emacsclient --alternate-editor '' --eval '(x-display-list)' 2>/dev/null`
-if [ -z "$x" ] || [ "$x" = "nil" ] ;then
- # Create one if there is no X window yet.
- emacsclient --alternate-editor "" --create-frame "$@"
+ if [ -z "$x" ] || [ "$x" = "nil" ] ;then
+ # Create one if there is no X window yet.
+ emacsclient --alternate-editor "" --create-frame "$@"
+ else
+ # prevent creating another X frame if there is at least one present.
+ emacsclient --alternate-editor "" "$@"
+ fi
+}
+
+
+# adopted from https://github.com/davidshepherd7/emacs-read-stdin/blob/master/emacs-read-stdin.sh
+# If the second argument is - then write stdin to a tempfile and open the
+# tempfile. (first argument will be `--no-wait` passed in by the plugin.zsh)
+if [[ $# -ge 2 ]] && [[ "$2" == - ]]; then
+ tempfile="$(mktemp emacs-stdin-$USER.XXXXXXX --tmpdir)"
+ cat - > "$tempfile"
+ _emacsfun --no-wait $tempfile
else
- # prevent creating another X frame if there is at least one present.
- emacsclient --alternate-editor "" "$@"
+ _emacsfun "$@"
fi
From d012402dada1ec7d8796f2f4b04744d817137b4d Mon Sep 17 00:00:00 2001
From: psprint
Date: Sat, 18 Jun 2016 11:48:21 +0200
Subject: [PATCH 022/294] znt: update to v2.2.1 (#5174)
---
.../.config/znt/n-kill.conf | 2 +-
.../.config/znt/n-list.conf | 2 +-
plugins/zsh-navigation-tools/n-help | 43 ++++++++++++++++++-
plugins/zsh-navigation-tools/n-history | 10 ++---
plugins/zsh-navigation-tools/n-list | 5 ++-
5 files changed, 52 insertions(+), 10 deletions(-)
diff --git a/plugins/zsh-navigation-tools/.config/znt/n-kill.conf b/plugins/zsh-navigation-tools/.config/znt/n-kill.conf
index deb2a3fd9..59807b2c3 100644
--- a/plugins/zsh-navigation-tools/.config/znt/n-kill.conf
+++ b/plugins/zsh-navigation-tools/.config/znt/n-kill.conf
@@ -8,7 +8,7 @@ local active_text=reverse
# This doesn't cover scripts named "[0-9]## *", which should be very rare
# (#s) is ^, (#e) is $, # is *, ## is + (comparing to regex)
# | is alternative, but only in ()
-local NLIST_COLORING_PATTERN="((#s) #[0-9]## |[[][^]]#](#e)|[^ 0-9/?\\\\][^/\\\\]#(#e)|[^ /\\\\]##[^0-9/\\\\ ]##[^/\\\\]#(#e))"
+local NLIST_COLORING_PATTERN="((#s) #[0-9]## |[[][^]]#](#e)|[^ 0-9/?\\\\][^/\\\\]#(#e))"
local NLIST_COLORING_COLOR=$'\x1b[00;33m'
local NLIST_COLORING_MATCH_MULTIPLE=1
diff --git a/plugins/zsh-navigation-tools/.config/znt/n-list.conf b/plugins/zsh-navigation-tools/.config/znt/n-list.conf
index 68f5668f9..096104df6 100644
--- a/plugins/zsh-navigation-tools/.config/znt/n-list.conf
+++ b/plugins/zsh-navigation-tools/.config/znt/n-list.conf
@@ -6,7 +6,7 @@ local bold=0
local colorpair="white/black"
# Should draw the border?
-local border=1
+local border=0
# Combinations of colors to try out with Ctrl-T and Ctrl-G
# The last number is the bold option, 0 or 1
diff --git a/plugins/zsh-navigation-tools/n-help b/plugins/zsh-navigation-tools/n-help
index 415050a81..c7f6328b7 100644
--- a/plugins/zsh-navigation-tools/n-help
+++ b/plugins/zsh-navigation-tools/n-help
@@ -1,11 +1,11 @@
autoload colors
colors
-local h1="$fg_bold[cyan]"
+local h1="$fg_bold[magenta]"
local h2="$fg_bold[green]"
local h3="$fg_bold[blue]"
local h4="$fg_bold[yellow]"
-local h5="$fg_bold[magenta]"
+local h5="$fg_bold[cyan]"
local rst="$reset_color"
LESS="-iRc" less <<<"
@@ -93,4 +93,43 @@ start. This is a way to have handy set of bookmarks prepared in private
history's file.
Private history is instantly shared among sessions.
+
+${h1}Zshrc integration${rst}
+
+There are 5 standard configuration variables that can be set in zshrc:
+
+${h4}znt_history_active_text${rst}
+\"underline\" or \"reverse\" - how should be active element highlighted
+${h4}znt_history_nlist_coloring_pattern${rst}
+Pattern that can be used to colorize elements
+${h4}znt_history_nlist_coloring_color${rst}
+Color with which to colorize via the pattern
+${h4}znt_history_nlist_coloring_match_multiple${rst}
+Should multiple matches be colorized (${h2}\"0\"${rst} or ${h2}\"1\"${rst})
+${h4}znt_history_keywords ${h2}(array)${rst}
+Search keywords activated with Ctrl-X, F2, Ctrl-/, e.g. ( ${h2}\"git\"${rst} ${h2}\"vim\"${rst} )
+
+Above variables will work for n-history tool. For other tools, change
+\"_history_\" to e.g. \"_cd_\", for the n-cd tool. The same works for
+all 8 tools.
+
+Common configuration of the tools uses variables with \"_list_\" in them:
+
+${h4}znt_list_bold${rst}
+Should draw text in bold (${h2}\"0\"${rst} or ${h2}\"1\"${rst})
+${h4}znt_list_colorpair${rst}
+Main pair of colors to be used, e.g ${h2}\"green/black\"${rst}
+${h4}znt_list_border${rst}
+Should draw borders around windows (${h2}\"0\"${rst} or ${h2}\"1\"${rst})
+${h4}znt_list_themes ${h2}(array)${rst}
+List of themes to try out with Ctrl-T, e.g. ( ${h2}\"white/black/1\"${rst}
+${h2}\"green/black/0\"${rst} )
+${h4}znt_list_instant_select${rst}
+Should pressing enter in search mode leave tool (${h2}\"0\"${rst} or ${h2}\"1\"${rst})
+
+If you used ZNT before v2.1.12 then remove old configuration files
+${h3}~/.config/znt/*.conf${rst} so that ZNT can update them to the latest versions
+that support integration with Zshrc. If you used installer then run it
+again (after the remove of configuration files), that is not needed when
+using as plugin.
"
diff --git a/plugins/zsh-navigation-tools/n-history b/plugins/zsh-navigation-tools/n-history
index 68370f6e5..af475dcb8 100644
--- a/plugins/zsh-navigation-tools/n-history
+++ b/plugins/zsh-navigation-tools/n-history
@@ -157,7 +157,7 @@ _nhistory_generate_most_frequent() {
vk+="$v"$'\t'"$k"
done
- print -rl "$title" "${(On)vk[@]}" > "$most_frequent_db"
+ print -rl -- "$title" "${(On)vk[@]}" > "$most_frequent_db"
}
# Load configuration
@@ -337,16 +337,16 @@ if [ "$REPLY" -gt 0 ]; then
selected="$reply[REPLY]"
# ZLE?
if [ "${(t)CURSOR}" = "integer-local-special" ]; then
- zle redisplay
- zle kill-buffer
+ zle .redisplay
+ zle .kill-buffer
LBUFFER+="$selected"
# Append to private history
local newline=$'\n'
selected="${selected//$newline/\\$newline}"
- [ "$active_view" = "0" ] && print -r "$selected" >> "$private_history_db"
+ [ "$active_view" = "0" ] && print -r -- "$selected" >> "$private_history_db"
else
- print -zr "$selected"
+ print -zr -- "$selected"
fi
else
[ "${(t)CURSOR}" = "integer-local-special" ] && zle redisplay
diff --git a/plugins/zsh-navigation-tools/n-list b/plugins/zsh-navigation-tools/n-list
index d3a8da302..f3d2e5b3e 100644
--- a/plugins/zsh-navigation-tools/n-list
+++ b/plugins/zsh-navigation-tools/n-list
@@ -445,7 +445,10 @@ while (( 1 )); do
[ "$border" = "1" ] && zcurses border main
- local top_msg=" F1-change view, ${(C)ZSH_NAME} $ZSH_VERSION, shell level $SHLVL "
+ local top_msg=" ${(C)ZSH_NAME} $ZSH_VERSION, shell level $SHLVL "
+ if [[ "${NLIST_ENABLED_EVENTS[(r)F1]}" = "F1" ]]; then
+ top_msg=" F1-change view,$top_msg"
+ fi
zcurses move main 0 $(( term_width / 2 - $#top_msg / 2 ))
zcurses string main $top_msg
From 909fcef0469a2706508c0197e14aa45654702044 Mon Sep 17 00:00:00 2001
From: hjpotter92
Date: Tue, 21 Jun 2016 00:45:55 +0530
Subject: [PATCH 023/294] Fix issue with `dash` as the default `/bin/sh` script
executing program. (#5177)
* `function` keyword removed
* Fixup the `if` statement and operators
---
plugins/emacs/emacsclient.sh | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/plugins/emacs/emacsclient.sh b/plugins/emacs/emacsclient.sh
index d61ebb15b..41682512d 100755
--- a/plugins/emacs/emacsclient.sh
+++ b/plugins/emacs/emacsclient.sh
@@ -1,6 +1,6 @@
#!/bin/sh
-function _emacsfun
+_emacsfun()
{
# get list of available X windows.
x=`emacsclient --alternate-editor '' --eval '(x-display-list)' 2>/dev/null`
@@ -18,7 +18,8 @@ function _emacsfun
# adopted from https://github.com/davidshepherd7/emacs-read-stdin/blob/master/emacs-read-stdin.sh
# If the second argument is - then write stdin to a tempfile and open the
# tempfile. (first argument will be `--no-wait` passed in by the plugin.zsh)
-if [[ $# -ge 2 ]] && [[ "$2" == - ]]; then
+if [ "$#" -ge "2" -a "$2" = "-" ]
+then
tempfile="$(mktemp emacs-stdin-$USER.XXXXXXX --tmpdir)"
cat - > "$tempfile"
_emacsfun --no-wait $tempfile
From 9a61336d33a8a6258c0fb838bfa3c9c488e7d898 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Mon, 20 Jun 2016 22:19:02 +0200
Subject: [PATCH 024/294] Fix man-preview completion definition
Related: #5179
---
plugins/osx/osx.plugin.zsh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/osx/osx.plugin.zsh b/plugins/osx/osx.plugin.zsh
index c66325cde..4dbc75787 100644
--- a/plugins/osx/osx.plugin.zsh
+++ b/plugins/osx/osx.plugin.zsh
@@ -175,7 +175,7 @@ function quick-look() {
function man-preview() {
man -t "$@" | open -f -a Preview
}
-compdef man-preview=man
+compdef _man man-preview
function vncviewer() {
open vnc://$@
From c62442f999854038e7d0911f60a4aff252913a7f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Tue, 21 Jun 2016 01:06:21 +0200
Subject: [PATCH 025/294] Fix gfg function completion definition
Related: #5179
---
plugins/git/git.plugin.zsh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh
index eb7bc8034..c186a6e11 100644
--- a/plugins/git/git.plugin.zsh
+++ b/plugins/git/git.plugin.zsh
@@ -88,7 +88,7 @@ alias gdw='git diff --word-diff'
alias gf='git fetch'
alias gfa='git fetch --all --prune'
function gfg() { git ls-files | grep $@ }
-compdef gfg=grep
+compdef _grep gfg
alias gfo='git fetch origin'
alias gg='git gui citool'
From 7fabc8bca41d4ff7090325116a85513dac852236 Mon Sep 17 00:00:00 2001
From: Clemens Gruber
Date: Tue, 21 Jun 2016 01:31:13 +0200
Subject: [PATCH 026/294] bundler plugin: Simplify retrieval of cpu count on
OSX (#5180)
Calling awk is not necessary here, sysctl has the -n flag to print the value.
Signed-off-by: Clemens Gruber
---
plugins/bundler/bundler.plugin.zsh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/bundler/bundler.plugin.zsh b/plugins/bundler/bundler.plugin.zsh
index 382a1a471..c5284dbb1 100644
--- a/plugins/bundler/bundler.plugin.zsh
+++ b/plugins/bundler/bundler.plugin.zsh
@@ -58,7 +58,7 @@ bundle_install() {
if [[ $bundler_version > '1.4.0' || $bundler_version = '1.4.0' ]]; then
if [[ "$OSTYPE" = darwin* ]]
then
- local cores_num="$(sysctl hw.ncpu | awk '{print $2}')"
+ local cores_num="$(sysctl -n hw.ncpu)"
else
local cores_num="$(nproc)"
fi
From af1ee2b9940de7f758669575560d8e32b9975cba Mon Sep 17 00:00:00 2001
From: Henrik Johansson
Date: Sun, 19 Jun 2016 10:52:17 +0200
Subject: [PATCH 027/294] Add plugin for Gb completion (http://getgb.io)
---
plugins/getgb/getgb.plugin.zsh | 114 +++++++++++++++++++++++++++++++++
1 file changed, 114 insertions(+)
create mode 100644 plugins/getgb/getgb.plugin.zsh
diff --git a/plugins/getgb/getgb.plugin.zsh b/plugins/getgb/getgb.plugin.zsh
new file mode 100644
index 000000000..9efb00c98
--- /dev/null
+++ b/plugins/getgb/getgb.plugin.zsh
@@ -0,0 +1,114 @@
+function _gb_commands() {
+ local ret=1 state
+ _arguments -C ':command:->command' '*::options:->options' && ret=0
+
+ case $state in
+ (command)
+
+ local -a subcommands
+ subcommands=(
+ "build:build a package"
+ "doc:show documentation for a package or symbol"
+ "env:print project environment variables"
+ "generate:generate Go files by processing source"
+ "help:displays the help"
+ "info:info returns information about this project"
+ "list:list the packages named by the importpaths"
+ "test:test packages"
+ "vendor:manage your vendored dependencies"
+ )
+ _describe -t subcommands 'gb subcommands' subcommands && ret=0
+ ;;
+
+ (options)
+ case $line[1] in
+ (build)
+ _arguments \
+ -f'[ignore cached packages]' \
+ -F'[do not cache packages]' \
+ -q'[decreases verbosity]' \
+ -P'[the number of build jobs to run in parallel]' \
+ -R'[sets the base of the project root search path]' \
+ -dotfile'[output a dot formatted file of the build steps]' \
+ -ldflags'["flag list" arguments to pass to the linker]' \
+ -gcflags'["arg list" arguments to pass to the compiler]' \
+ -race'[enable data race detection]' \
+ -tags'["tag list" additional build tags]'
+ ;;
+ (list)
+ _arguments \
+ -f'[alternate format for the list, using the syntax of package template]' \
+ -s'[read format template from STDIN]' \
+ -json'[prints output in structured JSON format]'
+ ;;
+ (test)
+ _arguments \
+ -v'[print output from test subprocess]' \
+ -ldflags'["flag list" arguments to pass to the linker]' \
+ -gcflags'["arg list" arguments to pass to the compiler]' \
+ -race'[enable data race detection]' \
+ -tags'["tag list" additional build tags]'
+ ;;
+ (vendor)
+ __gb-vendor
+ esac
+ ;;
+ esac
+
+ return ret
+}
+
+compdef _gb_commands gb
+
+__gb-vendor ()
+{
+ local curcontext="$curcontext" state line
+
+ _arguments -C ':command:->command' '*::options:->options'
+
+ case $state in
+ (command)
+
+ local -a subcommands
+ subcommands=(
+ 'delete:deletes a local dependency'
+ 'fetch:fetch a remote dependency'
+ 'list:lists dependencies, one per line'
+ 'purge:remove all unreferenced dependencies'
+ 'restore:restore dependencies from the manifest'
+ 'update:update a local dependency'
+ )
+ _describe -t subcommands 'gb vendor subcommands' subcommands && ret=0
+ ;;
+
+ (options)
+ case $line[1] in
+ (delete)
+ _arguments \
+ -all'[remove all dependencies]'
+ ;;
+ (fetch)
+ _arguments \
+ -branch'[fetch from a particular branch]' \
+ -no-recurse'[do not fetch recursively]' \
+ -tag'[fetch the specified tag]' \
+ -revision'[fetch the specific revision from the branch (if supplied)]' \
+ -precaire'[allow the use of insecure protocols]' \
+ ;;
+ (list)
+ _arguments \
+ -f'[controls the template used for printing each manifest entry]'
+ ;;
+ (restore)
+ _arguments \
+ -precaire'[allow the use of insecure protocols]'
+ ;;
+ (update)
+ _arguments \
+ -all'[update all dependencies in the manifest or supply a given dependency]' \
+ -precaire'[allow the use of insecure protocols]'
+ ;;
+ esac
+ ;;
+ esac
+}
From 57a689ffd5dd54852afeea38e5c401d5a29b4493 Mon Sep 17 00:00:00 2001
From: Henrik Johansson
Date: Tue, 28 Jun 2016 21:25:51 +0200
Subject: [PATCH 028/294] Add README to gb plugin
---
plugins/getgb/README.md | 10 ++++++++++
1 file changed, 10 insertions(+)
create mode 100644 plugins/getgb/README.md
diff --git a/plugins/getgb/README.md b/plugins/getgb/README.md
new file mode 100644
index 000000000..b477b0f4c
--- /dev/null
+++ b/plugins/getgb/README.md
@@ -0,0 +1,10 @@
+# *gb* plugin
+
+- aims to support completion for all *gb* commands
+- also supports completion for *gb* plugins such as *vendor*
+
+See http://getgb.io for the full *gb* documentation
+
+## Caveats
+
+- The *git* plugin installs an alias *gb* that usually conflicts with the *gb* program
From d0ea3f22b1099ce98e0fc02b6074d862478ae81a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Sat, 2 Jul 2016 11:59:04 +0200
Subject: [PATCH 029/294] Add more information to the README
---
plugins/getgb/README.md | 21 ++++++++++++++++-----
1 file changed, 16 insertions(+), 5 deletions(-)
diff --git a/plugins/getgb/README.md b/plugins/getgb/README.md
index b477b0f4c..88881cb28 100644
--- a/plugins/getgb/README.md
+++ b/plugins/getgb/README.md
@@ -1,10 +1,21 @@
-# *gb* plugin
+# `gb` plugin
-- aims to support completion for all *gb* commands
-- also supports completion for *gb* plugins such as *vendor*
+> A project based build tool for the Go programming language.
-See http://getgb.io for the full *gb* documentation
+See https://getgb.io for the full `gb` documentation
+
+* * * *
+
+- Adds completion support for all `gb` commands.
+- Also supports completion for the [`gb-vendor` plugin](https://godoc.org/github.com/constabulary/gb/cmd/gb-vendor).
+
+To use it, add `getgb` to your plugins array:
+```sh
+plugins=(... getgb)
+```
## Caveats
-- The *git* plugin installs an alias *gb* that usually conflicts with the *gb* program
+The `git` plugin defines an alias `gb` that usually conflicts with the `gb` program.
+If you're having trouble with it, remove it by adding `unalias gb` at the end of your
+zshrc file.
From a29f8f76599e93653f006c2e074bd1dc47cc9b4b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Sat, 2 Jul 2016 16:24:02 +0200
Subject: [PATCH 030/294] Fix formatting of gb plugin completion
---
plugins/getgb/getgb.plugin.zsh | 208 ++++++++++++++++-----------------
1 file changed, 101 insertions(+), 107 deletions(-)
diff --git a/plugins/getgb/getgb.plugin.zsh b/plugins/getgb/getgb.plugin.zsh
index 9efb00c98..726f0a24f 100644
--- a/plugins/getgb/getgb.plugin.zsh
+++ b/plugins/getgb/getgb.plugin.zsh
@@ -1,114 +1,108 @@
-function _gb_commands() {
- local ret=1 state
- _arguments -C ':command:->command' '*::options:->options' && ret=0
-
- case $state in
- (command)
-
- local -a subcommands
- subcommands=(
- "build:build a package"
- "doc:show documentation for a package or symbol"
- "env:print project environment variables"
- "generate:generate Go files by processing source"
- "help:displays the help"
- "info:info returns information about this project"
- "list:list the packages named by the importpaths"
- "test:test packages"
- "vendor:manage your vendored dependencies"
- )
- _describe -t subcommands 'gb subcommands' subcommands && ret=0
- ;;
-
- (options)
- case $line[1] in
- (build)
- _arguments \
- -f'[ignore cached packages]' \
- -F'[do not cache packages]' \
- -q'[decreases verbosity]' \
- -P'[the number of build jobs to run in parallel]' \
- -R'[sets the base of the project root search path]' \
- -dotfile'[output a dot formatted file of the build steps]' \
- -ldflags'["flag list" arguments to pass to the linker]' \
- -gcflags'["arg list" arguments to pass to the compiler]' \
- -race'[enable data race detection]' \
- -tags'["tag list" additional build tags]'
- ;;
- (list)
- _arguments \
- -f'[alternate format for the list, using the syntax of package template]' \
- -s'[read format template from STDIN]' \
- -json'[prints output in structured JSON format]'
- ;;
- (test)
- _arguments \
- -v'[print output from test subprocess]' \
- -ldflags'["flag list" arguments to pass to the linker]' \
- -gcflags'["arg list" arguments to pass to the compiler]' \
- -race'[enable data race detection]' \
- -tags'["tag list" additional build tags]'
- ;;
- (vendor)
- __gb-vendor
- esac
- ;;
- esac
-
- return ret
-}
-
-compdef _gb_commands gb
-
-__gb-vendor ()
-{
- local curcontext="$curcontext" state line
-
- _arguments -C ':command:->command' '*::options:->options'
+_gb () {
+ local ret=1 state
+ _arguments -C ':command:->command' '*::options:->options' && ret=0
case $state in
- (command)
-
- local -a subcommands
- subcommands=(
- 'delete:deletes a local dependency'
- 'fetch:fetch a remote dependency'
- 'list:lists dependencies, one per line'
- 'purge:remove all unreferenced dependencies'
- 'restore:restore dependencies from the manifest'
- 'update:update a local dependency'
- )
- _describe -t subcommands 'gb vendor subcommands' subcommands && ret=0
+ (command)
+ local -a subcommands
+ subcommands=(
+ "build:build a package"
+ "doc:show documentation for a package or symbol"
+ "env:print project environment variables"
+ "generate:generate Go files by processing source"
+ "help:displays the help"
+ "info:info returns information about this project"
+ "list:list the packages named by the importpaths"
+ "test:test packages"
+ "vendor:manage your vendored dependencies"
+ )
+ _describe -t subcommands 'gb subcommands' subcommands && ret=0
;;
+ (options)
+ case $line[1] in
+ (build)
+ _arguments \
+ -f'[ignore cached packages]' \
+ -F'[do not cache packages]' \
+ -q'[decreases verbosity]' \
+ -P'[the number of build jobs to run in parallel]' \
+ -R'[sets the base of the project root search path]' \
+ -dotfile'[output a dot formatted file of the build steps]' \
+ -ldflags'["flag list" arguments to pass to the linker]' \
+ -gcflags'["arg list" arguments to pass to the compiler]' \
+ -race'[enable data race detection]' \
+ -tags'["tag list" additional build tags]'
+ ;;
+ (list)
+ _arguments \
+ -f'[alternate format for the list, using the syntax of package template]' \
+ -s'[read format template from STDIN]' \
+ -json'[prints output in structured JSON format]'
+ ;;
+ (test)
+ _arguments \
+ -v'[print output from test subprocess]' \
+ -ldflags'["flag list" arguments to pass to the linker]' \
+ -gcflags'["arg list" arguments to pass to the compiler]' \
+ -race'[enable data race detection]' \
+ -tags'["tag list" additional build tags]'
+ ;;
+ (vendor)
+ _gb-vendor
+ esac
+ ;;
+ esac
- (options)
- case $line[1] in
- (delete)
- _arguments \
- -all'[remove all dependencies]'
- ;;
- (fetch)
- _arguments \
- -branch'[fetch from a particular branch]' \
- -no-recurse'[do not fetch recursively]' \
- -tag'[fetch the specified tag]' \
- -revision'[fetch the specific revision from the branch (if supplied)]' \
- -precaire'[allow the use of insecure protocols]' \
- ;;
- (list)
- _arguments \
- -f'[controls the template used for printing each manifest entry]'
- ;;
- (restore)
- _arguments \
- -precaire'[allow the use of insecure protocols]'
- ;;
- (update)
- _arguments \
- -all'[update all dependencies in the manifest or supply a given dependency]' \
- -precaire'[allow the use of insecure protocols]'
- ;;
- esac
+ return ret
+}
+
+compdef _gb gb
+
+_gb-vendor () {
+ local curcontext="$curcontext" state line
+ _arguments -C ':command:->command' '*::options:->options'
+
+ case $state in
+ (command)
+ local -a subcommands
+ subcommands=(
+ 'delete:deletes a local dependency'
+ 'fetch:fetch a remote dependency'
+ 'list:lists dependencies, one per line'
+ 'purge:remove all unreferenced dependencies'
+ 'restore:restore dependencies from the manifest'
+ 'update:update a local dependency'
+ )
+ _describe -t subcommands 'gb vendor subcommands' subcommands && ret=0
+ ;;
+ (options)
+ case $line[1] in
+ (delete)
+ _arguments \
+ -all'[remove all dependencies]'
+ ;;
+ (fetch)
+ _arguments \
+ -branch'[fetch from a particular branch]' \
+ -no-recurse'[do not fetch recursively]' \
+ -tag'[fetch the specified tag]' \
+ -revision'[fetch the specific revision from the branch (if supplied)]' \
+ -precaire'[allow the use of insecure protocols]' \
+ ;;
+ (list)
+ _arguments \
+ -f'[controls the template used for printing each manifest entry]'
+ ;;
+ (restore)
+ _arguments \
+ -precaire'[allow the use of insecure protocols]'
+ ;;
+ (update)
+ _arguments \
+ -all'[update all dependencies in the manifest or supply a given dependency]' \
+ -precaire'[allow the use of insecure protocols]'
+ ;;
+ esac
;;
esac
}
From cab6359173fb99c832617a5aa24ec734586ff055 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Sun, 3 Jul 2016 23:27:33 +0200
Subject: [PATCH 031/294] Rename gb completion file to more conventional _gb
---
plugins/getgb/{getgb.plugin.zsh => _gb} | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
rename plugins/getgb/{getgb.plugin.zsh => _gb} (99%)
diff --git a/plugins/getgb/getgb.plugin.zsh b/plugins/getgb/_gb
similarity index 99%
rename from plugins/getgb/getgb.plugin.zsh
rename to plugins/getgb/_gb
index 726f0a24f..8148adf16 100644
--- a/plugins/getgb/getgb.plugin.zsh
+++ b/plugins/getgb/_gb
@@ -1,3 +1,6 @@
+#compdef gb
+#autoload
+
_gb () {
local ret=1 state
_arguments -C ':command:->command' '*::options:->options' && ret=0
@@ -56,8 +59,6 @@ _gb () {
return ret
}
-compdef _gb gb
-
_gb-vendor () {
local curcontext="$curcontext" state line
_arguments -C ':command:->command' '*::options:->options'
@@ -106,3 +107,5 @@ _gb-vendor () {
;;
esac
}
+
+_gb
From dc0a884ea7b4298861cb081a4b76c9f0b42c7ebe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Sun, 3 Jul 2016 23:29:00 +0200
Subject: [PATCH 032/294] Rename getgb plugin to gb
---
plugins/{getgb => gb}/README.md | 4 ++--
plugins/{getgb => gb}/_gb | 0
2 files changed, 2 insertions(+), 2 deletions(-)
rename plugins/{getgb => gb}/README.md (88%)
rename plugins/{getgb => gb}/_gb (100%)
diff --git a/plugins/getgb/README.md b/plugins/gb/README.md
similarity index 88%
rename from plugins/getgb/README.md
rename to plugins/gb/README.md
index 88881cb28..822c29aaa 100644
--- a/plugins/getgb/README.md
+++ b/plugins/gb/README.md
@@ -9,9 +9,9 @@ See https://getgb.io for the full `gb` documentation
- Adds completion support for all `gb` commands.
- Also supports completion for the [`gb-vendor` plugin](https://godoc.org/github.com/constabulary/gb/cmd/gb-vendor).
-To use it, add `getgb` to your plugins array:
+To use it, add `gb` to your plugins array:
```sh
-plugins=(... getgb)
+plugins=(... gb)
```
## Caveats
diff --git a/plugins/getgb/_gb b/plugins/gb/_gb
similarity index 100%
rename from plugins/getgb/_gb
rename to plugins/gb/_gb
From 96a2092e377139fbcd95d7b7ac703b740daa22f6 Mon Sep 17 00:00:00 2001
From: Steven
Date: Fri, 15 Jul 2016 02:05:39 -0700
Subject: [PATCH 033/294] lib/git.zsh: Added git_commits_behind function
(#4450)
* Added git_commits_behind function
* Added 'command' to git_commits_behind function
* git_commits_behind code review changes
---
lib/git.zsh | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/lib/git.zsh b/lib/git.zsh
index 1c76d5882..c79cc0d8e 100644
--- a/lib/git.zsh
+++ b/lib/git.zsh
@@ -83,6 +83,13 @@ function git_commits_ahead() {
fi
}
+# Gets the number of commits behind remote
+function git_commits_behind() {
+ if $(command git rev-parse --git-dir > /dev/null 2>&1); then
+ echo $(git rev-list --count HEAD..@{upstream})
+ fi
+}
+
# Outputs if current branch is ahead of remote
function git_prompt_ahead() {
if [[ -n "$(command git rev-list origin/$(git_current_branch)..HEAD 2> /dev/null)" ]]; then
From bfbfef9fcf87cfb8ecab8b3ee13a27a9f7e392ae Mon Sep 17 00:00:00 2001
From: Jesse Donat
Date: Fri, 15 Jul 2016 14:30:09 -0500
Subject: [PATCH 034/294] Cleans up phing plugin.
---
plugins/phing/phing.plugin.zsh | 11 +----------
1 file changed, 1 insertion(+), 10 deletions(-)
diff --git a/plugins/phing/phing.plugin.zsh b/plugins/phing/phing.plugin.zsh
index 1f022047c..60f59c3b0 100644
--- a/plugins/phing/phing.plugin.zsh
+++ b/plugins/phing/phing.plugin.zsh
@@ -1,15 +1,6 @@
-_phing_does_target_list_need_generating () {
- [ ! -f .phing_targets ] && return 0;
- [ build.xml -nt .phing_targets ] && return 0;
- return 1;
-}
-
_phing () {
if [ -f build.xml ]; then
- if _phing_does_target_list_need_generating; then
- phing -l|grep -v "\[property\]"|grep -v "Buildfile"|sed 1d|grep -v ":$" |grep -v "^\-*$"|awk '{print $1}' > .phing_targets
- fi
- compadd `cat .phing_targets`
+ compadd $(phing -l|grep -v "\[property\]"|grep -v "Buildfile"|sed 1d|grep -v ":$" |grep -v "^\-*$"|awk '{print $1}')
fi
}
From c51823c04eee3889a17a957790ae5bf7f07fd5eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pawe=C5=82=20Lenart?=
Date: Tue, 16 Dec 2014 08:34:50 +0100
Subject: [PATCH 035/294] Remove warning lines from phing completion
Remove "Warning:" lines from phing targets list. Warning lines are
returned by phing when a target has no tasks or dependencies.
# Conflicts:
# plugins/phing/phing.plugin.zsh
---
plugins/phing/phing.plugin.zsh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/phing/phing.plugin.zsh b/plugins/phing/phing.plugin.zsh
index 60f59c3b0..d5a2649bf 100644
--- a/plugins/phing/phing.plugin.zsh
+++ b/plugins/phing/phing.plugin.zsh
@@ -1,6 +1,6 @@
_phing () {
if [ -f build.xml ]; then
- compadd $(phing -l|grep -v "\[property\]"|grep -v "Buildfile"|sed 1d|grep -v ":$" |grep -v "^\-*$"|awk '{print $1}')
+ compadd $(phing -l|grep -v "\[property\]"|grep -v "Buildfile"|sed 1d|grep -v ":$" |grep -v "^\-*$"|grep -v "Warning:"|awk '{print $1}')
fi
}
From eb244d9ec03a5f83102efa89d8d2231282f3c408 Mon Sep 17 00:00:00 2001
From: soredake
Date: Tue, 19 Jul 2016 01:20:59 +0300
Subject: [PATCH 036/294] Update emacs plugin. (#5201)
- Updated minimal version from 23 to 24.
- Added new aliases that fix unexpected close with -nw option.
- Removed some old aliases.
- Fixed line that detects open frames.
---
plugins/emacs/emacs.plugin.zsh | 7 +++----
plugins/emacs/emacsclient.sh | 12 ++++++------
2 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/plugins/emacs/emacs.plugin.zsh b/plugins/emacs/emacs.plugin.zsh
index a3f0085a8..c102a5a1e 100644
--- a/plugins/emacs/emacs.plugin.zsh
+++ b/plugins/emacs/emacs.plugin.zsh
@@ -10,7 +10,7 @@
# - Configuration changes made at runtime are applied to all frames.
-if "$ZSH/tools/require_tool.sh" emacs 23 2>/dev/null ; then
+if "$ZSH/tools/require_tool.sh" emacs 24 2>/dev/null ; then
export EMACS_PLUGIN_LAUNCHER="$ZSH/plugins/emacs/emacsclient.sh"
# set EDITOR if not already defined.
@@ -18,15 +18,14 @@ if "$ZSH/tools/require_tool.sh" emacs 23 2>/dev/null ; then
alias emacs="$EMACS_PLUGIN_LAUNCHER --no-wait"
alias e=emacs
+ # open terminal emacsclient
+ alias te="$EMACS_PLUGIN_LAUNCHER -nw"
# same than M-x eval but from outside Emacs.
alias eeval="$EMACS_PLUGIN_LAUNCHER --eval"
# create a new X frame
alias eframe='emacsclient --alternate-editor "" --create-frame'
- # to code all night long
- alias emasc=emacs
- alias emcas=emacs
# Write to standard output the path to the file
# opened in the current buffer.
diff --git a/plugins/emacs/emacsclient.sh b/plugins/emacs/emacsclient.sh
index 41682512d..26b28d495 100755
--- a/plugins/emacs/emacsclient.sh
+++ b/plugins/emacs/emacsclient.sh
@@ -2,15 +2,15 @@
_emacsfun()
{
- # get list of available X windows.
- x=`emacsclient --alternate-editor '' --eval '(x-display-list)' 2>/dev/null`
+ # get list of emacs frames.
+ frameslist=`emacsclient --alternate-editor '' --eval '(frame-list)' 2>/dev/null | egrep -o '(frame)+'`
- if [ -z "$x" ] || [ "$x" = "nil" ] ;then
- # Create one if there is no X window yet.
- emacsclient --alternate-editor "" --create-frame "$@"
- else
+ if [ "$(echo "$frameslist" | sed -n '$=')" -ge 2 ] ;then
# prevent creating another X frame if there is at least one present.
emacsclient --alternate-editor "" "$@"
+ else
+ # Create one if there is no X window yet.
+ emacsclient --alternate-editor "" --create-frame "$@"
fi
}
From f4013053d302480b7663ad5c3a04d0442237a952 Mon Sep 17 00:00:00 2001
From: Julien Dubreuil
Date: Tue, 19 Jul 2016 00:24:12 +0200
Subject: [PATCH 037/294] Updated _docker-compose to the latest version (from
0.1.0 to 1.5.0). (#5215)
Also fixed formatting of markdown URL in README.
---
plugins/docker-compose/README.md | 3 +-
plugins/docker-compose/_docker-compose | 331 ++++++++++++++++++-------
2 files changed, 240 insertions(+), 94 deletions(-)
diff --git a/plugins/docker-compose/README.md b/plugins/docker-compose/README.md
index 567b82148..d3fcb29fe 100644
--- a/plugins/docker-compose/README.md
+++ b/plugins/docker-compose/README.md
@@ -1,5 +1,4 @@
# Docker-compose plugin for oh my zsh
-A copy of the completion script from the [docker-compose](1) git repo.
+A copy of the completion script from the [docker-compose](https://github.com/docker/compose/blob/master/contrib/completion/zsh/_docker-compose) git repo.
-[1]:[https://github.com/docker/compose/blob/master/contrib/completion/zsh/_docker-compose]
diff --git a/plugins/docker-compose/_docker-compose b/plugins/docker-compose/_docker-compose
index 19c06675a..2947cef38 100644
--- a/plugins/docker-compose/_docker-compose
+++ b/plugins/docker-compose/_docker-compose
@@ -7,7 +7,7 @@
# -------------------------------------------------------------------------
# Version
# -------
-# 0.1.0
+# 1.5.0
# -------------------------------------------------------------------------
# Authors
# -------
@@ -19,58 +19,69 @@
# * @felixr docker zsh completion script : https://github.com/felixr/docker-zsh-completion
# -------------------------------------------------------------------------
-# For compatibility reasons, Compose and therefore its completion supports several
-# stack compositon files as listed here, in descending priority.
-# Support for these filenames might be dropped in some future version.
-__docker-compose_compose_file() {
- local file
- for file in docker-compose.y{,a}ml fig.y{,a}ml ; do
- [ -e $file ] && {
- echo $file
- return
- }
- done
- echo docker-compose.yml
+__docker-compose_q() {
+ docker-compose 2>/dev/null $compose_options "$@"
}
-# Extracts all service names from docker-compose.yml.
-___docker-compose_all_services_in_compose_file() {
+# All services defined in docker-compose.yml
+__docker-compose_all_services_in_compose_file() {
local already_selected
local -a services
- already_selected=$(echo ${words[@]} | tr " " "|")
- awk -F: '/^[a-zA-Z0-9]/{print $1}' "${compose_file:-$(__docker-compose_compose_file)}" 2>/dev/null | grep -Ev "$already_selected"
+ already_selected=$(echo $words | tr " " "|")
+ __docker-compose_q config --services \
+ | grep -Ev "^(${already_selected})$"
}
# All services, even those without an existing container
__docker-compose_services_all() {
- services=$(___docker-compose_all_services_in_compose_file)
- _alternative "args:services:($services)"
+ [[ $PREFIX = -* ]] && return 1
+ integer ret=1
+ services=$(__docker-compose_all_services_in_compose_file)
+ _alternative "args:services:($services)" && ret=0
+
+ return ret
}
# All services that have an entry with the given key in their docker-compose.yml section
-___docker-compose_services_with_key() {
+__docker-compose_services_with_key() {
local already_selected
local -a buildable
- already_selected=$(echo ${words[@]} | tr " " "|")
+ already_selected=$(echo $words | tr " " "|")
# flatten sections to one line, then filter lines containing the key and return section name.
- awk '/^[a-zA-Z0-9]/{printf "\n"};{printf $0;next;}' "${compose_file:-$(__docker-compose_compose_file)}" 2>/dev/null | awk -F: -v key=": +$1:" '$0 ~ key {print $1}' 2>/dev/null | grep -Ev "$already_selected"
+ __docker-compose_q config \
+ | sed -n -e '/^services:/,/^[^ ]/p' \
+ | sed -n 's/^ //p' \
+ | awk '/^[a-zA-Z0-9]/{printf "\n"};{printf $0;next;}' \
+ | grep " \+$1:" \
+ | cut -d: -f1 \
+ | grep -Ev "^(${already_selected})$"
}
# All services that are defined by a Dockerfile reference
__docker-compose_services_from_build() {
- buildable=$(___docker-compose_services_with_key build)
- _alternative "args:buildable services:($buildable)"
+ [[ $PREFIX = -* ]] && return 1
+ integer ret=1
+ buildable=$(__docker-compose_services_with_key build)
+ _alternative "args:buildable services:($buildable)" && ret=0
+
+ return ret
}
# All services that are defined by an image
__docker-compose_services_from_image() {
- pullable=$(___docker-compose_services_with_key image)
- _alternative "args:pullable services:($pullable)"
+ [[ $PREFIX = -* ]] && return 1
+ integer ret=1
+ pullable=$(__docker-compose_services_with_key image)
+ _alternative "args:pullable services:($pullable)" && ret=0
+
+ return ret
}
__docker-compose_get_services() {
- local kind expl
- declare -a running stopped lines args services
+ [[ $PREFIX = -* ]] && return 1
+ integer ret=1
+ local kind
+ declare -a running paused stopped lines args services
docker_status=$(docker ps > /dev/null 2>&1)
if [ $? -ne 0 ]; then
@@ -80,64 +91,78 @@ __docker-compose_get_services() {
kind=$1
shift
- [[ $kind = (stopped|all) ]] && args=($args -a)
+ [[ $kind =~ (stopped|all) ]] && args=($args -a)
- lines=(${(f)"$(_call_program commands docker ps ${args})"})
- services=(${(f)"$(_call_program commands docker-compose 2>/dev/null ${compose_file:+-f $compose_file} ${compose_project:+-p $compose_project} ps -q)"})
+ lines=(${(f)"$(_call_program commands docker $docker_options ps $args)"})
+ services=(${(f)"$(_call_program commands docker-compose 2>/dev/null $compose_options ps -q)"})
# Parse header line to find columns
local i=1 j=1 k header=${lines[1]}
declare -A begin end
- while (( $j < ${#header} - 1 )) {
- i=$(( $j + ${${header[$j,-1]}[(i)[^ ]]} - 1))
- j=$(( $i + ${${header[$i,-1]}[(i) ]} - 1))
- k=$(( $j + ${${header[$j,-1]}[(i)[^ ]]} - 2))
- begin[${header[$i,$(($j-1))]}]=$i
- end[${header[$i,$(($j-1))]}]=$k
- }
+ while (( j < ${#header} - 1 )); do
+ i=$(( j + ${${header[$j,-1]}[(i)[^ ]]} - 1 ))
+ j=$(( i + ${${header[$i,-1]}[(i) ]} - 1 ))
+ k=$(( j + ${${header[$j,-1]}[(i)[^ ]]} - 2 ))
+ begin[${header[$i,$((j-1))]}]=$i
+ end[${header[$i,$((j-1))]}]=$k
+ done
lines=(${lines[2,-1]})
# Container ID
local line s name
local -a names
for line in $lines; do
- if [[ $services == *"${line[${begin[CONTAINER ID]},${end[CONTAINER ID]}]%% ##}"* ]]; then
+ if [[ ${services[@]} == *"${line[${begin[CONTAINER ID]},${end[CONTAINER ID]}]%% ##}"* ]]; then
names=(${(ps:,:)${${line[${begin[NAMES]},-1]}%% *}})
for name in $names; do
s="${${name%_*}#*_}:${(l:15:: :::)${${line[${begin[CREATED]},${end[CREATED]}]/ ago/}%% ##}}"
s="$s, ${line[${begin[CONTAINER ID]},${end[CONTAINER ID]}]%% ##}"
- s="$s, ${${${line[$begin[IMAGE],$end[IMAGE]]}/:/\\:}%% ##}"
+ s="$s, ${${${line[${begin[IMAGE]},${end[IMAGE]}]}/:/\\:}%% ##}"
if [[ ${line[${begin[STATUS]},${end[STATUS]}]} = Exit* ]]; then
stopped=($stopped $s)
else
+ if [[ ${line[${begin[STATUS]},${end[STATUS]}]} = *\(Paused\)* ]]; then
+ paused=($paused $s)
+ fi
running=($running $s)
fi
done
fi
done
- [[ $kind = (running|all) ]] && _describe -t services-running "running services" running
- [[ $kind = (stopped|all) ]] && _describe -t services-stopped "stopped services" stopped
+ [[ $kind =~ (running|all) ]] && _describe -t services-running "running services" running "$@" && ret=0
+ [[ $kind =~ (paused|all) ]] && _describe -t services-paused "paused services" paused "$@" && ret=0
+ [[ $kind =~ (stopped|all) ]] && _describe -t services-stopped "stopped services" stopped "$@" && ret=0
+
+ return ret
+}
+
+__docker-compose_pausedservices() {
+ [[ $PREFIX = -* ]] && return 1
+ __docker-compose_get_services paused "$@"
}
__docker-compose_stoppedservices() {
+ [[ $PREFIX = -* ]] && return 1
__docker-compose_get_services stopped "$@"
}
__docker-compose_runningservices() {
+ [[ $PREFIX = -* ]] && return 1
__docker-compose_get_services running "$@"
}
-__docker-compose_services () {
+__docker-compose_services() {
+ [[ $PREFIX = -* ]] && return 1
__docker-compose_get_services all "$@"
}
__docker-compose_caching_policy() {
- oldp=( "$1"(Nmh+1) ) # 1 hour
+ oldp=( "$1"(Nmh+1) ) # 1 hour
(( $#oldp ))
}
-__docker-compose_commands () {
+__docker-compose_commands() {
local cache_policy
zstyle -s ":completion:${curcontext}:" cache-policy cache_policy
@@ -151,110 +176,204 @@ __docker-compose_commands () {
local -a lines
lines=(${(f)"$(_call_program commands docker-compose 2>&1)"})
_docker_compose_subcommands=(${${${lines[$((${lines[(i)Commands:]} + 1)),${lines[(I) *]}]}## #}/ ##/:})
- _store_cache docker_compose_subcommands _docker_compose_subcommands
+ (( $#_docker_compose_subcommands > 0 )) && _store_cache docker_compose_subcommands _docker_compose_subcommands
fi
_describe -t docker-compose-commands "docker-compose command" _docker_compose_subcommands
}
-__docker-compose_subcommand () {
- local -a _command_args
+__docker-compose_subcommand() {
+ local opts_help opts_force_recreate opts_no_recreate opts_no_build opts_remove_orphans opts_timeout opts_no_color opts_no_deps
+
+ opts_help='(: -)--help[Print usage]'
+ opts_force_recreate="(--no-recreate)--force-recreate[Recreate containers even if their configuration and image haven't changed. Incompatible with --no-recreate.]"
+ opts_no_recreate="(--force-recreate)--no-recreate[If containers already exist, don't recreate them. Incompatible with --force-recreate.]"
+ opts_no_build="(--build)--no-build[Don't build an image, even if it's missing.]"
+ opts_remove_orphans="--remove-orphans[Remove containers for services not defined in the Compose file]"
+ opts_timeout=('(-t --timeout)'{-t,--timeout}"[Specify a shutdown timeout in seconds. (default: 10)]:seconds: ")
+ opts_no_color='--no-color[Produce monochrome output.]'
+ opts_no_deps="--no-deps[Don't start linked services.]"
+
integer ret=1
+
case "$words[1]" in
(build)
_arguments \
- '--no-cache[Do not use cache when building the image]' \
+ $opts_help \
+ '--force-rm[Always remove intermediate containers.]' \
+ '--no-cache[Do not use cache when building the image.]' \
+ '--pull[Always attempt to pull a newer version of the image.]' \
'*:services:__docker-compose_services_from_build' && ret=0
;;
+ (bundle)
+ _arguments \
+ $opts_help \
+ '(--output -o)'{--output,-o}'[Path to write the bundle file to. Defaults to ".dab".]:file:_files' && ret=0
+ ;;
+ (config)
+ _arguments \
+ $opts_help \
+ '(--quiet -q)'{--quiet,-q}"[Only validate the configuration, don't print anything.]" \
+ '--services[Print the service names, one per line.]' && ret=0
+ ;;
+ (create)
+ _arguments \
+ $opts_help \
+ $opts_force_recreate \
+ $opts_no_recreate \
+ $opts_no_build \
+ "(--no-build)--build[Build images before creating containers.]" \
+ '*:services:__docker-compose_services_all' && ret=0
+ ;;
+ (down)
+ _arguments \
+ $opts_help \
+ "--rmi[Remove images. Type must be one of: 'all': Remove all images used by any service. 'local': Remove only images that don't have a custom tag set by the \`image\` field.]:type:(all local)" \
+ '(-v --volumes)'{-v,--volumes}"[Remove named volumes declared in the \`volumes\` section of the Compose file and anonymous volumes attached to containers.]" \
+ $opts_remove_orphans && ret=0
+ ;;
+ (events)
+ _arguments \
+ $opts_help \
+ '--json[Output events as a stream of json objects]' \
+ '*:services:__docker-compose_services_all' && ret=0
+ ;;
+ (exec)
+ _arguments \
+ $opts_help \
+ '-d[Detached mode: Run command in the background.]' \
+ '--privileged[Give extended privileges to the process.]' \
+ '--user=[Run the command as this user.]:username:_users' \
+ '-T[Disable pseudo-tty allocation. By default `docker-compose exec` allocates a TTY.]' \
+ '--index=[Index of the container if there are multiple instances of a service \[default: 1\]]:index: ' \
+ '(-):running services:__docker-compose_runningservices' \
+ '(-):command: _command_names -e' \
+ '*::arguments: _normal' && ret=0
+ ;;
(help)
_arguments ':subcommand:__docker-compose_commands' && ret=0
;;
(kill)
_arguments \
+ $opts_help \
'-s[SIGNAL to send to the container. Default signal is SIGKILL.]:signal:_signals' \
'*:running services:__docker-compose_runningservices' && ret=0
;;
(logs)
_arguments \
- '--no-color[Produce monochrome output.]' \
+ $opts_help \
+ '(-f --follow)'{-f,--follow}'[Follow log output]' \
+ $opts_no_color \
+ '--tail=[Number of lines to show from the end of the logs for each container.]:number of lines: ' \
+ '(-t --timestamps)'{-t,--timestamps}'[Show timestamps]' \
'*:services:__docker-compose_services_all' && ret=0
;;
- (migrate-to-labels)
+ (pause)
_arguments \
- '(-):Recreate containers to add labels' && ret=0
+ $opts_help \
+ '*:running services:__docker-compose_runningservices' && ret=0
;;
(port)
_arguments \
- '--protocol=-[tcp or udap (defaults to tcp)]:protocol:(tcp udp)' \
- '--index=-[index of the container if there are mutiple instances of a service (defaults to 1)]:index: ' \
+ $opts_help \
+ '--protocol=[tcp or udp \[default: tcp\]]:protocol:(tcp udp)' \
+ '--index=[index of the container if there are multiple instances of a service \[default: 1\]]:index: ' \
'1:running services:__docker-compose_runningservices' \
'2:port:_ports' && ret=0
;;
(ps)
_arguments \
+ $opts_help \
'-q[Only display IDs]' \
'*:services:__docker-compose_services_all' && ret=0
;;
(pull)
_arguments \
- '--allow-insecure-ssl[Allow insecure connections to the docker registry]' \
+ $opts_help \
+ '--ignore-pull-failures[Pull what it can and ignores images with pull failures.]' \
'*:services:__docker-compose_services_from_image' && ret=0
;;
+ (push)
+ _arguments \
+ $opts_help \
+ '--ignore-push-failures[Push what it can and ignores images with push failures.]' \
+ '*:services:__docker-compose_services' && ret=0
+ ;;
(rm)
_arguments \
+ $opts_help \
'(-f --force)'{-f,--force}"[Don't ask to confirm removal]" \
- '-v[Remove volumes associated with containers]' \
+ '-v[Remove any anonymous volumes attached to containers]' \
'*:stopped services:__docker-compose_stoppedservices' && ret=0
;;
(run)
_arguments \
- '--allow-insecure-ssl[Allow insecure connections to the docker registry]' \
+ $opts_help \
'-d[Detached mode: Run container in the background, print new container name.]' \
- '--entrypoint[Overwrite the entrypoint of the image.]:entry point: ' \
'*-e[KEY=VAL Set an environment variable (can be used multiple times)]:environment variable KEY=VAL: ' \
- '(-u --user)'{-u,--user=-}'[Run as specified username or uid]:username or uid:_users' \
- "--no-deps[Don't start linked services.]" \
+ '--entrypoint[Overwrite the entrypoint of the image.]:entry point: ' \
+ '--name=[Assign a name to the container]:name: ' \
+ $opts_no_deps \
+ '(-p --publish)'{-p,--publish=}"[Publish a container's port(s) to the host]" \
'--rm[Remove container after run. Ignored in detached mode.]' \
"--service-ports[Run command with the service's ports enabled and mapped to the host.]" \
'-T[Disable pseudo-tty allocation. By default `docker-compose run` allocates a TTY.]' \
+ '(-u --user)'{-u,--user=}'[Run as specified username or uid]:username or uid:_users' \
+ '(-w --workdir)'{-w,--workdir=}'[Working directory inside the container]:workdir: ' \
'(-):services:__docker-compose_services' \
'(-):command: _command_names -e' \
'*::arguments: _normal' && ret=0
;;
(scale)
- _arguments '*:running services:__docker-compose_runningservices' && ret=0
+ _arguments \
+ $opts_help \
+ $opts_timeout \
+ '*:running services:__docker-compose_runningservices' && ret=0
;;
(start)
- _arguments '*:stopped services:__docker-compose_stoppedservices' && ret=0
+ _arguments \
+ $opts_help \
+ '*:stopped services:__docker-compose_stoppedservices' && ret=0
;;
(stop|restart)
_arguments \
- '(-t --timeout)'{-t,--timeout}"[Specify a shutdown timeout in seconds. (default: 10)]:seconds: " \
+ $opts_help \
+ $opts_timeout \
'*:running services:__docker-compose_runningservices' && ret=0
;;
+ (unpause)
+ _arguments \
+ $opts_help \
+ '*:paused services:__docker-compose_pausedservices' && ret=0
+ ;;
(up)
_arguments \
- '--allow-insecure-ssl[Allow insecure connections to the docker registry]' \
- '-d[Detached mode: Run containers in the background, print new container names.]' \
- '--no-color[Produce monochrome output.]' \
- "--no-deps[Don't start linked services.]" \
- "--no-recreate[If containers already exist, don't recreate them.]" \
- "--no-build[Don't build an image, even if it's missing]" \
- '(-t --timeout)'{-t,--timeout}"[Specify a shutdown timeout in seconds. (default: 10)]:seconds: " \
- "--x-smart-recreate[Only recreate containers whose configuration or image needs to be updated. (EXPERIMENTAL)]" \
+ $opts_help \
+ '(--abort-on-container-exit)-d[Detached mode: Run containers in the background, print new container names. Incompatible with --abort-on-container-exit.]' \
+ $opts_no_color \
+ $opts_no_deps \
+ $opts_force_recreate \
+ $opts_no_recreate \
+ $opts_no_build \
+ "(--no-build)--build[Build images before starting containers.]" \
+ "(-d)--abort-on-container-exit[Stops all containers if any container was stopped. Incompatible with -d.]" \
+ '(-t --timeout)'{-t,--timeout}"[Use this timeout in seconds for container shutdown when attached or when containers are already running. (default: 10)]:seconds: " \
+ $opts_remove_orphans \
'*:services:__docker-compose_services_all' && ret=0
;;
(version)
_arguments \
+ $opts_help \
"--short[Shows only Compose's version number.]" && ret=0
;;
(*)
- _message 'Unknown sub command'
+ _message 'Unknown sub command' && ret=1
+ ;;
esac
return ret
}
-_docker-compose () {
+_docker-compose() {
# Support for subservices, which allows for `compdef _docker docker-shell=_docker_containers`.
# Based on /usr/share/zsh/functions/Completion/Unix/_git without support for `ret`.
if [[ $service != docker-compose ]]; then
@@ -262,34 +381,62 @@ _docker-compose () {
return
fi
- local curcontext="$curcontext" state line ret=1
+ local curcontext="$curcontext" state line
+ integer ret=1
typeset -A opt_args
_arguments -C \
'(- :)'{-h,--help}'[Get help]' \
- '--verbose[Show more output]' \
- '(- :)'{-v,--version}'[Print version and exit]' \
'(-f --file)'{-f,--file}'[Specify an alternate docker-compose file (default: docker-compose.yml)]:file:_files -g "*.yml"' \
'(-p --project-name)'{-p,--project-name}'[Specify an alternate project name (default: directory name)]:project name:' \
+ '--verbose[Show more output]' \
+ '(- :)'{-v,--version}'[Print version and exit]' \
+ '(-H --host)'{-H,--host}'[Daemon socket to connect to]:host:' \
+ '--tls[Use TLS; implied by --tlsverify]' \
+ '--tlscacert=[Trust certs signed only by this CA]:ca path:' \
+ '--tlscert=[Path to TLS certificate file]:client cert path:' \
+ '--tlskey=[Path to TLS key file]:tls key path:' \
+ '--tlsverify[Use TLS and verify the remote]' \
+ "--skip-hostname-check[Don't check the daemon's hostname against the name specified in the client certificate (for example if your docker host is an IP address)]" \
'(-): :->command' \
'(-)*:: :->option-or-argument' && ret=0
- local counter=1
- #local compose_file compose_project
- while [ $counter -lt ${#words[@]} ]; do
- case "${words[$counter]}" in
- -f|--file)
- (( counter++ ))
- compose_file="${words[$counter]}"
- ;;
- -p|--project-name)
- (( counter++ ))
- compose_project="${words[$counter]}"
- ;;
- *)
- ;;
- esac
- (( counter++ ))
+ local -a relevant_compose_flags relevant_docker_flags compose_options docker_options
+
+ relevant_compose_flags=(
+ "--file" "-f"
+ "--host" "-H"
+ "--project-name" "-p"
+ "--tls"
+ "--tlscacert"
+ "--tlscert"
+ "--tlskey"
+ "--tlsverify"
+ "--skip-hostname-check"
+ )
+
+ relevant_docker_flags=(
+ "--host" "-H"
+ "--tls"
+ "--tlscacert"
+ "--tlscert"
+ "--tlskey"
+ "--tlsverify"
+ )
+
+ for k in "${(@k)opt_args}"; do
+ if [[ -n "${relevant_docker_flags[(r)$k]}" ]]; then
+ docker_options+=$k
+ if [[ -n "$opt_args[$k]" ]]; then
+ docker_options+=$opt_args[$k]
+ fi
+ fi
+ if [[ -n "${relevant_compose_flags[(r)$k]}" ]]; then
+ compose_options+=$k
+ if [[ -n "$opt_args[$k]" ]]; then
+ compose_options+=$opt_args[$k]
+ fi
+ fi
done
case $state in
From cc8285b1f708c33338d280bbb5481dc93bafa458 Mon Sep 17 00:00:00 2001
From: Adam Glenn
Date: Tue, 19 Jul 2016 12:01:00 -0700
Subject: [PATCH 038/294] adding python virtualenv support to the prompt
(#5031)
adding python virtualenv support to muse theme
---
themes/muse.zsh-theme | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/themes/muse.zsh-theme b/themes/muse.zsh-theme
index 4bd8fb825..55a375747 100644
--- a/themes/muse.zsh-theme
+++ b/themes/muse.zsh-theme
@@ -13,7 +13,7 @@ GIT_DIRTY_COLOR=$FG[133]
GIT_CLEAN_COLOR=$FG[118]
GIT_PROMPT_INFO=$FG[012]
-PROMPT='%{$PROMPT_SUCCESS_COLOR%}%~%{$reset_color%} %{$GIT_PROMPT_INFO%}$(git_prompt_info)%{$GIT_DIRTY_COLOR%}$(git_prompt_status) %{$reset_color%}%{$PROMPT_PROMPT%}ᐅ%{$reset_color%} '
+PROMPT='%{$PROMPT_SUCCESS_COLOR%}%~%{$reset_color%} %{$GIT_PROMPT_INFO%}$(git_prompt_info) $(virtualenv_prompt_info)%{$GIT_DIRTY_COLOR%}$(git_prompt_status) %{$reset_color%}%{$PROMPT_PROMPT%}ᐅ%{$reset_color%} '
#RPS1="${return_code}"
From a7e30b26baa94bac99d9d05cf642bd1942ae1787 Mon Sep 17 00:00:00 2001
From: Anton
Date: Fri, 22 Jul 2016 17:04:35 +0400
Subject: [PATCH 039/294] Fix hg call when missing on archlinux with
command-not-found (#5218)
---
themes/agnoster.zsh-theme | 1 +
1 file changed, 1 insertion(+)
diff --git a/themes/agnoster.zsh-theme b/themes/agnoster.zsh-theme
index 103041eef..da1f9b6e6 100644
--- a/themes/agnoster.zsh-theme
+++ b/themes/agnoster.zsh-theme
@@ -128,6 +128,7 @@ prompt_git() {
}
prompt_hg() {
+ (( $+commands[hg] )) || return
local rev status
if $(hg id >/dev/null 2>&1); then
if $(hg prompt >/dev/null 2>&1); then
From 61981951b1380c431e464a63d394ce890e751b97 Mon Sep 17 00:00:00 2001
From: Steven
Date: Mon, 1 Aug 2016 08:48:46 -0700
Subject: [PATCH 040/294] Updated git_commits_ahead function (#5247)
* Function wasn't returning correct value
* Updated underlying git command
* Kept echo command from previous function for backwards compatibility
* Kept function consistent with git_commits_behind
---
lib/git.zsh | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/lib/git.zsh b/lib/git.zsh
index c79cc0d8e..648a766b5 100644
--- a/lib/git.zsh
+++ b/lib/git.zsh
@@ -76,9 +76,8 @@ function git_current_branch() {
# 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
- local COMMITS
- COMMITS=$(command git log @{upstream}..HEAD | grep '^commit' | wc -l | tr -d ' ')
+ if $(command git rev-parse --git-dir > /dev/null 2>&1); then
+ local COMMITS="$(git rev-list --count @{upstream}..HEAD)"
echo "$ZSH_THEME_GIT_COMMITS_AHEAD_PREFIX$COMMITS$ZSH_THEME_GIT_COMMITS_AHEAD_SUFFIX"
fi
}
From 508b80c1e131ffb5ca6a858345c27eb2400122c9 Mon Sep 17 00:00:00 2001
From: nklmish
Date: Mon, 1 Aug 2016 18:05:01 +0200
Subject: [PATCH 041/294] support for startpage search engine in web-search
plugin (#5245)
---
plugins/web-search/web-search.plugin.zsh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/plugins/web-search/web-search.plugin.zsh b/plugins/web-search/web-search.plugin.zsh
index d3bf97d75..3b5478ca2 100644
--- a/plugins/web-search/web-search.plugin.zsh
+++ b/plugins/web-search/web-search.plugin.zsh
@@ -10,6 +10,7 @@ function web_search() {
bing "https://www.bing.com/search?q="
yahoo "https://search.yahoo.com/search?p="
duckduckgo "https://www.duckduckgo.com/?q="
+ startpage "https://www.startpage.com/do/search?q="
yandex "https://yandex.ru/yandsearch?text="
github "https://github.com/search?q="
baidu "https://www.baidu.com/s?wd="
@@ -41,6 +42,7 @@ alias bing='web_search bing'
alias google='web_search google'
alias yahoo='web_search yahoo'
alias ddg='web_search duckduckgo'
+alias sp='web_search startpage'
alias yandex='web_search yandex'
alias github='web_search github'
alias baidu='web_search baidu'
From f5537241a4fe7f48a5f7f49fff52db9f0247a5cd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=A9dric=20Malard?=
Date: Mon, 1 Aug 2016 18:16:54 +0200
Subject: [PATCH 042/294] Fix gbda alias to support `color.ui = always` +
exclude dev branches (#4304)
* Fix gbda alias to support git config color.ui = always
* Update gbda alias to exclude develop and dev branches
---
plugins/git/git.plugin.zsh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh
index c186a6e11..01c29e14e 100644
--- a/plugins/git/git.plugin.zsh
+++ b/plugins/git/git.plugin.zsh
@@ -46,7 +46,7 @@ alias gapa='git add --patch'
alias gb='git branch'
alias gba='git branch -a'
-alias gbda='git branch --merged | command grep -vE "^(\*|\s*master\s*$)" | command xargs -n 1 git branch -d'
+alias gbda='git branch --no-color --merged | command grep -vE "^(\*|\s*(master|develop|dev)\s*$)" | command xargs -n 1 git branch -d'
alias gbl='git blame -b -w'
alias gbnm='git branch --no-merged'
alias gbr='git branch --remote'
From 7654b16b3963844e5079a8935eb93f108c52f273 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Sun, 7 Aug 2016 18:30:57 +0200
Subject: [PATCH 043/294] [git plugin] Fix indentation and organise aliases
---
plugins/git/git.plugin.zsh | 67 ++++++++++++++++++++++----------------
1 file changed, 39 insertions(+), 28 deletions(-)
diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh
index 01c29e14e..0cee136c2 100644
--- a/plugins/git/git.plugin.zsh
+++ b/plugins/git/git.plugin.zsh
@@ -81,62 +81,73 @@ alias gd='git diff'
alias gdca='git diff --cached'
alias gdct='git describe --tags `git rev-list --tags --max-count=1`'
alias gdt='git diff-tree --no-commit-id --name-only -r'
+alias gdw='git diff --word-diff'
+
gdv() { git diff -w "$@" | view - }
compdef _git gdv=git-diff
-alias gdw='git diff --word-diff'
alias gf='git fetch'
alias gfa='git fetch --all --prune'
+alias gfo='git fetch origin'
+
function gfg() { git ls-files | grep $@ }
compdef _grep gfg
-alias gfo='git fetch origin'
alias gg='git gui citool'
alias gga='git gui citool --amend'
+
ggf() {
-[[ "$#" != 1 ]] && local b="$(git_current_branch)"
-git push --force origin "${b:=$1}"
+ [[ "$#" != 1 ]] && local b="$(git_current_branch)"
+ git push --force origin "${b:=$1}"
}
compdef _git ggf=git-checkout
+
ggl() {
-if [[ "$#" != 0 ]] && [[ "$#" != 1 ]]; then
-git pull origin "${*}"
-else
-[[ "$#" == 0 ]] && local b="$(git_current_branch)"
-git pull origin "${b:=$1}"
-fi
+ if [[ "$#" != 0 ]] && [[ "$#" != 1 ]]; then
+ git pull origin "${*}"
+ else
+ [[ "$#" == 0 ]] && local b="$(git_current_branch)"
+ git pull origin "${b:=$1}"
+ fi
}
compdef _git ggl=git-checkout
-alias ggpull='git pull origin $(git_current_branch)'
-compdef _git ggpull=git-checkout
+
ggp() {
-if [[ "$#" != 0 ]] && [[ "$#" != 1 ]]; then
-git push origin "${*}"
-else
-[[ "$#" == 0 ]] && local b="$(git_current_branch)"
-git push origin "${b:=$1}"
-fi
+ if [[ "$#" != 0 ]] && [[ "$#" != 1 ]]; then
+ git push origin "${*}"
+ else
+ [[ "$#" == 0 ]] && local b="$(git_current_branch)"
+ git push origin "${b:=$1}"
+ fi
}
compdef _git ggp=git-checkout
-alias ggpush='git push origin $(git_current_branch)'
-compdef _git ggpush=git-checkout
+
ggpnp() {
-if [[ "$#" == 0 ]]; then
-ggl && ggp
-else
-ggl "${*}" && ggp "${*}"
-fi
+ if [[ "$#" == 0 ]]; then
+ ggl && ggp
+ else
+ ggl "${*}" && ggp "${*}"
+ fi
}
compdef _git ggpnp=git-checkout
-alias ggsup='git branch --set-upstream-to=origin/$(git_current_branch)'
+
ggu() {
-[[ "$#" != 1 ]] && local b="$(git_current_branch)"
-git pull --rebase origin "${b:=$1}"
+ [[ "$#" != 1 ]] && local b="$(git_current_branch)"
+ git pull --rebase origin "${b:=$1}"
}
compdef _git ggu=git-checkout
+
alias ggpur='ggu'
compdef _git ggpur=git-checkout
+alias ggpull='git pull origin $(git_current_branch)'
+compdef _git ggpull=git-checkout
+
+alias ggpush='git push origin $(git_current_branch)'
+compdef _git ggpush=git-checkout
+
+alias ggsup='git branch --set-upstream-to=origin/$(git_current_branch)'
+
alias gignore='git update-index --assume-unchanged'
alias gignored='git ls-files -v | grep "^[[:lower:]]"'
alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk'
From a7de0fabd7ebbf1776942a8c7fde8ee33ed681b0 Mon Sep 17 00:00:00 2001
From: Luke Childs
Date: Sun, 7 Aug 2016 18:36:44 +0100
Subject: [PATCH 044/294] nvm plugin improvements (#5265)
* Export $NVM_DIR if it doesn't exist and use it when looking for nvm
* Use $NVM_DIR when looking for nvm for completion
* Use $NVM_DIR when looking for nvm in nvm_prompt_info
---
lib/nvm.zsh | 2 +-
plugins/nvm/_nvm | 2 +-
plugins/nvm/nvm.plugin.zsh | 6 ++++--
3 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/lib/nvm.zsh b/lib/nvm.zsh
index 61d997fc0..4a8b6811e 100644
--- a/lib/nvm.zsh
+++ b/lib/nvm.zsh
@@ -1,6 +1,6 @@
# get the node.js version
function nvm_prompt_info() {
- [ -f "$HOME/.nvm/nvm.sh" ] || return
+ [[ -f "$NVM_DIR/nvm.sh" ]] || return
local nvm_prompt
nvm_prompt=$(node -v 2>/dev/null)
[[ "${nvm_prompt}x" == "x" ]] && return
diff --git a/plugins/nvm/_nvm b/plugins/nvm/_nvm
index a95c9e375..1414dcbb1 100644
--- a/plugins/nvm/_nvm
+++ b/plugins/nvm/_nvm
@@ -1,7 +1,7 @@
#compdef nvm
#autoload
-[[ -s ~/.nvm/nvm.sh ]] || return 0
+[[ -f "$NVM_DIR/nvm.sh" ]] || return 0
local -a _1st_arguments
_1st_arguments=(
diff --git a/plugins/nvm/nvm.plugin.zsh b/plugins/nvm/nvm.plugin.zsh
index 9709719fe..9dde3a266 100644
--- a/plugins/nvm/nvm.plugin.zsh
+++ b/plugins/nvm/nvm.plugin.zsh
@@ -1,3 +1,5 @@
-# The addition 'nvm install' attempts in ~/.profile
+# Set NVM_DIR if it isn't already defined
+[[ -z "$NVM_DIR" ]] && export NVM_DIR="$HOME/.nvm"
-[[ -s ~/.nvm/nvm.sh ]] && . ~/.nvm/nvm.sh
+# Load nvm if it exists
+[[ -f "$NVM_DIR/nvm.sh" ]] && source "$NVM_DIR/nvm.sh"
From 9772f8e10d07ce982a45fcce9b074e9084ad76cb Mon Sep 17 00:00:00 2001
From: Fredrik Fornwall
Date: Tue, 9 Aug 2016 02:39:11 +0200
Subject: [PATCH 045/294] Replace /bin/sh with sh for portability (#5291)
This makes things work even on system lacking /bin/sh, such as on
non-rooted Android systems.
---
lib/functions.zsh | 4 ++--
tools/check_for_upgrade.sh | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/functions.zsh b/lib/functions.zsh
index f9d4a9717..9f11318d2 100644
--- a/lib/functions.zsh
+++ b/lib/functions.zsh
@@ -3,11 +3,11 @@ function zsh_stats() {
}
function uninstall_oh_my_zsh() {
- env ZSH=$ZSH /bin/sh $ZSH/tools/uninstall.sh
+ env ZSH=$ZSH sh $ZSH/tools/uninstall.sh
}
function upgrade_oh_my_zsh() {
- env ZSH=$ZSH /bin/sh $ZSH/tools/upgrade.sh
+ env ZSH=$ZSH sh $ZSH/tools/upgrade.sh
}
function take() {
diff --git a/tools/check_for_upgrade.sh b/tools/check_for_upgrade.sh
index 881bc6c49..bd9aba8be 100644
--- a/tools/check_for_upgrade.sh
+++ b/tools/check_for_upgrade.sh
@@ -11,7 +11,7 @@ function _update_zsh_update() {
}
function _upgrade_zsh() {
- env ZSH=$ZSH /bin/sh $ZSH/tools/upgrade.sh
+ env ZSH=$ZSH sh $ZSH/tools/upgrade.sh
# update the zsh file
_update_zsh_update
}
From 4505a438e4829e0335484c08b71244378081d7b7 Mon Sep 17 00:00:00 2001
From: Dominic Motuka
Date: Thu, 11 Aug 2016 03:14:52 +0300
Subject: [PATCH 046/294] update alias of get a list of packages installed
locally (#5276)
---
plugins/ubuntu/ubuntu.plugin.zsh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/ubuntu/ubuntu.plugin.zsh b/plugins/ubuntu/ubuntu.plugin.zsh
index f08853643..d924f8861 100644
--- a/plugins/ubuntu/ubuntu.plugin.zsh
+++ b/plugins/ubuntu/ubuntu.plugin.zsh
@@ -63,7 +63,7 @@ alias kclean='sudo aptitude remove -P ?and(~i~nlinux-(ima|hea) \
# Misc. #####################################################################
# print all installed packages
-alias allpkgs='aptitude search -F "%p" --disable-columns ~i'
+alias allpkgs='dpkg --get-selections | grep -v deinstall'
# Create a basic .deb package
alias mydeb='time dpkg-buildpackage -rfakeroot -us -uc'
From a9428b137f14969bd44a5787c0080297d81ea0b7 Mon Sep 17 00:00:00 2001
From: Kyle Scully
Date: Wed, 10 Aug 2016 17:28:56 -0700
Subject: [PATCH 047/294] added mix autocompletion support for phoenix (#4967)
---
plugins/mix/_mix | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/plugins/mix/_mix b/plugins/mix/_mix
index 3b3887b1f..57fdf808a 100644
--- a/plugins/mix/_mix
+++ b/plugins/mix/_mix
@@ -38,6 +38,15 @@ _1st_arguments=(
'local.hex:Install hex locally'
'local.rebar:Install rebar locally'
'new:Create a new Elixir project'
+ 'phoenix.digest:Digests and compress static files'
+ 'phoenix.gen.channel:Generates a Phoenix channel'
+ 'phoenix.gen.html:Generates controller, model and views for an HTML based resource'
+ 'phoenix.gen.json:Generates a controller and model for a JSON based resource'
+ 'phoenix.gen.model:Generates an Ecto model'
+ 'phoenix.gen.secret:Generates a secret'
+ 'phoenix.new:Create a new Phoenix application'
+ 'phoenix.routes:Prints all routes'
+ 'phoenix.server:Starts applications and their servers'
'run:Run the given file or expression'
"test:Run a project's tests"
'--help:Describe available tasks'
@@ -49,7 +58,7 @@ __task_list ()
local expl
declare -a tasks
- tasks=(app.start archive archive.build archive.install archive.uninstall clean cmd compile compile.protocols deps deps.clean deps.compile deps.get deps.unlock deps.update do escript.build help hex hex.config hex.docs hex.info hex.key hex.outdated hex.owner hex.publish hex.search hex.user loadconfig local local.hex local.rebar new run test)
+ tasks=(app.start archive archive.build archive.install archive.uninstall clean cmd compile compile.protocols deps deps.clean deps.compile deps.get deps.unlock deps.update do escript.build help hex hex.config hex.docs hex.info hex.key hex.outdated hex.owner hex.publish hex.search hex.user loadconfig local local.hex local.rebar new phoenix.digest phoenix.gen.channel phoenix.gen.html phoenix.gen.json phoenix.gen.model phoenix.gen.secret phoenix.new phoenix.routes phoenix.server run test)
_wanted tasks expl 'help' compadd $tasks
}
@@ -80,4 +89,3 @@ case $state in
esac
;;
esac
-
From c09323098acb03a0678f87036fad10bd99b283b2 Mon Sep 17 00:00:00 2001
From: Shiv Venkatasubrahmanyam
Date: Wed, 10 Aug 2016 17:44:00 -0700
Subject: [PATCH 048/294] Add shrink-path plugin to shorten directory paths
(e.g. ~/f/b/quux) (#5262)
* Add shrink-path plugin to shorten directory paths (e.g. ~/f/b/quux)
* Add a README
---
plugins/shrink-path/README.md | 68 +++++++++++
plugins/shrink-path/shrink-path.plugin.zsh | 127 +++++++++++++++++++++
2 files changed, 195 insertions(+)
create mode 100644 plugins/shrink-path/README.md
create mode 100644 plugins/shrink-path/shrink-path.plugin.zsh
diff --git a/plugins/shrink-path/README.md b/plugins/shrink-path/README.md
new file mode 100644
index 000000000..51fa8a051
--- /dev/null
+++ b/plugins/shrink-path/README.md
@@ -0,0 +1,68 @@
+# A plugin to shrink directory paths for brevity and pretty-printing
+
+
+## Examples
+
+For this directory tree:
+```
+ /home/
+ me/
+ foo/
+ bar/
+ quux/
+ biz/ # The prefix b is ambiguous between bar and biz.
+```
+here are the results of calling `shrink_path
-Oh My Zsh is an open source, community-driven framework for managing your [zsh](http://www.zsh.org/) configuration. That sounds boring. Let's try this again.
+Oh My Zsh is an open source, community-driven framework for managing your [zsh](http://www.zsh.org/) configuration.
-__Oh My Zsh is a way of life!__ Once installed, your terminal prompt will become the talk of the town _or your money back!_ Each time you interact with your command prompt, you'll be able to take advantage of the hundreds of bundled plugins and pretty themes. Strangers will come up to you in cafés and ask you, _"that is amazing. are you some sort of genius?"_ Finally, you'll begin to get the sort of attention that you always felt that you deserved. ...or maybe you'll just use the time that you saved to start flossing more often.
+That sounds boring. Let's try this again.
+
+__Oh My Zsh is a way of life!__
+
+Once installed, your terminal shell will become the talk of the town _or your money back!_ With each keystroke in your command prompt, you'll take advantage of the hundreds of powerful plugins and beautiful themes. Strangers will come up to you in cafés and ask you, _"that is amazing! are you some sort of genius?"_
+
+Finally, you'll begin to get the sort of attention that you have always felt you deserved. ...or maybe you'll use the time that you're saving to start flossing more often.
To learn more, visit [ohmyz.sh](http://ohmyz.sh) and follow [@ohmyzsh](https://twitter.com/ohmyzsh) on Twitter.
@@ -202,7 +208,10 @@ Thank you so much!
## Follow Us
-We have an [@ohmyzsh](https://twitter.com/ohmyzsh) Twitter account. You should follow it.
+We're on the social medias.
+
+* [@ohmyzsh](https://twitter.com/ohmyzsh) on Twitter. You should follow it.
+* [Oh My Zsh](https://www.facebook.com/Oh-My-Zsh-296616263819290/) on Facebook.
## Merchandise
From 0f4d6a5056d458e04d11c046820e5d17f65c161e Mon Sep 17 00:00:00 2001
From: Thomas
Date: Mon, 26 Sep 2016 16:40:07 +0200
Subject: [PATCH 167/294] Add a tip to ease agnoster first setup
---
README.md | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 6da731890..268c1b39d 100644
--- a/README.md
+++ b/README.md
@@ -78,7 +78,9 @@ ZSH_THEME="robbyrussell"
To use a different theme, simply change the value to match the name of your desired theme. For example:
```shell
-ZSH_THEME="agnoster" # (this is one of the fancy ones)
+ZSH_THEME="agnoster" # (this is one of the fancy ones ;
+ # you might need to install a specific font on your console's host for this to work ;
+ # see https://github.com/powerline/fonts/tree/master/DejaVuSansMono)
```
Open up a new terminal window and your prompt should look something like...
From 798c38dd1a70637cd17c26879be83e7f25a3ee53 Mon Sep 17 00:00:00 2001
From: slavaGanzin
Date: Tue, 27 Sep 2016 15:18:23 +0300
Subject: [PATCH 168/294] globalias fix #4834
---
plugins/globalias/globalias.plugin.zsh | 11 +++++++++++
1 file changed, 11 insertions(+)
create mode 100644 plugins/globalias/globalias.plugin.zsh
diff --git a/plugins/globalias/globalias.plugin.zsh b/plugins/globalias/globalias.plugin.zsh
new file mode 100644
index 000000000..95a0e3072
--- /dev/null
+++ b/plugins/globalias/globalias.plugin.zsh
@@ -0,0 +1,11 @@
+globalias() {
+ zle _expand_alias
+ zle expand-word
+ zle self-insert
+}
+zle -N globalias
+bindkey -e " " globalias
+bindkey -v " " globalias
+bindkey -e "^ " magic-space # control-space to bypass completion
+bindkey -v "^ " magic-space
+bindkey -M isearch " " magic-space # normal space during searches
From 65874f2b2201c2e55d410ab322dc20394a587b83 Mon Sep 17 00:00:00 2001
From: Leif Ringstad
Date: Wed, 28 Sep 2016 14:47:00 +0200
Subject: [PATCH 169/294] Add more docker compose aliases (#5422)
Adds the following aliases:
```zsh
alias dco='docker-compose'
alias dcr='docker-compose run'
alias dce='docker-compose exec'
```
And sorts the aliases similar to `docker-compose help` order
---
plugins/docker-compose/docker-compose.plugin.zsh | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/plugins/docker-compose/docker-compose.plugin.zsh b/plugins/docker-compose/docker-compose.plugin.zsh
index 351e77824..9f2457fc4 100644
--- a/plugins/docker-compose/docker-compose.plugin.zsh
+++ b/plugins/docker-compose/docker-compose.plugin.zsh
@@ -5,9 +5,16 @@
# Aliases ###################################################################
-alias dcup='docker-compose up'
+# Use dco as alias for docker-compose, since dc on *nix is 'dc - an arbitrary precision calculator'
+# https://www.gnu.org/software/bc/manual/dc-1.05/html_mono/dc.html
+
+alias dco='docker-compose'
+
alias dcb='docker-compose build'
-alias dcrm='docker-compose rm'
+alias dce='docker-compose exec'
alias dcps='docker-compose ps'
-alias dcstop='docker-compose stop'
alias dcrestart='docker-compose restart'
+alias dcrm='docker-compose rm'
+alias dcr='docker-compose run'
+alias dcstop='docker-compose stop'
+alias dcup='docker-compose up'
From ac8915d43f0e8de9294c8552dc338ecc9993acd2 Mon Sep 17 00:00:00 2001
From: Diego Said Anaya Mancilla
Date: Wed, 28 Sep 2016 14:28:53 -0500
Subject: [PATCH 170/294] Update pip plugin to last stable release (#5472)
Update pip plugin to last stable release
---
plugins/pip/_pip | 38 ++++++++++++++++++++++++++------------
1 file changed, 26 insertions(+), 12 deletions(-)
diff --git a/plugins/pip/_pip b/plugins/pip/_pip
index cb155e5f4..732ffabea 100644
--- a/plugins/pip/_pip
+++ b/plugins/pip/_pip
@@ -1,7 +1,8 @@
#compdef pip pip2 pip-2.7 pip3 pip-3.2 pip-3.3 pip-3.4
#autoload
-# pip zsh completion, based on homebrew completion
+# pip zsh completion, based on last stable release (pip8)
+# homebrew completion and backwards compatibility
_pip_all() {
# we cache the list of packages (originally from the macports plugin)
@@ -17,30 +18,43 @@ _pip_installed() {
local -a _1st_arguments
_1st_arguments=(
- 'bundle:create pybundles (archives containing multiple packages)'
- 'freeze:output all currently installed packages (exact versions) to stdout'
- 'help:show available commands'
- 'show:show information about installed packages'
'install:install packages'
- 'search:search PyPI'
+ 'download:download packages'
'uninstall:uninstall packages'
- 'unzip:unzip individual packages'
- 'zip:zip individual packages'
+ 'freeze:output all currently installed packages (exact versions) to stdout'
+ 'list:list installed packages'
+ 'show:show information about installed packages'
+ 'search:search PyPI'
+ 'wheel:build individual wheel archives for your requirements and dependencies'
+ 'hash:compute a hash of a local package archive'
+ 'help:show available commands'
+ 'bundle:create pybundles (archives containing multiple packages)(deprecated)'
+ 'unzip:unzip individual packages(deprecated)'
+ 'zip:zip individual packages(deprecated)'
)
local expl
local -a all_pkgs installed_pkgs
_arguments \
- '(--version)--version[show version number of program and exit]' \
'(-h --help)'{-h,--help}'[show help]' \
- '(-E --environment)'{-E,--environment}'[virtualenv environment to run pip in]' \
- '(-s --enable-site-packages)'{-s,--enable-site-packages}'[include site-packages in virtualenv]' \
+ '(--isolated)--isolated[run pip in isolated mode, ignores environment variables and user configuration]' \
'(-v --verbose)'{-v,--verbose}'[give more output]' \
+ '(-V --version)'{-V,--version}'[show version number of program and exit]' \
'(-q --quiet)'{-q,--quiet}'[give less output]' \
'(--log)--log[log file location]' \
'(--proxy)--proxy[proxy in form user:passwd@proxy.server:port]' \
+ '(--retries)--retries[max number of retries per connection (default 5 times)]' \
'(--timeout)--timeout[socket timeout (default 15s)]' \
+ '(--exists-action)--exists-action[default action when a path already exists: (s)witch, (i)gnore, (w)ipe, (b)ackup]' \
+ '(--trusted-host)--trusted-host[mark this host as trusted]' \
+ '(--cert)--cert[path to alternate CA bundle]' \
+ '(--client-cert)--client-cert[path to SSL client certificate]' \
+ '(--cache-dir)--cache-dir[store the cache data in specified directory]' \
+ '(--no-cache-dir)--no-cache-dir[disable de cache]' \
+ '(--disable-pip-version-check)--disable-pip-version-check[do not check periodically for new pip version downloads]' \
+ '(-E --environment)'{-E,--environment}'[virtualenv environment to run pip in (deprecated)]' \
+ '(-s --enable-site-packages)'{-s,--enable-site-packages}'[include site-packages in virtualenv (deprecated)]' \
'*:: :->subcmds' && return 0
if (( CURRENT == 1 )); then
@@ -56,7 +70,7 @@ case "$words[1]" in
_arguments \
'(-l --local)'{-l,--local}'[report only virtualenv packages]' ;;
install)
- _arguments \
+ _arguments \
'(-U --upgrade)'{-U,--upgrade}'[upgrade all packages to the newest available version]' \
'(-f --find-links)'{-f,--find-links}'[URL for finding packages]' \
'(-r --requirement)'{-r,--requirement}'[Requirements file for packages to install]:File:_files' \
From 10ffa4fe992e56a93396ed8914eba74821bb2cca Mon Sep 17 00:00:00 2001
From: Christian Ferbar
Date: Tue, 27 Sep 2016 12:27:37 +0200
Subject: [PATCH 171/294] Add README to svn plugin
---
plugins/svn/README.md | 64 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 64 insertions(+)
create mode 100644 plugins/svn/README.md
diff --git a/plugins/svn/README.md b/plugins/svn/README.md
new file mode 100644
index 000000000..b8eff70f5
--- /dev/null
+++ b/plugins/svn/README.md
@@ -0,0 +1,64 @@
+# `svn` plugin
+
+This plugin adds some utility functions to display additional information regarding your current
+svn repsitiory. See http://subversion.apache.org/ for the full svn documentation.
+
+## Functions
+
+| Command | Description |
+|:-----------------------|:----------------------------------------|
+|svn_prompt_info | prompt for some themes |
+|in_svn | within svn directory |
+|svn_get_repo_name | |
+|svn_get_branch_name | branch name (see caveats) |
+|svn_get_rev_nr | revision number |
+|svn_dirty | changes in this subversion repo |
+
+## Caveats
+
+The plugin expects the first directory to be the current branch / tag / trunk. So, it returns
+the first path element if you don't use branches.
+
+## Usage
+
+To use it, add `svn` to your plugins array:
+```sh
+plugins=(... svn)
+```
+
+### Agnoster theme git-like prompt
+
+Enable the svn plugin and add the followind lines to your ```~/.zshrc```
+
+```shell
+prompt_svn() {
+ local rev branch
+ if in_svn; then
+ rev=$(svn_get_rev_nr)
+ branch=$(svn_get_branch_name)
+ if [ `svn_dirty_choose_pwd 1 0` -eq 1 ]; then
+ prompt_segment yellow black
+ echo -n "$rev@$branch"
+ echo -n "±"
+ else
+ prompt_segment green black
+ echo -n "$rev@$branch"
+ fi
+ fi
+}
+```
+
+override the agnoster build_prompt() function:
+
+```shell
+build_prompt() {
+ RETVAL=$?
+ prompt_status
+ prompt_context
+ prompt_dir
+ prompt_git
+ prompt_svn
+ prompt_end
+}
+```
+
From 364019a3c9c4ef08d2d7f0752c0ac008293d62df Mon Sep 17 00:00:00 2001
From: Christian Ferbar
Date: Tue, 27 Sep 2016 12:29:25 +0200
Subject: [PATCH 172/294] Add localization workaround to svn plugin
---
plugins/svn/svn.plugin.zsh | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/plugins/svn/svn.plugin.zsh b/plugins/svn/svn.plugin.zsh
index 816055afe..e95ee9d99 100644
--- a/plugins/svn/svn.plugin.zsh
+++ b/plugins/svn/svn.plugin.zsh
@@ -25,14 +25,14 @@ function in_svn() {
function svn_get_repo_name() {
if in_svn; then
- svn info | sed -n 's/Repository\ Root:\ .*\///p' | read SVN_ROOT
- svn info | sed -n "s/URL:\ .*$SVN_ROOT\///p"
+ LANG=C svn info | sed -n 's/^Repository\ Root:\ .*\///p' | read SVN_ROOT
+ LANG=C svn info | sed -n "s/^URL:\ .*$SVN_ROOT\///p"
fi
}
function svn_get_branch_name() {
local _DISPLAY=$(
- svn info 2> /dev/null | \
+ LANG=C svn info 2> /dev/null | \
awk -F/ \
'/^URL:/ { \
for (i=0; i<=NF; i++) { \
@@ -54,13 +54,13 @@ function svn_get_branch_name() {
function svn_get_rev_nr() {
if in_svn; then
- svn info 2> /dev/null | sed -n 's/Revision:\ //p'
+ LANG=C svn info 2> /dev/null | sed -n 's/Revision:\ //p'
fi
}
function svn_dirty_choose() {
if in_svn; then
- local root=`svn info 2> /dev/null | sed -n 's/^Working Copy Root Path: //p'`
+ local root=`LANG=C svn info 2> /dev/null | sed -n 's/^Working Copy Root Path: //p'`
if $(svn status $root 2> /dev/null | command grep -Eq '^\s*[ACDIM!?L]'); then
# Grep exits with 0 when "One or more lines were selected", return "dirty".
echo $1
From f573247a59773f47b1741967335ec6c495bcf4b4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Thu, 29 Sep 2016 13:56:16 +0200
Subject: [PATCH 173/294] Clean up svn README
---
plugins/svn/README.md | 103 ++++++++++++++++++++++--------------------
1 file changed, 53 insertions(+), 50 deletions(-)
diff --git a/plugins/svn/README.md b/plugins/svn/README.md
index b8eff70f5..1f7b70c86 100644
--- a/plugins/svn/README.md
+++ b/plugins/svn/README.md
@@ -1,64 +1,67 @@
# `svn` plugin
This plugin adds some utility functions to display additional information regarding your current
-svn repsitiory. See http://subversion.apache.org/ for the full svn documentation.
-
-## Functions
-
-| Command | Description |
-|:-----------------------|:----------------------------------------|
-|svn_prompt_info | prompt for some themes |
-|in_svn | within svn directory |
-|svn_get_repo_name | |
-|svn_get_branch_name | branch name (see caveats) |
-|svn_get_rev_nr | revision number |
-|svn_dirty | changes in this subversion repo |
-
-## Caveats
-
-The plugin expects the first directory to be the current branch / tag / trunk. So, it returns
-the first path element if you don't use branches.
-
-## Usage
+svn repository. See http://subversion.apache.org/ for the full svn documentation.
To use it, add `svn` to your plugins array:
-```sh
+
+```zsh
plugins=(... svn)
```
-### Agnoster theme git-like prompt
+## Functions
-Enable the svn plugin and add the followind lines to your ```~/.zshrc```
+| Command | Description |
+|:----------------------|:--------------------------------------------|
+| `svn_prompt_info` | Shows svn prompt in themes |
+| `in_svn` | Checks if we're in an svn repository |
+| `svn_get_repo_name` | Get repository name |
+| `svn_get_branch_name` | Get branch name (see [caveats](#caveats)) |
+| `svn_get_rev_nr` | Get revision number |
+| `svn_dirty` | Checks if there are changes in the svn repo |
-```shell
-prompt_svn() {
- local rev branch
- if in_svn; then
- rev=$(svn_get_rev_nr)
- branch=$(svn_get_branch_name)
- if [ `svn_dirty_choose_pwd 1 0` -eq 1 ]; then
- prompt_segment yellow black
- echo -n "$rev@$branch"
- echo -n "±"
- else
- prompt_segment green black
- echo -n "$rev@$branch"
+## Caveats
+
+The plugin expects the first directory to be the current branch / tag / trunk. So it returns
+the first path element if you don't use branches.
+
+## Usage on themes
+
+To use this in the `agnoster` theme follow these instructions:
+
+1. Enable the svn plugin
+
+2. Add the following lines to your `zshrc` file:
+
+ ```shell
+ prompt_svn() {
+ local rev branch
+ if in_svn; then
+ rev=$(svn_get_rev_nr)
+ branch=$(svn_get_branch_name)
+ if [[ $(svn_dirty_choose_pwd 1 0) -eq 1 ]]; then
+ prompt_segment yellow black
+ echo -n "$rev@$branch"
+ echo -n "±"
+ else
+ prompt_segment green black
+ echo -n "$rev@$branch"
+ fi
fi
- fi
-}
-```
+ }
+ ```
-override the agnoster build_prompt() function:
+3. Override the agnoster `build_prompt()` function:
-```shell
-build_prompt() {
- RETVAL=$?
- prompt_status
- prompt_context
- prompt_dir
- prompt_git
- prompt_svn
- prompt_end
-}
-```
+ ```zsh
+ build_prompt() {
+ RETVAL=$?
+ prompt_status
+ prompt_context
+ prompt_dir
+ prompt_git
+ prompt_svn
+ prompt_end
+ }
+ ```
From e6df0e036e39bcc2c20d7feaef1749d3c4f2768f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Thu, 29 Sep 2016 14:03:09 +0200
Subject: [PATCH 174/294] Clean up and refactor code in svn plugin
---
plugins/svn/svn.plugin.zsh | 58 ++++++++++++++++----------------------
1 file changed, 25 insertions(+), 33 deletions(-)
diff --git a/plugins/svn/svn.plugin.zsh b/plugins/svn/svn.plugin.zsh
index e95ee9d99..fbc9ee538 100644
--- a/plugins/svn/svn.plugin.zsh
+++ b/plugins/svn/svn.plugin.zsh
@@ -1,9 +1,7 @@
-# vim:ft=zsh ts=2 sw=2 sts=2
-#
-function svn_prompt_info() {
+svn_prompt_info() {
local _DISPLAY
if in_svn; then
- if [ "x$SVN_SHOW_BRANCH" = "xtrue" ]; then
+ if [[ "$SVN_SHOW_BRANCH" = true ]]; then
unset SVN_SHOW_BRANCH
_DISPLAY=$(svn_get_branch_name)
else
@@ -16,21 +14,18 @@ $ZSH_THEME_REPO_NAME_COLOR$_DISPLAY$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_S
}
-function in_svn() {
- if $(svn info >/dev/null 2>&1); then
- return 0
- fi
- return 1
+in_svn() {
+ svn info >/dev/null 2>&1
}
-function svn_get_repo_name() {
+svn_get_repo_name() {
if in_svn; then
LANG=C svn info | sed -n 's/^Repository\ Root:\ .*\///p' | read SVN_ROOT
LANG=C svn info | sed -n "s/^URL:\ .*$SVN_ROOT\///p"
fi
}
-function svn_get_branch_name() {
+svn_get_branch_name() {
local _DISPLAY=$(
LANG=C svn info 2> /dev/null | \
awk -F/ \
@@ -44,41 +39,28 @@ function svn_get_branch_name() {
} \
}'
)
-
- if [ "x$_DISPLAY" = "x" ]; then
+
+ if [[ -z "$_DISPLAY" ]]; then
svn_get_repo_name
else
echo $_DISPLAY
fi
}
-function svn_get_rev_nr() {
+svn_get_rev_nr() {
if in_svn; then
LANG=C svn info 2> /dev/null | sed -n 's/Revision:\ //p'
fi
}
-function svn_dirty_choose() {
- if in_svn; then
- local root=`LANG=C svn info 2> /dev/null | sed -n 's/^Working Copy Root Path: //p'`
- if $(svn status $root 2> /dev/null | command grep -Eq '^\s*[ACDIM!?L]'); then
- # Grep exits with 0 when "One or more lines were selected", return "dirty".
- echo $1
- else
- # Otherwise, no lines were found, or an error occurred. Return clean.
- echo $2
- fi
- fi
-}
-
-function svn_dirty() {
+svn_dirty() {
svn_dirty_choose $ZSH_THEME_SVN_PROMPT_DIRTY $ZSH_THEME_SVN_PROMPT_CLEAN
}
-function svn_dirty_choose_pwd () {
+svn_dirty_choose() {
if in_svn; then
- local root=$PWD
- if $(svn status $root 2> /dev/null | command grep -Eq '^\s*[ACDIM!?L]'); then
+ local root=$(LANG=C svn info 2> /dev/null | sed -n 's/^Working Copy Root Path: //p')
+ if svn status $root 2> /dev/null | command grep -Eq '^\s*[ACDIM!?L]'; then
# Grep exits with 0 when "One or more lines were selected", return "dirty".
echo $1
else
@@ -88,8 +70,18 @@ function svn_dirty_choose_pwd () {
fi
}
-function svn_dirty_pwd () {
+svn_dirty_pwd () {
svn_dirty_choose_pwd $ZSH_THEME_SVN_PROMPT_DIRTY_PWD $ZSH_THEME_SVN_PROMPT_CLEAN_PWD
}
-
+svn_dirty_choose_pwd () {
+ if in_svn; then
+ if svn status "$PWD" 2> /dev/null | command grep -Eq '^\s*[ACDIM!?L]'; then
+ # Grep exits with 0 when "One or more lines were selected", return "dirty".
+ echo $1
+ else
+ # Otherwise, no lines were found, or an error occurred. Return clean.
+ echo $2
+ fi
+ fi
+}
From 09d95251a7176e0c4b2a71837b7356980fe738e5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Thu, 29 Sep 2016 13:19:47 +0200
Subject: [PATCH 175/294] extract: fix styling
---
plugins/extract/_extract | 2 -
plugins/extract/extract.plugin.zsh | 149 ++++++++++++++---------------
2 files changed, 71 insertions(+), 80 deletions(-)
diff --git a/plugins/extract/_extract b/plugins/extract/_extract
index 387b344bc..a73c892d9 100644
--- a/plugins/extract/_extract
+++ b/plugins/extract/_extract
@@ -4,5 +4,3 @@
_arguments \
'(-r --remove)'{-r,--remove}'[Remove archive.]' \
"*::archive file:_files -g '(#i)*.(tar|tgz|tbz|tbz2|txz|tlz|gz|bz2|xz|lzma|Z|zip|ipsw|rar|7z|deb)(-.)'" && return 0
-
-
diff --git a/plugins/extract/extract.plugin.zsh b/plugins/extract/extract.plugin.zsh
index 5d0809e9a..081d5168f 100644
--- a/plugins/extract/extract.plugin.zsh
+++ b/plugins/extract/extract.plugin.zsh
@@ -1,80 +1,73 @@
-# ------------------------------------------------------------------------------
-# FILE: extract.plugin.zsh
-# DESCRIPTION: oh-my-zsh plugin file.
-# AUTHOR: Sorin Ionescu (sorin.ionescu@gmail.com)
-# VERSION: 1.0.1
-# ------------------------------------------------------------------------------
-
-
-function extract() {
- local remove_archive
- local success
- local file_name
- local extract_dir
-
- if (( $# == 0 )); then
- echo "Usage: extract [-option] [file ...]"
- echo
- echo Options:
- echo " -r, --remove Remove archive."
- echo
- echo "Report bugs to ."
- fi
-
- remove_archive=1
- if [[ "$1" == "-r" ]] || [[ "$1" == "--remove" ]]; then
- remove_archive=0
- shift
- fi
-
- while (( $# > 0 )); do
- if [[ ! -f "$1" ]]; then
- echo "extract: '$1' is not a valid file" 1>&2
- shift
- continue
- fi
-
- success=0
- file_name="$( basename "$1" )"
- extract_dir="$( echo "$file_name" | sed "s/\.${1##*.}//g" )"
- case "$1" in
- (*.tar.gz|*.tgz) [ -z $commands[pigz] ] && tar zxvf "$1" || pigz -dc "$1" | tar xv ;;
- (*.tar.bz2|*.tbz|*.tbz2) tar xvjf "$1" ;;
- (*.tar.xz|*.txz) tar --xz --help &> /dev/null \
- && tar --xz -xvf "$1" \
- || xzcat "$1" | tar xvf - ;;
- (*.tar.zma|*.tlz) tar --lzma --help &> /dev/null \
- && tar --lzma -xvf "$1" \
- || lzcat "$1" | tar xvf - ;;
- (*.tar) tar xvf "$1" ;;
- (*.gz) [ -z $commands[pigz] ] && gunzip "$1" || pigz -d "$1" ;;
- (*.bz2) bunzip2 "$1" ;;
- (*.xz) unxz "$1" ;;
- (*.lzma) unlzma "$1" ;;
- (*.Z) uncompress "$1" ;;
- (*.zip|*.war|*.jar|*.sublime-package|*.ipsw|*.xpi|*.apk) unzip "$1" -d $extract_dir ;;
- (*.rar) unrar x -ad "$1" ;;
- (*.7z) 7za x "$1" ;;
- (*.deb)
- mkdir -p "$extract_dir/control"
- mkdir -p "$extract_dir/data"
- cd "$extract_dir"; ar vx "../${1}" > /dev/null
- cd control; tar xzvf ../control.tar.gz
- cd ../data; tar xzvf ../data.tar.gz
- cd ..; rm *.tar.gz debian-binary
- cd ..
- ;;
- (*)
- echo "extract: '$1' cannot be extracted" 1>&2
- success=1
- ;;
- esac
-
- (( success = $success > 0 ? $success : $? ))
- (( $success == 0 )) && (( $remove_archive == 0 )) && rm "$1"
- shift
- done
-}
-
alias x=extract
+extract() {
+ local remove_archive
+ local success
+ local file_name
+ local extract_dir
+
+ if (( $# == 0 )); then
+ cat <<-'EOF' >&2
+ Usage: extract [-option] [file ...]
+
+ Options:
+ -r, --remove Remove archive.
+ EOF
+ fi
+
+ remove_archive=1
+ if [[ "$1" == "-r" ]] || [[ "$1" == "--remove" ]]; then
+ remove_archive=0
+ shift
+ fi
+
+ while (( $# > 0 )); do
+ if [[ ! -f "$1" ]]; then
+ echo "extract: '$1' is not a valid file" >&2
+ shift
+ continue
+ fi
+
+ success=0
+ file_name="$( basename "$1" )"
+ extract_dir="$( echo "$file_name" | sed "s/\.${1##*.}//g" )"
+ case "$1" in
+ (*.tar.gz|*.tgz) (( $+commands[pigz] )) && { pigz -dc "$1" | tar xv } || tar zxvf "$1" ;;
+ (*.tar.bz2|*.tbz|*.tbz2) tar xvjf "$1" ;;
+ (*.tar.xz|*.txz)
+ tar --xz --help &> /dev/null \
+ && tar --xz -xvf "$1" \
+ || xzcat "$1" | tar xvf - ;;
+ (*.tar.zma|*.tlz)
+ tar --lzma --help &> /dev/null \
+ && tar --lzma -xvf "$1" \
+ || lzcat "$1" | tar xvf - ;;
+ (*.tar) tar xvf "$1" ;;
+ (*.gz) (( $+commands[pigz] )) && pigz -d "$1" || gunzip "$1" ;;
+ (*.bz2) bunzip2 "$1" ;;
+ (*.xz) unxz "$1" ;;
+ (*.lzma) unlzma "$1" ;;
+ (*.Z) uncompress "$1" ;;
+ (*.zip|*.war|*.jar|*.sublime-package|*.ipsw|*.xpi|*.apk) unzip "$1" -d $extract_dir ;;
+ (*.rar) unrar x -ad "$1" ;;
+ (*.7z) 7za x "$1" ;;
+ (*.deb)
+ mkdir -p "$extract_dir/control"
+ mkdir -p "$extract_dir/data"
+ cd "$extract_dir"; ar vx "../${1}" > /dev/null
+ cd control; tar xzvf ../control.tar.gz
+ cd ../data; tar xzvf ../data.tar.gz
+ cd ..; rm *.tar.gz debian-binary
+ cd ..
+ ;;
+ (*)
+ echo "extract: '$1' cannot be extracted" >&2
+ success=1
+ ;;
+ esac
+
+ (( success = $success > 0 ? $success : $? ))
+ (( $success == 0 )) && (( $remove_archive == 0 )) && rm "$1"
+ shift
+ done
+}
From f12cb5a697ca45b3ef8acda24cef72fe041addb3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Thu, 29 Sep 2016 13:20:26 +0200
Subject: [PATCH 176/294] extract: fix extraction of deb packages with
data.tar.xz
---
plugins/extract/extract.plugin.zsh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/plugins/extract/extract.plugin.zsh b/plugins/extract/extract.plugin.zsh
index 081d5168f..24b16517b 100644
--- a/plugins/extract/extract.plugin.zsh
+++ b/plugins/extract/extract.plugin.zsh
@@ -56,8 +56,8 @@ extract() {
mkdir -p "$extract_dir/data"
cd "$extract_dir"; ar vx "../${1}" > /dev/null
cd control; tar xzvf ../control.tar.gz
- cd ../data; tar xzvf ../data.tar.gz
- cd ..; rm *.tar.gz debian-binary
+ cd ../data; extract ../data.tar.*
+ cd ..; rm *.tar.* debian-binary
cd ..
;;
(*)
From 68425c266a5107e50a2897b7d7cfc0ccb9fb753c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Thu, 29 Sep 2016 13:26:50 +0200
Subject: [PATCH 177/294] extract: replace basename&sed w/ zsh variable
expansion syntax
`${var:t:h}` uses:
- `${var:t}` which acts as `basename`.
- `${var:r}` which removes the extension.
See http://zsh.sourceforge.net/Doc/Release/Expansion.html#Modifiers
---
plugins/extract/extract.plugin.zsh | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/plugins/extract/extract.plugin.zsh b/plugins/extract/extract.plugin.zsh
index 24b16517b..c524bf8f5 100644
--- a/plugins/extract/extract.plugin.zsh
+++ b/plugins/extract/extract.plugin.zsh
@@ -3,7 +3,6 @@ alias x=extract
extract() {
local remove_archive
local success
- local file_name
local extract_dir
if (( $# == 0 )); then
@@ -29,8 +28,7 @@ extract() {
fi
success=0
- file_name="$( basename "$1" )"
- extract_dir="$( echo "$file_name" | sed "s/\.${1##*.}//g" )"
+ extract_dir="${1:t:r}"
case "$1" in
(*.tar.gz|*.tgz) (( $+commands[pigz] )) && { pigz -dc "$1" | tar xv } || tar zxvf "$1" ;;
(*.tar.bz2|*.tbz|*.tbz2) tar xvjf "$1" ;;
From b5dc976d236e8f8d276aa0aeff49980bfccb0532 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Thu, 29 Sep 2016 13:38:01 +0200
Subject: [PATCH 178/294] extract: add file extensions to extract completion
---
plugins/extract/_extract | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/plugins/extract/_extract b/plugins/extract/_extract
index a73c892d9..172425d2c 100644
--- a/plugins/extract/_extract
+++ b/plugins/extract/_extract
@@ -3,4 +3,5 @@
_arguments \
'(-r --remove)'{-r,--remove}'[Remove archive.]' \
- "*::archive file:_files -g '(#i)*.(tar|tgz|tbz|tbz2|txz|tlz|gz|bz2|xz|lzma|Z|zip|ipsw|rar|7z|deb)(-.)'" && return 0
+ "*::archive file:_files -g '(#i)*.(7z|Z|apk|bz2|deb|gz|ipsw|jar|lzma|rar|sublime-package|tar|tar.bz2|tar.gz|tar.xz|tar.zma|tbz|tbz2|tgz|tlz|txz|war|xpi|xz|zip)(-.)'" \
+ && return 0
From bac896fca7b1af1e4237e96c58a0c13b8ff2d0de Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Fri, 30 Sep 2016 00:37:14 +0200
Subject: [PATCH 179/294] extract: add README
---
plugins/extract/README.md | 46 +++++++++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)
create mode 100644 plugins/extract/README.md
diff --git a/plugins/extract/README.md b/plugins/extract/README.md
new file mode 100644
index 000000000..c6bdd36dd
--- /dev/null
+++ b/plugins/extract/README.md
@@ -0,0 +1,46 @@
+# extract plugin
+
+This plugin defines a function called `extract` that extracts the archive file
+you pass it, and it supports a wide variety of archive filetypes.
+
+This way you don't have to know what specific command extracts a file, you just
+do `extract ` and the function takes care of the rest.
+
+To use it, add `extract` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... extract)
+```
+
+## Supported file extensions
+
+| Extension | Description |
+|:------------------|:-------------------------------------|
+| `7z` | 7zip file |
+| `Z` | Z archive (LZW) |
+| `apk` | Android app file |
+| `bz2` | Bzip2 file |
+| `deb` | Debian package |
+| `gz` | Gzip file |
+| `ipsw` | iOS firmware file |
+| `jar` | Java Archive |
+| `lzma` | LZMA archive |
+| `rar` | WinRAR archive |
+| `sublime-package` | Sublime Text package |
+| `tar` | Tarball |
+| `tar.bz2` | Tarball with bzip2 compression |
+| `tar.gz` | Tarball with gzip compression |
+| `tar.xz` | Tarball with lzma2 compression |
+| `tar.zma` | Tarball with lzma compression |
+| `tbz` | Tarball with bzip compression |
+| `tbz2` | Tarball with bzip2 compression |
+| `tgz` | Tarball with gzip compression |
+| `tlz` | Tarball with lzma compression |
+| `txz` | Tarball with lzma2 compression |
+| `war` | Web Application archive (Java-based) |
+| `xpi` | Mozilla XPI module file |
+| `xz` | LZMA2 archive |
+| `zip` | Zip archive |
+
+See [list of archive formats](https://en.wikipedia.org/wiki/List_of_archive_formats) for
+more information regarding archive formats.
From c713407f90e7024507c7fc621440cb171108e7f4 Mon Sep 17 00:00:00 2001
From: Allan Lewis
Date: Fri, 30 Sep 2016 12:45:28 +0100
Subject: [PATCH 180/294] git.plugin.zsh: Don't run Git hooks when making a WIP
commit (#4751)
When making a WIP commit, we generally just want to save the state of the
current branch temporarily, maybe because we want to push our work for backup
purposes, or change branch to work on something else. Therefore, it's generally
undesirable to run Git hooks, which might do things like run linters, because
we probably don't care if our WIP has lint errors.
---
plugins/git/git.plugin.zsh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh
index 25da03509..ea9ff8269 100644
--- a/plugins/git/git.plugin.zsh
+++ b/plugins/git/git.plugin.zsh
@@ -236,4 +236,4 @@ alias gupv='git pull --rebase -v'
alias glum='git pull upstream master'
alias gwch='git whatchanged -p --abbrev-commit --pretty=medium'
-alias gwip='git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit -m "--wip--"'
+alias gwip='git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit --no-verify -m "--wip--"'
From 3de0235ad26d4584727f4cce17c09f1b4ae6cee5 Mon Sep 17 00:00:00 2001
From: Manuel Hutter
Date: Fri, 30 Sep 2016 19:54:27 +0200
Subject: [PATCH 181/294] Add missing newline to end of `spotify status` output
(#5480)
---
plugins/osx/osx.plugin.zsh | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/plugins/osx/osx.plugin.zsh b/plugins/osx/osx.plugin.zsh
index aa6a256c1..d7baa1191 100644
--- a/plugins/osx/osx.plugin.zsh
+++ b/plugins/osx/osx.plugin.zsh
@@ -314,7 +314,7 @@ function spotify() {
position=$(osascript -e 'tell application "Spotify" to player position as string' | tr ',' '.');
position=$(echo "scale=2; $position / 60" | bc | awk '{printf "%0.2f", $0}');
- printf "$reset""Artist: %s\nAlbum: %s\nTrack: %s \nPosition: %s / %s" "$artist" "$album" "$track" "$position" "$duration";
+ printf "$reset""Artist: %s\nAlbum: %s\nTrack: %s \nPosition: %s / %s\n" "$artist" "$album" "$track" "$position" "$duration";
fi
}
@@ -412,17 +412,17 @@ function spotify() {
osascript -e 'tell application "Spotify" to playpause';
break ;;
- "quit" )
+ "quit" )
cecho "Quitting Spotify.";
osascript -e 'tell application "Spotify" to quit';
exit 1 ;;
- "next" )
+ "next" )
cecho "Going to next track." ;
osascript -e 'tell application "Spotify" to next track';
break ;;
- "prev" )
+ "prev" )
cecho "Going to previous track.";
osascript -e 'tell application "Spotify" to previous track';
break ;;
From 8ea56633a40411d1b43127b9cd88e8851edaf922 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Wed, 28 Sep 2016 18:23:15 +0200
Subject: [PATCH 182/294] last-working-dir: clean up source
---
.../last-working-dir.plugin.zsh | 25 ++++++++-----------
1 file changed, 10 insertions(+), 15 deletions(-)
diff --git a/plugins/last-working-dir/last-working-dir.plugin.zsh b/plugins/last-working-dir/last-working-dir.plugin.zsh
index c458464ce..c5278d640 100644
--- a/plugins/last-working-dir/last-working-dir.plugin.zsh
+++ b/plugins/last-working-dir/last-working-dir.plugin.zsh
@@ -1,26 +1,21 @@
-#!/usr/bin/env zsh
-# Keeps track of the last used working directory and automatically jumps
-# into it for new shells.
-
-# Flag indicating if we've previously jumped to last directory.
+# Flag indicating if we've previously jumped to last directory
typeset -g ZSH_LAST_WORKING_DIRECTORY
-mkdir -p $ZSH_CACHE_DIR
-cache_file="$ZSH_CACHE_DIR/last-working-dir"
-# Updates the last directory once directory is changed.
+# Updates the last directory once directory is changed
chpwd_functions+=(chpwd_last_working_dir)
-function chpwd_last_working_dir() {
- # Use >| in case noclobber is set to avoid "file exists" error
+chpwd_last_working_dir() {
+ local cache_file="$ZSH_CACHE_DIR/last-working-dir"
pwd >| "$cache_file"
}
-# Changes directory to the last working directory.
-function lwd() {
- [[ ! -r "$cache_file" ]] || cd "`cat "$cache_file"`"
+# Changes directory to the last working directory
+lwd() {
+ local cache_file="$ZSH_CACHE_DIR/last-working-dir"
+ [[ -r "$cache_file" ]] && cd "$(cat "$cache_file")"
}
-# Automatically jump to last working directory unless this isn't the first time
-# this plugin has been loaded.
+# Automatically jump to last working directory unless this
+# isn't the first time this plugin has been loaded.
if [[ -z "$ZSH_LAST_WORKING_DIRECTORY" ]]; then
lwd 2>/dev/null && ZSH_LAST_WORKING_DIRECTORY=1 || true
fi
From fb6738a7e1d476ec9a74b0e8a04f5252f9de91fe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Wed, 28 Sep 2016 18:30:46 +0200
Subject: [PATCH 183/294] last-working-dir: don't jump if not in $HOME
---
plugins/last-working-dir/last-working-dir.plugin.zsh | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/plugins/last-working-dir/last-working-dir.plugin.zsh b/plugins/last-working-dir/last-working-dir.plugin.zsh
index c5278d640..e882b288f 100644
--- a/plugins/last-working-dir/last-working-dir.plugin.zsh
+++ b/plugins/last-working-dir/last-working-dir.plugin.zsh
@@ -14,8 +14,10 @@ lwd() {
[[ -r "$cache_file" ]] && cd "$(cat "$cache_file")"
}
-# Automatically jump to last working directory unless this
-# isn't the first time this plugin has been loaded.
-if [[ -z "$ZSH_LAST_WORKING_DIRECTORY" ]]; then
- lwd 2>/dev/null && ZSH_LAST_WORKING_DIRECTORY=1 || true
-fi
+# Jump to last directory automatically unless:
+# - this isn't the first time the plugin is loaded
+# - it's not in $HOME directory
+[[ -n "$ZSH_LAST_WORKING_DIRECTORY" ]] && return
+[[ "$PWD" != "$HOME" ]] && return
+
+lwd 2>/dev/null && ZSH_LAST_WORKING_DIRECTORY=1 || true
From c488ab15f3293c3870f66fe84fc7ee71a182f214 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Wed, 28 Sep 2016 18:23:28 +0200
Subject: [PATCH 184/294] last-working-dir: add README
---
plugins/last-working-dir/README.md | 9 +++++++++
1 file changed, 9 insertions(+)
create mode 100644 plugins/last-working-dir/README.md
diff --git a/plugins/last-working-dir/README.md b/plugins/last-working-dir/README.md
new file mode 100644
index 000000000..4cc4acab6
--- /dev/null
+++ b/plugins/last-working-dir/README.md
@@ -0,0 +1,9 @@
+# last-working-dir plugin
+
+Keeps track of the last used working directory and automatically jumps into it
+for new shells, unless:
+
+- The plugin is already loaded.
+- The current `$PWD` is not `$HOME`.
+
+Adds `lwd` function to jump to the last working directory.
From 06d52a60389a85107ed8cc2e302a1e66f719f738 Mon Sep 17 00:00:00 2001
From: FireWave
Date: Fri, 30 Sep 2016 14:12:03 -0400
Subject: [PATCH 185/294] Change confusing 12h-time without AM/PM to
system-localized time
---
themes/xiong-chiamiov-plus.zsh-theme | 2 +-
themes/xiong-chiamiov.zsh-theme | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/themes/xiong-chiamiov-plus.zsh-theme b/themes/xiong-chiamiov-plus.zsh-theme
index 095dae290..26cc38487 100644
--- a/themes/xiong-chiamiov-plus.zsh-theme
+++ b/themes/xiong-chiamiov-plus.zsh-theme
@@ -1,6 +1,6 @@
# user, host, full path, and time/date
# on two lines for easier vgrepping
# entry in a nice long thread on the Arch Linux forums: http://bbs.archlinux.org/viewtopic.php?pid=521888#p521888
-PROMPT=$'%{\e[0;34m%}%B┌─[%b%{\e[0m%}%{\e[1;32m%}%n%{\e[1;30m%}@%{\e[0m%}%{\e[0;36m%}%m%{\e[0;34m%}%B]%b%{\e[0m%} - %b%{\e[0;34m%}%B[%b%{\e[1;37m%}%~%{\e[0;34m%}%B]%b%{\e[0m%} - %{\e[0;34m%}%B[%b%{\e[0;33m%}'%D{"%a %b %d, %I:%M"}%b$'%{\e[0;34m%}%B]%b%{\e[0m%}
+PROMPT=$'%{\e[0;34m%}%B┌─[%b%{\e[0m%}%{\e[1;32m%}%n%{\e[1;30m%}@%{\e[0m%}%{\e[0;36m%}%m%{\e[0;34m%}%B]%b%{\e[0m%} - %b%{\e[0;34m%}%B[%b%{\e[1;37m%}%~%{\e[0;34m%}%B]%b%{\e[0m%} - %{\e[0;34m%}%B[%b%{\e[0;33m%}'%D{"%c"}%b$'%{\e[0;34m%}%B]%b%{\e[0m%}
%{\e[0;34m%}%B└─%B[%{\e[1;35m%}$%{\e[0;34m%}%B] <$(git_prompt_info)>%{\e[0m%}%b '
PS2=$' \e[0;34m%}%B>%{\e[0m%}%b '
diff --git a/themes/xiong-chiamiov.zsh-theme b/themes/xiong-chiamiov.zsh-theme
index 7c4c2e4f8..9cf17f47c 100644
--- a/themes/xiong-chiamiov.zsh-theme
+++ b/themes/xiong-chiamiov.zsh-theme
@@ -1,6 +1,6 @@
# user, host, full path, and time/date
# on two lines for easier vgrepping
# entry in a nice long thread on the Arch Linux forums: http://bbs.archlinux.org/viewtopic.php?pid=521888#p521888
-PROMPT=$'%{\e[0;34m%}%B┌─[%b%{\e[0m%}%{\e[1;32m%}%n%{\e[1;30m%}@%{\e[0m%}%{\e[0;36m%}%m%{\e[0;34m%}%B]%b%{\e[0m%} - %b%{\e[0;34m%}%B[%b%{\e[1;37m%}%~%{\e[0;34m%}%B]%b%{\e[0m%} - %{\e[0;34m%}%B[%b%{\e[0;33m%}'%D{"%a %b %d, %I:%M"}%b$'%{\e[0;34m%}%B]%b%{\e[0m%}
+PROMPT=$'%{\e[0;34m%}%B┌─[%b%{\e[0m%}%{\e[1;32m%}%n%{\e[1;30m%}@%{\e[0m%}%{\e[0;36m%}%m%{\e[0;34m%}%B]%b%{\e[0m%} - %b%{\e[0;34m%}%B[%b%{\e[1;37m%}%~%{\e[0;34m%}%B]%b%{\e[0m%} - %{\e[0;34m%}%B[%b%{\e[0;33m%}'%D{"%c"}%b$'%{\e[0;34m%}%B]%b%{\e[0m%}
%{\e[0;34m%}%B└─%B[%{\e[1;35m%}$%{\e[0;34m%}%B]>%{\e[0m%}%b '
PS2=$' \e[0;34m%}%B>%{\e[0m%}%b '
From 9263e9ca59a65cad53d1cf0581c2af344984c2af Mon Sep 17 00:00:00 2001
From: Adrian Petrescu
Date: Fri, 30 Sep 2016 17:39:32 -0400
Subject: [PATCH 186/294] Add /usr/local/bin to autoenv search path (#5481)
The current list of directories to search for autoenv on misses the default location on Ubuntu systems if you just do a normal `pip install autoenv` - [it will place](https://github.com/kennethreitz/autoenv/blob/master/setup.py#L16) `activate.sh` in `/usr/local/bin` unless you manually override the `--prefix` or something.
The `/usr/local/opt/autoenv` is fine for macOS/homebrew installations but it would be nice not to have to manually patch on Linux :)
---
plugins/autoenv/autoenv.plugin.zsh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/autoenv/autoenv.plugin.zsh b/plugins/autoenv/autoenv.plugin.zsh
index ea2e56dd6..af58ee77b 100644
--- a/plugins/autoenv/autoenv.plugin.zsh
+++ b/plugins/autoenv/autoenv.plugin.zsh
@@ -1,7 +1,7 @@
# Activates autoenv or reports its failure
() {
if ! type autoenv_init >/dev/null; then
- for d (~/.autoenv /usr/local/opt/autoenv); do
+ for d (~/.autoenv /usr/local/opt/autoenv /usr/local/bin); do
if [[ -e $d/activate.sh ]]; then
autoenv_dir=$d
break
From d186bc30d071559a36bb190a3c3b329b882ec183 Mon Sep 17 00:00:00 2001
From: Florian Wilhelm
Date: Sun, 2 Oct 2016 16:34:54 +0200
Subject: [PATCH 187/294] Add aliases for docker-compose logs (#5475)
---
plugins/docker-compose/docker-compose.plugin.zsh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/plugins/docker-compose/docker-compose.plugin.zsh b/plugins/docker-compose/docker-compose.plugin.zsh
index 9f2457fc4..7e3307017 100644
--- a/plugins/docker-compose/docker-compose.plugin.zsh
+++ b/plugins/docker-compose/docker-compose.plugin.zsh
@@ -18,3 +18,5 @@ alias dcrm='docker-compose rm'
alias dcr='docker-compose run'
alias dcstop='docker-compose stop'
alias dcup='docker-compose up'
+alias dcl='docker-compose logs'
+alias dclf='docker-compose logs -f'
From eaf18167bbf3ee30157728ec50850db73ada3455 Mon Sep 17 00:00:00 2001
From: Juraj Fiala
Date: Tue, 18 Aug 2015 21:37:09 +0200
Subject: [PATCH 188/294] Added pacaur aliases
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This commit removes most of its contents: it just leaves the
contribution signature. The rest is obsolete and superseeded
by #5460, but the contribution is still valuable.
Related: #4263.
Signed-off-by: Marc Cornellà
---
plugins/archlinux/README.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/plugins/archlinux/README.md b/plugins/archlinux/README.md
index 785538a56..f32d91f79 100644
--- a/plugins/archlinux/README.md
+++ b/plugins/archlinux/README.md
@@ -67,3 +67,4 @@
- Martin Putniorz - mputniorz@gmail.com
- MatthR3D - matthr3d@gmail.com
- ornicar - thibault.duplessis@gmail.com
+- Juraj Fiala - doctorjellyface@riseup.net
From 485dd2b73671c257571601dda44e5fd94067271f Mon Sep 17 00:00:00 2001
From: Moses Miller
Date: Mon, 26 Sep 2016 23:17:18 -0700
Subject: [PATCH 189/294] Add pacaur compatibility to archlinux plugin +
refactor
---
plugins/archlinux/archlinux.plugin.zsh | 51 +++++++++++++++++++++-----
1 file changed, 42 insertions(+), 9 deletions(-)
diff --git a/plugins/archlinux/archlinux.plugin.zsh b/plugins/archlinux/archlinux.plugin.zsh
index 1637e8561..2e55d1b8d 100644
--- a/plugins/archlinux/archlinux.plugin.zsh
+++ b/plugins/archlinux/archlinux.plugin.zsh
@@ -1,12 +1,4 @@
-if ! (( $+commands[yaourt] )); then
- upgrade() {
- sudo pacman -Syu
- }
-else
- upgrade () {
- yaourt -Syu
- }
-
+if (( $+commands[yaourt] )); then
alias yaconf='yaourt -C'
alias yaupg='yaourt -Syua'
alias yasu='yaourt -Syua --noconfirm'
@@ -35,6 +27,47 @@ else
fi
fi
+if (( $+commands[pacaur] )); then
+ alias paupg='pacaur -Syua'
+ alias pasu='pacaur -Syua --noconfirm'
+ alias pain='pacaur -S'
+ alias pains='pacaur -U'
+ alias pare='pacaur -R'
+ alias parem='pacaur -Rns'
+ alias parep='pacaur -Si'
+ alias pareps='pacaur -Ss'
+ alias paloc='pacaur -Qi'
+ alias palocs='pacaur -Qs'
+ alias palst='pacaur -Qe'
+ alias paorph='pacaur -Qtd'
+ alias painsd='pacaur -S --asdeps'
+ alias pamir='pacaur -Syy'
+
+ if (( $+commands[abs] && $+commands[aur] )); then
+ alias paupd='pacaur -Sy && sudo abs && sudo aur'
+ elif (( $+commands[abs] )); then
+ alias paupd='pacaur -Sy && sudo abs'
+ elif (( $+commands[aur] )); then
+ alias paupd='pacaur -Sy && sudo aur'
+ else
+ alias paupd='pacaur -Sy'
+ fi
+fi
+
+if (( $+commands[pacaur] )); then
+ upgrade() {
+ pacaur -Syu
+ }
+elif (( $+commands[yaourt] )); then
+ upgrade() {
+ yaourt -Syu
+ }
+else
+ upgrade() {
+ pacman -Syu
+ }
+fi
+
# Pacman - https://wiki.archlinux.org/index.php/Pacman_Tips
alias pacupg='sudo pacman -Syu'
alias pacin='sudo pacman -S'
From e418a2bb92f6b26773d9e55115803a7137c90eec Mon Sep 17 00:00:00 2001
From: Moses Miller
Date: Sun, 2 Oct 2016 14:28:39 -0700
Subject: [PATCH 190/294] Updated README of the archlinux plugin
---
plugins/archlinux/README.md | 25 +++++++++++++++++++++++++
plugins/archlinux/archlinux.plugin.zsh | 2 +-
2 files changed, 26 insertions(+), 1 deletion(-)
diff --git a/plugins/archlinux/README.md b/plugins/archlinux/README.md
index f32d91f79..73a5037b0 100644
--- a/plugins/archlinux/README.md
+++ b/plugins/archlinux/README.md
@@ -27,6 +27,30 @@
| yasu | yaourt -Syua --no-confirm | Same as `yaupg`, but without confirmation |
| upgrade | yaourt -Syu | Sync with repositories before upgrading packages |
+### PACAUR
+
+| Alias | Command | Description |
+|---------|------------------------------------|---------------------------------------------------------------------|
+| pain | pacaur -S | Install packages from the repositories |
+| pains | pacaur -U | Install a package from a local file |
+| painsd | pacaur -S --asdeps | Install packages as dependencies of another package |
+| paloc | pacaur -Qi | Display information about a package in the local database |
+| palocs | pacaur -Qs | Search for packages in the local database |
+| palst | pacaur -Qe | List installed packages including from AUR (tagged as "local") |
+| pamir | pacaur -Syy | Force refresh of all package lists after updating mirrorlist |
+| paorph | pacaur -Qtd | Remove orphans using pacaur |
+| pare | pacaur -R | Remove packages, keeping its settings and dependencies |
+| parem | pacaur -Rns | Remove packages, including its settings and unneeded dependencies |
+| parep | pacaur -Si | Display information about a package in the repositories |
+| pareps | pacaur -Ss | Search for packages in the repositories |
+| paupd | pacaur -Sy && sudo abs && sudo aur | Update and refresh local package, ABS and AUR databases |
+| paupd | pacaur -Sy && sudo abs | Update and refresh the local package and ABS databases |
+| paupd | pacaur -Sy && sudo aur | Update and refresh the local package and AUR databases |
+| paupd | pacaur -Sy | Update and refresh the local package database |
+| paupg | pacaur -Syua | Sync with repositories before upgrading all packages (from AUR too) |
+| pasu | pacaur -Syua --no-confirm | Same as `paupg`, but without confirmation |
+| upgrade | pacaur -Syu
+
#### PACMAN
| Alias | Command | Description |
@@ -68,3 +92,4 @@
- MatthR3D - matthr3d@gmail.com
- ornicar - thibault.duplessis@gmail.com
- Juraj Fiala - doctorjellyface@riseup.net
+- Majora320 (Moses Miller) - Majora320@gmail.com
diff --git a/plugins/archlinux/archlinux.plugin.zsh b/plugins/archlinux/archlinux.plugin.zsh
index 2e55d1b8d..3156e949a 100644
--- a/plugins/archlinux/archlinux.plugin.zsh
+++ b/plugins/archlinux/archlinux.plugin.zsh
@@ -64,7 +64,7 @@ elif (( $+commands[yaourt] )); then
}
else
upgrade() {
- pacman -Syu
+ sudo pacman -Syu
}
fi
From cd44246415d557bc9ba8d7c74acdcc0a44d10e34 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Mon, 3 Oct 2016 01:04:16 +0200
Subject: [PATCH 191/294] Fix small copy-editing mistake in archlinux README
---
plugins/archlinux/README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/archlinux/README.md b/plugins/archlinux/README.md
index 73a5037b0..16f099415 100644
--- a/plugins/archlinux/README.md
+++ b/plugins/archlinux/README.md
@@ -49,7 +49,7 @@
| paupd | pacaur -Sy | Update and refresh the local package database |
| paupg | pacaur -Syua | Sync with repositories before upgrading all packages (from AUR too) |
| pasu | pacaur -Syua --no-confirm | Same as `paupg`, but without confirmation |
-| upgrade | pacaur -Syu
+| upgrade | pacaur -Syu | Sync with repositories before upgrading packages |
#### PACMAN
From 6d975f72589dbb6e44084841cddf9ea153990eb8 Mon Sep 17 00:00:00 2001
From: savimat
Date: Mon, 3 Oct 2016 09:11:26 +1000
Subject: [PATCH 192/294] Add alias for signed git commit with message (#5390)
Signed-off-by: Mat Munn
---
plugins/git/git.plugin.zsh | 1 +
1 file changed, 1 insertion(+)
diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh
index ea9ff8269..28fb253dd 100644
--- a/plugins/git/git.plugin.zsh
+++ b/plugins/git/git.plugin.zsh
@@ -65,6 +65,7 @@ alias gca!='git commit -v -a --amend'
alias gcan!='git commit -v -a --no-edit --amend'
alias gcans!='git commit -v -a -s --no-edit --amend'
alias gcam='git commit -a -m'
+alias gcsm='git commit -s -m'
alias gcb='git checkout -b'
alias gcf='git config --list'
alias gcl='git clone --recursive'
From 40bfe5a4124be7b5983756cc81b54a4a4d5846e6 Mon Sep 17 00:00:00 2001
From: Fabian Wolff
Date: Mon, 26 Sep 2016 21:41:42 +0200
Subject: [PATCH 193/294] Implement a locking mechanism to avoid multiple
update prompts (fixes #3766)
---
tools/check_for_upgrade.sh | 43 +++++++++++++++++++++-----------------
1 file changed, 24 insertions(+), 19 deletions(-)
diff --git a/tools/check_for_upgrade.sh b/tools/check_for_upgrade.sh
index bd9aba8be..d1b174c6d 100644
--- a/tools/check_for_upgrade.sh
+++ b/tools/check_for_upgrade.sh
@@ -29,31 +29,36 @@ fi
# Cancel upgrade if git is unavailable on the system
whence git >/dev/null || return 0
-if [ -f ~/.zsh-update ]
+if mkdir "$ZSH/log/update.lock" 2>/dev/null
then
- . ~/.zsh-update
-
- if [[ -z "$LAST_EPOCH" ]]; then
- _update_zsh_update && return 0;
- fi
-
- epoch_diff=$(($(_current_epoch) - $LAST_EPOCH))
- if [ $epoch_diff -gt $epoch_target ]
+ if [ -f ~/.zsh-update ]
then
- if [ "$DISABLE_UPDATE_PROMPT" = "true" ]
+ . ~/.zsh-update
+
+ if [[ -z "$LAST_EPOCH" ]]; then
+ _update_zsh_update && return 0;
+ fi
+
+ epoch_diff=$(($(_current_epoch) - $LAST_EPOCH))
+ if [ $epoch_diff -gt $epoch_target ]
then
- _upgrade_zsh
- else
- echo "[Oh My Zsh] Would you like to check for updates? [Y/n]: \c"
- read line
- if [[ "$line" == Y* ]] || [[ "$line" == y* ]] || [ -z "$line" ]; then
+ if [ "$DISABLE_UPDATE_PROMPT" = "true" ]
+ then
_upgrade_zsh
else
- _update_zsh_update
+ echo "[Oh My Zsh] Would you like to check for updates? [Y/n]: \c"
+ read line
+ if [[ "$line" == Y* ]] || [[ "$line" == y* ]] || [ -z "$line" ]; then
+ _upgrade_zsh
+ else
+ _update_zsh_update
+ fi
fi
fi
+ else
+ # create the zsh file
+ _update_zsh_update
fi
-else
- # create the zsh file
- _update_zsh_update
+
+ rm -r $ZSH/log/update.lock
fi
From 4fa6be02300ff1bbf3772be0c8f7993a46c3769e Mon Sep 17 00:00:00 2001
From: Fabian Wolff
Date: Mon, 3 Oct 2016 11:52:25 +0200
Subject: [PATCH 194/294] Use rmdir instead of rm -r
---
tools/check_for_upgrade.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/check_for_upgrade.sh b/tools/check_for_upgrade.sh
index d1b174c6d..3c9a4e4ca 100644
--- a/tools/check_for_upgrade.sh
+++ b/tools/check_for_upgrade.sh
@@ -60,5 +60,5 @@ then
_update_zsh_update
fi
- rm -r $ZSH/log/update.lock
+ rmdir $ZSH/log/update.lock
fi
From 1f64fa92f524d47a87320a4baf9d9883fd23ab5e Mon Sep 17 00:00:00 2001
From: Fabian Wolff
Date: Mon, 3 Oct 2016 11:58:15 +0200
Subject: [PATCH 195/294] Convert "if then" statements to "if; then" one-liners
---
tools/check_for_upgrade.sh | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/tools/check_for_upgrade.sh b/tools/check_for_upgrade.sh
index 3c9a4e4ca..a57f6da0f 100644
--- a/tools/check_for_upgrade.sh
+++ b/tools/check_for_upgrade.sh
@@ -29,10 +29,8 @@ fi
# Cancel upgrade if git is unavailable on the system
whence git >/dev/null || return 0
-if mkdir "$ZSH/log/update.lock" 2>/dev/null
-then
- if [ -f ~/.zsh-update ]
- then
+if mkdir "$ZSH/log/update.lock" 2>/dev/null; then
+ if [ -f ~/.zsh-update ]; then
. ~/.zsh-update
if [[ -z "$LAST_EPOCH" ]]; then
@@ -40,10 +38,8 @@ then
fi
epoch_diff=$(($(_current_epoch) - $LAST_EPOCH))
- if [ $epoch_diff -gt $epoch_target ]
- then
- if [ "$DISABLE_UPDATE_PROMPT" = "true" ]
- then
+ if [ $epoch_diff -gt $epoch_target ]; then
+ if [ "$DISABLE_UPDATE_PROMPT" = "true" ]; then
_upgrade_zsh
else
echo "[Oh My Zsh] Would you like to check for updates? [Y/n]: \c"
From 0887a7eb504debd8714bb914b99a2d6343f6b131 Mon Sep 17 00:00:00 2001
From: Henrik Johansson
Date: Fri, 8 Aug 2014 14:09:07 +0200
Subject: [PATCH 196/294] Added simple support for Cargo - the Rust build
system
---
plugins/cargo/cargo.plugin.zsh | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
create mode 100644 plugins/cargo/cargo.plugin.zsh
diff --git a/plugins/cargo/cargo.plugin.zsh b/plugins/cargo/cargo.plugin.zsh
new file mode 100644
index 000000000..e1dc953dd
--- /dev/null
+++ b/plugins/cargo/cargo.plugin.zsh
@@ -0,0 +1,22 @@
+function _cargo_commands() {
+ local ret=1 state
+ _arguments ':subcommand:->subcommand' && ret=0
+
+ case $state in
+ subcommand)
+ subcommands=(
+ "build:Build the current project"
+ "clean:Clean up after a build"
+ "help:Help about available commands"
+ "new:Create a new project"
+ "test:Run the tests"
+ "update:Updates list of known packages"
+ "run:Builds and runs the currecnt project"
+ )
+ _describe -t subcommands 'cargo subcommands' subcommands && ret=0
+ esac
+
+ return ret
+}
+
+compdef _cargo_commands cargo
From 9d35d3a5d5db6e3b5aa3935bdb3660b607bf599d Mon Sep 17 00:00:00 2001
From: FireWave
Date: Mon, 3 Oct 2016 14:58:51 -0400
Subject: [PATCH 197/294] Revert "Change confusing 12h-time without AM/PM to
system-localized time"
This reverts commit 06d52a60389a85107ed8cc2e302a1e66f719f738.
---
themes/xiong-chiamiov-plus.zsh-theme | 2 +-
themes/xiong-chiamiov.zsh-theme | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/themes/xiong-chiamiov-plus.zsh-theme b/themes/xiong-chiamiov-plus.zsh-theme
index 26cc38487..095dae290 100644
--- a/themes/xiong-chiamiov-plus.zsh-theme
+++ b/themes/xiong-chiamiov-plus.zsh-theme
@@ -1,6 +1,6 @@
# user, host, full path, and time/date
# on two lines for easier vgrepping
# entry in a nice long thread on the Arch Linux forums: http://bbs.archlinux.org/viewtopic.php?pid=521888#p521888
-PROMPT=$'%{\e[0;34m%}%B┌─[%b%{\e[0m%}%{\e[1;32m%}%n%{\e[1;30m%}@%{\e[0m%}%{\e[0;36m%}%m%{\e[0;34m%}%B]%b%{\e[0m%} - %b%{\e[0;34m%}%B[%b%{\e[1;37m%}%~%{\e[0;34m%}%B]%b%{\e[0m%} - %{\e[0;34m%}%B[%b%{\e[0;33m%}'%D{"%c"}%b$'%{\e[0;34m%}%B]%b%{\e[0m%}
+PROMPT=$'%{\e[0;34m%}%B┌─[%b%{\e[0m%}%{\e[1;32m%}%n%{\e[1;30m%}@%{\e[0m%}%{\e[0;36m%}%m%{\e[0;34m%}%B]%b%{\e[0m%} - %b%{\e[0;34m%}%B[%b%{\e[1;37m%}%~%{\e[0;34m%}%B]%b%{\e[0m%} - %{\e[0;34m%}%B[%b%{\e[0;33m%}'%D{"%a %b %d, %I:%M"}%b$'%{\e[0;34m%}%B]%b%{\e[0m%}
%{\e[0;34m%}%B└─%B[%{\e[1;35m%}$%{\e[0;34m%}%B] <$(git_prompt_info)>%{\e[0m%}%b '
PS2=$' \e[0;34m%}%B>%{\e[0m%}%b '
diff --git a/themes/xiong-chiamiov.zsh-theme b/themes/xiong-chiamiov.zsh-theme
index 9cf17f47c..7c4c2e4f8 100644
--- a/themes/xiong-chiamiov.zsh-theme
+++ b/themes/xiong-chiamiov.zsh-theme
@@ -1,6 +1,6 @@
# user, host, full path, and time/date
# on two lines for easier vgrepping
# entry in a nice long thread on the Arch Linux forums: http://bbs.archlinux.org/viewtopic.php?pid=521888#p521888
-PROMPT=$'%{\e[0;34m%}%B┌─[%b%{\e[0m%}%{\e[1;32m%}%n%{\e[1;30m%}@%{\e[0m%}%{\e[0;36m%}%m%{\e[0;34m%}%B]%b%{\e[0m%} - %b%{\e[0;34m%}%B[%b%{\e[1;37m%}%~%{\e[0;34m%}%B]%b%{\e[0m%} - %{\e[0;34m%}%B[%b%{\e[0;33m%}'%D{"%c"}%b$'%{\e[0;34m%}%B]%b%{\e[0m%}
+PROMPT=$'%{\e[0;34m%}%B┌─[%b%{\e[0m%}%{\e[1;32m%}%n%{\e[1;30m%}@%{\e[0m%}%{\e[0;36m%}%m%{\e[0;34m%}%B]%b%{\e[0m%} - %b%{\e[0;34m%}%B[%b%{\e[1;37m%}%~%{\e[0;34m%}%B]%b%{\e[0m%} - %{\e[0;34m%}%B[%b%{\e[0;33m%}'%D{"%a %b %d, %I:%M"}%b$'%{\e[0;34m%}%B]%b%{\e[0m%}
%{\e[0;34m%}%B└─%B[%{\e[1;35m%}$%{\e[0;34m%}%B]>%{\e[0m%}%b '
PS2=$' \e[0;34m%}%B>%{\e[0m%}%b '
From fe605e142fdaaec6282764c8fe88af27241338f3 Mon Sep 17 00:00:00 2001
From: FireWave
Date: Mon, 3 Oct 2016 15:00:39 -0400
Subject: [PATCH 198/294] Change confusing 12h without AM/PM to a clean 24h
display. It was not possible to simply add AM/PM since strftime return blank
for %p %P
---
themes/xiong-chiamiov-plus.zsh-theme | 2 +-
themes/xiong-chiamiov.zsh-theme | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/themes/xiong-chiamiov-plus.zsh-theme b/themes/xiong-chiamiov-plus.zsh-theme
index 095dae290..5fb4fe6f4 100644
--- a/themes/xiong-chiamiov-plus.zsh-theme
+++ b/themes/xiong-chiamiov-plus.zsh-theme
@@ -1,6 +1,6 @@
# user, host, full path, and time/date
# on two lines for easier vgrepping
# entry in a nice long thread on the Arch Linux forums: http://bbs.archlinux.org/viewtopic.php?pid=521888#p521888
-PROMPT=$'%{\e[0;34m%}%B┌─[%b%{\e[0m%}%{\e[1;32m%}%n%{\e[1;30m%}@%{\e[0m%}%{\e[0;36m%}%m%{\e[0;34m%}%B]%b%{\e[0m%} - %b%{\e[0;34m%}%B[%b%{\e[1;37m%}%~%{\e[0;34m%}%B]%b%{\e[0m%} - %{\e[0;34m%}%B[%b%{\e[0;33m%}'%D{"%a %b %d, %I:%M"}%b$'%{\e[0;34m%}%B]%b%{\e[0m%}
+PROMPT=$'%{\e[0;34m%}%B┌─[%b%{\e[0m%}%{\e[1;32m%}%n%{\e[1;30m%}@%{\e[0m%}%{\e[0;36m%}%m%{\e[0;34m%}%B]%b%{\e[0m%} - %b%{\e[0;34m%}%B[%b%{\e[1;37m%}%~%{\e[0;34m%}%B]%b%{\e[0m%} - %{\e[0;34m%}%B[%b%{\e[0;33m%}'%D{"%a %b %d, %H:%M"}%b$'%{\e[0;34m%}%B]%b%{\e[0m%}
%{\e[0;34m%}%B└─%B[%{\e[1;35m%}$%{\e[0;34m%}%B] <$(git_prompt_info)>%{\e[0m%}%b '
PS2=$' \e[0;34m%}%B>%{\e[0m%}%b '
diff --git a/themes/xiong-chiamiov.zsh-theme b/themes/xiong-chiamiov.zsh-theme
index 7c4c2e4f8..0ed335fb5 100644
--- a/themes/xiong-chiamiov.zsh-theme
+++ b/themes/xiong-chiamiov.zsh-theme
@@ -1,6 +1,6 @@
# user, host, full path, and time/date
# on two lines for easier vgrepping
# entry in a nice long thread on the Arch Linux forums: http://bbs.archlinux.org/viewtopic.php?pid=521888#p521888
-PROMPT=$'%{\e[0;34m%}%B┌─[%b%{\e[0m%}%{\e[1;32m%}%n%{\e[1;30m%}@%{\e[0m%}%{\e[0;36m%}%m%{\e[0;34m%}%B]%b%{\e[0m%} - %b%{\e[0;34m%}%B[%b%{\e[1;37m%}%~%{\e[0;34m%}%B]%b%{\e[0m%} - %{\e[0;34m%}%B[%b%{\e[0;33m%}'%D{"%a %b %d, %I:%M"}%b$'%{\e[0;34m%}%B]%b%{\e[0m%}
+PROMPT=$'%{\e[0;34m%}%B┌─[%b%{\e[0m%}%{\e[1;32m%}%n%{\e[1;30m%}@%{\e[0m%}%{\e[0;36m%}%m%{\e[0;34m%}%B]%b%{\e[0m%} - %b%{\e[0;34m%}%B[%b%{\e[1;37m%}%~%{\e[0;34m%}%B]%b%{\e[0m%} - %{\e[0;34m%}%B[%b%{\e[0;33m%}'%D{"%a %b %d, %H:%M"}%b$'%{\e[0;34m%}%B]%b%{\e[0m%}
%{\e[0;34m%}%B└─%B[%{\e[1;35m%}$%{\e[0;34m%}%B]>%{\e[0m%}%b '
PS2=$' \e[0;34m%}%B>%{\e[0m%}%b '
From 6b7003c3efcabe5ce185d5c2a1a8b708d92dfb82 Mon Sep 17 00:00:00 2001
From: Laurent Commarieu
Date: Mon, 26 Sep 2016 15:26:38 +0200
Subject: [PATCH 199/294] feat(plugin): add nomad
---
plugins/nomad/README.md | 11 +++++++++
plugins/nomad/_nomad | 51 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 62 insertions(+)
create mode 100644 plugins/nomad/README.md
create mode 100644 plugins/nomad/_nomad
diff --git a/plugins/nomad/README.md b/plugins/nomad/README.md
new file mode 100644
index 000000000..ff07e917b
--- /dev/null
+++ b/plugins/nomad/README.md
@@ -0,0 +1,11 @@
+## About
+
+Plugin for Nomad, a tool from Hashicorp for easily deploy applications at any scale.
+
+### Requirements
+
+ * [Nomad](https://nomadproject.io/)
+
+### Usage
+
+ * Type `nomad` into your prompt and hit `TAB` to see available completion options
diff --git a/plugins/nomad/_nomad b/plugins/nomad/_nomad
new file mode 100644
index 000000000..25169f394
--- /dev/null
+++ b/plugins/nomad/_nomad
@@ -0,0 +1,51 @@
+#compdef nomad
+
+local -a _nomad_cmds
+_nomad_cmds=(
+ 'agent:Runs a Nomad agent'
+ 'agent-info:Display status information about the local agent'
+ 'alloc-status:Display allocation status information and metadata'
+ 'client-config:View or modify client configuration details'
+ 'eval-status:Display evaluation status and placement failure reasons'
+ 'fs:Inspect the contents of an allocation directory'
+ 'init:Create an example job file'
+ 'inspect:Inspect a submitted job'
+ 'logs:Streams the logs of a task.'
+ 'node-drain:Toggle drain mode on a given node'
+ 'node-status:Display status information about nodes'
+ 'plan:Dry-run a job update to determine its effects'
+ 'run:Run a new job or update an existing'
+ 'server-force-leave:Force a server into the left state'
+ 'server-join:Join server nodes together'
+ 'server-members:Display a list of known servers and their'
+ 'status:Display status information about jobs'
+ 'stop:Stop a running job'
+ 'validate:Checks if a given job specification is valid'
+ 'version:Prints the Nomad version'
+)
+
+
+__allocstatus() {
+ _arguments \
+ '-address=[(addr) The address of the Nomad server. Overrides the NOMAD_ADDR environment variable if set. Default = http://127.0.0.1:4646]' \
+ '-region=[(region) The region of the Nomad servers to forward commands to. Overrides the NOMAD_REGION environment variable if set. Defaults to the Agent s local region.]' \
+ '-no-color[Disables colored command output.]' \
+ '-short[Display short output. Shows only the most recent task event.]' \
+ '-stats[Display detailed resource usage statistics.]' \
+ '-verbose[Show full information.]' \
+ '-json[Output the allocation in its JSON format.]' \
+ '-t[Format and display allocation using a Go template.]'
+}
+
+_arguments '*:: :->command'
+
+if (( CURRENT == 1 )); then
+ _describe -t commands "nomad command" _nomad_cmds
+ return
+fi
+
+local -a _command_args
+case "$words[1]" in
+ alloc-status)
+ __allocstatus ;;
+esac
From dfd7bf9f4141fe6d2ec9cd067b01ad9920e80a24 Mon Sep 17 00:00:00 2001
From: Laurent Commarieu
Date: Mon, 3 Oct 2016 21:11:54 +0200
Subject: [PATCH 200/294] feat(nomad): add common commands and new readme
---
plugins/nomad/README.md | 16 ++++---
plugins/nomad/_nomad | 104 +++++++++++++++++++++++++++++++++++++++-
2 files changed, 113 insertions(+), 7 deletions(-)
diff --git a/plugins/nomad/README.md b/plugins/nomad/README.md
index ff07e917b..04b361683 100644
--- a/plugins/nomad/README.md
+++ b/plugins/nomad/README.md
@@ -1,11 +1,15 @@
-## About
+# Nomad
-Plugin for Nomad, a tool from Hashicorp for easily deploy applications at any scale.
+The `nomad` plugin provides a simple autocompletion for [Nomad](https://nomadproject.io/), a tool from Hashicorp for easily deploy applications at any scale.
-### Requirements
+## Usage
- * [Nomad](https://nomadproject.io/)
+1. Enable the `nomad` plugin:
-### Usage
+ ```zsh
+ plugins=(... nomad)
+ ```
- * Type `nomad` into your prompt and hit `TAB` to see available completion options
+2. Install [Nomad](https://nomadproject.io/)
+
+3. Type `nomad` into your prompt and hit `TAB` to see available completion options.
diff --git a/plugins/nomad/_nomad b/plugins/nomad/_nomad
index 25169f394..1c935a02e 100644
--- a/plugins/nomad/_nomad
+++ b/plugins/nomad/_nomad
@@ -24,7 +24,6 @@ _nomad_cmds=(
'version:Prints the Nomad version'
)
-
__allocstatus() {
_arguments \
'-address=[(addr) The address of the Nomad server. Overrides the NOMAD_ADDR environment variable if set. Default = http://127.0.0.1:4646]' \
@@ -37,6 +36,93 @@ __allocstatus() {
'-t[Format and display allocation using a Go template.]'
}
+__evalstatus() {
+ _arguments \
+ '-address=[(addr) The address of the Nomad server. Overrides the NOMAD_ADDR environment variable if set. Default = http://127.0.0.1:4646]' \
+ '-region=[(region) The region of the Nomad servers to forward commands to. Overrides the NOMAD_REGION environment variable if set. Defaults to the Agent s local region.]' \
+ '-no-color[Disables colored command output.]' \
+ '-monitor[Monitor an outstanding evaluation.]' \
+ '-verbose[Show full information.]' \
+ '-json[Output the allocation in its JSON format.]' \
+ '-t[Format and display allocation using a Go template.]'
+}
+
+__inspect() {
+ _arguments \
+ '-address=[(addr) The address of the Nomad server. Overrides the NOMAD_ADDR environment variable if set. Default = http://127.0.0.1:4646]' \
+ '-region=[(region) The region of the Nomad servers to forward commands to. Overrides the NOMAD_REGION environment variable if set. Defaults to the Agent s local region.]' \
+ '-no-color[Disables colored command output.]' \
+ '-json[Output the allocation in its JSON format.]' \
+ '-t[Format and display allocation using a Go template.]'
+}
+
+__logs() {
+ _arguments \
+ '-address=[(addr) The address of the Nomad server. Overrides the NOMAD_ADDR environment variable if set. Default = http://127.0.0.1:4646]' \
+ '-region=[(region) The region of the Nomad servers to forward commands to. Overrides the NOMAD_REGION environment variable if set. Defaults to the Agent s local region.]' \
+ '-no-color[Disables colored command output.]' \
+ '-stderr[ Display stderr logs.]' \
+ '-job[ Use a random allocation from the specified job ID.]' \
+ '-verbose[Show full information.]' \
+ '-f[Causes the output to not stop when the end of the logs are reached, but rather to wait for additional output.]' \
+ '-tail[Show the logs contents with offsets relative to the end of the logs. If no offset is given, -n is defaulted to 10.]' \
+ '-n[Sets the tail location in best-efforted number of lines relative to the end of the logs.]' \
+ '-c[Sets the tail location in number of bytes relative to the end of the logs.]'
+}
+
+__nodestatus() {
+ _arguments \
+ '-address=[(addr) The address of the Nomad server. Overrides the NOMAD_ADDR environment variable if set. Default = http://127.0.0.1:4646]' \
+ '-region=[(region) The region of the Nomad servers to forward commands to. Overrides the NOMAD_REGION environment variable if set. Defaults to the Agent s local region.]' \
+ '-no-color[Disables colored command output.]' \
+ '-self[Query the status of the local node.]' \
+ '-allocs[ Display a count of running allocations for each node.]' \
+ '-short[Display short output. Shows only the most recent task event.]' \
+ '-stats[Display detailed resource usage statistics.]' \
+ '-verbose[Show full information.]' \
+ '-json[Output the allocation in its JSON format.]' \
+ '-t[Format and display allocation using a Go template.]'
+}
+
+__plan() {
+ _arguments \
+ '-address=[(addr) The address of the Nomad server. Overrides the NOMAD_ADDR environment variable if set. Default = http://127.0.0.1:4646]' \
+ '-region=[(region) The region of the Nomad servers to forward commands to. Overrides the NOMAD_REGION environment variable if set. Defaults to the Agent s local region.]' \
+ '-no-color[Disables colored command output.]' \
+ '-diff[Determines whether the diff between the remote job and planned job is shown. Defaults to true.]'
+}
+
+__run() {
+ _arguments \
+ '-address=[(addr) The address of the Nomad server. Overrides the NOMAD_ADDR environment variable if set. Default = http://127.0.0.1:4646]' \
+ '-region=[(region) The region of the Nomad servers to forward commands to. Overrides the NOMAD_REGION environment variable if set. Defaults to the Agent s local region.]' \
+ '-no-color[Disables colored command output.]' \
+ '-check-index[If set, the job is only registered or updated if the the passed job modify index matches the server side version. If a check-index value of zero is passed, the job is only registered if it does not yet exist. If a non-zero value is passed, it ensures that the job is being updated from a known state. The use of this flag is most common in conjunction with plan command.]' \
+ '-detach[Return immediately instead of entering monitor mode. After job submission, the evaluation ID will be printed to the screen, which can be used to examine the evaluation using the eval-status command.]' \
+ '-output[Output the JSON that would be submitted to the HTTP API without submitting the job.]' \
+ '-verbose[Show full information.]'
+}
+
+__status() {
+ _arguments \
+ '-address=[(addr) The address of the Nomad server. Overrides the NOMAD_ADDR environment variable if set. Default = http://127.0.0.1:4646]' \
+ '-region=[(region) The region of the Nomad servers to forward commands to. Overrides the NOMAD_REGION environment variable if set. Defaults to the Agent s local region.]' \
+ '-no-color[Disables colored command output.]' \
+ '-short[Display short output. Shows only the most recent task event.]' \
+ '-evals[Display the evaluations associated with the job.]' \
+ '-verbose[Show full information.]'
+}
+
+__stop() {
+ _arguments \
+ '-address=[(addr) The address of the Nomad server. Overrides the NOMAD_ADDR environment variable if set. Default = http://127.0.0.1:4646]' \
+ '-region=[(region) The region of the Nomad servers to forward commands to. Overrides the NOMAD_REGION environment variable if set. Defaults to the Agent s local region.]' \
+ '-no-color[Disables colored command output.]' \
+ '-detach[Return immediately instead of entering monitor mode. After the deregister command is submitted, a new evaluation ID is printed to the screen, which can be used to examine the evaluation using the eval-status command.]' \
+ '-yes[Automatic yes to prompts.]' \
+ '-verbose[Show full information.]'
+}
+
_arguments '*:: :->command'
if (( CURRENT == 1 )); then
@@ -48,4 +134,20 @@ local -a _command_args
case "$words[1]" in
alloc-status)
__allocstatus ;;
+ eval-status)
+ __evalstatus ;;
+ inspect)
+ __inspect ;;
+ logs)
+ __logs ;;
+ node-status)
+ __nodestatus ;;
+ plan)
+ __plan ;;
+ run)
+ __run ;;
+ status)
+ __status ;;
+ stop)
+ __stop ;;
esac
From 915b0e46f275d19e66f8ad7762edc4fcb28967e6 Mon Sep 17 00:00:00 2001
From: Zaki Manian
Date: Tue, 14 Jun 2016 10:53:58 +0200
Subject: [PATCH 201/294] Add completion for cargo, the rust build tool
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Copy of the official repository:
https://github.com/rust-lang/cargo/tree/master/src/etc
Signed-off-by: Marc Cornellà
---
plugins/cargo/_cargo | 497 +++++++++++++++++++++++++++++++++
plugins/cargo/cargo.plugin.zsh | 22 --
2 files changed, 497 insertions(+), 22 deletions(-)
create mode 100644 plugins/cargo/_cargo
delete mode 100644 plugins/cargo/cargo.plugin.zsh
diff --git a/plugins/cargo/_cargo b/plugins/cargo/_cargo
new file mode 100644
index 000000000..175859202
--- /dev/null
+++ b/plugins/cargo/_cargo
@@ -0,0 +1,497 @@
+#compdef cargo
+
+typeset -A opt_args
+autoload -U regexp-replace
+
+_cargo() {
+
+_arguments \
+ '(- 1 *)'{-h,--help}'[show help message]' \
+ '(- 1 *)'--list'[list installed commands]' \
+ '(- 1 *)'{-v,--verbose}'[use verbose output]' \
+ '(- 1 *)'--color'[colorization option]' \
+ '(- 1 *)'{-V,--version}'[show version information]' \
+ '1: :_cargo_cmds' \
+ '*:: :->args'
+
+case $state in
+ args)
+ case $words[1] in
+ bench)
+ _arguments \
+ '--features=[space separated feature list]' \
+ '--all-features[enable all available features]' \
+ '(-h, --help)'{-h,--help}'[show help message]' \
+ '(-j, --jobs)'{-j,--jobs}'[number of parallel jobs, defaults to # of CPUs]' \
+ "${command_scope_spec[@]}" \
+ '--manifest-path=[path to manifest]: :_files -/' \
+ '--no-default-features[do not build the default features]' \
+ '--no-run[compile but do not run]' \
+ '(-p,--package)'{-p=,--package=}'[package to run benchmarks for]:packages:_get_package_names' \
+ '--target=[target triple]' \
+ '(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
+ '(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
+ '--color=:colorization option:(auto always never)' \
+ ;;
+
+ build)
+ _arguments \
+ '--features=[space separated feature list]' \
+ '--all-features[enable all available features]' \
+ '(-h, --help)'{-h,--help}'[show help message]' \
+ '(-j, --jobs)'{-j,--jobs}'[number of parallel jobs, defaults to # of CPUs]' \
+ "${command_scope_spec[@]}" \
+ '--manifest-path=[path to manifest]: :_files -/' \
+ '--no-default-features[do not build the default features]' \
+ '(-p,--package)'{-p=,--package=}'[package to build]:packages:_get_package_names' \
+ '--release=[build in release mode]' \
+ '--target=[target triple]' \
+ '(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
+ '(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
+ '--color=:colorization option:(auto always never)' \
+ ;;
+
+ clean)
+ _arguments \
+ '(-h, --help)'{-h,--help}'[show help message]' \
+ '--manifest-path=[path to manifest]: :_files -/' \
+ '(-p,--package)'{-p=,--package=}'[package to clean]:packages:_get_package_names' \
+ '(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
+ '--release[whether or not to clean release artifacts]' \
+ '--target=[target triple(default:all)]' \
+ '(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
+ '--color=:colorization option:(auto always never)' \
+ ;;
+
+ doc)
+ _arguments \
+ '--features=[space separated feature list]' \
+ '--all-features[enable all available features]' \
+ '(-h, --help)'{-h,--help}'[show help message]' \
+ '(-j, --jobs)'{-j,--jobs}'[number of parallel jobs, defaults to # of CPUs]' \
+ '--manifest-path=[path to manifest]: :_files -/' \
+ '--no-deps[do not build docs for dependencies]' \
+ '--no-default-features[do not build the default features]' \
+ '--open[open docs in browser after the build]' \
+ '(-p, --package)'{-p,--package}'=[package to document]' \
+ '(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
+ '--release[build artifacts in release mode, with optimizations]' \
+ '--target=[build for the target triple]' \
+ '(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
+ '--color=:colorization option:(auto always never)' \
+ ;;
+
+ fetch)
+ _arguments \
+ '(-h, --help)'{-h,--help}'[show help message]' \
+ '--manifest-path=[path to manifest]: :_files -/' \
+ '(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
+ '(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
+ '--color=:colorization option:(auto always never)' \
+ ;;
+
+ generate-lockfile)
+ _arguments \
+ '(-h, --help)'{-h,--help}'[show help message]' \
+ '--manifest-path=[path to manifest]: :_files -/' \
+ '(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
+ '(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
+ '--color=:colorization option:(auto always never)' \
+ ;;
+
+ git-checkout)
+ _arguments \
+ '(-h, --help)'{-h,--help}'[show help message]' \
+ 'q(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
+ '--reference=[REF]' \
+ '--url=[URL]' \
+ '(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
+ '--color=:colorization option:(auto always never)' \
+ ;;
+
+ help)
+ _arguments \
+ '(-h, --help)'{-h,--help}'[show help message]' \
+ '*: :_cargo_cmds' \
+ ;;
+
+ init)
+ _arguments \
+ '--bin[use binary template]' \
+ '--vcs:initialize a new repo with a given VCS:(git hg none)' \
+ '(-h, --help)'{-h,--help}'[show help message]' \
+ '--name=[set the resulting package name]' \
+ '(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
+ '(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
+ '--color=:colorization option:(auto always never)' \
+ ;;
+
+ install)
+ _arguments \
+ '--bin=[only install the specified binary]' \
+ '--branch=[branch to use when installing from git]' \
+ '--color=:colorization option:(auto always never)' \
+ '--debug[build in debug mode instead of release mode]' \
+ '--example[install the specified example instead of binaries]' \
+ '--features=[space separated feature list]' \
+ '--all-features[enable all available features]' \
+ '--git=[URL from which to install the crate]' \
+ '(-h, --help)'{-h,--help}'[show help message]' \
+ '(-j, --jobs)'{-j,--jobs}'[number of parallel jobs, defaults to # of CPUs]' \
+ '--no-default-features[do not build the default features]' \
+ '--path=[local filesystem path to crate to install]' \
+ '(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
+ '--rev=[specific commit to use when installing from git]' \
+ '--root=[directory to install packages into]' \
+ '--tag=[tag to use when installing from git]' \
+ '(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
+ '--vers=[version to install from crates.io]' \
+ ;;
+
+ locate-project)
+ _arguments \
+ '(-h, --help)'{-h,--help}'[show help message]' \
+ '--manifest-path=[path to manifest]: :_files -/' \
+ ;;
+
+ login)
+ _arguments \
+ '(-h, --help)'{-h,--help}'[show help message]' \
+ '--host=[Host to set the token for]' \
+ '(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
+ '(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
+ '--color=:colorization option:(auto always never)' \
+ ;;
+
+ metadata)
+ _arguments \
+ '(-h, --help)'{-h,--help}'[show help message]' \
+ '(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
+ '(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
+ "--no-deps[output information only about the root package and don't fetch dependencies]" \
+ '--no-default-features[do not include the default feature]' \
+ '--manifest-path=[path to manifest]: :_files -/' \
+ '--features=[space separated feature list]' \
+ '--all-features[enable all available features]' \
+ '--format-version=[format version(default: 1)]' \
+ '--color=:colorization option:(auto always never)' \
+ ;;
+
+ new)
+ _arguments \
+ '--bin[use binary template]' \
+ '--vcs:initialize a new repo with a given VCS:(git hg none)' \
+ '(-h, --help)'{-h,--help}'[show help message]' \
+ '--name=[set the resulting package name]' \
+ '(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
+ '(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
+ '--color=:colorization option:(auto always never)' \
+ ;;
+
+ owner)
+ _arguments \
+ '(-a, --add)'{-a,--add}'[add owner LOGIN]' \
+ '(-h, --help)'{-h,--help}'[show help message]' \
+ '--index[registry index]' \
+ '(-l, --list)'{-l,--list}'[list owners of a crate]' \
+ '(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
+ '(-r, --remove)'{-r,--remove}'[remove owner LOGIN]' \
+ '--token[API token to use when authenticating]' \
+ '(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
+ '--color=:colorization option:(auto always never)' \
+ ;;
+
+ package)
+ _arguments \
+ '(-h, --help)'{-h,--help}'[show help message]' \
+ '(-l, --list)'{-l,--list}'[print files included in a package without making one]' \
+ '--manifest-path=[path to manifest]: :_files -/' \
+ '--no-metadata[ignore warnings about a lack of human-usable metadata]' \
+ '--no-verify[do not build to verify contents]' \
+ '(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
+ '(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
+ '--color=:colorization option:(auto always never)' \
+ ;;
+
+ pkgid)
+ _arguments \
+ '(-h, --help)'{-h,--help}'[show help message]' \
+ '--manifest-path=[path to manifest]: :_files -/' \
+ '(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
+ '(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
+ '--color=:colorization option:(auto always never)' \
+ ;;
+
+ publish)
+ _arguments \
+ '(-h, --help)'{-h,--help}'[show help message]' \
+ '--host=[Host to set the token for]' \
+ '--manifest-path=[path to manifest]: :_files -/' \
+ '--no-verify[Do not verify tarball until before publish]' \
+ '(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
+ '--token[token to use when uploading]' \
+ '(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
+ '--color=:colorization option:(auto always never)' \
+ ;;
+
+ read-manifest)
+ _arguments \
+ '(-h, --help)'{-h,--help}'[show help message]' \
+ '--manifest-path=[path to manifest]: :_files -/' \
+ '(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
+ '--color=:colorization option:(auto always never)' \
+ ;;
+
+ run)
+ _arguments \
+ '--example=[name of the bin target]' \
+ '--features=[space separated feature list]' \
+ '--all-features[enable all available features]' \
+ '(-h, --help)'{-h,--help}'[show help message]' \
+ '(-j, --jobs)'{-j,--jobs}'[number of parallel jobs, defaults to # of CPUs]' \
+ '--manifest-path=[path to manifest]: :_files -/' \
+ '--bin=[name of the bin target]' \
+ '--no-default-features[do not build the default features]' \
+ '(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
+ '--release=[build in release mode]' \
+ '--target=[target triple]' \
+ '(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
+ '--color=:colorization option:(auto always never)' \
+ '*: :_normal' \
+ ;;
+
+ rustc)
+ _arguments \
+ '--color=:colorization option:(auto always never)' \
+ '--features=[features to compile for the package]' \
+ '--all-features[enable all available features]' \
+ '(-h, --help)'{-h,--help}'[show help message]' \
+ '(-j, --jobs)'{-j,--jobs}'=[number of parallel jobs, defaults to # of CPUs]' \
+ '--manifest-path=[path to the manifest to fetch dependencies for]' \
+ '--no-default-features[do not compile default features for the package]' \
+ '(-p, --package)'{-p,--package}'=[profile to compile for]' \
+ '--profile=[profile to build the selected target for]' \
+ '(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
+ '--release[build artifacts in release mode, with optimizations]' \
+ '--target=[target triple which compiles will be for]' \
+ '(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
+ "${command_scope_spec[@]}" \
+ ;;
+
+ rustdoc)
+ _arguments \
+ '--color=:colorization option:(auto always never)' \
+ '--features=[space-separated list of features to also build]' \
+ '--all-features[enable all available features]' \
+ '(-h, --help)'{-h,--help}'[show help message]' \
+ '(-j, --jobs)'{-j,--jobs}'=[number of parallel jobs, defaults to # of CPUs]' \
+ '--manifest-path=[path to the manifest to document]' \
+ '--no-default-features[do not build the `default` feature]' \
+ '--open[open the docs in a browser after the operation]' \
+ '(-p, --package)'{-p,--package}'=[package to document]' \
+ '(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
+ '--release[build artifacts in release mode, with optimizations]' \
+ '--target=[build for the target triple]' \
+ '(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
+ "${command_scope_spec[@]}" \
+ ;;
+
+ search)
+ _arguments \
+ '--color=:colorization option:(auto always never)' \
+ '(-h, --help)'{-h,--help}'[show help message]' \
+ '--host=[host of a registry to search in]' \
+ '--limit=[limit the number of results]' \
+ '(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
+ '(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
+ ;;
+
+ test)
+ _arguments \
+ '--features=[space separated feature list]' \
+ '--all-features[enable all available features]' \
+ '(-h, --help)'{-h,--help}'[show help message]' \
+ '(-j, --jobs)'{-j,--jobs}'[number of parallel jobs, defaults to # of CPUs]' \
+ '--manifest-path=[path to manifest]: :_files -/' \
+ '--test=[test name]: :_test_names' \
+ '--no-default-features[do not build the default features]' \
+ '--no-fail-fast[run all tests regardless of failure]' \
+ '--no-run[compile but do not run]' \
+ '(-p,--package)'{-p=,--package=}'[package to run tests for]:packages:_get_package_names' \
+ '(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
+ '--release[build artifacts in release mode, with optimizations]' \
+ '--target=[target triple]' \
+ '(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
+ '--color=:colorization option:(auto always never)' \
+ '1: :_test_names' \
+ ;;
+
+ uninstall)
+ _arguments \
+ '--bin=[only uninstall the binary NAME]' \
+ '--color=:colorization option:(auto always never)' \
+ '(-h, --help)'{-h,--help}'[show help message]' \
+ '(-q, --quiet)'{-q,--quiet}'[less output printed to stdout]' \
+ '--root=[directory to uninstall packages from]' \
+ '(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
+ ;;
+
+ update)
+ _arguments \
+ '--aggressive=[force dependency update]' \
+ '(-h, --help)'{-h,--help}'[show help message]' \
+ '--manifest-path=[path to manifest]: :_files -/' \
+ '(-p,--package)'{-p=,--package=}'[package to update]:packages:__get_package_names' \
+ '--precise=[update single dependency to PRECISE]: :' \
+ '(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
+ '(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
+ '--color=:colorization option:(auto always never)' \
+ ;;
+
+ verify-project)
+ _arguments \
+ '(-h, --help)'{-h,--help}'[show help message]' \
+ '--manifest-path=[path to manifest]: :_files -/' \
+ '(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
+ '(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
+ '--color=:colorization option:(auto always never)' \
+ ;;
+
+ version)
+ _arguments \
+ '(-h, --help)'{-h,--help}'[show help message]' \
+ '(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
+ '--color=:colorization option:(auto always never)' \
+ ;;
+
+ yank)
+ _arguments \
+ '(-h, --help)'{-h,--help}'[show help message]' \
+ '--index[registry index]' \
+ '(-q, --quiet)'{-q,--quiet}'[no output printed to stdout]' \
+ '--token[API token to use when authenticating]' \
+ '--undo[undo a yank, putting a version back into the index]' \
+ '(-v, --verbose)'{-v,--verbose}'[use verbose output]' \
+ '--color=:colorization option:(auto always never)' \
+ '--vers[yank version]' \
+ ;;
+ esac
+ ;;
+esac
+}
+
+_cargo_cmds(){
+local -a commands;commands=(
+'bench:execute all benchmarks of a local package'
+'build:compile the current project'
+'clean:remove generated artifacts'
+'doc:build package documentation'
+'fetch:fetch package dependencies'
+'generate-lockfile:create lockfile'
+'git-checkout:git checkout'
+'help:get help for commands'
+'init:create new project in current directory'
+'install:install a Rust binary'
+'locate-project:print "Cargo.toml" location'
+'login:login to remote server'
+'metadata:the metadata for a project in json'
+'new:create a new project'
+'owner:manage the owners of a crate on the registry'
+'package:assemble local package into a distributable tarball'
+'pkgid:print a fully qualified package specification'
+'publish:upload package to the registry'
+'read-manifest:print manifest in JSON format'
+'run:run the main binary of the local package'
+'rustc:compile a package and all of its dependencies'
+'rustdoc:build documentation for a package'
+'search:search packages on crates.io'
+'test:execute all unit and tests of a local package'
+'uninstall:remove a Rust binary'
+'update:update dependencies'
+'verify-project:check Cargo.toml'
+'version:show version information'
+'yank:remove pushed file from index'
+)
+_describe 'command' commands
+
+}
+
+
+#FIXME: Disabled until fixed
+#gets package names from the manifest file
+_get_package_names()
+{
+}
+
+#TODO:see if it makes sense to have 'locate-project' to have non-json output.
+#strips package name from json stuff
+_locate_manifest(){
+local manifest=`cargo locate-project 2>/dev/null`
+regexp-replace manifest '\{"root":"|"\}' ''
+echo $manifest
+}
+
+# Extracts the values of "name" from the array given in $1 and shows them as
+# command line options for completion
+_get_names_from_array()
+{
+ local -a filelist;
+ local manifest=$(_locate_manifest)
+ if [[ -z $manifest ]]; then
+ return 0
+ fi
+
+ local last_line
+ local -a names;
+ local in_block=false
+ local block_name=$1
+ names=()
+ while read line
+ do
+ if [[ $last_line == "[[$block_name]]" ]]; then
+ in_block=true
+ else
+ if [[ $last_line =~ '.*\[\[.*' ]]; then
+ in_block=false
+ fi
+ fi
+
+ if [[ $in_block == true ]]; then
+ if [[ $line =~ '.*name.*=' ]]; then
+ regexp-replace line '^.*name *= *|"' ""
+ names+=$line
+ fi
+ fi
+
+ last_line=$line
+ done < $manifest
+ _describe $block_name names
+
+}
+
+#Gets the test names from the manifest file
+_test_names()
+{
+ _get_names_from_array "test"
+}
+
+#Gets the bench names from the manifest file
+_benchmark_names()
+{
+ _get_names_from_array "bench"
+}
+
+# These flags are mutally exclusive specifiers for the scope of a command; as
+# they are used in multiple places without change, they are expanded into the
+# appropriate command's `_arguments` where appropriate.
+set command_scope_spec
+command_scope_spec=(
+ '(--bin --example --test --lib)--bench=[benchmark name]: :_benchmark_names'
+ '(--bench --bin --test --lib)--example=[example name]'
+ '(--bench --example --test --lib)--bin=[binary name]'
+ '(--bench --bin --example --test)--lib=[library name]'
+ '(--bench --bin --example --lib)--test=[test name]'
+)
+
+
+_cargo
diff --git a/plugins/cargo/cargo.plugin.zsh b/plugins/cargo/cargo.plugin.zsh
deleted file mode 100644
index e1dc953dd..000000000
--- a/plugins/cargo/cargo.plugin.zsh
+++ /dev/null
@@ -1,22 +0,0 @@
-function _cargo_commands() {
- local ret=1 state
- _arguments ':subcommand:->subcommand' && ret=0
-
- case $state in
- subcommand)
- subcommands=(
- "build:Build the current project"
- "clean:Clean up after a build"
- "help:Help about available commands"
- "new:Create a new project"
- "test:Run the tests"
- "update:Updates list of known packages"
- "run:Builds and runs the currecnt project"
- )
- _describe -t subcommands 'cargo subcommands' subcommands && ret=0
- esac
-
- return ret
-}
-
-compdef _cargo_commands cargo
From 16bd691b3bd5ca9319e677b66096337e9bac1795 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Tue, 4 Oct 2016 00:17:38 +0200
Subject: [PATCH 202/294] Add README for the cargo plugin
---
plugins/cargo/README.md | 11 +++++++++++
1 file changed, 11 insertions(+)
create mode 100644 plugins/cargo/README.md
diff --git a/plugins/cargo/README.md b/plugins/cargo/README.md
new file mode 100644
index 000000000..5fa688d21
--- /dev/null
+++ b/plugins/cargo/README.md
@@ -0,0 +1,11 @@
+# cargo
+
+This plugin adds completion for the Rust build tool [`cargo`](https://github.com/rust-lang/cargo).
+
+To use it, add `cargo` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... cargo)
+```
+
+Updated on October 4th, 2016.
From 2a0223370a2e5bae604344a735ad7b53f30b0cab Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20Ordon?=
Date: Mon, 3 Oct 2016 23:37:35 +0100
Subject: [PATCH 203/294] Add an alias for React Native Link command (#5491)
---
plugins/react-native/react-native.plugin.zsh | 1 +
1 file changed, 1 insertion(+)
diff --git a/plugins/react-native/react-native.plugin.zsh b/plugins/react-native/react-native.plugin.zsh
index 7323f1d2e..9463a98b3 100644
--- a/plugins/react-native/react-native.plugin.zsh
+++ b/plugins/react-native/react-native.plugin.zsh
@@ -3,4 +3,5 @@ alias rnios4s='react-native run-ios --simulator "iPhone 4s"'
alias rnios5='react-native run-ios --simulator "iPhone 5"'
alias rnios5s='react-native run-ios --simulator "iPhone 5s"'
alias rnios='react-native run-ios'
+alias rnlink='react-native link'
From d57f36dab82b332be6fd7362c0916b226709834b Mon Sep 17 00:00:00 2001
From: Mats Faugli
Date: Tue, 4 Oct 2016 00:47:59 +0200
Subject: [PATCH 204/294] Add jgitflow maven goals (#5489)
---
plugins/mvn/mvn.plugin.zsh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/plugins/mvn/mvn.plugin.zsh b/plugins/mvn/mvn.plugin.zsh
index 625aad949..04bd186af 100644
--- a/plugins/mvn/mvn.plugin.zsh
+++ b/plugins/mvn/mvn.plugin.zsh
@@ -110,6 +110,8 @@ function listMavenCompletions {
help:active-profiles help:all-profiles help:describe help:effective-pom help:effective-settings help:evaluate help:expressions help:system
# release
release:clean release:prepare release:rollback release:perform release:stage release:branch release:update-versions
+ # jgitflow
+ jgitflow:feature-start jgitflow:feature-finish jgitflow:release-start jgitflow:release-finish jgitflow:hotfix-start jgitflow:hotfix-finish jgitflow:build-number
# repository
repository:bundle-create repository:bundle-pack
# source
From 81981ef248e6e05d11affd4fca40bcfb98306b0e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Tue, 4 Oct 2016 01:03:16 +0200
Subject: [PATCH 205/294] Fix cp plugin completion and refactor (#5427)
* cp plugin: change cpv to function so that completion works
* cp plugin: show numbers in units of 1024 (K,M,G,T)
Use `-h` level (3): output numbers in units of 1024.
See the manpage of rsync for more information.
* cp plugin: add a README file
* cp plugin: recurse directories
* cp plugin: remove `--` to separate files from options
This has some undesired effects, like having `cpv --help` be a file
not found error.
Use `--` yourself if you need it (which you generally don't):
```zsh
cpv -- -some-file-with-hyphens.txt /tmp
```
Added this same info to the README.
---
plugins/cp/README.md | 32 ++++++++++++++++++++++++++++++++
plugins/cp/cp.plugin.zsh | 18 ++++--------------
2 files changed, 36 insertions(+), 14 deletions(-)
create mode 100644 plugins/cp/README.md
diff --git a/plugins/cp/README.md b/plugins/cp/README.md
new file mode 100644
index 000000000..e8a9b6ccc
--- /dev/null
+++ b/plugins/cp/README.md
@@ -0,0 +1,32 @@
+# cp plugin
+
+This plugin defines a `cpv` function that uses `rsync` so that you
+get the features and security of this command.
+
+To enable, add `cp` to your `plugins` array in your zshrc file:
+
+```zsh
+plugins=(... cp)
+```
+
+## Description
+
+The enabled options for rsync are:
+
+- `-p`: preserves permissions.
+
+- `-o`: preserves owner.
+
+* `-g`: preserves group.
+
+* `-b`: make a backup of the original file instead of overwriting it, if it exists.
+
+* `-r`: recurse directories.
+
+* `-hhh`: outputs numbers in human-readable format, in units of 1024 (K, M, G, T).
+
+* `--backup-dir=/tmp/rsync`: move backup copies to "/tmp/rsync".
+
+* `-e /dev/null`: only work on local files (disable remote shells).
+
+* `--progress`: display progress.
diff --git a/plugins/cp/cp.plugin.zsh b/plugins/cp/cp.plugin.zsh
index 7355a9990..fe6ea87a8 100644
--- a/plugins/cp/cp.plugin.zsh
+++ b/plugins/cp/cp.plugin.zsh
@@ -1,14 +1,4 @@
-#Show progress while file is copying
-
-# Rsync options are:
-# -p - preserve permissions
-# -o - preserve owner
-# -g - preserve group
-# -h - output in human-readable format
-# --progress - display progress
-# -b - instead of just overwriting an existing file, save the original
-# --backup-dir=/tmp/rsync - move backup copies to "/tmp/rsync"
-# -e /dev/null - only work on local files
-# -- - everything after this is an argument, even if it looks like an option
-
-alias cpv="rsync -poghb --backup-dir=/tmp/rsync -e /dev/null --progress --"
+cpv() {
+ rsync -pogbr -hhh --backup-dir=/tmp/rsync -e /dev/null --progress "$@"
+}
+compdef _files cpv
From efa7c7b7ff72953368dfaba979e3014826bf1837 Mon Sep 17 00:00:00 2001
From: Hong Xu
Date: Sun, 2 Oct 2016 19:15:57 -0700
Subject: [PATCH 206/294] set better default colors for GNU ls instead of none.
GNU coreutils ship a color setup command by default which can be used to
set a good default color theme for ls:
https://www.gnu.org/software/coreutils/manual/html_node/dircolors-invocation.html
---
lib/theme-and-appearance.zsh | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/lib/theme-and-appearance.zsh b/lib/theme-and-appearance.zsh
index 5c5bb0e6d..585f872e1 100644
--- a/lib/theme-and-appearance.zsh
+++ b/lib/theme-and-appearance.zsh
@@ -5,7 +5,7 @@ export LSCOLORS="Gxfxcxdxbxegedabagacad"
# Enable ls colors
if [ "$DISABLE_LS_COLORS" != "true" ]
then
- # Find the option for using colors in ls, depending on the version: Linux or BSD
+ # Find the option for using colors in ls, depending on the version: GNU or BSD
if [[ "$(uname -s)" == "NetBSD" ]]; then
# On NetBSD, test if "gls" (GNU ls) is installed (this one supports colors);
# otherwise, leave ls as is, because NetBSD's ls doesn't support -G
@@ -18,6 +18,8 @@ then
gls --color -d . &>/dev/null 2>&1 && alias ls='gls --color=tty'
colorls -G -d . &>/dev/null 2>&1 && alias ls='colorls -G'
else
+ # For GNU ls, we use the default ls color theme. They can later be overwritten by themes.
+ type dircolors >/dev/null 2>&1 && eval "$(dircolors)"
ls --color -d . &>/dev/null 2>&1 && alias ls='ls --color=tty' || alias ls='ls -G'
fi
fi
From 6c08286c8e0ca4d2b48679d2692f0ce4ac443f4c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Tue, 4 Oct 2016 01:25:07 +0200
Subject: [PATCH 207/294] Use `$commands[]` to check for command existence
---
lib/theme-and-appearance.zsh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lib/theme-and-appearance.zsh b/lib/theme-and-appearance.zsh
index 585f872e1..43e245e16 100644
--- a/lib/theme-and-appearance.zsh
+++ b/lib/theme-and-appearance.zsh
@@ -19,7 +19,8 @@ then
colorls -G -d . &>/dev/null 2>&1 && alias ls='colorls -G'
else
# For GNU ls, we use the default ls color theme. They can later be overwritten by themes.
- type dircolors >/dev/null 2>&1 && eval "$(dircolors)"
+ (( $+commands[dircolors] )) && eval "$(dircolors)"
+
ls --color -d . &>/dev/null 2>&1 && alias ls='ls --color=tty' || alias ls='ls -G'
fi
fi
From 6304a789ab280e4a6e984faedd4b046f703327e8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Tue, 4 Oct 2016 01:25:36 +0200
Subject: [PATCH 208/294] Only set default LS_COLORS if not set before
Also, force the use of Bourne-style shell syntax with `dircolors -b`.
---
lib/theme-and-appearance.zsh | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/lib/theme-and-appearance.zsh b/lib/theme-and-appearance.zsh
index 43e245e16..621cd067b 100644
--- a/lib/theme-and-appearance.zsh
+++ b/lib/theme-and-appearance.zsh
@@ -19,7 +19,9 @@ then
colorls -G -d . &>/dev/null 2>&1 && alias ls='colorls -G'
else
# For GNU ls, we use the default ls color theme. They can later be overwritten by themes.
- (( $+commands[dircolors] )) && eval "$(dircolors)"
+ if [[ -z "$LS_COLORS" ]]; then
+ (( $+commands[dircolors] )) && eval "$(dircolors -b)"
+ fi
ls --color -d . &>/dev/null 2>&1 && alias ls='ls --color=tty' || alias ls='ls -G'
fi
From c2e3a410ea7975f72bf7f0d5b4550ac4375b1e10 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Tue, 4 Oct 2016 01:24:48 +0200
Subject: [PATCH 209/294] Fix style of theme-and-appearance.zsh
---
lib/theme-and-appearance.zsh | 27 ++++++++++-----------------
1 file changed, 10 insertions(+), 17 deletions(-)
diff --git a/lib/theme-and-appearance.zsh b/lib/theme-and-appearance.zsh
index 621cd067b..a3bb24677 100644
--- a/lib/theme-and-appearance.zsh
+++ b/lib/theme-and-appearance.zsh
@@ -1,41 +1,37 @@
# ls colors
autoload -U colors && colors
-export LSCOLORS="Gxfxcxdxbxegedabagacad"
# Enable ls colors
-if [ "$DISABLE_LS_COLORS" != "true" ]
-then
- # Find the option for using colors in ls, depending on the version: GNU or BSD
+export LSCOLORS="Gxfxcxdxbxegedabagacad"
+
+if [[ "$DISABLE_LS_COLORS" != "true" ]]; then
+ # Find the option for using colors in ls, depending on the version
if [[ "$(uname -s)" == "NetBSD" ]]; then
# On NetBSD, test if "gls" (GNU ls) is installed (this one supports colors);
# otherwise, leave ls as is, because NetBSD's ls doesn't support -G
- gls --color -d . &>/dev/null 2>&1 && alias ls='gls --color=tty'
+ gls --color -d . &>/dev/null && alias ls='gls --color=tty'
elif [[ "$(uname -s)" == "OpenBSD" ]]; then
# On OpenBSD, "gls" (ls from GNU coreutils) and "colorls" (ls from base,
# with color and multibyte support) are available from ports. "colorls"
# will be installed on purpose and can't be pulled in by installing
# coreutils, so prefer it to "gls".
- gls --color -d . &>/dev/null 2>&1 && alias ls='gls --color=tty'
- colorls -G -d . &>/dev/null 2>&1 && alias ls='colorls -G'
+ gls --color -d . &>/dev/null && alias ls='gls --color=tty'
+ colorls -G -d . &>/dev/null && alias ls='colorls -G'
else
# For GNU ls, we use the default ls color theme. They can later be overwritten by themes.
if [[ -z "$LS_COLORS" ]]; then
(( $+commands[dircolors] )) && eval "$(dircolors -b)"
fi
- ls --color -d . &>/dev/null 2>&1 && alias ls='ls --color=tty' || alias ls='ls -G'
+ ls --color -d . &>/dev/null && alias ls='ls --color=tty' || alias ls='ls -G'
fi
fi
setopt auto_cd
setopt multios
+setopt prompt_subst
-if [[ x$WINDOW != x ]]
-then
- SCREEN_NO="%B$WINDOW%b "
-else
- SCREEN_NO=""
-fi
+[[ -n "$WINDOW" ]] && SCREEN_NO="%B$WINDOW%b " || SCREEN_NO=""
# Apply theming defaults
PS1="%n@%m:%~%# "
@@ -45,6 +41,3 @@ ZSH_THEME_GIT_PROMPT_PREFIX="git:(" # Prefix at the very beginning of th
ZSH_THEME_GIT_PROMPT_SUFFIX=")" # At the very end of the prompt
ZSH_THEME_GIT_PROMPT_DIRTY="*" # Text to display if the branch is dirty
ZSH_THEME_GIT_PROMPT_CLEAN="" # Text to display if the branch is clean
-
-# Setup the prompt with pretty colors
-setopt prompt_subst
From 86126233bb5bb99ced64b95c16a4e4ed776fd8de Mon Sep 17 00:00:00 2001
From: slavaGanzin
Date: Tue, 4 Oct 2016 12:21:18 +0300
Subject: [PATCH 210/294] specify globalias modes
---
plugins/globalias/globalias.plugin.zsh | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/plugins/globalias/globalias.plugin.zsh b/plugins/globalias/globalias.plugin.zsh
index 95a0e3072..bac657c47 100644
--- a/plugins/globalias/globalias.plugin.zsh
+++ b/plugins/globalias/globalias.plugin.zsh
@@ -4,8 +4,11 @@ globalias() {
zle self-insert
}
zle -N globalias
-bindkey -e " " globalias
-bindkey -v " " globalias
-bindkey -e "^ " magic-space # control-space to bypass completion
-bindkey -v "^ " magic-space
-bindkey -M isearch " " magic-space # normal space during searches
+
+# space expands all global aliases
+bindkey -M emacs " " globalias
+bindkey -M viins " " globalias
+
+# control-space to make a normal space
+bindkey -M emacs "^ " magic-space
+bindkey -M viins "^ " magic-space
From 75f87dd24ec60bd243ffbe7c9dbd1daec5b51ae2 Mon Sep 17 00:00:00 2001
From: slavaGanzin
Date: Tue, 4 Oct 2016 14:03:37 +0300
Subject: [PATCH 211/294] README for globalias
---
plugins/globalias/README.md | 37 ++++++++++++++++++++++++++
plugins/globalias/globalias.plugin.zsh | 3 +++
2 files changed, 40 insertions(+)
create mode 100644 plugins/globalias/README.md
diff --git a/plugins/globalias/README.md b/plugins/globalias/README.md
new file mode 100644
index 000000000..db2e5bee0
--- /dev/null
+++ b/plugins/globalias/README.md
@@ -0,0 +1,37 @@
+#Globalias
+
+
+Expands all globes, backtick expressions and aliases(including global).
+
+```
+$ touch {1..10}
+#expands to
+$ touch 1 2 3 4 5 6 7 8 9 10
+
+$ mkdir "`date -R`"
+#expands to
+$ mkdir Tue,\ 04\ Oct\ 2016\ 13:54:03\ +0300
+
+#.zshrc:
+alias -g G="| grep --color=auto -P"
+alias l='ls --color=auto -lah'
+
+$ lG
+#expands to
+$ ls --color=auto -lah | grep --color=auto -P
+
+ls **/*.json
+#expands to
+ls folder/file.json anotherfolder/another.json
+```
+
+####Returns autocompletion to your custom aliases:
+```
+#.zsrc
+alias S="sudo systemctl"
+
+$ S
+#expands to:
+sudo systemctl s
+#trigger autocompletion
+```
diff --git a/plugins/globalias/globalias.plugin.zsh b/plugins/globalias/globalias.plugin.zsh
index bac657c47..bf4cfc030 100644
--- a/plugins/globalias/globalias.plugin.zsh
+++ b/plugins/globalias/globalias.plugin.zsh
@@ -12,3 +12,6 @@ bindkey -M viins " " globalias
# control-space to make a normal space
bindkey -M emacs "^ " magic-space
bindkey -M viins "^ " magic-space
+
+# normal space during searches
+bindkey -M isearch " " magic-space
From 6eaa868cd9ad8447973a53f09453121d58366a6a Mon Sep 17 00:00:00 2001
From: slavaGanzin
Date: Tue, 4 Oct 2016 14:05:41 +0300
Subject: [PATCH 212/294] fix comment
---
plugins/globalias/globalias.plugin.zsh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/globalias/globalias.plugin.zsh b/plugins/globalias/globalias.plugin.zsh
index bf4cfc030..9602a9606 100644
--- a/plugins/globalias/globalias.plugin.zsh
+++ b/plugins/globalias/globalias.plugin.zsh
@@ -5,7 +5,7 @@ globalias() {
}
zle -N globalias
-# space expands all global aliases
+# space expands all aliases, including global
bindkey -M emacs " " globalias
bindkey -M viins " " globalias
From f701b4de0fb55b71e2cfb17522a08fba741ff170 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Tue, 4 Oct 2016 13:55:11 +0200
Subject: [PATCH 213/294] Fix formatting and usage section
Also:
- Changes `globes` (which doesn't exist) to `glob expressions`.
- Delete the `trigger autocompletion to your current aliases` use case, since that's not
really implemented.
---
plugins/globalias/README.md | 55 +++++++++++++++++++++++++++----------
1 file changed, 40 insertions(+), 15 deletions(-)
diff --git a/plugins/globalias/README.md b/plugins/globalias/README.md
index db2e5bee0..ba9888ccb 100644
--- a/plugins/globalias/README.md
+++ b/plugins/globalias/README.md
@@ -1,37 +1,62 @@
-#Globalias
+# Globalias plugin
+Expands all glob expressions, subcommands and aliases (including global).
-Expands all globes, backtick expressions and aliases(including global).
+Idea from: http://blog.patshead.com/2012/11/automatically-expaning-zsh-global-aliases---simplified.html.
+
+## Usage
+
+Add `globalias` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... globalias)
+```
+
+Then just press `SPACE` to trigger the expansion of a command you've written.
+
+If you only want to insert a space without expanding the command line, press
+`CTRL`+`SPACE`.
+
+## Examples
+
+#### Glob expressions
```
$ touch {1..10}
-#expands to
+# expands to
$ touch 1 2 3 4 5 6 7 8 9 10
+$ ls **/*.json
+# expands to
+$ ls folder/file.json anotherfolder/another.json
+```
+
+#### Subcommands
+
+```
$ mkdir "`date -R`"
-#expands to
+# expands to
$ mkdir Tue,\ 04\ Oct\ 2016\ 13:54:03\ +0300
-#.zshrc:
+```
+
+#### Aliases
+
+```
+# .zshrc:
alias -g G="| grep --color=auto -P"
alias l='ls --color=auto -lah'
$ lG
-#expands to
+# expands to
$ ls --color=auto -lah | grep --color=auto -P
-
-ls **/*.json
-#expands to
-ls folder/file.json anotherfolder/another.json
```
-####Returns autocompletion to your custom aliases:
```
-#.zsrc
+# .zsrc:
alias S="sudo systemctl"
$ S
-#expands to:
-sudo systemctl s
-#trigger autocompletion
+# expands to:
+$ sudo systemctl
```
From 3cc61701bd7fd0a3fa6cb3c70f2b927a1e51970a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Tue, 4 Oct 2016 13:56:25 +0200
Subject: [PATCH 214/294] Update per-directory-history plugin to latest version
(#5493)
Latest version: February 17, 2016 - dd81201
---
plugins/per-directory-history/README.md | 5 ++---
.../per-directory-history/per-directory-history.zsh | 12 +++++++-----
2 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/plugins/per-directory-history/README.md b/plugins/per-directory-history/README.md
index d8ff93dc0..196f74e6c 100644
--- a/plugins/per-directory-history/README.md
+++ b/plugins/per-directory-history/README.md
@@ -27,9 +27,8 @@ Usage
2. The default mode if per directory history, interact with your history as normal.
3. Press ^G (the Control and G keys simultaneously) to toggle between local
- and global histories.
-
-
+ and global histories. If you would prefer a different shortcut to toggle
+ set the PER_DIRECTORY_HISTORY_TOGGLE environment variable.
-------------------------------------------------------------------------------
Configuration
diff --git a/plugins/per-directory-history/per-directory-history.zsh b/plugins/per-directory-history/per-directory-history.zsh
index bdee341bd..1242dc420 100644
--- a/plugins/per-directory-history/per-directory-history.zsh
+++ b/plugins/per-directory-history/per-directory-history.zsh
@@ -30,7 +30,7 @@
#
################################################################################
#
-# Copyright (c) 2012 Jim Hester
+# Copyright (c) 2014 Jim Hester
#
# This software is provided 'as-is', without any express or implied warranty.
# In no event will the authors be held liable for any damages arising from the
@@ -57,6 +57,7 @@
#-------------------------------------------------------------------------------
[[ -z $HISTORY_BASE ]] && HISTORY_BASE="$HOME/.directory_history"
+[[ -z $PER_DIRECTORY_HISTORY_TOGGLE ]] && PER_DIRECTORY_HISTORY_TOGGLE='^G'
#-------------------------------------------------------------------------------
# toggle global/directory history used for searching - ctrl-G by default
@@ -76,7 +77,7 @@ function per-directory-history-toggle-history() {
autoload per-directory-history-toggle-history
zle -N per-directory-history-toggle-history
-bindkey '^G' per-directory-history-toggle-history
+bindkey $PER_DIRECTORY_HISTORY_TOGGLE per-directory-history-toggle-history
#-------------------------------------------------------------------------------
# implementation details
@@ -108,7 +109,7 @@ function _per-directory-history-change-directory() {
}
function _per-directory-history-addhistory() {
- print -Sr -- ${1%%$'\n'}
+ print -Sr -- "${1%%$'\n'}"
fc -p $_per_directory_history_directory
}
@@ -140,8 +141,9 @@ function _per-directory-history-set-global-history() {
#add functions to the exec list for chpwd and zshaddhistory
-chpwd_functions=(${chpwd_functions[@]} "_per-directory-history-change-directory")
-zshaddhistory_functions=(${zshaddhistory_functions[@]} "_per-directory-history-addhistory")
+autoload -U add-zsh-hook
+add-zsh-hook chpwd _per-directory-history-change-directory
+add-zsh-hook zshaddhistory _per-directory-history-addhistory
#start in directory mode
mkdir -p ${_per_directory_history_directory:h}
From 7f9b7733507d57a6cd4f38d0c0db830647c1940d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Tue, 4 Oct 2016 17:23:20 +0200
Subject: [PATCH 215/294] Fix compdef commands in git plugin
The command `compdef command=git` returns an error in some cases, the
appropriate command is `compdef _git command`.
Fixes #5442
---
plugins/git/git.plugin.zsh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh
index 28fb253dd..178f1deb2 100644
--- a/plugins/git/git.plugin.zsh
+++ b/plugins/git/git.plugin.zsh
@@ -76,7 +76,7 @@ alias gcd='git checkout develop'
alias gcmsg='git commit -m'
alias gco='git checkout'
alias gcount='git shortlog -sn'
-compdef gcount=git
+compdef _git gcount
alias gcp='git cherry-pick'
alias gcpa='git cherry-pick --abort'
alias gcpc='git cherry-pick --continue'
@@ -159,7 +159,7 @@ alias ghh='git help'
alias gignore='git update-index --assume-unchanged'
alias gignored='git ls-files -v | grep "^[[:lower:]]"'
alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk'
-compdef git-svn-dcommit-push=git
+compdef _git git-svn-dcommit-push=git
alias gk='\gitk --all --branches'
compdef _git gk='gitk'
From d69f2850afc189310b40141c839480b42f71775c Mon Sep 17 00:00:00 2001
From: diego
Date: Fri, 7 Oct 2016 23:54:54 +0200
Subject: [PATCH 216/294] Add non 0 exit code for missing jump targets (#5500)
This allows for the user to combine the jump command with something else. In my example cd and jump are now combined like this:
```bash
jumpcd() {
jump $1 > /dev/null || cd $1
}
alias cd="jumpcd"
```
---
plugins/jump/jump.plugin.zsh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/jump/jump.plugin.zsh b/plugins/jump/jump.plugin.zsh
index e58e7373d..86d9553a2 100644
--- a/plugins/jump/jump.plugin.zsh
+++ b/plugins/jump/jump.plugin.zsh
@@ -9,7 +9,7 @@
export MARKPATH=$HOME/.marks
jump() {
- cd -P "$MARKPATH/$1" 2>/dev/null || echo "No such mark: $1"
+ cd -P "$MARKPATH/$1" 2>/dev/null || {echo "No such mark: $1"; return 1}
}
mark() {
From cd37d19ddaf9cc5acbf443f93f88ca355f74090d Mon Sep 17 00:00:00 2001
From: Florian Boulay
Date: Sat, 8 Oct 2016 08:26:10 +0200
Subject: [PATCH 217/294] Add m4a format in the common aliases plugin (#5502)
The m4a file format can be opened in the command line with mplayer
---
plugins/common-aliases/common-aliases.plugin.zsh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/common-aliases/common-aliases.plugin.zsh b/plugins/common-aliases/common-aliases.plugin.zsh
index c7aafd8b8..128db6e5f 100644
--- a/plugins/common-aliases/common-aliases.plugin.zsh
+++ b/plugins/common-aliases/common-aliases.plugin.zsh
@@ -63,7 +63,7 @@ if is-at-least 4.2.0; then
_image_fts=(jpg jpeg png gif mng tiff tif xpm)
for ft in $_image_fts ; do alias -s $ft=$XIVIEWER; done
- _media_fts=(ape avi flv mkv mov mp3 mpeg mpg ogg ogm rm wav webm)
+ _media_fts=(ape avi flv m4a mkv mov mp3 mpeg mpg ogg ogm rm wav webm)
for ft in $_media_fts ; do alias -s $ft=mplayer ; done
#read documents
From 3be4108d722269720c71138a211dd744ade66f5d Mon Sep 17 00:00:00 2001
From: Michel Filipe
Date: Sun, 9 Oct 2016 14:36:47 -0300
Subject: [PATCH 218/294] remove duplicate alias (#5508)
Removing one "apt-get autoremove" alias because it is duplicated.
---
plugins/ubuntu/ubuntu.plugin.zsh | 2 --
1 file changed, 2 deletions(-)
diff --git a/plugins/ubuntu/ubuntu.plugin.zsh b/plugins/ubuntu/ubuntu.plugin.zsh
index d924f8861..ffde284fe 100644
--- a/plugins/ubuntu/ubuntu.plugin.zsh
+++ b/plugins/ubuntu/ubuntu.plugin.zsh
@@ -29,7 +29,6 @@ compdef _ppap ppap='sudo ppa-purge'
alias ag='sudo apt-get' # age - but without sudo
alias aga='sudo apt-get autoclean' # aac
-alias agar='sudo apt-get autoremove'
alias agb='sudo apt-get build-dep' # abd
alias agc='sudo apt-get clean' # adc
alias agd='sudo apt-get dselect-upgrade' # ads
@@ -44,7 +43,6 @@ alias agar='sudo apt-get autoremove'
compdef _ag ag='sudo apt-get'
compdef _aga aga='sudo apt-get autoclean'
-compdef _agar agar='sudo apt-get autoremove'
compdef _agb agb='sudo apt-get build-dep'
compdef _agc agc='sudo apt-get clean'
compdef _agd agd='sudo apt-get dselect-upgrade'
From 98cd3973d23dfb83aa60f5d11bbb31e2dc714fad Mon Sep 17 00:00:00 2001
From: Hong
Date: Mon, 10 Oct 2016 11:40:17 -0700
Subject: [PATCH 219/294] Take advantage of LS_COLORS for the color of
completion if GNU ls is used. (#5510)
---
lib/theme-and-appearance.zsh | 3 +++
1 file changed, 3 insertions(+)
diff --git a/lib/theme-and-appearance.zsh b/lib/theme-and-appearance.zsh
index a3bb24677..12bcd2849 100644
--- a/lib/theme-and-appearance.zsh
+++ b/lib/theme-and-appearance.zsh
@@ -24,6 +24,9 @@ if [[ "$DISABLE_LS_COLORS" != "true" ]]; then
fi
ls --color -d . &>/dev/null && alias ls='ls --color=tty' || alias ls='ls -G'
+
+ # Take advantage of $LS_COLORS for completion as well.
+ zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
fi
fi
From a56eac7a71a774a4d97bb9456f36b8eb495329d5 Mon Sep 17 00:00:00 2001
From: Hong
Date: Mon, 10 Oct 2016 13:24:30 -0700
Subject: [PATCH 220/294] Use OSTYPE instead of uname whenever possible for
better speed. (#5496)
---
lib/theme-and-appearance.zsh | 4 ++--
plugins/battery/battery.plugin.zsh | 2 +-
plugins/gitfast/git-completion.bash | 2 +-
plugins/sublime/sublime.plugin.zsh | 2 +-
plugins/zsh-navigation-tools/_n-kill | 4 ++--
plugins/zsh-navigation-tools/n-kill | 4 ++--
6 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/lib/theme-and-appearance.zsh b/lib/theme-and-appearance.zsh
index 12bcd2849..039a59d2a 100644
--- a/lib/theme-and-appearance.zsh
+++ b/lib/theme-and-appearance.zsh
@@ -6,11 +6,11 @@ export LSCOLORS="Gxfxcxdxbxegedabagacad"
if [[ "$DISABLE_LS_COLORS" != "true" ]]; then
# Find the option for using colors in ls, depending on the version
- if [[ "$(uname -s)" == "NetBSD" ]]; then
+ if [[ "$OSTYPE" == netbsd* ]]; then
# On NetBSD, test if "gls" (GNU ls) is installed (this one supports colors);
# otherwise, leave ls as is, because NetBSD's ls doesn't support -G
gls --color -d . &>/dev/null && alias ls='gls --color=tty'
- elif [[ "$(uname -s)" == "OpenBSD" ]]; then
+ elif [[ "$OSTYPE" == openbsd* ]]; then
# On OpenBSD, "gls" (ls from GNU coreutils) and "colorls" (ls from base,
# with color and multibyte support) are available from ports. "colorls"
# will be installed on purpose and can't be pulled in by installing
diff --git a/plugins/battery/battery.plugin.zsh b/plugins/battery/battery.plugin.zsh
index 0bb9e77f0..da229cf35 100644
--- a/plugins/battery/battery.plugin.zsh
+++ b/plugins/battery/battery.plugin.zsh
@@ -64,7 +64,7 @@ if [[ "$OSTYPE" = darwin* ]] ; then
[[ $(ioreg -rc "AppleSmartBattery"| grep '^.*"IsCharging"\ =\ ' | sed -e 's/^.*"IsCharging"\ =\ //') == "Yes" ]]
}
-elif [[ $(uname) == "Linux" ]] ; then
+elif [[ "$OSTYPE" = linux* ]] ; then
function battery_is_charging() {
! [[ $(acpi 2>/dev/null | grep -c '^Battery.*Discharging') -gt 0 ]]
diff --git a/plugins/gitfast/git-completion.bash b/plugins/gitfast/git-completion.bash
index e3918c87e..8ce6b5c5f 100644
--- a/plugins/gitfast/git-completion.bash
+++ b/plugins/gitfast/git-completion.bash
@@ -2771,6 +2771,6 @@ __git_complete gitk __gitk_main
# when the user has tab-completed the executable name and consequently
# included the '.exe' suffix.
#
-if [ Cygwin = "$(uname -o 2>/dev/null)" ]; then
+if [[ "$OSTYPE" = cygwin* ]]; then
__git_complete git.exe __git_main
fi
diff --git a/plugins/sublime/sublime.plugin.zsh b/plugins/sublime/sublime.plugin.zsh
index 75a39eab1..f84b7032a 100644
--- a/plugins/sublime/sublime.plugin.zsh
+++ b/plugins/sublime/sublime.plugin.zsh
@@ -1,4 +1,4 @@
-if [[ $('uname') == 'Linux' ]]; then
+if [[ "$OSTYPE" == linux* ]]; then
local _sublime_linux_paths > /dev/null 2>&1
_sublime_linux_paths=(
"$HOME/bin/sublime_text"
diff --git a/plugins/zsh-navigation-tools/_n-kill b/plugins/zsh-navigation-tools/_n-kill
index 8a4ec9da7..6f5d47971 100644
--- a/plugins/zsh-navigation-tools/_n-kill
+++ b/plugins/zsh-navigation-tools/_n-kill
@@ -10,8 +10,8 @@ integer cygwin=0
local IFS="
"
-case "$(uname)" in
- CYGWIN*) list=( `command ps -Wa` ); cygwin=1 ;;
+case "$OSTYPE" in
+ cygwin*) list=( `command ps -Wa` ); cygwin=1 ;;
*) list=( `command ps -o pid,uid,command -A` ) ;;
esac
diff --git a/plugins/zsh-navigation-tools/n-kill b/plugins/zsh-navigation-tools/n-kill
index 0d10565e4..76050f969 100644
--- a/plugins/zsh-navigation-tools/n-kill
+++ b/plugins/zsh-navigation-tools/n-kill
@@ -42,8 +42,8 @@ NLIST_NONSELECTABLE_ELEMENTS=( 1 )
type ps 2>/dev/null 1>&2 || { echo >&2 "Error: \`ps' not found"; return 1 }
-case "$(uname)" in
- CYGWIN*) list=( `command ps -Wa` ) ;;
+case "$OSTYPE" in
+ cygwin*) list=( `command ps -Wa` ) ;;
*) list=( `command ps -o pid,uid,command -A` ) ;;
esac
From f7d4f985ac391e4532a5e6331e0c296fad4a913c Mon Sep 17 00:00:00 2001
From: Hong
Date: Mon, 10 Oct 2016 14:01:37 -0700
Subject: [PATCH 221/294] Use $+commands to check the existence of a command in
clipboard.zsh. (#5519)
---
lib/clipboard.zsh | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/lib/clipboard.zsh b/lib/clipboard.zsh
index b663800a4..2c93d1bb5 100644
--- a/lib/clipboard.zsh
+++ b/lib/clipboard.zsh
@@ -31,13 +31,13 @@ function clipcopy() {
cat $file > /dev/clipboard
fi
else
- if which xclip &>/dev/null; then
+ if (( $+commands[xclip] )); then
if [[ -z $file ]]; then
xclip -in -selection clipboard
else
xclip -in -selection clipboard $file
fi
- elif which xsel &>/dev/null; then
+ elif (( $+commands[xsel] )); then
if [[ -z $file ]]; then
xsel --clipboard --input
else
@@ -74,9 +74,9 @@ function clippaste() {
elif [[ $OSTYPE == cygwin* ]]; then
cat /dev/clipboard
else
- if which xclip &>/dev/null; then
+ if (( $+commands[xclip] )); then
xclip -out -selection clipboard
- elif which xsel &>/dev/null; then
+ elif (( $+commands[xsel] )); then
xsel --clipboard --output
else
print "clipcopy: Platform $OSTYPE not supported or xclip/xsel not installed" >&2
From 628d0bb10664453fe55c1e725ab89fa42dc4ab0a Mon Sep 17 00:00:00 2001
From: rossmcf
Date: Mon, 10 Oct 2016 15:42:55 +0100
Subject: [PATCH 222/294] Fix ls colouring for Darwin. (#5516)
---
lib/theme-and-appearance.zsh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/theme-and-appearance.zsh b/lib/theme-and-appearance.zsh
index 039a59d2a..0fd3c44db 100644
--- a/lib/theme-and-appearance.zsh
+++ b/lib/theme-and-appearance.zsh
@@ -6,7 +6,7 @@ export LSCOLORS="Gxfxcxdxbxegedabagacad"
if [[ "$DISABLE_LS_COLORS" != "true" ]]; then
# Find the option for using colors in ls, depending on the version
- if [[ "$OSTYPE" == netbsd* ]]; then
+ if [[ "$OSTYPE" == netbsd* ]] || [[ "$OSTYPE" == darwin* ]]; then
# On NetBSD, test if "gls" (GNU ls) is installed (this one supports colors);
# otherwise, leave ls as is, because NetBSD's ls doesn't support -G
gls --color -d . &>/dev/null && alias ls='gls --color=tty'
From c24dfa1ab4abb1f28fad7666f3bc24f3abced801 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Tue, 11 Oct 2016 09:24:43 +0200
Subject: [PATCH 223/294] Fix ls coloring in MacOS if gls is not installed
Fixes #5520.
---
lib/theme-and-appearance.zsh | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/lib/theme-and-appearance.zsh b/lib/theme-and-appearance.zsh
index 0fd3c44db..467b770d6 100644
--- a/lib/theme-and-appearance.zsh
+++ b/lib/theme-and-appearance.zsh
@@ -6,7 +6,7 @@ export LSCOLORS="Gxfxcxdxbxegedabagacad"
if [[ "$DISABLE_LS_COLORS" != "true" ]]; then
# Find the option for using colors in ls, depending on the version
- if [[ "$OSTYPE" == netbsd* ]] || [[ "$OSTYPE" == darwin* ]]; then
+ if [[ "$OSTYPE" == netbsd* ]]; then
# On NetBSD, test if "gls" (GNU ls) is installed (this one supports colors);
# otherwise, leave ls as is, because NetBSD's ls doesn't support -G
gls --color -d . &>/dev/null && alias ls='gls --color=tty'
@@ -17,6 +17,8 @@ if [[ "$DISABLE_LS_COLORS" != "true" ]]; then
# coreutils, so prefer it to "gls".
gls --color -d . &>/dev/null && alias ls='gls --color=tty'
colorls -G -d . &>/dev/null && alias ls='colorls -G'
+ elif [[ "$OSTYPE" == darwin* ]]; then
+ gls --color -d . &>/dev/null && alias ls='gls --color=tty' || alias ls='ls -G'
else
# For GNU ls, we use the default ls color theme. They can later be overwritten by themes.
if [[ -z "$LS_COLORS" ]]; then
From c861430d3e8ff202b84b2a89c3caa6e414e2f8c1 Mon Sep 17 00:00:00 2001
From: Chenje Katanda
Date: Thu, 13 Oct 2016 17:33:44 -0400
Subject: [PATCH 224/294] readme change OS X to macOS
Change OS X to macOS in the read me file in line with apples rebranding
of the operating system.
---
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index 6da731890..2b0856c2d 100644
--- a/README.md
+++ b/README.md
@@ -18,9 +18,9 @@ To learn more, visit [ohmyz.sh](http://ohmyz.sh) and follow [@ohmyzsh](https://t
### Prerequisites
-__Disclaimer:__ _Oh My Zsh works best on OS X and Linux._
+__Disclaimer:__ _Oh My Zsh works best on macOS and Linux._
-* Unix-based operating system (OS X or Linux)
+* Unix-based operating system (macOS or Linux)
* [Zsh](http://www.zsh.org) should be installed (v4.3.9 or more recent). If not pre-installed (`zsh --version` to confirm), check the following instruction here: [Installing ZSH](https://github.com/robbyrussell/oh-my-zsh/wiki/Installing-ZSH)
* `curl` or `wget` should be installed
* `git` should be installed
From 015598b8a82457a03ab9d75f770bbd333599a601 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Mon, 10 Oct 2016 20:33:40 +0200
Subject: [PATCH 225/294] Display suvash prompt w/o Ruby; refactor code
---
themes/suvash.zsh-theme | 38 +++++++++++++++++++++-----------------
1 file changed, 21 insertions(+), 17 deletions(-)
diff --git a/themes/suvash.zsh-theme b/themes/suvash.zsh-theme
index c87f64558..1680973df 100644
--- a/themes/suvash.zsh-theme
+++ b/themes/suvash.zsh-theme
@@ -5,26 +5,30 @@ function prompt_char {
}
function virtualenv_info {
- [ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') '
+ [[ -n "$VIRTUAL_ENV" ]] && echo '('${VIRTUAL_ENV:t}') '
}
-function collapse_pwd {
- echo $(pwd | sed -e "s,^$HOME,~,")
+function ruby_prompt {
+ if (( $+commands[rvm-prompt] )); then
+ print -n $ZSH_THEME_RUBY_PROMPT_PREFIX
+ print -n $(~/.rvm/bin/rvm-prompt)
+ print -n $ZSH_THEME_RUBY_PROMPT_SUFFIX
+ elif (( $+commands[rbenv] )); then
+ print -n $ZSH_THEME_RUBY_PROMPT_PREFIX
+ print -n $(rbenv version | sed -e "s/ (set.*$//")
+ print -n $ZSH_THEME_RUBY_PROMPT_SUFFIX
+ fi
+ return 0
}
-if which rvm-prompt &> /dev/null; then
- PROMPT='%{$fg[magenta]%}%n%{$reset_color%} at %{$fg[yellow]%}%m%{$reset_color%} in %{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}$(git_prompt_info) using %{$reset_color%}%{$fg[red]%}$(~/.rvm/bin/rvm-prompt)%{$reset_color%}
-$(virtualenv_info)$(prompt_char) '
-else
- if which rbenv &> /dev/null; then
- PROMPT='%{$fg[magenta]%}%n%{$reset_color%} at %{$fg[yellow]%}%m%{$reset_color%} in %{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}$(git_prompt_info) using %{$reset_color%}%{$fg[red]%}$(rbenv version | sed -e "s/ (set.*$//")%{$reset_color%}
-$(virtualenv_info)$(prompt_char) '
- fi
-fi
+PROMPT='%F{magenta}%n%f at %F{yellow}%m%f in %B%F{green}%~%f%b$(git_prompt_info)$(ruby_prompt)
+$(virtualenv_info) $(prompt_char) '
+ZSH_THEME_GIT_PROMPT_PREFIX=' on %F{magenta}'
+ZSH_THEME_GIT_PROMPT_SUFFIX='%f'
+ZSH_THEME_GIT_PROMPT_DIRTY='%F{green}!'
+ZSH_THEME_GIT_PROMPT_UNTRACKED='%F{green}?'
+ZSH_THEME_GIT_PROMPT_CLEAN=''
-ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}"
-ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
-ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%}!"
-ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[green]%}?"
-ZSH_THEME_GIT_PROMPT_CLEAN=""
+ZSH_THEME_RUBY_PROMPT_PREFIX=' using %F{red}'
+ZSH_THEME_RUBY_PROMPT_SUFFIX='%f'
From cff228e342a797b6ac0da7edb431f5f66de79ae4 Mon Sep 17 00:00:00 2001
From: Jocelyn Thode
Date: Sat, 15 Oct 2016 14:02:01 +0200
Subject: [PATCH 226/294] Update bira theme (#4954)
* Add '#' instead of '$' when in root
* Make return code bold
---
themes/bira.zsh-theme | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/themes/bira.zsh-theme b/themes/bira.zsh-theme
index 1ead93553..4b2853c32 100644
--- a/themes/bira.zsh-theme
+++ b/themes/bira.zsh-theme
@@ -4,8 +4,10 @@ local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
if [[ $UID -eq 0 ]]; then
local user_host='%{$terminfo[bold]$fg[red]%}%n@%m%{$reset_color%}'
+ local user_symbol='#'
else
local user_host='%{$terminfo[bold]$fg[green]%}%n@%m%{$reset_color%}'
+ local user_symbol='$'
fi
local current_dir='%{$terminfo[bold]$fg[blue]%} %~%{$reset_color%}'
@@ -20,8 +22,9 @@ fi
local git_branch='$(git_prompt_info)%{$reset_color%}'
PROMPT="╭─${user_host} ${current_dir} ${rvm_ruby} ${git_branch}
-╰─%B$%b "
-RPS1="${return_code}"
+╰─%B${user_symbol}%b "
+RPS1="%B${return_code}%b"
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}‹"
ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}"
+
From 5cd7ad38cbb691c70377b5c82d3de5b0af076164 Mon Sep 17 00:00:00 2001
From: kennyklee
Date: Mon, 17 Oct 2016 01:00:14 -0700
Subject: [PATCH 227/294] Fix regex for optional http(s), and variable
reference inside osascript.
---
plugins/droplr/droplr.plugin.zsh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/plugins/droplr/droplr.plugin.zsh b/plugins/droplr/droplr.plugin.zsh
index 296a8b98b..af0a21299 100644
--- a/plugins/droplr/droplr.plugin.zsh
+++ b/plugins/droplr/droplr.plugin.zsh
@@ -7,8 +7,8 @@ droplr() {
return 1
fi
- if [[ "$1" =~ ^http[|s]:// ]]; then
- osascript -e "tell app 'Droplr' to shorten '$1'"
+ if [[ "$1" =~ ^https?:// ]]; then
+ osascript -e 'tell app "Droplr" to shorten "'"$1"'"'
else
open -ga /Applications/Droplr.app "$1"
fi
From 7d8618ec9a3a311a8df3cd2062e7fb2277fb8604 Mon Sep 17 00:00:00 2001
From: Sayalee Pote
Date: Tue, 18 Oct 2016 00:57:58 +0530
Subject: [PATCH 228/294] Update README with grammar corrections (#5503)
---
README.md | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/README.md b/README.md
index 2b0856c2d..c304c75d3 100644
--- a/README.md
+++ b/README.md
@@ -49,7 +49,7 @@ Oh My Zsh comes with a shit load of plugins to take advantage of. You can take a
#### Enabling Plugins
-If you spot a plugin (or several) that you would like to use with Oh My Zsh, you will need to edit the `~/.zshrc` file. Once you open it with your favorite editor, you'll see a spot to list all the plugins that you'd like Oh My Zsh to load in initialization.
+If you spot a plugin (or several) that you would like to use with Oh My Zsh, you will need to edit the `~/.zshrc` file. Once you open it with your favorite editor, you'll see a spot to list all the plugins that you'd like Oh My Zsh to load on initialization.
For example, this line might begin to look like...
@@ -67,7 +67,7 @@ We'll admit it. Early in the Oh My Zsh world, we may have gotten a bit too theme
#### Selecting a Theme
-_Robby's theme is the default one. It's not the fanciest one. It's not the simplest one. It's just right (for him)._
+_Robby's theme is the default one. It's not the fanciest one. It's not the simplest one. It's just the right one (for him)._
Once you find a theme that you want to use, you will need to edit the `~/.zshrc` file. You'll see an environment variable (all caps) in there that looks like:
@@ -81,7 +81,7 @@ To use a different theme, simply change the value to match the name of your desi
ZSH_THEME="agnoster" # (this is one of the fancy ones)
```
-Open up a new terminal window and your prompt should look something like...
+Open up a new terminal window and your prompt should look something like this:

@@ -129,7 +129,7 @@ cp ~/.zshrc ~/.zshrc.orig
##### 3. Create a new zsh configuration file
-You can create a new zsh config file by copying the template that we included for you.
+You can create a new zsh config file by copying the template that we have included for you.
```shell
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
@@ -208,7 +208,7 @@ Thank you so much!
## Follow Us
-We're on the social medias.
+We're on the social media.
* [@ohmyzsh](https://twitter.com/ohmyzsh) on Twitter. You should follow it.
* [Oh My Zsh](https://www.facebook.com/Oh-My-Zsh-296616263819290/) on Facebook.
From f94d4e6a4019ed7fcc5470655b1154b3d1f67913 Mon Sep 17 00:00:00 2001
From: Mason
Date: Tue, 18 Oct 2016 13:42:27 -0500
Subject: [PATCH 229/294] Change from OSX to macOS in README (#5545)
---
oh-my-zsh.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh
index ed258f0ea..a7de646f2 100644
--- a/oh-my-zsh.sh
+++ b/oh-my-zsh.sh
@@ -53,7 +53,7 @@ done
# Figure out the SHORT hostname
if [[ "$OSTYPE" = darwin* ]]; then
- # OS X's $HOST changes with dhcp, etc. Use ComputerName if possible.
+ # macOS's $HOST changes with dhcp, etc. Use ComputerName if possible.
SHORT_HOST=$(scutil --get ComputerName 2>/dev/null) || SHORT_HOST=${HOST/.*/}
else
SHORT_HOST=${HOST/.*/}
From 37bf9186a03a4e15dcccd1da76b9c6f597cc8e71 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Tue, 25 Oct 2016 05:43:11 +0200
Subject: [PATCH 230/294] Update docker completion (2015-10-25)
Closes #5568
Source:
https://github.com/docker/docker/commit/c9fdf9abf8d6443598808809b900d96e04adfcb1
---
plugins/docker/_docker | 53 ++++++++++++++++++++++++++++--------------
1 file changed, 36 insertions(+), 17 deletions(-)
diff --git a/plugins/docker/_docker b/plugins/docker/_docker
index 1366fd61b..415e731f3 100644
--- a/plugins/docker/_docker
+++ b/plugins/docker/_docker
@@ -57,7 +57,7 @@ __docker_get_containers() {
type=$1; shift
[[ $kind = (stopped|all) ]] && args=($args -a)
- lines=(${(f)"$(_call_program commands docker $docker_options ps --format 'table' --no-trunc $args)"})
+ lines=(${(f)${:-"$(_call_program commands docker $docker_options ps --format 'table' --no-trunc $args)"$'\n'}})
# Parse header line to find columns
local i=1 j=1 k header=${lines[1]}
@@ -153,7 +153,7 @@ __docker_images() {
[[ $PREFIX = -* ]] && return 1
integer ret=1
declare -a images
- images=(${${${(f)"$(_call_program commands docker $docker_options images)"}[2,-1]}/(#b)([^ ]##) ##([^ ]##) ##([^ ]##)*/${match[3]}:${(r:15:: :::)match[2]} in ${match[1]}})
+ images=(${${${(f)${:-"$(_call_program commands docker $docker_options images)"$'\n'}}[2,-1]}/(#b)([^ ]##) ##([^ ]##) ##([^ ]##)*/${match[3]}:${(r:15:: :::)match[2]} in ${match[1]}})
_describe -t docker-images "images" images && ret=0
__docker_repositories_with_tags && ret=0
return ret
@@ -162,7 +162,7 @@ __docker_images() {
__docker_repositories() {
[[ $PREFIX = -* ]] && return 1
declare -a repos
- repos=(${${${(f)"$(_call_program commands docker $docker_options images)"}%% *}[2,-1]})
+ repos=(${${${(f)${:-"$(_call_program commands docker $docker_options images)"$'\n'}}%% *}[2,-1]})
repos=(${repos#})
_describe -t docker-repos "repositories" repos
}
@@ -172,7 +172,7 @@ __docker_repositories_with_tags() {
integer ret=1
declare -a repos onlyrepos matched
declare m
- repos=(${${${${(f)"$(_call_program commands docker $docker_options images)"}[2,-1]}/ ##/:::}%% *})
+ repos=(${${${${(f)${:-"$(_call_program commands docker $docker_options images)"$'\n'}}[2,-1]}/ ##/:::}%% *})
repos=(${${repos%:::}#})
# Check if we have a prefix-match for the current prefix.
onlyrepos=(${repos%::*})
@@ -208,7 +208,7 @@ __docker_search() {
if ( [[ ${(P)+cachename} -eq 0 ]] || _cache_invalid ${cachename#_} ) \
&& ! _retrieve_cache ${cachename#_}; then
_message "Searching for ${searchterm}..."
- result=(${${${(f)"$(_call_program commands docker $docker_options search $searchterm)"}%% *}[2,-1]})
+ result=(${${${(f)${:-"$(_call_program commands docker $docker_options search $searchterm)"$'\n'}}%% *}[2,-1]})
_store_cache ${cachename#_} result
fi
_wanted dockersearch expl 'available images' compadd -a result
@@ -219,7 +219,7 @@ __docker_get_log_options() {
integer ret=1
local log_driver=${opt_args[--log-driver]:-"all"}
- local -a awslogs_options fluentd_options gelf_options journald_options json_file_options syslog_options splunk_options
+ local -a awslogs_options fluentd_options gelf_options journald_options json_file_options logentries_options syslog_options splunk_options
awslogs_options=("awslogs-region" "awslogs-group" "awslogs-stream")
fluentd_options=("env" "fluentd-address" "fluentd-async-connect" "fluentd-buffer-limit" "fluentd-retry-wait" "fluentd-max-retries" "labels" "tag")
@@ -227,6 +227,7 @@ __docker_get_log_options() {
gelf_options=("env" "gelf-address" "gelf-compression-level" "gelf-compression-type" "labels" "tag")
journald_options=("env" "labels" "tag")
json_file_options=("env" "labels" "max-file" "max-size")
+ logentries_options=("logentries-token")
syslog_options=("env" "labels" "syslog-address" "syslog-facility" "syslog-format" "syslog-tls-ca-cert" "syslog-tls-cert" "syslog-tls-key" "syslog-tls-skip-verify" "tag")
splunk_options=("env" "labels" "splunk-caname" "splunk-capath" "splunk-format" "splunk-gzip" "splunk-gzip-level" "splunk-index" "splunk-insecureskipverify" "splunk-source" "splunk-sourcetype" "splunk-token" "splunk-url" "splunk-verify-connection" "tag")
@@ -236,6 +237,7 @@ __docker_get_log_options() {
[[ $log_driver = (gelf|all) ]] && _describe -t gelf-options "gelf options" gelf_options "$@" && ret=0
[[ $log_driver = (journald|all) ]] && _describe -t journald-options "journald options" journald_options "$@" && ret=0
[[ $log_driver = (json-file|all) ]] && _describe -t json-file-options "json-file options" json_file_options "$@" && ret=0
+ [[ $log_driver = (logentries|all) ]] && _describe -t logentries-options "logentries options" logentries_options "$@" && ret=0
[[ $log_driver = (syslog|all) ]] && _describe -t syslog-options "syslog options" syslog_options "$@" && ret=0
[[ $log_driver = (splunk|all) ]] && _describe -t splunk-options "splunk options" splunk_options "$@" && ret=0
@@ -333,6 +335,9 @@ __docker_complete_ps_filters() {
(id)
__docker_containers_ids && ret=0
;;
+ (is-task)
+ _describe -t boolean-filter-opts "filter options" boolean_opts && ret=0
+ ;;
(name)
__docker_containers_names && ret=0
;;
@@ -504,7 +509,7 @@ __docker_get_networks() {
type=$1; shift
- lines=(${(f)"$(_call_program commands docker $docker_options network ls)"})
+ lines=(${(f)${:-"$(_call_program commands docker $docker_options network ls)"$'\n'}})
# Parse header line to find columns
local i=1 j=1 k header=${lines[1]}
@@ -720,7 +725,7 @@ __docker_nodes() {
filter=$1; shift
[[ $filter != "none" ]] && args=("-f $filter")
- lines=(${(f)"$(_call_program commands docker $docker_options node ls $args)"})
+ lines=(${(f)${:-"$(_call_program commands docker $docker_options node ls $args)"$'\n'}})
# Parse header line to find columns
local i=1 j=1 k header=${lines[1]}
declare -A begin end
@@ -792,7 +797,7 @@ __docker_node_commands() {
"ls:List nodes in the swarm"
"promote:Promote a node as manager in the swarm"
"rm:Remove one or more nodes from the swarm"
- "ps:List tasks running on a node, defaults to current node"
+ "ps:List tasks running on one or more nodes, defaults to current node"
"update:Update a node"
)
_describe -t docker-node-commands "docker node command" _docker_node_subcommands
@@ -847,7 +852,7 @@ __docker_node_subcommand() {
"($help)*"{-f=,--filter=}"[Provide filter values]:filter:->filter-options" \
"($help)--no-resolve[Do not map IDs to Names]" \
"($help)--no-trunc[Do not truncate output]" \
- "($help -)1:node:__docker_complete_nodes" && ret=0
+ "($help -)*:node:__docker_complete_nodes" && ret=0
case $state in
(filter-options)
__docker_node_complete_ps_filters && ret=0
@@ -881,7 +886,7 @@ __docker_complete_plugins() {
local line s
declare -a lines plugins
- lines=(${(f)"$(_call_program commands docker $docker_options plugin ls)"})
+ lines=(${(f)${:-"$(_call_program commands docker $docker_options plugin ls)"$'\n'}})
# Parse header line to find columns
local i=1 j=1 k header=${lines[1]}
@@ -1007,7 +1012,7 @@ __docker_services() {
type=$1; shift
- lines=(${(f)"$(_call_program commands docker $docker_options service ls)"})
+ lines=(${(f)${:-"$(_call_program commands docker $docker_options service ls)"$'\n'}})
# Parse header line to find columns
local i=1 j=1 k header=${lines[1]}
@@ -1103,6 +1108,8 @@ __docker_service_subcommand() {
"($help)--stop-grace-period=[Time to wait before force killing a container]:grace period: "
"($help)--update-delay=[Delay between updates]:delay: "
"($help)--update-failure-action=[Action on update failure]:mode:(pause continue)"
+ "($help)--update-max-failure-ratio=[Failure rate to tolerate during an update]:fraction: "
+ "($help)--update-monitor=[Duration after each task update to monitor for failure]:window: "
"($help)--update-parallelism=[Maximum number of tasks updated simultaneously]:number: "
"($help -u --user)"{-u=,--user=}"[Username or UID]:user:_users"
"($help)--with-registry-auth[Send registry authentication details to swarm agents]"
@@ -1178,8 +1185,10 @@ __docker_service_subcommand() {
"($help)--arg=[Service command args]:arguments: _normal" \
"($help)*--container-label-add=[Add or update container labels]:label: " \
"($help)*--container-label-rm=[Remove a container label by its key]:label: " \
+ "($help)--force[Force update]" \
"($help)*--group-rm=[Remove previously added user groups from the container]:group:_groups" \
"($help)--image=[Service image tag]:image:__docker_repositories" \
+ "($help)--rollback[Rollback to previous specification]" \
"($help -)1:service:__docker_complete_services" && ret=0
;;
(help)
@@ -1293,7 +1302,7 @@ __docker_volumes() {
integer ret=1
declare -a lines volumes
- lines=(${(f)"$(_call_program commands docker $docker_options volume ls)"})
+ lines=(${(f)${:-"$(_call_program commands docker $docker_options volume ls)"$'\n'}})
# Parse header line to find columns
local i=1 j=1 k header=${lines[1]}
@@ -1506,6 +1515,7 @@ __docker_subcommand() {
$opts_build_create_run \
$opts_build_create_run_update \
"($help)*--build-arg[Build-time variables]:=: " \
+ "($help)--compress[Compress the build context using gzip]" \
"($help -f --file)"{-f=,--file=}"[Name of the Dockerfile]:Dockerfile:_files" \
"($help)--force-rm[Always remove intermediate containers]" \
"($help)*--label=[Set metadata for an image]:label=value: " \
@@ -1594,6 +1604,7 @@ __docker_subcommand() {
"($help -g --graph)"{-g=,--graph=}"[Root of the Docker runtime]:path:_directories" \
"($help -H --host)"{-H=,--host=}"[tcp://host:port to bind/connect to]:host: " \
"($help)--icc[Enable inter-container communication]" \
+ "($help)--init-path=[Path to the docker-init binary]:docker-init binary:_files" \
"($help)*--insecure-registry=[Enable insecure registry communication]:registry: " \
"($help)--ip=[Default IP when binding container ports]" \
"($help)--ip-forward[Enable net.ipv4.ip_forward]" \
@@ -1669,6 +1680,7 @@ __docker_subcommand() {
$opts_help \
$opts_attach_exec_run_start \
"($help -d --detach)"{-d,--detach}"[Detached mode: leave the container running in the background]" \
+ "($help -e --env)"{-e,--env}"[Set environment variables]" \
"($help -i --interactive)"{-i,--interactive}"[Keep stdin open even if not attached]" \
"($help)--privileged[Give extended Linux capabilities to the command]" \
"($help -t --tty)"{-t,--tty}"[Allocate a pseudo-tty]" \
@@ -1704,7 +1716,7 @@ __docker_subcommand() {
"($help -a --all)"{-a,--all}"[Show all images]" \
"($help)--digests[Show digests]" \
"($help)*"{-f=,--filter=}"[Filter values]:filter:->filter-options" \
- "($help)--format[Pretty-print images using a Go template]:template: " \
+ "($help)--format=[Pretty-print images using a Go template]:template: " \
"($help)--no-trunc[Do not truncate output]" \
"($help -q --quiet)"{-q,--quiet}"[Only show numeric IDs]" \
"($help -): :__docker_repositories" && ret=0
@@ -1726,7 +1738,7 @@ __docker_subcommand() {
(info|version)
_arguments $(__docker_arguments) \
$opts_help \
- "($help -f --format)"{-f=,--format=}"[Format the output using the given go template]:template: " && ret=0
+ "($help -f --format)"{-f=,--format=}"[Format the output using the given go template]:template: " && ret=0
;;
(inspect)
local state
@@ -1851,7 +1863,7 @@ __docker_subcommand() {
"($help -a --all)"{-a,--all}"[Show all containers]" \
"($help)--before=[Show only container created before...]:containers:__docker_containers" \
"($help)*"{-f=,--filter=}"[Filter values]:filter:__docker_complete_ps_filters" \
- "($help)--format[Pretty-print containers using a Go template]:template: " \
+ "($help)--format=[Pretty-print containers using a Go template]:template: " \
"($help -l --latest)"{-l,--latest}"[Show only the latest created container]" \
"($help -n --last)"{-n=,--last=}"[Show n last created containers (includes all states)]:n:(1 5 10 25 50)" \
"($help)--no-trunc[Do not truncate output]" \
@@ -1878,12 +1890,18 @@ __docker_subcommand() {
"($help -):old name:__docker_containers" \
"($help -):new name: " && ret=0
;;
- (restart|stop)
+ (stop)
_arguments $(__docker_arguments) \
$opts_help \
"($help -t --time)"{-t=,--time=}"[Number of seconds to try to stop for before killing the container]:seconds to before killing:(1 5 10 30 60)" \
"($help -)*:containers:__docker_runningcontainers" && ret=0
;;
+ (restart)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -t --time)"{-t=,--time=}"[Number of seconds to try to stop for before killing the container]:seconds to before killing:(1 5 10 30 60)" \
+ "($help -)*:containers:__docker_containers_ids" && ret=0
+ ;;
(rm)
_arguments $(__docker_arguments) \
$opts_help \
@@ -1999,6 +2017,7 @@ __docker_subcommand() {
_arguments $(__docker_arguments) \
$opts_help \
"($help -a --all)"{-a,--all}"[Show all containers (default shows just running)]" \
+ "($help)--format=[Pretty-print images using a Go template]:template: " \
"($help)--no-stream[Disable streaming stats and only pull the first result]" \
"($help -)*:containers:__docker_runningcontainers" && ret=0
;;
From 3bd6be10769097351156c6460db78b5f529f4b03 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Tue, 25 Oct 2016 06:04:08 +0200
Subject: [PATCH 231/294] Change link to agnoster wiki + format changes
https://github.com/robbyrussell/oh-my-zsh/wiki/Themes#agnoster
---
README.md | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/README.md b/README.md
index 268c1b39d..5902c419e 100644
--- a/README.md
+++ b/README.md
@@ -78,9 +78,9 @@ ZSH_THEME="robbyrussell"
To use a different theme, simply change the value to match the name of your desired theme. For example:
```shell
-ZSH_THEME="agnoster" # (this is one of the fancy ones ;
- # you might need to install a specific font on your console's host for this to work ;
- # see https://github.com/powerline/fonts/tree/master/DejaVuSansMono)
+ZSH_THEME="agnoster" # (this is one of the fancy ones)
+# you might need to install a special Powerline font on your console's host for this to work
+# see https://github.com/robbyrussell/oh-my-zsh/wiki/Themes#agnoster
```
Open up a new terminal window and your prompt should look something like...
From b1efd04f947ca9d391cf36dbca643b3845d8acee Mon Sep 17 00:00:00 2001
From: jotadrilo
Date: Tue, 25 Oct 2016 06:25:07 +0200
Subject: [PATCH 232/294] add docker-compose down alias (#5557)
* add docker-compose down alias
* rename `docker-compose down` alias to `dcdn`
---
plugins/docker-compose/docker-compose.plugin.zsh | 1 +
1 file changed, 1 insertion(+)
diff --git a/plugins/docker-compose/docker-compose.plugin.zsh b/plugins/docker-compose/docker-compose.plugin.zsh
index 7e3307017..4e4ac114a 100644
--- a/plugins/docker-compose/docker-compose.plugin.zsh
+++ b/plugins/docker-compose/docker-compose.plugin.zsh
@@ -18,5 +18,6 @@ alias dcrm='docker-compose rm'
alias dcr='docker-compose run'
alias dcstop='docker-compose stop'
alias dcup='docker-compose up'
+alias dcdn='docker-compose down'
alias dcl='docker-compose logs'
alias dclf='docker-compose logs -f'
From d9695a8b00c6960417726e49a32df4cf760e055e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20Ordon?=
Date: Tue, 25 Oct 2016 05:29:35 +0100
Subject: [PATCH 233/294] Add more simulator aliases (#5550)
---
plugins/react-native/react-native.plugin.zsh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/plugins/react-native/react-native.plugin.zsh b/plugins/react-native/react-native.plugin.zsh
index 9463a98b3..f19cba820 100644
--- a/plugins/react-native/react-native.plugin.zsh
+++ b/plugins/react-native/react-native.plugin.zsh
@@ -2,6 +2,8 @@ alias rnand='react-native run-android'
alias rnios4s='react-native run-ios --simulator "iPhone 4s"'
alias rnios5='react-native run-ios --simulator "iPhone 5"'
alias rnios5s='react-native run-ios --simulator "iPhone 5s"'
+alias rnios6='react-native run-ios --simulator "iPhone 6"'
+alias rnios6s='react-native run-ios --simulator "iPhone 6s"'
alias rnios='react-native run-ios'
alias rnlink='react-native link'
From 0ee89d965ecaa4f32cf2d1039e9d84a73eb206cf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Tue, 25 Oct 2016 07:17:29 +0200
Subject: [PATCH 234/294] Add brew completion missing disclaimer
---
plugins/brew/brew.plugin.zsh | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/plugins/brew/brew.plugin.zsh b/plugins/brew/brew.plugin.zsh
index 5b5847328..d4289c98e 100644
--- a/plugins/brew/brew.plugin.zsh
+++ b/plugins/brew/brew.plugin.zsh
@@ -2,3 +2,19 @@ alias brews='brew list -1'
alias bubo='brew update && brew outdated'
alias bubc='brew upgrade && brew cleanup'
alias bubu='bubo && bubc'
+
+if mkdir "$ZSH_CACHE_DIR/.brew-completion-message" 2>/dev/null; then
+ print -P '%F{yellow}'Oh My Zsh brew plugin:
+ cat <<-'EOF'
+
+ With the advent of their 1.0 release, Homebrew has decided to bundle
+ the zsh completion as part of the brew installation, so we no longer
+ ship it with the brew plugin; now it only has brew aliases.
+
+ If you find that brew completion no longer works, make sure you have
+ your Homebrew installation fully up to date.
+
+ You will only see this message once.
+ EOF
+ print -P '%f'
+fi
From 80924959c4f41bcebe7b7c667f2d7489bf8fcb74 Mon Sep 17 00:00:00 2001
From: Tanin Rojanapiansatith
Date: Fri, 21 Oct 2016 00:35:55 +0100
Subject: [PATCH 235/294] Clarify how to open ~/.zshrc file in README.md
Closes #5558
---
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index 0e39f4c55..eecde1551 100644
--- a/README.md
+++ b/README.md
@@ -49,9 +49,9 @@ Oh My Zsh comes with a shit load of plugins to take advantage of. You can take a
#### Enabling Plugins
-If you spot a plugin (or several) that you would like to use with Oh My Zsh, you will need to edit the `~/.zshrc` file. Once you open it with your favorite editor, you'll see a spot to list all the plugins that you'd like Oh My Zsh to load on initialization.
+Once you spot a plugin (or several) that you'd like to use with Oh My Zsh, you'll need to enable them in the `.zshrc` file. You'll find the zshrc file in your `$HOME` directory. Open it with your favorite text editor and you'll see a spot to list all the plugins you want to load.
-For example, this line might begin to look like...
+For example, this line might begin to look like this:
```shell
plugins=(git bundler osx rake ruby)
From d47a7221924b4fa0b1859913d505f50a6c276da1 Mon Sep 17 00:00:00 2001
From: Marco De Bortoli
Date: Tue, 1 Nov 2016 15:49:50 +1100
Subject: [PATCH 236/294] PHP suffix alias should be removed
PHP can be executed as CLI script but due to the automated attempt
to add browser support to that extension such ability is prevented
in certain circumstances.
---
plugins/common-aliases/common-aliases.plugin.zsh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/common-aliases/common-aliases.plugin.zsh b/plugins/common-aliases/common-aliases.plugin.zsh
index 128db6e5f..0908c8a38 100644
--- a/plugins/common-aliases/common-aliases.plugin.zsh
+++ b/plugins/common-aliases/common-aliases.plugin.zsh
@@ -54,7 +54,7 @@ alias mv='mv -i'
# depends on the SUFFIX :)
if is-at-least 4.2.0; then
# open browser on urls
- _browser_fts=(htm html de org net com at cx nl se dk dk php)
+ _browser_fts=(htm html de org net com at cx nl se dk dk)
for ft in $_browser_fts ; do alias -s $ft=$BROWSER ; done
_editor_fts=(cpp cxx cc c hh h inl asc txt TXT tex)
From fc4e0cd7ba47bc87fe707f2bac8edb3461cfdd36 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Wed, 2 Nov 2016 11:02:58 +0100
Subject: [PATCH 237/294] common-aliases: check if $BROWSER is defined on
browser aliases
---
plugins/common-aliases/common-aliases.plugin.zsh | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/plugins/common-aliases/common-aliases.plugin.zsh b/plugins/common-aliases/common-aliases.plugin.zsh
index 0908c8a38..e888ff076 100644
--- a/plugins/common-aliases/common-aliases.plugin.zsh
+++ b/plugins/common-aliases/common-aliases.plugin.zsh
@@ -54,8 +54,10 @@ alias mv='mv -i'
# depends on the SUFFIX :)
if is-at-least 4.2.0; then
# open browser on urls
- _browser_fts=(htm html de org net com at cx nl se dk dk)
- for ft in $_browser_fts ; do alias -s $ft=$BROWSER ; done
+ if [[ -n "$BROWSER" ]]; then
+ _browser_fts=(htm html de org net com at cx nl se dk dk)
+ for ft in $_browser_fts ; do alias -s $ft=$BROWSER ; done
+ fi
_editor_fts=(cpp cxx cc c hh h inl asc txt TXT tex)
for ft in $_editor_fts ; do alias -s $ft=$EDITOR ; done
From cb26c2f6145ab36a2bb3b3d5392959cf741f2608 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Wed, 2 Nov 2016 11:03:47 +0100
Subject: [PATCH 238/294] common-aliases: minor style fixes
---
plugins/common-aliases/common-aliases.plugin.zsh | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/plugins/common-aliases/common-aliases.plugin.zsh b/plugins/common-aliases/common-aliases.plugin.zsh
index e888ff076..d47b20e40 100644
--- a/plugins/common-aliases/common-aliases.plugin.zsh
+++ b/plugins/common-aliases/common-aliases.plugin.zsh
@@ -56,17 +56,17 @@ if is-at-least 4.2.0; then
# open browser on urls
if [[ -n "$BROWSER" ]]; then
_browser_fts=(htm html de org net com at cx nl se dk dk)
- for ft in $_browser_fts ; do alias -s $ft=$BROWSER ; done
+ for ft in $_browser_fts; do alias -s $ft=$BROWSER; done
fi
_editor_fts=(cpp cxx cc c hh h inl asc txt TXT tex)
- for ft in $_editor_fts ; do alias -s $ft=$EDITOR ; done
+ for ft in $_editor_fts; do alias -s $ft=$EDITOR; done
_image_fts=(jpg jpeg png gif mng tiff tif xpm)
- for ft in $_image_fts ; do alias -s $ft=$XIVIEWER; done
+ for ft in $_image_fts; do alias -s $ft=$XIVIEWER; done
_media_fts=(ape avi flv m4a mkv mov mp3 mpeg mpg ogg ogm rm wav webm)
- for ft in $_media_fts ; do alias -s $ft=mplayer ; done
+ for ft in $_media_fts; do alias -s $ft=mplayer; done
#read documents
alias -s pdf=acroread
From 0f62b7a8d8708910e75fedb9d7b8e3d8559a34da Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Wed, 2 Nov 2016 11:17:58 +0100
Subject: [PATCH 239/294] common-aliases: check if `$XIVIEWER` is defined and
minor fixes
---
plugins/common-aliases/common-aliases.plugin.zsh | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/plugins/common-aliases/common-aliases.plugin.zsh b/plugins/common-aliases/common-aliases.plugin.zsh
index d47b20e40..742798f27 100644
--- a/plugins/common-aliases/common-aliases.plugin.zsh
+++ b/plugins/common-aliases/common-aliases.plugin.zsh
@@ -55,15 +55,17 @@ alias mv='mv -i'
if is-at-least 4.2.0; then
# open browser on urls
if [[ -n "$BROWSER" ]]; then
- _browser_fts=(htm html de org net com at cx nl se dk dk)
+ _browser_fts=(htm html de org net com at cx nl se dk)
for ft in $_browser_fts; do alias -s $ft=$BROWSER; done
fi
_editor_fts=(cpp cxx cc c hh h inl asc txt TXT tex)
for ft in $_editor_fts; do alias -s $ft=$EDITOR; done
- _image_fts=(jpg jpeg png gif mng tiff tif xpm)
- for ft in $_image_fts; do alias -s $ft=$XIVIEWER; done
+ if [[ -n "$XIVIEWER" ]]; then
+ _image_fts=(jpg jpeg png gif mng tiff tif xpm)
+ for ft in $_image_fts; do alias -s $ft=$XIVIEWER; done
+ fi
_media_fts=(ape avi flv m4a mkv mov mp3 mpeg mpg ogg ogm rm wav webm)
for ft in $_media_fts; do alias -s $ft=mplayer; done
@@ -85,4 +87,3 @@ fi
# Make zsh know about hosts already accessed by SSH
zstyle -e ':completion:*:(ssh|scp|sftp|rsh|rsync):hosts' hosts 'reply=(${=${${(f)"$(cat {/etc/ssh_,~/.ssh/known_}hosts(|2)(N) /dev/null)"}%%[# ]*}//,/ })'
-
From 73591101b6db1e67ad3a0c2f90c81bc8174f4056 Mon Sep 17 00:00:00 2001
From: psprint
Date: Wed, 2 Nov 2016 13:08:58 +0100
Subject: [PATCH 240/294] znt: Update to v2.2.7 (#5576)
---
plugins/zsh-navigation-tools/NEWS | 17 ++++++
plugins/zsh-navigation-tools/README.md | 54 +++++++++++++++++++
plugins/zsh-navigation-tools/n-history | 32 ++++++++---
plugins/zsh-navigation-tools/n-list | 3 +-
plugins/zsh-navigation-tools/znt-tmux.zsh | 50 +++++++++++++++++
.../zsh-navigation-tools.plugin.zsh | 35 ++++++------
6 files changed, 167 insertions(+), 24 deletions(-)
create mode 100644 plugins/zsh-navigation-tools/NEWS
create mode 100755 plugins/zsh-navigation-tools/znt-tmux.zsh
diff --git a/plugins/zsh-navigation-tools/NEWS b/plugins/zsh-navigation-tools/NEWS
new file mode 100644
index 000000000..acd9f2ebc
--- /dev/null
+++ b/plugins/zsh-navigation-tools/NEWS
@@ -0,0 +1,17 @@
+-------------------------------------
+CHANGES FROM PREVIOUS VERSIONS OF ZNT
+-------------------------------------
+
+Changes from 2.2.1 to 2.2.7
+---------------------------
+
+Tmux integration has been added – bind file znt-tmux.zsh in Tmux as
+described in README.md and e.g. run local history on remote hosts. Tmux
+opens new window with n-history, and pastes selected history entry into
+immediate previous window (e.g. a remote session). Fixed plugin.zsh file
+to not use (outer scope) positional parameters. This fixes problem with
+Grlm's Zsh configuration. The file now doesn't use "test" builtin (but
+[[ instead), because it can be shadowed by alias or command. Private
+history has been fixed to not overwrite its history file with the same
+content. This improves performance when switching to private history
+view.
diff --git a/plugins/zsh-navigation-tools/README.md b/plugins/zsh-navigation-tools/README.md
index 7a679fe67..ed532a161 100644
--- a/plugins/zsh-navigation-tools/README.md
+++ b/plugins/zsh-navigation-tools/README.md
@@ -34,6 +34,60 @@ want to copy your previous data (from e.g. ~/.zhistory) into the new location.
## News
+* 06-10-2016
+ - Tmux-integration – Ctrl-b-h in Tmux to open n-history in new window.
+ Then select history entry, it will be copied to the original Tmux window.
+ Use this to execute local commands on remote hosts. All that is needed is
+ this line added to ~/.tmux.conf:
+
+ bind h run-shell -b "$ZNT_REPO_DIR/znt-tmux.zsh"
+
+* 16-05-2016
+ - n-kill has completion. It proposes *words* from what's in `ps -A`. Giving n-kill
+ arguments means grepping – it will start only with matching `ps` entries.
+
+* 15-05-2016
+ - Fixed problem where zsh-syntax-highlighting could render n-history slow (for
+ long history entries).
+
+* 14-05-2016
+ - Configuration can be set from zshrc. Example:
+
+ znt_list_instant_select=1
+ znt_list_border=0
+ znt_list_bold=1
+ znt_list_colorpair="green/black"
+ znt_functions_keywords=( "zplg" "zgen" "match" )
+ znt_cd_active_text="underline"
+ znt_env_nlist_coloring_color=$'\x1b[00;33m'
+ znt_cd_hotlist=( "~/.config/znt" "/usr/share/zsh/site-functions" "/usr/share/zsh"
+ "/usr/local/share/zsh/site-functions" "/usr/local/share/zsh"
+ "/usr/local/bin" )
+
+* 10-05-2016
+ - Search query rotation – use Ctrl-A to rotate entered words right.
+ Words `1 2 3` become `3 1 2`.
+
+* 09-05-2016
+ - New feature: n-help tool, available also from n-history via H key. It
+ displays help screen with various information on ZNT.
+
+* 08-05-2016
+ - Approximate matching – pressing f or Ctrl-F will enter FIX mode, in
+ which 1 or 2 errors are allowed in what is searched. This utilizes
+ original Zsh approximate matching features and is intended to be used
+ after entering search query, when a typo is discovered.
+
+* 06-05-2016
+ - Private history can be edited. Use e key or Ctrl-E for that when in
+ n-history. Your $EDITOR will start. This is a way to have handy set
+ of bookmarks prepared in private history's file.
+ - Border can be disabled. Use following snippet in ~/.config/znt/n-list.conf
+ or any other tool-targetted config file:
+
+ # Should draw the border?
+ local border=0
+
* 30-04-2016
- New feature: color themes. Use Ctrl-T and Ctrl-G to browse predefined
themes. They are listed in ~/.config/znt/n-list.conf. Use the file to
diff --git a/plugins/zsh-navigation-tools/n-history b/plugins/zsh-navigation-tools/n-history
index af475dcb8..b425ecd10 100644
--- a/plugins/zsh-navigation-tools/n-history
+++ b/plugins/zsh-navigation-tools/n-history
@@ -307,7 +307,7 @@ while (( 1 )); do
elif [ "$active_view" = "1" ]; then
if [ -s "$private_history_db" ]; then
local title=$'\x1b[00;32m'"Private history:"$'\x1b[00;00m\0'
- () { fc -ap -R "$private_history_db"; list=( "$title" ${history[@]} ) }
+ () { fc -Rap "$private_history_db" 20000 0; list=( "$title" ${history[@]} ) }
else
list=( "Private history - history entries selected via this tool will be put here" )
fi
@@ -335,21 +335,37 @@ done
if [ "$REPLY" -gt 0 ]; then
selected="$reply[REPLY]"
+
+ # Append to private history
+ if [[ "$active_view" = "0" ]]; then
+ local newline=$'\n'
+ local selected_ph="${selected//$newline/\\$newline}"
+ print -r -- "$selected_ph" >> "$private_history_db"
+ fi
+
+ # TMUX?
+ if [[ "$ZNT_TMUX_MODE" = "1" ]]; then
+ tmux send -t "$ZNT_TMUX_ORIGIN_SESSION:$ZNT_TMUX_ORIGIN_WINDOW.$ZNT_TMUX_ORIGIN_PANE" "$selected"
+ tmux kill-window
+ return 0
# ZLE?
- if [ "${(t)CURSOR}" = "integer-local-special" ]; then
+ elif [ "${(t)CURSOR}" = "integer-local-special" ]; then
zle .redisplay
zle .kill-buffer
LBUFFER+="$selected"
-
- # Append to private history
- local newline=$'\n'
- selected="${selected//$newline/\\$newline}"
- [ "$active_view" = "0" ] && print -r -- "$selected" >> "$private_history_db"
else
print -zr -- "$selected"
fi
else
- [ "${(t)CURSOR}" = "integer-local-special" ] && zle redisplay
+ # TMUX?
+ if [[ "$ZNT_TMUX_MODE" = "1" ]]; then
+ tmux kill-window
+ # ZLE?
+ elif [[ "${(t)CURSOR}" = "integer-local-special" ]]; then
+ zle redisplay
+ fi
fi
+return 0
+
# vim: set filetype=zsh:
diff --git a/plugins/zsh-navigation-tools/n-list b/plugins/zsh-navigation-tools/n-list
index f3d2e5b3e..3fe5542a6 100644
--- a/plugins/zsh-navigation-tools/n-list
+++ b/plugins/zsh-navigation-tools/n-list
@@ -310,8 +310,9 @@ while (( 1 )); do
colsearch_pattern="${search_buffer// ##/|(#a2)}"
list=( "${(@M)list:#(#ia2)*$~search_pattern*}" )
else
- # Patterns will be *foo*~^*bar* and (foo|bar)
+ # Pattern will be *foo*~^*bar* (inventor: Mikael Magnusson)
search_pattern="${search_buffer// ##/*~^*}"
+ # Pattern will be (foo|bar)
colsearch_pattern="${search_buffer// ##/|}"
list=( "${(@M)list:#(#i)*$~search_pattern*}" )
fi
diff --git a/plugins/zsh-navigation-tools/znt-tmux.zsh b/plugins/zsh-navigation-tools/znt-tmux.zsh
new file mode 100755
index 000000000..6a96e97a1
--- /dev/null
+++ b/plugins/zsh-navigation-tools/znt-tmux.zsh
@@ -0,0 +1,50 @@
+#!/usr/bin/env zsh
+
+# Copyright (c) 2016, Zsolt Lengyel
+# Modifications copyright (c) 2016, Sebastian Gniazdowski
+
+#
+# This script opens a new, temporary tmux pane and runs n-history. When
+# a selection is made, the result (history entry) is pasted back into
+# original tmux pane, and the temporary pane is closed. This allows to
+# use local history on remote machines.
+#
+# To use, put this line to your ~/.tmux.conf. The tool is invoked with:
+# Ctrl+b h
+#
+# bind h run-shell -b "$ZNT_REPO_DIR/znt-tmux.zsh"
+#
+
+# get and save the current active tmux pane id
+active_pane=$(tmux display -p -F ':#{session_id}:#I:#P:#{pane_active}:#{window_active}:#{session_attached}' )
+a_active_pane=("${(@s/:/)active_pane}")
+
+active_session=${a_active_pane[2]//$}
+active_window=$a_active_pane[3]
+active_pane=$a_active_pane[4]
+
+# set variables for upcoming window
+tmux setenv -t $active_session:$active_window.$active_pane "ZNT_TMUX_MODE" 1
+tmux setenv -t $active_session:$active_window.$active_pane "ZNT_TMUX_ORIGIN_SESSION" "$active_session"
+tmux setenv -t $active_session:$active_window.$active_pane "ZNT_TMUX_ORIGIN_WINDOW" "$active_window"
+tmux setenv -t $active_session:$active_window.$active_pane "ZNT_TMUX_ORIGIN_PANE" "$active_pane"
+
+# create a new window in the active session and call it znt-hist
+tmux new-window -t $active_session: -n znt-hist
+
+# unset the variables, so only above single window has them
+tmux setenv -u -t $active_session:$active_window.$active_pane "ZNT_TMUX_MODE"
+tmux setenv -u -t $active_session:$active_window.$active_pane "ZNT_TMUX_ORIGIN_SESSION"
+tmux setenv -u -t $active_session:$active_window.$active_pane "ZNT_TMUX_ORIGIN_WINDOW"
+tmux setenv -u -t $active_session:$active_window.$active_pane "ZNT_TMUX_ORIGIN_PANE"
+
+# znt's session id
+znt_active_pane=$(tmux display -p -F ':#{session_id}:#I:#P:#{pane_active}:#{window_active}:#{session_attached}' )
+znt_a_active_pane=("${(@s/:/)znt_active_pane}")
+
+znt_active_session=${znt_a_active_pane[2]//$}
+znt_active_window=$znt_a_active_pane[3]
+znt_active_pane=$znt_a_active_pane[4]
+
+# call znt
+tmux send -t "$znt_active_session:$znt_active_window.$znt_active_pane" n-history ENTER
diff --git a/plugins/zsh-navigation-tools/zsh-navigation-tools.plugin.zsh b/plugins/zsh-navigation-tools/zsh-navigation-tools.plugin.zsh
index b26549152..32b4ca064 100755
--- a/plugins/zsh-navigation-tools/zsh-navigation-tools.plugin.zsh
+++ b/plugins/zsh-navigation-tools/zsh-navigation-tools.plugin.zsh
@@ -1,38 +1,43 @@
#!/usr/bin/env zsh
-REPO_DIR="${0%/*}"
-CONFIG_DIR="$HOME/.config/znt"
+0="${(%):-%N}" # this gives immunity to functionargzero being unset
+export ZNT_REPO_DIR="${0%/*}"
+export ZNT_CONFIG_DIR="$HOME/.config/znt"
#
# Copy configs
#
-if ! test -d "$HOME/.config"; then
- mkdir "$HOME/.config"
+if [[ ! -d "$HOME/.config" ]]; then
+ command mkdir "$HOME/.config"
fi
-if ! test -d "$CONFIG_DIR"; then
- mkdir "$CONFIG_DIR"
+if [[ ! -d "$ZNT_CONFIG_DIR" ]]; then
+ command mkdir "$ZNT_CONFIG_DIR"
fi
# 9 files
-set n-aliases.conf n-env.conf n-history.conf n-list.conf n-panelize.conf n-cd.conf n-functions.conf n-kill.conf n-options.conf
+unset __ZNT_CONFIG_FILES
+typeset -ga __ZNT_CONFIG_FILES
+set +A __ZNT_CONFIG_FILES n-aliases.conf n-env.conf n-history.conf n-list.conf n-panelize.conf n-cd.conf n-functions.conf n-kill.conf n-options.conf
# Check for random 2 files if they exist
# This will shift 0 - 7 elements
-shift $(( RANDOM % 8 ))
-if ! test -f "$CONFIG_DIR/$1" || ! test -f "$CONFIG_DIR/$2"; then
+shift $(( RANDOM % 8 )) __ZNT_CONFIG_FILES
+if [[ ! -f "$ZNT_CONFIG_DIR/${__ZNT_CONFIG_FILES[1]}" || ! -f "$ZNT_CONFIG_DIR/${__ZNT_CONFIG_FILES[2]}" ]]; then
# Something changed - examine every file
- set n-aliases.conf n-env.conf n-history.conf n-list.conf n-panelize.conf n-cd.conf n-functions.conf n-kill.conf n-options.conf
- for i; do
- if ! test -f "$CONFIG_DIR/$i"; then
- cp "$REPO_DIR/.config/znt/$i" "$CONFIG_DIR"
+ set +A __ZNT_CONFIG_FILES n-aliases.conf n-env.conf n-history.conf n-list.conf n-panelize.conf n-cd.conf n-functions.conf n-kill.conf n-options.conf
+ unset __ZNT_CONFIG_FILE
+ typeset -g __ZNT_CONFIG_FILE
+ for __ZNT_CONFIG_FILE in "${__ZNT_CONFIG_FILES[@]}"; do
+ if [[ ! -f "$ZNT_CONFIG_DIR/$__ZNT_CONFIG_FILE" ]]; then
+ command cp "$ZNT_REPO_DIR/.config/znt/$__ZNT_CONFIG_FILE" "$ZNT_CONFIG_DIR"
fi
done
+ unset __ZNT_CONFIG_FILE
fi
-# Don't leave positional parameters being set
-set --
+unset __ZNT_CONFIG_FILES
#
# Load functions
From 1b799e9762067f912c0eb807cd5a55d8f122adfd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Wed, 2 Nov 2016 15:39:28 +0100
Subject: [PATCH 241/294] Check dircolors settings before using gls on darwin
(#5570)
`gls` seems to be installed by default or on most macOS systems, but its
default color scheme sucks. This fix will make sure to only use it if it
has been customised prior to running OMZ.
Related: #5516, #5520.
---
lib/theme-and-appearance.zsh | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/lib/theme-and-appearance.zsh b/lib/theme-and-appearance.zsh
index 467b770d6..122e3fecb 100644
--- a/lib/theme-and-appearance.zsh
+++ b/lib/theme-and-appearance.zsh
@@ -4,6 +4,8 @@ autoload -U colors && colors
# Enable ls colors
export LSCOLORS="Gxfxcxdxbxegedabagacad"
+# TODO organise this chaotic logic
+
if [[ "$DISABLE_LS_COLORS" != "true" ]]; then
# Find the option for using colors in ls, depending on the version
if [[ "$OSTYPE" == netbsd* ]]; then
@@ -18,7 +20,12 @@ if [[ "$DISABLE_LS_COLORS" != "true" ]]; then
gls --color -d . &>/dev/null && alias ls='gls --color=tty'
colorls -G -d . &>/dev/null && alias ls='colorls -G'
elif [[ "$OSTYPE" == darwin* ]]; then
- gls --color -d . &>/dev/null && alias ls='gls --color=tty' || alias ls='ls -G'
+ # this is a good alias, it works by default just using $LSCOLORS
+ alias ls='ls -G'
+
+ # only use coreutils ls if there is a dircolors customization present ($LS_COLORS or .dircolors file)
+ # otherwise, gls will use the default color scheme which is ugly af
+ [[ -n "$LS_COLORS" || -f "$HOME/.dircolors" ]] && gls --color -d . &>/dev/null && alias ls='gls --color=tty'
else
# For GNU ls, we use the default ls color theme. They can later be overwritten by themes.
if [[ -z "$LS_COLORS" ]]; then
From 40544a1d5d1a55f88c226213fe464ede8b454fec Mon Sep 17 00:00:00 2001
From: Eduardo Cuomo
Date: Sun, 10 Apr 2016 13:20:59 -0300
Subject: [PATCH 242/294] Fix invalid "ls -G" alias.
---
lib/theme-and-appearance.zsh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/theme-and-appearance.zsh b/lib/theme-and-appearance.zsh
index 122e3fecb..f368a48f0 100644
--- a/lib/theme-and-appearance.zsh
+++ b/lib/theme-and-appearance.zsh
@@ -21,7 +21,7 @@ if [[ "$DISABLE_LS_COLORS" != "true" ]]; then
colorls -G -d . &>/dev/null && alias ls='colorls -G'
elif [[ "$OSTYPE" == darwin* ]]; then
# this is a good alias, it works by default just using $LSCOLORS
- alias ls='ls -G'
+ ls -G . &>/dev/null && alias ls='ls -G'
# only use coreutils ls if there is a dircolors customization present ($LS_COLORS or .dircolors file)
# otherwise, gls will use the default color scheme which is ugly af
@@ -32,7 +32,7 @@ if [[ "$DISABLE_LS_COLORS" != "true" ]]; then
(( $+commands[dircolors] )) && eval "$(dircolors -b)"
fi
- ls --color -d . &>/dev/null && alias ls='ls --color=tty' || alias ls='ls -G'
+ ls --color -d . &>/dev/null && alias ls='ls --color=tty' || ls -G . &>/dev/null && alias ls='ls -G'
# Take advantage of $LS_COLORS for completion as well.
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
From cf37697920019c44245ba3e5b69fed68c8c3fff4 Mon Sep 17 00:00:00 2001
From: Sachin George Thomas
Date: Wed, 2 Nov 2016 20:22:14 +0530
Subject: [PATCH 243/294] node: open module-specific node documentation (#5572)
---
plugins/node/node.plugin.zsh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/plugins/node/node.plugin.zsh b/plugins/node/node.plugin.zsh
index 2463815ac..e2f18a032 100644
--- a/plugins/node/node.plugin.zsh
+++ b/plugins/node/node.plugin.zsh
@@ -1,5 +1,6 @@
# Open the node api for your current version to the optional section.
# TODO: Make the section part easier to use.
function node-docs {
- open_command "http://nodejs.org/docs/$(node --version)/api/all.html#all_$1"
+ local section=${1:-all}
+ open_command "http://nodejs.org/docs/$(node --version)/api/$section.html"
}
From b94d9e26e534c9729e8a9401a37e7a5b0906f0d5 Mon Sep 17 00:00:00 2001
From: Timothy Blumberg
Date: Wed, 2 Nov 2016 12:53:54 -0400
Subject: [PATCH 244/294] Changed dsa --> rsa in zshrc.zsh-template file
(#5603)
---
templates/zshrc.zsh-template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/templates/zshrc.zsh-template b/templates/zshrc.zsh-template
index 00d25bc93..af42e5b9f 100644
--- a/templates/zshrc.zsh-template
+++ b/templates/zshrc.zsh-template
@@ -73,7 +73,7 @@ source $ZSH/oh-my-zsh.sh
# export ARCHFLAGS="-arch x86_64"
# ssh
-# export SSH_KEY_PATH="~/.ssh/dsa_id"
+# export SSH_KEY_PATH="~/.ssh/rsa_id"
# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
From 0b340bc3a5c58609a07987b296f773eaea17b274 Mon Sep 17 00:00:00 2001
From: "mingang.he"
Date: Thu, 3 Nov 2016 21:10:08 +0800
Subject: [PATCH 245/294] Fix #5604: No DIR ( directory ) colors (#5605)
---
lib/theme-and-appearance.zsh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/theme-and-appearance.zsh b/lib/theme-and-appearance.zsh
index f368a48f0..96f34aa81 100644
--- a/lib/theme-and-appearance.zsh
+++ b/lib/theme-and-appearance.zsh
@@ -32,7 +32,7 @@ if [[ "$DISABLE_LS_COLORS" != "true" ]]; then
(( $+commands[dircolors] )) && eval "$(dircolors -b)"
fi
- ls --color -d . &>/dev/null && alias ls='ls --color=tty' || ls -G . &>/dev/null && alias ls='ls -G'
+ ls --color -d . &>/dev/null && alias ls='ls --color=tty' || { ls -G . &>/dev/null && alias ls='ls -G' }
# Take advantage of $LS_COLORS for completion as well.
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
From 6685aac42cf1feb0c686ef84516c97e1113678a7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Thu, 10 Nov 2016 19:46:15 +0100
Subject: [PATCH 246/294] dircycle: fix error on insert-cycledleft if dirstack
is empty
---
plugins/dircycle/dircycle.plugin.zsh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/plugins/dircycle/dircycle.plugin.zsh b/plugins/dircycle/dircycle.plugin.zsh
index 2f32277cf..8c58cab4c 100644
--- a/plugins/dircycle/dircycle.plugin.zsh
+++ b/plugins/dircycle/dircycle.plugin.zsh
@@ -9,6 +9,8 @@
# pushd -N: start counting from right of `dirs' output
switch-to-dir () {
+ [[ ${#dirstack} -eq 0 ]] && return
+
while ! builtin pushd -q $1 &>/dev/null; do
# We found a missing directory: pop it out of the dir stack
builtin popd -q $1
From fe96d194210854e2dc170a226b166253091f2fc0 Mon Sep 17 00:00:00 2001
From: hjpotter92
Date: Fri, 11 Nov 2016 07:47:43 +0530
Subject: [PATCH 247/294] Update endpoint from HTTP to HTTPS (#5622)
---
plugins/node/node.plugin.zsh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/node/node.plugin.zsh b/plugins/node/node.plugin.zsh
index e2f18a032..e196662c7 100644
--- a/plugins/node/node.plugin.zsh
+++ b/plugins/node/node.plugin.zsh
@@ -2,5 +2,5 @@
# TODO: Make the section part easier to use.
function node-docs {
local section=${1:-all}
- open_command "http://nodejs.org/docs/$(node --version)/api/$section.html"
+ open_command "https://nodejs.org/docs/$(node --version)/api/$section.html"
}
From 62b0abdb6e4bedc0c28f97176bd76f74859d82ea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Fri, 11 Nov 2016 15:20:11 +0100
Subject: [PATCH 248/294] brew: fix disclaimer shown if mkdir is aliased
Fixes #5623.
---
plugins/brew/brew.plugin.zsh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/brew/brew.plugin.zsh b/plugins/brew/brew.plugin.zsh
index d4289c98e..6fb7f3453 100644
--- a/plugins/brew/brew.plugin.zsh
+++ b/plugins/brew/brew.plugin.zsh
@@ -3,7 +3,7 @@ alias bubo='brew update && brew outdated'
alias bubc='brew upgrade && brew cleanup'
alias bubu='bubo && bubc'
-if mkdir "$ZSH_CACHE_DIR/.brew-completion-message" 2>/dev/null; then
+if command mkdir "$ZSH_CACHE_DIR/.brew-completion-message" 2>/dev/null; then
print -P '%F{yellow}'Oh My Zsh brew plugin:
cat <<-'EOF'
From 3ed37f47cb1a9385e2238528839d7d91634f2c5b Mon Sep 17 00:00:00 2001
From: Derek Frank
Date: Tue, 15 Nov 2016 15:38:32 -0800
Subject: [PATCH 249/294] fix(env): Do not override misc env set before
sourcing oh-my-zsh (#5231)
Sourcing oh-my-zsh happens in zshrc, which will override settings of
profile and zshenv. Treat misc values, `PAGER` and `LESS`, as default
settings without overriding existing values.
Fixes: #1, robbyrussell/oh-my-zsh#3016
---
lib/misc.zsh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/misc.zsh b/lib/misc.zsh
index c81dab413..3052b7710 100644
--- a/lib/misc.zsh
+++ b/lib/misc.zsh
@@ -19,8 +19,8 @@ fi
setopt long_list_jobs
## pager
-export PAGER="less"
-export LESS="-R"
+env_default PAGER 'less'
+env_default LESS '-R'
## super user alias
alias _='sudo'
From 3477ff25274fa75bd9e6110f391f6ad98ca2af72 Mon Sep 17 00:00:00 2001
From: Jason Kurian
Date: Wed, 16 Nov 2016 04:42:46 -0500
Subject: [PATCH 250/294] feat: no CI on WIP commits (#5643)
---
plugins/git/git.plugin.zsh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh
index 178f1deb2..9d8e4174a 100644
--- a/plugins/git/git.plugin.zsh
+++ b/plugins/git/git.plugin.zsh
@@ -237,4 +237,4 @@ alias gupv='git pull --rebase -v'
alias glum='git pull upstream master'
alias gwch='git whatchanged -p --abbrev-commit --pretty=medium'
-alias gwip='git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit --no-verify -m "--wip--"'
+alias gwip='git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit --no-verify -m "--wip-- [skip ci]"'
From 9d43dc88bbc313921661c8b699e78550a2d86708 Mon Sep 17 00:00:00 2001
From: Eduardo Bizarro
Date: Wed, 23 Nov 2016 15:50:14 -0200
Subject: [PATCH 251/294] Yarn (https://yarnpkg.com) completion support (#5542)
* yarn completion
---
plugins/yarn/yarn.plugin.zsh | 81 ++++++++++++++++++++++++++++++++++++
1 file changed, 81 insertions(+)
create mode 100644 plugins/yarn/yarn.plugin.zsh
diff --git a/plugins/yarn/yarn.plugin.zsh b/plugins/yarn/yarn.plugin.zsh
new file mode 100644
index 000000000..47c503acb
--- /dev/null
+++ b/plugins/yarn/yarn.plugin.zsh
@@ -0,0 +1,81 @@
+alias yi="yarn install"
+
+_yarn ()
+{
+ local -a _1st_arguments _dopts _dev _production
+ local expl
+ typeset -A opt_args
+
+ _dopts=(
+ '(--force)--force[This refetches all packages, even ones that were previously installed.]'
+ )
+
+ _installopts=(
+ '(--flat)--flat[Only allow one version of a package. On the first run this will prompt you to choose a single version for each package that is depended on at multiple version ranges.]'
+ '(--har)--har[Outputs an HTTP archive from all the network requests performed during the installation.]'
+ '(--no-lockfile)--no-lockfile[Don’t read or generate a yarn.lock lockfile.]'
+ '(--pure-lockfile)--pure-lockfile[Don’t generate a yarn.lock lockfile.]'
+ )
+
+ _dev=('(--dev)--dev[Save installed packages into the project"s package.json devDependencies]')
+
+ _production=('(--production)--production[Do not install project devDependencies]')
+
+ _1st_arguments=(
+ 'help:Display help information about yarn' \
+ 'init:Initialize for the development of a package.' \
+ 'add:Add a package to use in your current package.' \
+ 'install:Install all the dependencies listed within package.json in the local node_modules folder.' \
+ 'publish:Publish a package to a package manager.' \
+ 'remove:Remove a package that will no longer be used in your current package.' \
+ 'cache:Clear the local cache. It will be populated again the next time yarn or yarn install is run.' \
+ 'clean:Frees up space by removing unnecessary files and folders from dependencies.' \
+ 'check:Verifies that versions of the package dependencies in the current project’s package.json matches that of yarn’s lock file.' \
+ 'ls:List all installed packages.' \
+ 'global:Makes binaries available to use on your operating system.' \
+ 'info: [] - fetch information about a package and return it in a tree format.' \
+ 'outdated:Checks for outdated package dependencies.' \
+ 'run:Runs a defined package script.' \
+ 'self-update:Updates Yarn to the latest version.' \
+ 'upgrade:Upgrades packages to their latest version based on the specified range.' \
+ 'why: - Show information about why a package is installed.'
+ )
+ _arguments \
+ '*:: :->subcmds' && return 0
+
+ if (( CURRENT == 1 )); then
+ _describe -t commands "yarn subcommand" _1st_arguments
+ return
+ fi
+
+ case "$words[1]" in
+ add)
+ _arguments \
+ $_dopts \
+ $_dev \
+ $_production
+ ;;
+ install)
+ _arguments \
+ $_installopts \
+ $_dopts \
+ $_dev \
+ $_no_color \
+ $_production
+ ;;
+ update)
+ _arguments \
+ $_dopts
+ ;;
+ remove)
+ _arguments \
+ $_dopts
+ ;;
+ *)
+ _arguments \
+ ;;
+ esac
+
+}
+
+compdef _yarn yarn
From 037764acc366bae0dc0f01c221c7a23ef04d3c83 Mon Sep 17 00:00:00 2001
From: Thomas Paul Mann
Date: Mon, 28 Nov 2016 21:08:34 +0100
Subject: [PATCH 252/294] Add plugin for Swift Package Manager (#5670)
* Add plugin for Swift Package Manager
* swift-package-manager: Rename plugin to 'swift-pm'
---
plugins/swift-pm/README.md | 22 ++++++++++++++++++++++
plugins/swift-pm/swift-pm.plugin.zsh | 8 ++++++++
2 files changed, 30 insertions(+)
create mode 100644 plugins/swift-pm/README.md
create mode 100644 plugins/swift-pm/swift-pm.plugin.zsh
diff --git a/plugins/swift-pm/README.md b/plugins/swift-pm/README.md
new file mode 100644
index 000000000..8e6a0d5c4
--- /dev/null
+++ b/plugins/swift-pm/README.md
@@ -0,0 +1,22 @@
+# Swift Package Manager
+
+## Description
+
+This plugin provides a few utilities that make you faster on your daily work with the [Swift Package Manager](https://github.com/apple/swift-package-manager).
+
+To start using it, add the `swift-pm` plugin to your `plugins` array in `~/.zshrc`:
+
+```zsh
+plugins=(... swift-pm)
+```
+
+## Aliases
+
+| Alias | Description | Command |
+|-------|-------------------------------------|------------------------------------|
+| `spi` | Initialize a new package | `swift package init` |
+| `spf` | Fetch package dependencies | `swift package fetch` |
+| `spu` | Update package dependencies | `swift package update` |
+| `spx` | Generates an Xcode project | `swift package generate-xcodeproj` |
+| `sps` | Print the resolved dependency graph | `swift package show-dependencies` |
+| `spd` | Print parsed Package.swift as JSON | `swift package dump-package` |
diff --git a/plugins/swift-pm/swift-pm.plugin.zsh b/plugins/swift-pm/swift-pm.plugin.zsh
new file mode 100644
index 000000000..ef872ea34
--- /dev/null
+++ b/plugins/swift-pm/swift-pm.plugin.zsh
@@ -0,0 +1,8 @@
+# Some aliases to make your life with the Swift Package Manager faster ✌️
+
+alias spi='swift package init'
+alias spf='swift package fetch'
+alias spu='swift package update'
+alias spx='swift package generate-xcodeproj'
+alias sps='swift package show-dependencies'
+alias spd='swift package dump-package'
From 6ee6a734c24b8f2cda43f230142f0f02cfb52fb3 Mon Sep 17 00:00:00 2001
From: Thomas Paul Mann
Date: Wed, 30 Nov 2016 00:20:43 +0100
Subject: [PATCH 253/294] swift-pm: Rename plugin to 'swiftpm' (#5674)
---
plugins/{swift-pm => swiftpm}/README.md | 4 ++--
.../swift-pm.plugin.zsh => swiftpm/swiftpm.plugin.zsh} | 0
2 files changed, 2 insertions(+), 2 deletions(-)
rename plugins/{swift-pm => swiftpm}/README.md (89%)
rename plugins/{swift-pm/swift-pm.plugin.zsh => swiftpm/swiftpm.plugin.zsh} (100%)
diff --git a/plugins/swift-pm/README.md b/plugins/swiftpm/README.md
similarity index 89%
rename from plugins/swift-pm/README.md
rename to plugins/swiftpm/README.md
index 8e6a0d5c4..07ca25651 100644
--- a/plugins/swift-pm/README.md
+++ b/plugins/swiftpm/README.md
@@ -4,10 +4,10 @@
This plugin provides a few utilities that make you faster on your daily work with the [Swift Package Manager](https://github.com/apple/swift-package-manager).
-To start using it, add the `swift-pm` plugin to your `plugins` array in `~/.zshrc`:
+To start using it, add the `swiftpm` plugin to your `plugins` array in `~/.zshrc`:
```zsh
-plugins=(... swift-pm)
+plugins=(... swiftpm)
```
## Aliases
diff --git a/plugins/swift-pm/swift-pm.plugin.zsh b/plugins/swiftpm/swiftpm.plugin.zsh
similarity index 100%
rename from plugins/swift-pm/swift-pm.plugin.zsh
rename to plugins/swiftpm/swiftpm.plugin.zsh
From 937a7f66ef852c2d2a5da7907504f6d61ed92433 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Thu, 8 Dec 2016 02:10:18 +0100
Subject: [PATCH 254/294] Precise Unix-based wording
Closes #5681
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index eecde1551..d56534977 100644
--- a/README.md
+++ b/README.md
@@ -20,7 +20,7 @@ To learn more, visit [ohmyz.sh](http://ohmyz.sh) and follow [@ohmyzsh](https://t
__Disclaimer:__ _Oh My Zsh works best on macOS and Linux._
-* Unix-based operating system (macOS or Linux)
+* Unix-like operating system (macOS or Linux)
* [Zsh](http://www.zsh.org) should be installed (v4.3.9 or more recent). If not pre-installed (`zsh --version` to confirm), check the following instruction here: [Installing ZSH](https://github.com/robbyrussell/oh-my-zsh/wiki/Installing-ZSH)
* `curl` or `wget` should be installed
* `git` should be installed
From 26aae6b5834e1342d9b95a894a5bb24159b367bf Mon Sep 17 00:00:00 2001
From: Rarylson Freitas
Date: Thu, 8 Dec 2016 18:49:58 -0200
Subject: [PATCH 255/294] Fix (plugins debian and ubuntu): `apt-history list`
using `zgrep` (#5695)
Changing from `zcat` to `zgrep` because some `zcat` implementations do not work
if the file is not compressed.
---
plugins/debian/debian.plugin.zsh | 2 +-
plugins/ubuntu/ubuntu.plugin.zsh | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/plugins/debian/debian.plugin.zsh b/plugins/debian/debian.plugin.zsh
index 31a772d60..28131ff80 100644
--- a/plugins/debian/debian.plugin.zsh
+++ b/plugins/debian/debian.plugin.zsh
@@ -192,7 +192,7 @@ apt-history () {
awk '{print $4"="$5}'
;;
list)
- zcat $(ls -rt /var/log/dpkg*)
+ zgrep --no-filename '' $(ls -rt /var/log/dpkg*)
;;
*)
echo "Parameters:"
diff --git a/plugins/ubuntu/ubuntu.plugin.zsh b/plugins/ubuntu/ubuntu.plugin.zsh
index ffde284fe..030af0693 100644
--- a/plugins/ubuntu/ubuntu.plugin.zsh
+++ b/plugins/ubuntu/ubuntu.plugin.zsh
@@ -108,7 +108,7 @@ apt-history () {
awk '{print $4"="$5}'
;;
list)
- zcat $(ls -rt /var/log/dpkg*)
+ zgrep --no-filename '' $(ls -rt /var/log/dpkg*)
;;
*)
echo "Parameters:"
From 3b13dc07d823ebcb67ea429de305b5413e99ac1e Mon Sep 17 00:00:00 2001
From: Erik Zivkovic
Date: Wed, 14 Dec 2016 17:25:48 +0100
Subject: [PATCH 256/294] gradle: extract simple task names from subproject
tasks (#5704)
Currently, only tasks with complete subproject specifier are added to
.gradletasknamecache. Gradle commands can be called for all (sub-)projects
they are defined for, using their name as defined in the subproject, here
called "simple" task names. One example is "gradle clean".
This patch adds support for parsing out those "simple" task names from the list
of fully specified task names. The .gradletasknamecache file will contain
both the fully specified names, and the "simple" names for your autocompletion
pleasure.
---
plugins/gradle/gradle.plugin.zsh | 27 +++++++++++++++++++++++----
1 file changed, 23 insertions(+), 4 deletions(-)
diff --git a/plugins/gradle/gradle.plugin.zsh b/plugins/gradle/gradle.plugin.zsh
index b2015a351..65b9d4685 100644
--- a/plugins/gradle/gradle.plugin.zsh
+++ b/plugins/gradle/gradle.plugin.zsh
@@ -61,7 +61,7 @@ _gradle_does_task_list_need_generating () {
}
##############
-# Parse the tasks from `gradle(w) tasks --all` into .gradletasknamecache
+# Parse the tasks from `gradle(w) tasks --all` and return them to the calling function.
# All lines in the output from gradle(w) that are between /^-+$/ and /^\s*$/
# are considered to be tasks. If and when gradle adds support for listing tasks
# for programmatic parsing, this method can be deprecated.
@@ -76,7 +76,7 @@ _gradle_parse_tasks () {
task_name_buffer=""
elif [[ $line =~ ^\s*$ ]]; then
if [[ "$lines_might_be_tasks" = true ]]; then
- # If a newline is found, send the buffer to .gradletasknamecache
+ # If a newline is found, echo the buffer to the calling function
while read -r task; do
echo $task | awk '/[a-zA-Z0-9:-]+/ {print $1}'
done <<< "$task_name_buffer"
@@ -90,6 +90,25 @@ _gradle_parse_tasks () {
done <<< "$1"
}
+
+##############
+# Gradle tasks from subprojects are allowed to be executed without specifying
+# the subproject; that task will then be called on all subprojects.
+# gradle(w) tasks --all only lists tasks per subproject, but when autocompleting
+# we often want to be able to run a specific task on all subprojects, e.g.
+# "gradle clean".
+# This function uses the list of tasks from "gradle tasks --all", and for each
+# line grabs everything after the last ":" and combines that output with the original
+# output. The combined list is returned as the result of this function.
+##############
+_gradle_parse_and_extract_tasks () {
+ # All tasks
+ tasks=$(_gradle_parse_tasks "$1")
+ # Task name without sub project(s) prefix
+ simple_tasks=$(echo $tasks | awk 'BEGIN { FS = ":" } { print $NF }')
+ echo "$tasks\n$simple_tasks"
+}
+
##############################################################################
# Discover the gradle tasks by running "gradle tasks --all"
############################################################################
@@ -97,7 +116,7 @@ _gradle_tasks () {
if [[ -f build.gradle ]]; then
_gradle_arguments
if _gradle_does_task_list_need_generating; then
- _gradle_parse_tasks "$(gradle tasks --all)" > .gradletasknamecache
+ _gradle_parse_and_extract_tasks "$(gradle tasks --all)" > .gradletasknamecache
fi
compadd -X "==== Gradle Tasks ====" $(cat .gradletasknamecache)
fi
@@ -107,7 +126,7 @@ _gradlew_tasks () {
if [[ -f build.gradle ]]; then
_gradle_arguments
if _gradle_does_task_list_need_generating; then
- _gradle_parse_tasks "$(./gradlew tasks --all)" > .gradletasknamecache
+ _gradle_parse_and_extract_tasks "$(./gradlew tasks --all)" > .gradletasknamecache
fi
compadd -X "==== Gradlew Tasks ====" $(cat .gradletasknamecache)
fi
From 8d35fa0e2f32dab6894ca06bfc333af94be97ec7 Mon Sep 17 00:00:00 2001
From: Arthur
Date: Wed, 14 Dec 2016 22:49:08 +0600
Subject: [PATCH 257/294] add dotenv plugin (#4373)
---
plugins/dotenv/README.md | 34 ++++++++++++++++++++++++++++++++
plugins/dotenv/dotenv.plugin.zsh | 10 ++++++++++
2 files changed, 44 insertions(+)
create mode 100644 plugins/dotenv/README.md
create mode 100644 plugins/dotenv/dotenv.plugin.zsh
diff --git a/plugins/dotenv/README.md b/plugins/dotenv/README.md
new file mode 100644
index 000000000..ade09fbb2
--- /dev/null
+++ b/plugins/dotenv/README.md
@@ -0,0 +1,34 @@
+# dotenv
+
+Automatically load your project ENV variables from `.env` file when you `cd` into project root directory.
+
+Storing configuration in the environment is one of the tenets of a [twelve-factor app](http://www.12factor.net). Anything that is likely to change between deployment environments–such as resource handles for databases or credentials for external services–should be extracted from the code into environment variables.
+
+## Installation
+
+Just add the plugin to your `.zshrc`:
+
+```sh
+plugins=(git man dotenv)
+```
+
+## Usage
+
+Create `.env` file inside your project directory and put your local ENV variables there.
+
+For example:
+```sh
+export AWS_S3_TOKEN=d84a83539134f28f412c652b09f9f98eff96c9a
+export SECRET_KEY=7c6c72d959416d5aa368a409362ec6e2ac90d7f
+export MONGO_URI=mongodb://127.0.0.1:27017
+export PORT=3001
+```
+`export` is optional. This format works as well:
+```sh
+AWS_S3_TOKEN=d84a83539134f28f412c652b09f9f98eff96c9a
+SECRET_KEY=7c6c72d959416d5aa368a409362ec6e2ac90d7f
+MONGO_URI=mongodb://127.0.0.1:27017
+PORT=3001
+```
+
+**It's strongly recommended to add `.env` file to `.gitignore`**, because usually it contains sensitive information such as your credentials, secret keys, passwords etc. You don't want to commit this file, it supposed to be local only.
diff --git a/plugins/dotenv/dotenv.plugin.zsh b/plugins/dotenv/dotenv.plugin.zsh
new file mode 100644
index 000000000..9dd784229
--- /dev/null
+++ b/plugins/dotenv/dotenv.plugin.zsh
@@ -0,0 +1,10 @@
+#!/bin/zsh
+
+source_env() {
+ if [[ -f .env ]]; then
+ source .env
+ fi
+}
+
+autoload -U add-zsh-hook
+add-zsh-hook chpwd source_env
From 67dad45b38b7f0bafcaf7679da6eb4596301843b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Wed, 14 Dec 2016 23:22:26 +0100
Subject: [PATCH 258/294] docker: update completion (upstream 2fe62f2)
Closes #5683
---
plugins/docker/_docker | 1540 +++++++++++++++++++++++++++-------------
1 file changed, 1064 insertions(+), 476 deletions(-)
diff --git a/plugins/docker/_docker b/plugins/docker/_docker
index 415e731f3..8d00b13e6 100644
--- a/plugins/docker/_docker
+++ b/plugins/docker/_docker
@@ -113,27 +113,27 @@ __docker_get_containers() {
return ret
}
-__docker_stoppedcontainers() {
+__docker_complete_stopped_containers() {
[[ $PREFIX = -* ]] && return 1
__docker_get_containers stopped all "$@"
}
-__docker_runningcontainers() {
+__docker_complete_running_containers() {
[[ $PREFIX = -* ]] && return 1
__docker_get_containers running all "$@"
}
-__docker_containers() {
+__docker_complete_containers() {
[[ $PREFIX = -* ]] && return 1
__docker_get_containers all all "$@"
}
-__docker_containers_ids() {
+__docker_complete_containers_ids() {
[[ $PREFIX = -* ]] && return 1
__docker_get_containers all ids "$@"
}
-__docker_containers_names() {
+__docker_complete_containers_names() {
[[ $PREFIX = -* ]] && return 1
__docker_get_containers all names "$@"
}
@@ -149,25 +149,27 @@ __docker_complete_info_plugins() {
return ret
}
-__docker_images() {
+__docker_complete_images() {
[[ $PREFIX = -* ]] && return 1
integer ret=1
declare -a images
images=(${${${(f)${:-"$(_call_program commands docker $docker_options images)"$'\n'}}[2,-1]}/(#b)([^ ]##) ##([^ ]##) ##([^ ]##)*/${match[3]}:${(r:15:: :::)match[2]} in ${match[1]}})
_describe -t docker-images "images" images && ret=0
- __docker_repositories_with_tags && ret=0
+ __docker_complete_repositories_with_tags && ret=0
return ret
}
-__docker_repositories() {
+__docker_complete_repositories() {
[[ $PREFIX = -* ]] && return 1
+ integer ret=1
declare -a repos
repos=(${${${(f)${:-"$(_call_program commands docker $docker_options images)"$'\n'}}%% *}[2,-1]})
repos=(${repos#})
- _describe -t docker-repos "repositories" repos
+ _describe -t docker-repos "repositories" repos && ret=0
+ return ret
}
-__docker_repositories_with_tags() {
+__docker_complete_repositories_with_tags() {
[[ $PREFIX = -* ]] && return 1
integer ret=1
declare -a repos onlyrepos matched
@@ -244,7 +246,7 @@ __docker_get_log_options() {
return ret
}
-__docker_log_drivers() {
+__docker_complete_log_drivers() {
[[ $PREFIX = -* ]] && return 1
integer ret=1
drivers=(awslogs etwlogs fluentd gcplogs gelf journald json-file none splunk syslog)
@@ -252,7 +254,7 @@ __docker_log_drivers() {
return ret
}
-__docker_log_options() {
+__docker_complete_log_options() {
[[ $PREFIX = -* ]] && return 1
integer ret=1
@@ -295,7 +297,7 @@ __docker_complete_pid() {
if compset -P '*:'; then
case "${${words[-1]%:*}#*=}" in
(container)
- __docker_runningcontainers && ret=0
+ __docker_complete_running_containers && ret=0
;;
*)
_message 'value' && ret=0
@@ -327,36 +329,40 @@ __docker_complete_ps_filters() {
if compset -P '*='; then
case "${${words[-1]%=*}#*=}" in
(ancestor)
- __docker_images && ret=0
+ __docker_complete_images && ret=0
;;
(before|since)
- __docker_containers && ret=0
+ __docker_complete_containers && ret=0
+ ;;
+ (health)
+ health_opts=('healthy' 'none' 'starting' 'unhealthy')
+ _describe -t health-filter-opts "health filter options" health_opts && ret=0
;;
(id)
- __docker_containers_ids && ret=0
+ __docker_complete_containers_ids && ret=0
;;
(is-task)
_describe -t boolean-filter-opts "filter options" boolean_opts && ret=0
;;
(name)
- __docker_containers_names && ret=0
+ __docker_complete_containers_names && ret=0
;;
(network)
- __docker_networks && ret=0
+ __docker_complete_networks && ret=0
;;
(status)
status_opts=('created' 'dead' 'exited' 'paused' 'restarting' 'running' 'removing')
- _describe -t status-filter-opts "Status Filter Options" status_opts && ret=0
+ _describe -t status-filter-opts "status filter options" status_opts && ret=0
;;
(volume)
- __docker_volumes && ret=0
+ __docker_complete_volumes && ret=0
;;
*)
_message 'value' && ret=0
;;
esac
else
- opts=('ancestor' 'before' 'exited' 'id' 'label' 'name' 'network' 'since' 'status' 'volume')
+ opts=('ancestor' 'before' 'exited' 'health' 'id' 'label' 'name' 'network' 'since' 'status' 'volume')
_describe -t filter-opts "Filter Options" opts -qS "=" && ret=0
fi
@@ -393,12 +399,12 @@ __docker_complete_images_filters() {
declare -a boolean_opts opts
boolean_opts=('true' 'false')
- opts=('before' 'dangling' 'label' 'since')
+ opts=('before' 'dangling' 'label' 'reference' 'since')
if compset -P '*='; then
case "${${words[-1]%=*}#*=}" in
- (before|since)
- __docker_images && ret=0
+ (before|reference|since)
+ __docker_complete_images && ret=0
;;
(dangling)
_describe -t boolean-filter-opts "filter options" boolean_opts && ret=0
@@ -424,7 +430,7 @@ __docker_complete_events_filter() {
if compset -P '*='; then
case "${${words[-1]%=*}#*=}" in
(container)
- __docker_containers && ret=0
+ __docker_complete_containers && ret=0
;;
(daemon)
emulate -L zsh
@@ -444,10 +450,10 @@ __docker_complete_events_filter() {
_describe -t event-filter-opts "event filter options" event_opts && ret=0
;;
(image)
- __docker_images && ret=0
+ __docker_complete_images && ret=0
;;
(network)
- __docker_networks && ret=0
+ __docker_complete_networks && ret=0
;;
(type)
local -a type_opts
@@ -455,7 +461,7 @@ __docker_complete_events_filter() {
_describe -t type-filter-opts "type filter options" type_opts && ret=0
;;
(volume)
- __docker_volumes && ret=0
+ __docker_complete_volumes && ret=0
;;
*)
_message 'value' && ret=0
@@ -468,6 +474,553 @@ __docker_complete_events_filter() {
return ret
}
+# BO container
+
+__docker_container_commands() {
+ local -a _docker_container_subcommands
+ _docker_container_subcommands=(
+ "attach:Attach to a running container"
+ "commit:Create a new image from a container's changes"
+ "cp:Copy files/folders between a container and the local filesystem"
+ "create:Create a new container"
+ "diff:Inspect changes on a container's filesystem"
+ "exec:Run a command in a running container"
+ "export:Export a container's filesystem as a tar archive"
+ "inspect:Display detailed information on one or more containers"
+ "kill:Kill one or more running containers"
+ "logs:Fetch the logs of a container"
+ "ls:List containers"
+ "pause:Pause all processes within one or more containers"
+ "port:List port mappings or a specific mapping for the container"
+ "prune:Remove all stopped containers"
+ "rename:Rename a container"
+ "restart:Restart one or more containers"
+ "rm:Remove one or more containers"
+ "run:Run a command in a new container"
+ "start:Start one or more stopped containers"
+ "stats:Display a live stream of container(s) resource usage statistics"
+ "stop:Stop one or more running containers"
+ "top:Display the running processes of a container"
+ "unpause:Unpause all processes within one or more containers"
+ "update:Update configuration of one or more containers"
+ "wait:Block until one or more containers stop, then print their exit codes"
+ )
+ _describe -t docker-container-commands "docker container command" _docker_container_subcommands
+}
+
+__docker_container_subcommand() {
+ local -a _command_args opts_help opts_attach_exec_run_start opts_create_run opts_create_run_update
+ local expl help="--help"
+ integer ret=1
+
+ opts_attach_exec_run_start=(
+ "($help)--detach-keys=[Escape key sequence used to detach a container]:sequence:__docker_complete_detach_keys"
+ )
+ opts_create_run=(
+ "($help -a --attach)"{-a=,--attach=}"[Attach to stdin, stdout or stderr]:device:(STDIN STDOUT STDERR)"
+ "($help)*--add-host=[Add a custom host-to-IP mapping]:host\:ip mapping: "
+ "($help)*--blkio-weight-device=[Block IO (relative device weight)]:device:Block IO weight: "
+ "($help)*--cap-add=[Add Linux capabilities]:capability: "
+ "($help)*--cap-drop=[Drop Linux capabilities]:capability: "
+ "($help)--cgroup-parent=[Parent cgroup for the container]:cgroup: "
+ "($help)--cidfile=[Write the container ID to the file]:CID file:_files"
+ "($help)--cpus=[Number of CPUs (default 0.000)]:cpus: "
+ "($help)*--device=[Add a host device to the container]:device:_files"
+ "($help)*--device-read-bps=[Limit the read rate (bytes per second) from a device]:device:IO rate: "
+ "($help)*--device-read-iops=[Limit the read rate (IO per second) from a device]:device:IO rate: "
+ "($help)*--device-write-bps=[Limit the write rate (bytes per second) to a device]:device:IO rate: "
+ "($help)*--device-write-iops=[Limit the write rate (IO per second) to a device]:device:IO rate: "
+ "($help)--disable-content-trust[Skip image verification]"
+ "($help)*--dns=[Custom DNS servers]:DNS server: "
+ "($help)*--dns-option=[Custom DNS options]:DNS option: "
+ "($help)*--dns-search=[Custom DNS search domains]:DNS domains: "
+ "($help)*"{-e=,--env=}"[Environment variables]:environment variable: "
+ "($help)--entrypoint=[Overwrite the default entrypoint of the image]:entry point: "
+ "($help)*--env-file=[Read environment variables from a file]:environment file:_files"
+ "($help)*--expose=[Expose a port from the container without publishing it]: "
+ "($help)*--group=[Set one or more supplementary user groups for the container]:group:_groups"
+ "($help -h --hostname)"{-h=,--hostname=}"[Container host name]:hostname:_hosts"
+ "($help -i --interactive)"{-i,--interactive}"[Keep stdin open even if not attached]"
+ "($help)--ip=[Container IPv4 address]:IPv4: "
+ "($help)--ip6=[Container IPv6 address]:IPv6: "
+ "($help)--ipc=[IPC namespace to use]:IPC namespace: "
+ "($help)--isolation=[Container isolation technology]:isolation:(default hyperv process)"
+ "($help)*--link=[Add link to another container]:link:->link"
+ "($help)*--link-local-ip=[Add a link-local address for the container]:IPv4/IPv6: "
+ "($help)*"{-l=,--label=}"[Container metadata]:label: "
+ "($help)--log-driver=[Default driver for container logs]:logging driver:__docker_complete_log_drivers"
+ "($help)*--log-opt=[Log driver specific options]:log driver options:__docker_complete_log_options"
+ "($help)--mac-address=[Container MAC address]:MAC address: "
+ "($help)--name=[Container name]:name: "
+ "($help)--network=[Connect a container to a network]:network mode:(bridge none container host)"
+ "($help)*--network-alias=[Add network-scoped alias for the container]:alias: "
+ "($help)--oom-kill-disable[Disable OOM Killer]"
+ "($help)--oom-score-adj[Tune the host's OOM preferences for containers (accepts -1000 to 1000)]"
+ "($help)--pids-limit[Tune container pids limit (set -1 for unlimited)]"
+ "($help -P --publish-all)"{-P,--publish-all}"[Publish all exposed ports]"
+ "($help)*"{-p=,--publish=}"[Expose a container's port to the host]:port:_ports"
+ "($help)--pid=[PID namespace to use]:PID namespace:__docker_complete_pid"
+ "($help)--privileged[Give extended privileges to this container]"
+ "($help)--read-only[Mount the container's root filesystem as read only]"
+ "($help)*--security-opt=[Security options]:security option: "
+ "($help)*--shm-size=[Size of '/dev/shm' (format is '')]:shm size: "
+ "($help)--stop-timeout=[Timeout (in seconds) to stop a container]:time: "
+ "($help)*--sysctl=-[sysctl options]:sysctl: "
+ "($help -t --tty)"{-t,--tty}"[Allocate a pseudo-tty]"
+ "($help -u --user)"{-u=,--user=}"[Username or UID]:user:_users"
+ "($help)*--ulimit=[ulimit options]:ulimit: "
+ "($help)--userns=[Container user namespace]:user namespace:(host)"
+ "($help)--tmpfs[mount tmpfs]"
+ "($help)*-v[Bind mount a volume]:volume: "
+ "($help)--volume-driver=[Optional volume driver for the container]:volume driver:(local)"
+ "($help)*--volumes-from=[Mount volumes from the specified container]:volume: "
+ "($help -w --workdir)"{-w=,--workdir=}"[Working directory inside the container]:directory:_directories"
+ )
+ opts_create_run_update=(
+ "($help)--blkio-weight=[Block IO (relative weight), between 10 and 1000]:Block IO weight:(10 100 500 1000)"
+ "($help -c --cpu-shares)"{-c=,--cpu-shares=}"[CPU shares (relative weight)]:CPU shares:(0 10 100 200 500 800 1000)"
+ "($help)--cpu-period=[Limit the CPU CFS (Completely Fair Scheduler) period]:CPU period: "
+ "($help)--cpu-quota=[Limit the CPU CFS (Completely Fair Scheduler) quota]:CPU quota: "
+ "($help)--cpu-rt-period=[Limit the CPU real-time period]:CPU real-time period in microseconds: "
+ "($help)--cpu-rt-runtime=[Limit the CPU real-time runtime]:CPU real-time runtime in microseconds: "
+ "($help)--cpuset-cpus=[CPUs in which to allow execution]:CPUs: "
+ "($help)--cpuset-mems=[MEMs in which to allow execution]:MEMs: "
+ "($help)--kernel-memory=[Kernel memory limit in bytes]:Memory limit: "
+ "($help -m --memory)"{-m=,--memory=}"[Memory limit]:Memory limit: "
+ "($help)--memory-reservation=[Memory soft limit]:Memory limit: "
+ "($help)--memory-swap=[Total memory limit with swap]:Memory limit: "
+ "($help)--restart=[Restart policy]:restart policy:(no on-failure always unless-stopped)"
+ )
+ opts_help=("(: -)--help[Print usage]")
+
+ case "$words[1]" in
+ (attach)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ $opts_attach_exec_run_start \
+ "($help)--no-stdin[Do not attach stdin]" \
+ "($help)--sig-proxy[Proxy all received signals to the process (non-TTY mode only)]" \
+ "($help -):containers:__docker_complete_running_containers" && ret=0
+ ;;
+ (commit)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -a --author)"{-a=,--author=}"[Author]:author: " \
+ "($help)*"{-c=,--change=}"[Apply Dockerfile instruction to the created image]:Dockerfile:_files" \
+ "($help -m --message)"{-m=,--message=}"[Commit message]:message: " \
+ "($help -p --pause)"{-p,--pause}"[Pause container during commit]" \
+ "($help -):container:__docker_complete_containers" \
+ "($help -): :__docker_complete_repositories_with_tags" && ret=0
+ ;;
+ (cp)
+ local state
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -L --follow-link)"{-L,--follow-link}"[Always follow symbol link]" \
+ "($help -)1:container:->container" \
+ "($help -)2:hostpath:_files" && ret=0
+ case $state in
+ (container)
+ if compset -P "*:"; then
+ _files && ret=0
+ else
+ __docker_complete_containers -qS ":" && ret=0
+ fi
+ ;;
+ esac
+ ;;
+ (create)
+ local state
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ $opts_create_run \
+ $opts_create_run_update \
+ "($help -): :__docker_complete_images" \
+ "($help -):command: _command_names -e" \
+ "($help -)*::arguments: _normal" && ret=0
+ case $state in
+ (link)
+ if compset -P "*:"; then
+ _wanted alias expl "Alias" compadd -E "" && ret=0
+ else
+ __docker_complete_running_containers -qS ":" && ret=0
+ fi
+ ;;
+ esac
+ ;;
+ (diff)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -)*:containers:__docker_complete_containers" && ret=0
+ ;;
+ (exec)
+ local state
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ $opts_attach_exec_run_start \
+ "($help -d --detach)"{-d,--detach}"[Detached mode: leave the container running in the background]" \
+ "($help)*"{-e=,--env=}"[Set environment variables]:environment variable: " \
+ "($help -i --interactive)"{-i,--interactive}"[Keep stdin open even if not attached]" \
+ "($help)--privileged[Give extended Linux capabilities to the command]" \
+ "($help -t --tty)"{-t,--tty}"[Allocate a pseudo-tty]" \
+ "($help -u --user)"{-u=,--user=}"[Username or UID]:user:_users" \
+ "($help -):containers:__docker_complete_running_containers" \
+ "($help -)*::command:->anycommand" && ret=0
+ case $state in
+ (anycommand)
+ shift 1 words
+ (( CURRENT-- ))
+ _normal && ret=0
+ ;;
+ esac
+ ;;
+ (export)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -o --output)"{-o=,--output=}"[Write to a file, instead of stdout]:output file:_files" \
+ "($help -)*:containers:__docker_complete_containers" && ret=0
+ ;;
+ (inspect)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -f --format)"{-f=,--format=}"[Format the output using the given go template]:template: " \
+ "($help -s --size)"{-s,--size}"[Display total file sizes]" \
+ "($help -)*:containers:__docker_complete_containers" && ret=0
+ ;;
+ (kill)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -s --signal)"{-s=,--signal=}"[Signal to send]:signal:_signals" \
+ "($help -)*:containers:__docker_complete_running_containers" && ret=0
+ ;;
+ (logs)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help)--details[Show extra details provided to logs]" \
+ "($help -f --follow)"{-f,--follow}"[Follow log output]" \
+ "($help -s --since)"{-s=,--since=}"[Show logs since this timestamp]:timestamp: " \
+ "($help -t --timestamps)"{-t,--timestamps}"[Show timestamps]" \
+ "($help)--tail=[Output the last K lines]:lines:(1 10 20 50 all)" \
+ "($help -)*:containers:__docker_complete_containers" && ret=0
+ ;;
+ (ls|list)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -a --all)"{-a,--all}"[Show all containers]" \
+ "($help)--before=[Show only container created before...]:containers:__docker_complete_containers" \
+ "($help)*"{-f=,--filter=}"[Filter values]:filter:__docker_complete_ps_filters" \
+ "($help)--format=[Pretty-print containers using a Go template]:template: " \
+ "($help -l --latest)"{-l,--latest}"[Show only the latest created container]" \
+ "($help -n --last)"{-n=,--last=}"[Show n last created containers (includes all states)]:n:(1 5 10 25 50)" \
+ "($help)--no-trunc[Do not truncate output]" \
+ "($help -q --quiet)"{-q,--quiet}"[Only show numeric IDs]" \
+ "($help -s --size)"{-s,--size}"[Display total file sizes]" \
+ "($help)--since=[Show only containers created since...]:containers:__docker_complete_containers" && ret=0
+ ;;
+ (pause|unpause)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -)*:containers:__docker_complete_running_containers" && ret=0
+ ;;
+ (port)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -)1:containers:__docker_complete_running_containers" \
+ "($help -)2:port:_ports" && ret=0
+ ;;
+ (prune)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -f --force)"{-f,--force}"[Do not prompt for confirmation]" && ret=0
+ ;;
+ (rename)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -):old name:__docker_complete_containers" \
+ "($help -):new name: " && ret=0
+ ;;
+ (restart)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -t --time)"{-t=,--time=}"[Number of seconds to try to stop for before killing the container]:seconds to before killing:(1 5 10 30 60)" \
+ "($help -)*:containers:__docker_complete_containers_ids" && ret=0
+ ;;
+ (rm)
+ local state
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -f --force)"{-f,--force}"[Force removal]" \
+ "($help -l --link)"{-l,--link}"[Remove the specified link and not the underlying container]" \
+ "($help -v --volumes)"{-v,--volumes}"[Remove the volumes associated to the container]" \
+ "($help -)*:containers:->values" && ret=0
+ case $state in
+ (values)
+ if [[ ${words[(r)-f]} == -f || ${words[(r)--force]} == --force ]]; then
+ __docker_complete_containers && ret=0
+ else
+ __docker_complete_stopped_containers && ret=0
+ fi
+ ;;
+ esac
+ ;;
+ (run)
+ local state
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ $opts_create_run \
+ $opts_create_run_update \
+ $opts_attach_exec_run_start \
+ "($help -d --detach)"{-d,--detach}"[Detached mode: leave the container running in the background]" \
+ "($help)--health-cmd=[Command to run to check health]:command: " \
+ "($help)--health-interval=[Time between running the check]:time: " \
+ "($help)--health-retries=[Consecutive failures needed to report unhealthy]:retries:(1 2 3 4 5)" \
+ "($help)--health-timeout=[Maximum time to allow one check to run]:time: " \
+ "($help)--no-healthcheck[Disable any container-specified HEALTHCHECK]" \
+ "($help)--rm[Remove intermediate containers when it exits]" \
+ "($help)--runtime=[Name of the runtime to be used for that container]:runtime:__docker_complete_runtimes" \
+ "($help)--sig-proxy[Proxy all received signals to the process (non-TTY mode only)]" \
+ "($help)--stop-signal=[Signal to kill a container]:signal:_signals" \
+ "($help)--storage-opt=[Storage driver options for the container]:storage options:->storage-opt" \
+ "($help -): :__docker_complete_images" \
+ "($help -):command: _command_names -e" \
+ "($help -)*::arguments: _normal" && ret=0
+ case $state in
+ (link)
+ if compset -P "*:"; then
+ _wanted alias expl "Alias" compadd -E "" && ret=0
+ else
+ __docker_complete_running_containers -qS ":" && ret=0
+ fi
+ ;;
+ (storage-opt)
+ if compset -P "*="; then
+ _message "value" && ret=0
+ else
+ opts=('size')
+ _describe -t filter-opts "storage options" opts -qS "=" && ret=0
+ fi
+ ;;
+ esac
+ ;;
+ (start)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ $opts_attach_exec_run_start \
+ "($help -a --attach)"{-a,--attach}"[Attach container's stdout/stderr and forward all signals]" \
+ "($help -i --interactive)"{-i,--interactive}"[Attach container's stding]" \
+ "($help -)*:containers:__docker_complete_stopped_containers" && ret=0
+ ;;
+ (stats)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -a --all)"{-a,--all}"[Show all containers (default shows just running)]" \
+ "($help)--format=[Pretty-print images using a Go template]:template: " \
+ "($help)--no-stream[Disable streaming stats and only pull the first result]" \
+ "($help -)*:containers:__docker_complete_running_containers" && ret=0
+ ;;
+ (stop)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -t --time)"{-t=,--time=}"[Number of seconds to try to stop for before killing the container]:seconds to before killing:(1 5 10 30 60)" \
+ "($help -)*:containers:__docker_complete_running_containers" && ret=0
+ ;;
+ (top)
+ local state
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -)1:containers:__docker_complete_running_containers" \
+ "($help -)*:: :->ps-arguments" && ret=0
+ case $state in
+ (ps-arguments)
+ _ps && ret=0
+ ;;
+ esac
+ ;;
+ (update)
+ local state
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ opts_create_run_update \
+ "($help -)*: :->values" && ret=0
+ case $state in
+ (values)
+ if [[ ${words[(r)--kernel-memory*]} = (--kernel-memory*) ]]; then
+ __docker_complete_stopped_containers && ret=0
+ else
+ __docker_complete_containers && ret=0
+ fi
+ ;;
+ esac
+ ;;
+ (wait)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -)*:containers:__docker_complete_running_containers" && ret=0
+ ;;
+ (help)
+ _arguments $(__docker_arguments) ":subcommand:__docker_container_commands" && ret=0
+ ;;
+ esac
+
+ return ret
+}
+
+# EO container
+
+# BO image
+
+__docker_image_commands() {
+ local -a _docker_image_subcommands
+ _docker_image_subcommands=(
+ "build:Build an image from a Dockerfile"
+ "history:Show the history of an image"
+ "import:Import the contents from a tarball to create a filesystem image"
+ "inspect:Display detailed information on one or more images"
+ "load:Load an image from a tar archive or STDIN"
+ "ls:List images"
+ "prune:Remove unused images"
+ "pull:Pull an image or a repository from a registry"
+ "push:Push an image or a repository to a registry"
+ "rm:Remove one or more images"
+ "save:Save one or more images to a tar archive (streamed to STDOUT by default)"
+ "tag:Tag an image into a repository"
+ )
+ _describe -t docker-image-commands "docker image command" _docker_image_subcommands
+}
+
+__docker_image_subcommand() {
+ local -a _command_args opts_help
+ local expl help="--help"
+ integer ret=1
+
+ opts_help=("(: -)--help[Print usage]")
+
+ case "$words[1]" in
+ (build)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help)*--build-arg=[Build-time variables]:=: " \
+ "($help)*--cache-from=[Images to consider as cache sources]: :__docker_complete_repositories_with_tags" \
+ "($help -c --cpu-shares)"{-c=,--cpu-shares=}"[CPU shares (relative weight)]:CPU shares:(0 10 100 200 500 800 1000)" \
+ "($help)--cgroup-parent=[Parent cgroup for the container]:cgroup: " \
+ "($help)--compress[Compress the build context using gzip]" \
+ "($help)--cpu-period=[Limit the CPU CFS (Completely Fair Scheduler) period]:CPU period: " \
+ "($help)--cpu-quota=[Limit the CPU CFS (Completely Fair Scheduler) quota]:CPU quota: " \
+ "($help)--cpu-rt-period=[Limit the CPU real-time period]:CPU real-time period in microseconds: " \
+ "($help)--cpu-rt-runtime=[Limit the CPU real-time runtime]:CPU real-time runtime in microseconds: " \
+ "($help)--cpuset-cpus=[CPUs in which to allow execution]:CPUs: " \
+ "($help)--cpuset-mems=[MEMs in which to allow execution]:MEMs: " \
+ "($help)--disable-content-trust[Skip image verification]" \
+ "($help -f --file)"{-f=,--file=}"[Name of the Dockerfile]:Dockerfile:_files" \
+ "($help)--force-rm[Always remove intermediate containers]" \
+ "($help)--isolation=[Container isolation technology]:isolation:(default hyperv process)" \
+ "($help)*--label=[Set metadata for an image]:label=value: " \
+ "($help -m --memory)"{-m=,--memory=}"[Memory limit]:Memory limit: " \
+ "($help)--memory-swap=[Total memory limit with swap]:Memory limit: " \
+ "($help)--network=[Connect a container to a network]:network mode:(bridge none container host)"
+ "($help)--no-cache[Do not use cache when building the image]" \
+ "($help)--pull[Attempt to pull a newer version of the image]" \
+ "($help -q --quiet)"{-q,--quiet}"[Suppress verbose build output]" \
+ "($help)--rm[Remove intermediate containers after a successful build]" \
+ "($help)*--shm-size=[Size of '/dev/shm' (format is '')]:shm size: " \
+ "($help -t --tag)*"{-t=,--tag=}"[Repository, name and tag for the image]: :__docker_complete_repositories_with_tags" \
+ "($help)*--ulimit=[ulimit options]:ulimit: " \
+ "($help)--userns=[Container user namespace]:user namespace:(host)" \
+ "($help -):path or URL:_directories" && ret=0
+ ;;
+ (history)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -H --human)"{-H,--human}"[Print sizes and dates in human readable format]" \
+ "($help)--no-trunc[Do not truncate output]" \
+ "($help -q --quiet)"{-q,--quiet}"[Only show numeric IDs]" \
+ "($help -)*: :__docker_complete_images" && ret=0
+ ;;
+ (import)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help)*"{-c=,--change=}"[Apply Dockerfile instruction to the created image]:Dockerfile:_files" \
+ "($help -m --message)"{-m=,--message=}"[Commit message for imported image]:message: " \
+ "($help -):URL:(- http:// file://)" \
+ "($help -): :__docker_complete_repositories_with_tags" && ret=0
+ ;;
+ (inspect)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -f --format)"{-f=,--format=}"[Format the output using the given go template]:template: " \
+ "($help -)*:images:__docker_complete_images" && ret=0
+ ;;
+ (load)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -i --input)"{-i=,--input=}"[Read from tar archive file]:archive file:_files -g \"*.((tar|TAR)(.gz|.GZ|.Z|.bz2|.lzma|.xz|)|(tbz|tgz|txz))(-.)\"" \
+ "($help -q --quiet)"{-q,--quiet}"[Suppress the load output]" && ret=0
+ ;;
+ (ls|list)
+ local state
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -a --all)"{-a,--all}"[Show all images]" \
+ "($help)--digests[Show digests]" \
+ "($help)*"{-f=,--filter=}"[Filter values]:filter:->filter-options" \
+ "($help)--format=[Pretty-print images using a Go template]:template: " \
+ "($help)--no-trunc[Do not truncate output]" \
+ "($help -q --quiet)"{-q,--quiet}"[Only show numeric IDs]" \
+ "($help -): :__docker_complete_repositories" && ret=0
+ case $state in
+ (filter-options)
+ __docker_complete_images_filters && ret=0
+ ;;
+ esac
+ ;;
+ (prune)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -a --all)"{-a,--all}"[Remove all unused images, not just dangling ones]" \
+ "($help -f --force)"{-f,--force}"[Do not prompt for confirmation]" && ret=0
+ ;;
+ (pull)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -a --all-tags)"{-a,--all-tags}"[Download all tagged images]" \
+ "($help)--disable-content-trust[Skip image verification]" \
+ "($help -):name:__docker_search" && ret=0
+ ;;
+ (push)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help)--disable-content-trust[Skip image signing]" \
+ "($help -): :__docker_complete_images" && ret=0
+ ;;
+ (rm)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -f --force)"{-f,--force}"[Force removal]" \
+ "($help)--no-prune[Do not delete untagged parents]" \
+ "($help -)*: :__docker_complete_images" && ret=0
+ ;;
+ (save)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -o --output)"{-o=,--output=}"[Write to file]:file:_files" \
+ "($help -)*: :__docker_complete_images" && ret=0
+ ;;
+ (tag)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -):source:__docker_complete_images"\
+ "($help -):destination:__docker_complete_repositories_with_tags" && ret=0
+ ;;
+ (help)
+ _arguments $(__docker_arguments) ":subcommand:__docker_container_commands" && ret=0
+ ;;
+ esac
+
+ return ret
+}
+
+# EO image
+
# BO network
__docker_network_complete_ls_filters() {
@@ -480,10 +1033,10 @@ __docker_network_complete_ls_filters() {
__docker_complete_info_plugins Network && ret=0
;;
(id)
- __docker_networks_ids && ret=0
+ __docker_complete_networks_ids && ret=0
;;
(name)
- __docker_networks_names && ret=0
+ __docker_complete_networks_names && ret=0
;;
(type)
type_opts=('builtin' 'custom')
@@ -529,6 +1082,7 @@ __docker_get_networks() {
for line in $lines; do
s="${line[${begin[NETWORK ID]},${end[NETWORK ID]}]%% ##}"
s="$s:${(l:7:: :::)${${line[${begin[DRIVER]},${end[DRIVER]}]}%% ##}}"
+ s="$s, ${${line[${begin[SCOPE]},${end[SCOPE]}]}%% ##}"
networks=($networks $s)
done
fi
@@ -538,6 +1092,7 @@ __docker_get_networks() {
for line in $lines; do
s="${line[${begin[NAME]},${end[NAME]}]%% ##}"
s="$s:${(l:7:: :::)${${line[${begin[DRIVER]},${end[DRIVER]}]}%% ##}}"
+ s="$s, ${${line[${begin[SCOPE]},${end[SCOPE]}]}%% ##}"
networks=($networks $s)
done
fi
@@ -546,17 +1101,17 @@ __docker_get_networks() {
return ret
}
-__docker_networks() {
+__docker_complete_networks() {
[[ $PREFIX = -* ]] && return 1
__docker_get_networks all "$@"
}
-__docker_networks_ids() {
+__docker_complete_networks_ids() {
[[ $PREFIX = -* ]] && return 1
__docker_get_networks ids "$@"
}
-__docker_networks_names() {
+__docker_complete_networks_names() {
[[ $PREFIX = -* ]] && return 1
__docker_get_networks names "$@"
}
@@ -569,6 +1124,7 @@ __docker_network_commands() {
"disconnect:Disconnects a container from a network"
"inspect:Displays detailed information on a network"
"ls:Lists all the networks created by the user"
+ "prune:Remove all unused networks"
"rm:Deletes one or more networks"
)
_describe -t docker-network-commands "docker network command" _docker_network_subcommands
@@ -590,15 +1146,15 @@ __docker_network_subcommand() {
"($help)--ip6=[Container IPv6 address]:IPv6: " \
"($help)*--link=[Add a link to another container]:link:->link" \
"($help)*--link-local-ip=[Add a link-local address for the container]:IPv4/IPv6: " \
- "($help -)1:network:__docker_networks" \
- "($help -)2:containers:__docker_containers" && ret=0
+ "($help -)1:network:__docker_complete_networks" \
+ "($help -)2:containers:__docker_complete_containers" && ret=0
case $state in
(link)
if compset -P "*:"; then
_wanted alias expl "Alias" compadd -E "" && ret=0
else
- __docker_runningcontainers -qS ":" && ret=0
+ __docker_complete_running_containers -qS ":" && ret=0
fi
;;
esac
@@ -606,6 +1162,7 @@ __docker_network_subcommand() {
(create)
_arguments $(__docker_arguments) -A '-*' \
$opts_help \
+ "($help)--attachable[Enable manual container attachment]" \
"($help)*--aux-address[Auxiliary IPv4 or IPv6 addresses used by network driver]:key=IP: " \
"($help -d --driver)"{-d=,--driver=}"[Driver to manage the Network]:driver:(null host bridge overlay)" \
"($help)*--gateway=[IPv4 or IPv6 Gateway for the master subnet]:IP: " \
@@ -622,14 +1179,14 @@ __docker_network_subcommand() {
(disconnect)
_arguments $(__docker_arguments) \
$opts_help \
- "($help -)1:network:__docker_networks" \
- "($help -)2:containers:__docker_containers" && ret=0
+ "($help -)1:network:__docker_complete_networks" \
+ "($help -)2:containers:__docker_complete_containers" && ret=0
;;
(inspect)
_arguments $(__docker_arguments) \
$opts_help \
"($help -f --format)"{-f=,--format=}"[Format the output using the given go template]:template: " \
- "($help -)*:network:__docker_networks" && ret=0
+ "($help -)*:network:__docker_complete_networks" && ret=0
;;
(ls)
_arguments $(__docker_arguments) \
@@ -644,10 +1201,15 @@ __docker_network_subcommand() {
;;
esac
;;
+ (prune)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -f --force)"{-f,--force}"[Do not prompt for confirmation]" && ret=0
+ ;;
(rm)
_arguments $(__docker_arguments) \
$opts_help \
- "($help -)*:network:__docker_networks" && ret=0
+ "($help -)*:network:__docker_complete_networks" && ret=0
;;
(help)
_arguments $(__docker_arguments) ":subcommand:__docker_network_commands" && ret=0
@@ -814,7 +1376,7 @@ __docker_node_subcommand() {
(rm|remove)
_arguments $(__docker_arguments) \
$opts_help \
- "($help)--force[Force remove an active node]" \
+ "($help -f --force)"{-f,--force}"[Force remove a node from the swarm]" \
"($help -)*:node:__docker_complete_pending_nodes" && ret=0
;;
(demote)
@@ -956,6 +1518,107 @@ __docker_plugin_subcommand() {
# EO plugin
+# BO secret
+
+__docker_secrets() {
+ [[ $PREFIX = -* ]] && return 1
+ integer ret=1
+ local line s
+ declare -a lines secrets
+
+ type=$1; shift
+
+ lines=(${(f)${:-"$(_call_program commands docker $docker_options secret ls)"$'\n'}})
+
+ # Parse header line to find columns
+ local i=1 j=1 k header=${lines[1]}
+ declare -A begin end
+ while (( j < ${#header} - 1 )); do
+ i=$(( j + ${${header[$j,-1]}[(i)[^ ]]} - 1 ))
+ j=$(( i + ${${header[$i,-1]}[(i) ]} - 1 ))
+ k=$(( j + ${${header[$j,-1]}[(i)[^ ]]} - 2 ))
+ begin[${header[$i,$((j-1))]}]=$i
+ end[${header[$i,$((j-1))]}]=$k
+ done
+ end[${header[$i,$((j-1))]}]=-1
+ lines=(${lines[2,-1]})
+
+ # ID
+ if [[ $type = (ids|all) ]]; then
+ for line in $lines; do
+ s="${line[${begin[ID]},${end[ID]}]%% ##}"
+ secrets=($secrets $s)
+ done
+ fi
+
+ # Names
+ if [[ $type = (names|all) ]]; then
+ for line in $lines; do
+ s="${line[${begin[NAME]},${end[NAME]}]%% ##}"
+ secrets=($secrets $s)
+ done
+ fi
+
+ _describe -t secrets-list "secrets" secrets "$@" && ret=0
+ return ret
+}
+
+__docker_complete_secrets() {
+ [[ $PREFIX = -* ]] && return 1
+ __docker_secrets all "$@"
+}
+
+__docker_secret_commands() {
+ local -a _docker_secret_subcommands
+ _docker_secret_subcommands=(
+ "create:Create a secret using stdin as content"
+ "inspect:Display detailed information on one or more secrets"
+ "ls:List secrets"
+ "rm:Remove one or more secrets"
+ )
+ _describe -t docker-secret-commands "docker secret command" _docker_secret_subcommands
+}
+
+__docker_secret_subcommand() {
+ local -a _command_args opts_help
+ local expl help="--help"
+ integer ret=1
+
+ opts_help=("(: -)--help[Print usage]")
+
+ case "$words[1]" in
+ (create)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help)*"{-l=,--label=}"[Secret labels]:label: " \
+ "($help -):secret: " && ret=0
+ ;;
+ (inspect)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -f --format)"{-f=,--format=}"[Format the output using the given Go template]:template: " \
+ "($help -)*:secret:__docker_complete_secrets" && ret=0
+ ;;
+ (ls|list)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -q --quiet)"{-q,--quiet}"[Only display IDs]" && ret=0
+ ;;
+ (rm|remove)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -)*:secret:__docker_complete_secrets" && ret=0
+ ;;
+ (help)
+ _arguments $(__docker_arguments) ":subcommand:__docker_secret_commands" && ret=0
+ ;;
+ esac
+
+ return ret
+}
+
+# EO secret
+
# BO service
__docker_service_complete_ls_filters() {
@@ -1071,7 +1734,7 @@ __docker_service_commands() {
"inspect:Display detailed information on one or more services"
"ls:List services"
"rm:Remove one or more services"
- "scale:Scale one or multiple services"
+ "scale:Scale one or multiple replicated services"
"ps:List the tasks of a service"
"update:Update a service"
)
@@ -1088,15 +1751,19 @@ __docker_service_subcommand() {
"($help)*--constraint=[Placement constraints]:constraint: "
"($help)--endpoint-mode=[Placement constraints]:mode:(dnsrr vip)"
"($help)*"{-e=,--env=}"[Set environment variables]:env: "
- "($help)*--group-add=[Add additional user groups to the container]:group:_groups"
+ "($help)--health-cmd=[Command to run to check health]:command: "
+ "($help)--health-interval=[Time between running the check]:time: "
+ "($help)--health-retries=[Consecutive failures needed to report unhealthy]:retries:(1 2 3 4 5)"
+ "($help)--health-timeout=[Maximum time to allow one check to run]:time: "
+ "($help)--hostname=[Service container hostname]:hostname: " \
"($help)*--label=[Service labels]:label: "
"($help)--limit-cpu=[Limit CPUs]:value: "
"($help)--limit-memory=[Limit Memory]:value: "
- "($help)--log-driver=[Logging driver for service]:logging driver:__docker_log_drivers"
- "($help)*--log-opt=[Logging driver options]:log driver options:__docker_log_options"
- "($help)*--mount=[Attach a mount to the service]:mount: "
- "($help)--name=[Service name]:name: "
+ "($help)--log-driver=[Logging driver for service]:logging driver:__docker_complete_log_drivers"
+ "($help)*--log-opt=[Logging driver options]:log driver options:__docker_complete_log_options"
+ "($help)*--mount=[Attach a filesystem mount to the service]:mount: "
"($help)*--network=[Network attachments]:network: "
+ "($help)--no-healthcheck[Disable any container-specified HEALTHCHECK]"
"($help)*"{-p=,--publish=}"[Publish a port as a node port]:port: "
"($help)--replicas=[Number of tasks]:replicas: "
"($help)--reserve-cpu=[Reserve CPUs]:value: "
@@ -1105,7 +1772,9 @@ __docker_service_subcommand() {
"($help)--restart-delay=[Delay between restart attempts]:delay: "
"($help)--restart-max-attempts=[Maximum number of restarts before giving up]:max-attempts: "
"($help)--restart-window=[Window used to evaluate the restart policy]:window: "
+ "($help)*--secret=[Specify secrets to expose to the service]:secret:__docker_complete_secrets"
"($help)--stop-grace-period=[Time to wait before force killing a container]:grace period: "
+ "($help -t --tty)"{-t,--tty}"[Allocate a pseudo-TTY]"
"($help)--update-delay=[Delay between updates]:delay: "
"($help)--update-failure-action=[Action on update failure]:mode:(pause continue)"
"($help)--update-max-failure-ratio=[Failure rate to tolerate during an update]:fraction: "
@@ -1122,8 +1791,14 @@ __docker_service_subcommand() {
$opts_help \
$opts_create_update \
"($help)*--container-label=[Container labels]:label: " \
+ "($help)*--dns=[Set custom DNS servers]:DNS: " \
+ "($help)*--dns-option=[Set DNS options]:DNS option: " \
+ "($help)*--dns-search=[Set custom DNS search domains]:DNS search: " \
+ "($help)*--env-file=[Read environment variables from a file]:environment file:_files" \
"($help)--mode=[Service Mode]:mode:(global replicated)" \
- "($help -): :__docker_images" \
+ "($help)--name=[Service name]:name: " \
+ "($help)*--publish=[Publish a port]:port: " \
+ "($help -): :__docker_complete_images" \
"($help -):command: _command_names -e" \
"($help -)*::arguments: _normal" && ret=0
;;
@@ -1167,10 +1842,10 @@ __docker_service_subcommand() {
(ps)
_arguments $(__docker_arguments) \
$opts_help \
- "($help -a --all)"{-a,--all}"[Display all tasks]" \
"($help)*"{-f=,--filter=}"[Provide filter values]:filter:->filter-options" \
"($help)--no-resolve[Do not map IDs to Names]" \
"($help)--no-trunc[Do not truncate output]" \
+ "($help -q --quiet)"{-q,--quiet}"[Only display task IDs]" \
"($help -)1:service:__docker_complete_services" && ret=0
case $state in
(filter-options)
@@ -1185,9 +1860,18 @@ __docker_service_subcommand() {
"($help)--arg=[Service command args]:arguments: _normal" \
"($help)*--container-label-add=[Add or update container labels]:label: " \
"($help)*--container-label-rm=[Remove a container label by its key]:label: " \
+ "($help)*--dns-add=[Add or update custom DNS servers]:DNS: " \
+ "($help)*--dns-rm=[Remove custom DNS servers]:DNS: " \
+ "($help)*--dns-option-add=[Add or update DNS options]:DNS option: " \
+ "($help)*--dns-option-rm=[Remove DNS options]:DNS option: " \
+ "($help)*--dns-search-add=[Add or update custom DNS search domains]:DNS search: " \
+ "($help)*--dns-search-rm=[Remove DNS search domains]:DNS search: " \
"($help)--force[Force update]" \
- "($help)*--group-rm=[Remove previously added user groups from the container]:group:_groups" \
- "($help)--image=[Service image tag]:image:__docker_repositories" \
+ "($help)*--group-add=[Add additional supplementary user groups to the container]:group:_groups" \
+ "($help)*--group-rm=[Remove previously added supplementary user groups from the container]:group:_groups" \
+ "($help)--image=[Service image tag]:image:__docker_complete_repositories" \
+ "($help)*--publish-add=[Add or update a port]:port: " \
+ "($help)*--publish-rm=[Remove a port(target-port mandatory)]:port: " \
"($help)--rollback[Rollback to previous specification]" \
"($help -)1:service:__docker_complete_services" && ret=0
;;
@@ -1201,6 +1885,147 @@ __docker_service_subcommand() {
# EO service
+# BO stack
+
+__docker_stack_complete_ps_filters() {
+ [[ $PREFIX = -* ]] && return 1
+ integer ret=1
+
+ if compset -P '*='; then
+ case "${${words[-1]%=*}#*=}" in
+ (desired-state)
+ state_opts=('accepted' 'running')
+ _describe -t state-opts "desired state options" state_opts && ret=0
+ ;;
+ *)
+ _message 'value' && ret=0
+ ;;
+ esac
+ else
+ opts=('desired-state' 'id' 'name')
+ _describe -t filter-opts "filter options" opts -qS "=" && ret=0
+ fi
+
+ return ret
+}
+
+__docker_stack_complete_services_filters() {
+ [[ $PREFIX = -* ]] && return 1
+ integer ret=1
+
+ if compset -P '*='; then
+ case "${${words[-1]%=*}#*=}" in
+ *)
+ _message 'value' && ret=0
+ ;;
+ esac
+ else
+ opts=('id' 'label' 'name')
+ _describe -t filter-opts "filter options" opts -qS "=" && ret=0
+ fi
+
+ return ret
+}
+
+__docker_stacks() {
+ [[ $PREFIX = -* ]] && return 1
+ integer ret=1
+ local line s
+ declare -a lines stacks
+
+ lines=(${(f)${:-"$(_call_program commands docker $docker_options stack ls)"$'\n'}})
+
+ # Parse header line to find columns
+ local i=1 j=1 k header=${lines[1]}
+ declare -A begin end
+ while (( j < ${#header} - 1 )); do
+ i=$(( j + ${${header[$j,-1]}[(i)[^ ]]} - 1 ))
+ j=$(( i + ${${header[$i,-1]}[(i) ]} - 1 ))
+ k=$(( j + ${${header[$j,-1]}[(i)[^ ]]} - 2 ))
+ begin[${header[$i,$((j-1))]}]=$i
+ end[${header[$i,$((j-1))]}]=$k
+ done
+ end[${header[$i,$((j-1))]}]=-1
+ lines=(${lines[2,-1]})
+
+ # Service ID
+ for line in $lines; do
+ s="${line[${begin[ID]},${end[ID]}]%% ##}"
+ stacks=($stacks $s)
+ done
+
+ _describe -t stacks-list "stacks" stacks "$@" && ret=0
+ return ret
+}
+
+__docker_complete_stacks() {
+ [[ $PREFIX = -* ]] && return 1
+ __docker_stacks "$@"
+}
+
+__docker_stack_commands() {
+ local -a _docker_stack_subcommands
+ _docker_stack_subcommands=(
+ "deploy:Deploy a new stack or update an existing stack"
+ "ls:List stacks"
+ "ps:List the tasks in the stack"
+ "rm:Remove the stack"
+ "services:List the services in the stack"
+ )
+ _describe -t docker-stack-commands "docker stack command" _docker_stack_subcommands
+}
+
+__docker_stack_subcommand() {
+ local -a _command_args opts_help
+ local expl help="--help"
+ integer ret=1
+
+ opts_help=("(: -)--help[Print usage]")
+
+ case "$words[1]" in
+ (deploy|up)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help)--bundle-file=[Path to a Distributed Application Bundle file]:dab:_files -g \"*.dab\"" \
+ "($help -c --compose-file)"{-c=,--compose-file=}"[Path to a Compose file]:compose file:_files -g \"*.(yml|yaml)\"" \
+ "($help)--with-registry-auth[Send registry authentication details to Swarm agents]" \
+ "($help -):stack:__docker_complete_stacks" && ret=0
+ ;;
+ (ls|list)
+ _arguments $(__docker_arguments) \
+ $opts_help && ret=0
+ ;;
+ (ps)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -a --all)"{-a,--all}"[Display all tasks]" \
+ "($help)*"{-f=,--filter=}"[Filter output based on conditions provided]:filter:__docker_stack_complete_ps_filters" \
+ "($help)--no-resolve[Do not map IDs to Names]" \
+ "($help)--no-trunc[Do not truncate output]" \
+ "($help -):stack:__docker_complete_stacks" && ret=0
+ ;;
+ (rm|remove|down)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -):stack:__docker_complete_stacks" && ret=0
+ ;;
+ (services)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help)*"{-f=,--filter=}"[Filter output based on conditions provided]:filter:__docker_stack_complete_services_filters" \
+ "($help -q --quiet)"{-q,--quiet}"[Only display IDs]" \
+ "($help -):stack:__docker_complete_stacks" && ret=0
+ ;;
+ (help)
+ _arguments $(__docker_arguments) ":subcommand:__docker_stack_commands" && ret=0
+ ;;
+ esac
+
+ return ret
+}
+
+# EO stack
+
# BO swarm
__docker_swarm_commands() {
@@ -1229,7 +2054,10 @@ __docker_swarm_subcommand() {
"($help)--advertise-addr[Advertised address]:ip\:port: " \
"($help)*--external-ca=[Specifications of one or more certificate signing endpoints]:endpoint: " \
"($help)--force-new-cluster[Force create a new cluster from current state]" \
- "($help)--listen-addr=[Listen address]:ip\:port: " && ret=0
+ "($help)--listen-addr=[Listen address]:ip\:port: " \
+ "($help)--max-snapshots[Number of additional Raft snapshots to retain]" \
+ "($help)--snapshot-interval[Number of log entries between Raft snapshots]" \
+ "($help)--task-history-limit=[Task history retention limit]:limit: " && ret=0
;;
(join)
_arguments $(__docker_arguments) \
@@ -1248,13 +2076,17 @@ __docker_swarm_subcommand() {
;;
(leave)
_arguments $(__docker_arguments) \
- $opts_help && ret=0
+ $opts_help \
+ "($help -f --force)"{-f,--force}"[Force this node to leave the swarm, ignoring warnings]" && ret=0
;;
(update)
_arguments $(__docker_arguments) \
$opts_help \
"($help)--cert-expiry=[Validity period for node certificates]:duration: " \
+ "($help)*--external-ca=[Specifications of one or more certificate signing endpoints]:endpoint: " \
"($help)--dispatcher-heartbeat=[Dispatcher heartbeat period]:duration: " \
+ "($help)--max-snapshots[Number of additional Raft snapshots to retain]" \
+ "($help)--snapshot-interval[Number of log entries between Raft snapshots]" \
"($help)--task-history-limit=[Task history retention limit]:limit: " && ret=0
;;
(help)
@@ -1267,6 +2099,61 @@ __docker_swarm_subcommand() {
# EO swarm
+# BO system
+
+__docker_system_commands() {
+ local -a _docker_system_subcommands
+ _docker_system_subcommands=(
+ "df:Show docker filesystem usage"
+ "events:Get real time events from the server"
+ "info:Display system-wide information"
+ "prune:Remove unused data"
+ )
+ _describe -t docker-system-commands "docker system command" _docker_system_subcommands
+}
+
+__docker_system_subcommand() {
+ local -a _command_args opts_help
+ local expl help="--help"
+ integer ret=1
+
+ opts_help=("(: -)--help[Print usage]")
+
+ case "$words[1]" in
+ (df)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -v --verbose)"{-v,--verbose}"[Show detailed information on space usage]" && ret=0
+ ;;
+ (events)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help)*"{-f=,--filter=}"[Filter values]:filter:__docker_complete_events_filter" \
+ "($help)--since=[Events created since this timestamp]:timestamp: " \
+ "($help)--until=[Events created until this timestamp]:timestamp: " \
+ "($help)--format=[Format the output using the given go template]:template: " && ret=0
+ ;;
+ (info)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -f --format)"{-f=,--format=}"[Format the output using the given go template]:template: " && ret=0
+ ;;
+ (prune)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -a --all)"{-a,--all}"[Remove all unused data, not just dangling ones]" \
+ "($help -f --force)"{-f,--force}"[Do not prompt for confirmation]" && ret=0
+ ;;
+ (help)
+ _arguments $(__docker_arguments) ":subcommand:__docker_volume_commands" && ret=0
+ ;;
+ esac
+
+ return ret
+}
+
+# EO system
+
# BO volume
__docker_volume_complete_ls_filters() {
@@ -1283,7 +2170,7 @@ __docker_volume_complete_ls_filters() {
__docker_complete_info_plugins Volume && ret=0
;;
(name)
- __docker_volumes && ret=0
+ __docker_complete_volumes && ret=0
;;
*)
_message 'value' && ret=0
@@ -1297,7 +2184,7 @@ __docker_volume_complete_ls_filters() {
return ret
}
-__docker_volumes() {
+__docker_complete_volumes() {
[[ $PREFIX = -* ]] && return 1
integer ret=1
declare -a lines volumes
@@ -1335,6 +2222,7 @@ __docker_volume_commands() {
"create:Create a volume"
"inspect:Display detailed information on one or more volumes"
"ls:List volumes"
+ "prune:Remove all unused volumes"
"rm:Remove one or more volumes"
)
_describe -t docker-volume-commands "docker volume command" _docker_volume_subcommands
@@ -1360,7 +2248,7 @@ __docker_volume_subcommand() {
_arguments $(__docker_arguments) \
$opts_help \
"($help -f --format)"{-f=,--format=}"[Format the output using the given go template]:template: " \
- "($help -)1:volume:__docker_volumes" && ret=0
+ "($help -)1:volume:__docker_complete_volumes" && ret=0
;;
(ls)
_arguments $(__docker_arguments) \
@@ -1374,11 +2262,16 @@ __docker_volume_subcommand() {
;;
esac
;;
+ (prune)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -f --force)"{-f,--force}"[Do not prompt for confirmation]" && ret=0
+ ;;
(rm)
_arguments $(__docker_arguments) \
$opts_help \
"($help -f --force)"{-f,--force}"[Force the removal of one or more volumes]" \
- "($help -):volume:__docker_volumes" && ret=0
+ "($help -):volume:__docker_complete_volumes" && ret=0
;;
(help)
_arguments $(__docker_arguments) ":subcommand:__docker_volume_commands" && ret=0
@@ -1408,7 +2301,7 @@ __docker_commands() {
then
local -a lines
lines=(${(f)"$(_call_program commands docker 2>&1)"})
- _docker_subcommands=(${${${lines[$((${lines[(i)Commands:]} + 1)),${lines[(I) *]}]}## #}/ ##/:})
+ _docker_subcommands=(${${${(M)${lines[$((${lines[(i)*Commands:]} + 1)),-1]}:# *}## #}/ ##/:})
_docker_subcommands=($_docker_subcommands 'daemon:Enable daemon mode' 'help:Show help for a command')
(( $#_docker_subcommands > 2 )) && _store_cache docker_subcommands _docker_subcommands
fi
@@ -1416,188 +2309,61 @@ __docker_commands() {
}
__docker_subcommand() {
- local -a _command_args opts_help opts_build_create_run opts_build_create_run_update opts_create_run opts_create_run_update
+ local -a _command_args opts_help
local expl help="--help"
integer ret=1
opts_help=("(: -)--help[Print usage]")
- opts_build_create_run=(
- "($help)--cgroup-parent=[Parent cgroup for the container]:cgroup: "
- "($help)--isolation=[Container isolation technology]:isolation:(default hyperv process)"
- "($help)--disable-content-trust[Skip image verification]"
- "($help)*--shm-size=[Size of '/dev/shm' (format is '')]:shm size: "
- "($help)*--ulimit=[ulimit options]:ulimit: "
- "($help)--userns=[Container user namespace]:user namespace:(host)"
- )
- opts_build_create_run_update=(
- "($help -c --cpu-shares)"{-c=,--cpu-shares=}"[CPU shares (relative weight)]:CPU shares:(0 10 100 200 500 800 1000)"
- "($help)--cpu-period=[Limit the CPU CFS (Completely Fair Scheduler) period]:CPU period: "
- "($help)--cpu-quota=[Limit the CPU CFS (Completely Fair Scheduler) quota]:CPU quota: "
- "($help)--cpuset-cpus=[CPUs in which to allow execution]:CPUs: "
- "($help)--cpuset-mems=[MEMs in which to allow execution]:MEMs: "
- "($help -m --memory)"{-m=,--memory=}"[Memory limit]:Memory limit: "
- "($help)--memory-swap=[Total memory limit with swap]:Memory limit: "
- )
- opts_create_run=(
- "($help -a --attach)"{-a=,--attach=}"[Attach to stdin, stdout or stderr]:device:(STDIN STDOUT STDERR)"
- "($help)*--add-host=[Add a custom host-to-IP mapping]:host\:ip mapping: "
- "($help)*--blkio-weight-device=[Block IO (relative device weight)]:device:Block IO weight: "
- "($help)*--cap-add=[Add Linux capabilities]:capability: "
- "($help)*--cap-drop=[Drop Linux capabilities]:capability: "
- "($help)--cidfile=[Write the container ID to the file]:CID file:_files"
- "($help)*--device=[Add a host device to the container]:device:_files"
- "($help)*--device-read-bps=[Limit the read rate (bytes per second) from a device]:device:IO rate: "
- "($help)*--device-read-iops=[Limit the read rate (IO per second) from a device]:device:IO rate: "
- "($help)*--device-write-bps=[Limit the write rate (bytes per second) to a device]:device:IO rate: "
- "($help)*--device-write-iops=[Limit the write rate (IO per second) to a device]:device:IO rate: "
- "($help)*--dns=[Custom DNS servers]:DNS server: "
- "($help)*--dns-opt=[Custom DNS options]:DNS option: "
- "($help)*--dns-search=[Custom DNS search domains]:DNS domains: "
- "($help)*"{-e=,--env=}"[Environment variables]:environment variable: "
- "($help)--entrypoint=[Overwrite the default entrypoint of the image]:entry point: "
- "($help)*--env-file=[Read environment variables from a file]:environment file:_files"
- "($help)*--expose=[Expose a port from the container without publishing it]: "
- "($help)*--group-add=[Add additional groups to run as]:group:_groups"
- "($help -h --hostname)"{-h=,--hostname=}"[Container host name]:hostname:_hosts"
- "($help -i --interactive)"{-i,--interactive}"[Keep stdin open even if not attached]"
- "($help)--ip=[Container IPv4 address]:IPv4: "
- "($help)--ip6=[Container IPv6 address]:IPv6: "
- "($help)--ipc=[IPC namespace to use]:IPC namespace: "
- "($help)*--link=[Add link to another container]:link:->link"
- "($help)*--link-local-ip=[Add a link-local address for the container]:IPv4/IPv6: "
- "($help)*"{-l=,--label=}"[Container metadata]:label: "
- "($help)--log-driver=[Default driver for container logs]:logging driver:__docker_log_drivers"
- "($help)*--log-opt=[Log driver specific options]:log driver options:__docker_log_options"
- "($help)--mac-address=[Container MAC address]:MAC address: "
- "($help)--name=[Container name]:name: "
- "($help)--network=[Connect a container to a network]:network mode:(bridge none container host)"
- "($help)*--network-alias=[Add network-scoped alias for the container]:alias: "
- "($help)--oom-kill-disable[Disable OOM Killer]"
- "($help)--oom-score-adj[Tune the host's OOM preferences for containers (accepts -1000 to 1000)]"
- "($help)--pids-limit[Tune container pids limit (set -1 for unlimited)]"
- "($help -P --publish-all)"{-P,--publish-all}"[Publish all exposed ports]"
- "($help)*"{-p=,--publish=}"[Expose a container's port to the host]:port:_ports"
- "($help)--pid=[PID namespace to use]:PID namespace:__docker_complete_pid"
- "($help)--privileged[Give extended privileges to this container]"
- "($help)--read-only[Mount the container's root filesystem as read only]"
- "($help)*--security-opt=[Security options]:security option: "
- "($help)*--sysctl=-[sysctl options]:sysctl: "
- "($help -t --tty)"{-t,--tty}"[Allocate a pseudo-tty]"
- "($help -u --user)"{-u=,--user=}"[Username or UID]:user:_users"
- "($help)--tmpfs[mount tmpfs]"
- "($help)*-v[Bind mount a volume]:volume: "
- "($help)--volume-driver=[Optional volume driver for the container]:volume driver:(local)"
- "($help)*--volumes-from=[Mount volumes from the specified container]:volume: "
- "($help -w --workdir)"{-w=,--workdir=}"[Working directory inside the container]:directory:_directories"
- )
- opts_create_run_update=(
- "($help)--blkio-weight=[Block IO (relative weight), between 10 and 1000]:Block IO weight:(10 100 500 1000)"
- "($help)--kernel-memory=[Kernel memory limit in bytes]:Memory limit: "
- "($help)--memory-reservation=[Memory soft limit]:Memory limit: "
- "($help)--restart=[Restart policy]:restart policy:(no on-failure always unless-stopped)"
- )
- opts_attach_exec_run_start=(
- "($help)--detach-keys=[Escape key sequence used to detach a container]:sequence:__docker_complete_detach_keys"
- )
case "$words[1]" in
- (attach)
- _arguments $(__docker_arguments) \
- $opts_help \
- $opts_attach_exec_run_start \
- "($help)--no-stdin[Do not attach stdin]" \
- "($help)--sig-proxy[Proxy all received signals to the process (non-TTY mode only)]" \
- "($help -):containers:__docker_runningcontainers" && ret=0
+ (attach|commit|cp|create|diff|exec|export|kill|logs|pause|unpause|port|rename|restart|rm|run|start|stats|stop|top|update|wait)
+ __docker_container_subcommand && ret=0
;;
- (build)
- _arguments $(__docker_arguments) \
- $opts_help \
- $opts_build_create_run \
- $opts_build_create_run_update \
- "($help)*--build-arg[Build-time variables]:=: " \
- "($help)--compress[Compress the build context using gzip]" \
- "($help -f --file)"{-f=,--file=}"[Name of the Dockerfile]:Dockerfile:_files" \
- "($help)--force-rm[Always remove intermediate containers]" \
- "($help)*--label=[Set metadata for an image]:label=value: " \
- "($help)--no-cache[Do not use cache when building the image]" \
- "($help)--pull[Attempt to pull a newer version of the image]" \
- "($help -q --quiet)"{-q,--quiet}"[Suppress verbose build output]" \
- "($help)--rm[Remove intermediate containers after a successful build]" \
- "($help -t --tag)*"{-t=,--tag=}"[Repository, name and tag for the image]: :__docker_repositories_with_tags" \
- "($help -):path or URL:_directories" && ret=0
+ (build|history|import|load|pull|push|save|tag)
+ __docker_image_subcommand && ret=0
;;
- (commit)
+ (container)
+ local curcontext="$curcontext" state
_arguments $(__docker_arguments) \
$opts_help \
- "($help -a --author)"{-a=,--author=}"[Author]:author: " \
- "($help)*"{-c=,--change=}"[Apply Dockerfile instruction to the created image]:Dockerfile:_files" \
- "($help -m --message)"{-m=,--message=}"[Commit message]:message: " \
- "($help -p --pause)"{-p,--pause}"[Pause container during commit]" \
- "($help -):container:__docker_containers" \
- "($help -): :__docker_repositories_with_tags" && ret=0
- ;;
- (cp)
- _arguments $(__docker_arguments) \
- $opts_help \
- "($help -L --follow-link)"{-L,--follow-link}"[Always follow symbol link]" \
- "($help -)1:container:->container" \
- "($help -)2:hostpath:_files" && ret=0
- case $state in
- (container)
- if compset -P "*:"; then
- _files && ret=0
- else
- __docker_containers -qS ":" && ret=0
- fi
- ;;
- esac
- ;;
- (create)
- _arguments $(__docker_arguments) \
- $opts_help \
- $opts_build_create_run \
- $opts_build_create_run_update \
- $opts_create_run \
- $opts_create_run_update \
- "($help -): :__docker_images" \
- "($help -):command: _command_names -e" \
- "($help -)*::arguments: _normal" && ret=0
+ "($help -): :->command" \
+ "($help -)*:: :->option-or-argument" && ret=0
case $state in
- (link)
- if compset -P "*:"; then
- _wanted alias expl "Alias" compadd -E "" && ret=0
- else
- __docker_runningcontainers -qS ":" && ret=0
- fi
+ (command)
+ __docker_container_commands && ret=0
+ ;;
+ (option-or-argument)
+ curcontext=${curcontext%:*:*}:docker-${words[-1]}:
+ __docker_container_subcommand && ret=0
;;
esac
-
;;
(daemon)
_arguments $(__docker_arguments) \
$opts_help \
"($help)*--add-runtime=[Register an additional OCI compatible runtime]:runtime:__docker_complete_runtimes" \
- "($help)--api-cors-header=[CORS headers in the remote API]:CORS headers: " \
+ "($help)--api-cors-header=[CORS headers in the Engine API]:CORS headers: " \
"($help)*--authorization-plugin=[Authorization plugins to load]" \
"($help -b --bridge)"{-b=,--bridge=}"[Attach containers to a network bridge]:bridge:_net_interfaces" \
"($help)--bip=[Network bridge IP]:IP address: " \
"($help)--cgroup-parent=[Parent cgroup for all containers]:cgroup: " \
+ "($help)--cluster-advertise=[Address or interface name to advertise]:Instance to advertise (host\:port): " \
+ "($help)--cluster-store=[URL of the distributed storage backend]:Cluster Store:->cluster-store" \
+ "($help)*--cluster-store-opt=[Cluster store options]:Cluster options:->cluster-store-options" \
"($help)--config-file=[Path to daemon configuration file]:Config File:_files" \
"($help)--containerd=[Path to containerd socket]:socket:_files -g \"*.sock\"" \
"($help -D --debug)"{-D,--debug}"[Enable debug mode]" \
"($help)--default-gateway[Container default gateway IPv4 address]:IPv4 address: " \
"($help)--default-gateway-v6[Container default gateway IPv6 address]:IPv6 address: " \
- "($help)--cluster-store=[URL of the distributed storage backend]:Cluster Store:->cluster-store" \
- "($help)--cluster-advertise=[Address or interface name to advertise]:Instance to advertise (host\:port): " \
- "($help)*--cluster-store-opt=[Cluster store options]:Cluster options:->cluster-store-options" \
- "($help)*--dns=[DNS server to use]:DNS: " \
- "($help)*--dns-search=[DNS search domains to use]:DNS search: " \
- "($help)*--dns-opt=[DNS options to use]:DNS option: " \
"($help)*--default-ulimit=[Default ulimits for containers]:ulimit: " \
"($help)--disable-legacy-registry[Disable contacting legacy registries]" \
+ "($help)*--dns=[DNS server to use]:DNS: " \
+ "($help)*--dns-opt=[DNS options to use]:DNS option: " \
+ "($help)*--dns-search=[DNS search domains to use]:DNS search: " \
"($help)*--exec-opt=[Runtime execution options]:runtime execution options: " \
"($help)--exec-root=[Root directory for execution state files]:path:_directories" \
+ "($help)--experimental[Enable experimental features]" \
"($help)--fixed-cidr=[IPv4 subnet for fixed IPs]:IPv4 subnet: " \
"($help)--fixed-cidr-v6=[IPv6 subnet for fixed IPs]:IPv6 subnet: " \
"($help -G --group)"{-G=,--group=}"[Group for the unix socket]:group:_groups" \
@@ -1614,8 +2380,8 @@ __docker_subcommand() {
"($help -l --log-level)"{-l=,--log-level=}"[Logging level]:level:(debug info warn error fatal)" \
"($help)*--label=[Key=value labels]:label: " \
"($help)--live-restore[Enable live restore of docker when containers are still running]" \
- "($help)--log-driver=[Default driver for container logs]:logging driver:__docker_log_drivers" \
- "($help)*--log-opt=[Default log driver options for containers]:log driver options:__docker_log_options" \
+ "($help)--log-driver=[Default driver for container logs]:logging driver:__docker_complete_log_drivers" \
+ "($help)*--log-opt=[Default log driver options for containers]:log driver options:__docker_complete_log_options" \
"($help)--max-concurrent-downloads[Set the max concurrent downloads for each pull]" \
"($help)--max-concurrent-uploads[Set the max concurrent uploads for each push]" \
"($help)--mtu=[Network MTU]:mtu:(0 576 1420 1500 9000)" \
@@ -1623,8 +2389,10 @@ __docker_subcommand() {
"($help -p --pidfile)"{-p=,--pidfile=}"[Path to use for daemon PID file]:PID file:_files" \
"($help)--raw-logs[Full timestamps without ANSI coloring]" \
"($help)*--registry-mirror=[Preferred Docker registry mirror]:registry mirror: " \
+ "($help)--seccomp-profile=[Path to seccomp profile]:path:_files -g \"*.json\"" \
"($help -s --storage-driver)"{-s=,--storage-driver=}"[Storage driver to use]:driver:(aufs btrfs devicemapper overlay overlay2 vfs zfs)" \
"($help)--selinux-enabled[Enable selinux support]" \
+ "($help)--shutdown-timeout=[Set the shutdown timeout value in seconds]:time: " \
"($help)*--storage-opt=[Storage driver options]:storage driver options: " \
"($help)--tls[Use TLS]" \
"($help)--tlscacert=[Trust certs signed only by this CA]:PEM file:_files -g \"*.(pem|crt)\"" \
@@ -1632,7 +2400,8 @@ __docker_subcommand() {
"($help)--tlskey=[Path to TLS key file]:Key file:_files -g \"*.(pem|key)\"" \
"($help)--tlsverify[Use TLS and verify the remote]" \
"($help)--userns-remap=[User/Group setting for user namespaces]:user\:group:->users-groups" \
- "($help)--userland-proxy[Use userland proxy for loopback traffic]" && ret=0
+ "($help)--userland-proxy[Use userland proxy for loopback traffic]" \
+ "($help)--userland-proxy-path=[Path to the userland proxy binary]:binary:_files" && ret=0
case $state in
(cluster-store)
@@ -1661,84 +2430,29 @@ __docker_subcommand() {
;;
esac
;;
- (diff)
- _arguments $(__docker_arguments) \
- $opts_help \
- "($help -)*:containers:__docker_containers" && ret=0
+ (events|info)
+ __docker_system_subcommand && ret=0
;;
- (events)
+ (image)
+ local curcontext="$curcontext" state
_arguments $(__docker_arguments) \
$opts_help \
- "($help)*"{-f=,--filter=}"[Filter values]:filter:__docker_complete_events_filter" \
- "($help)--since=[Events created since this timestamp]:timestamp: " \
- "($help)--until=[Events created until this timestamp]:timestamp: " \
- "($help)--format=[Format the output using the given go template]:template: " && ret=0
- ;;
- (exec)
- local state
- _arguments $(__docker_arguments) \
- $opts_help \
- $opts_attach_exec_run_start \
- "($help -d --detach)"{-d,--detach}"[Detached mode: leave the container running in the background]" \
- "($help -e --env)"{-e,--env}"[Set environment variables]" \
- "($help -i --interactive)"{-i,--interactive}"[Keep stdin open even if not attached]" \
- "($help)--privileged[Give extended Linux capabilities to the command]" \
- "($help -t --tty)"{-t,--tty}"[Allocate a pseudo-tty]" \
- "($help -u --user)"{-u=,--user=}"[Username or UID]:user:_users" \
- "($help -):containers:__docker_runningcontainers" \
- "($help -)*::command:->anycommand" && ret=0
+ "($help -): :->command" \
+ "($help -)*:: :->option-or-argument" && ret=0
case $state in
- (anycommand)
- shift 1 words
- (( CURRENT-- ))
- _normal && ret=0
+ (command)
+ __docker_image_commands && ret=0
+ ;;
+ (option-or-argument)
+ curcontext=${curcontext%:*:*}:docker-${words[-1]}:
+ __docker_image_subcommand && ret=0
;;
esac
;;
- (export)
- _arguments $(__docker_arguments) \
- $opts_help \
- "($help -o --output)"{-o=,--output=}"[Write to a file, instead of stdout]:output file:_files" \
- "($help -)*:containers:__docker_containers" && ret=0
- ;;
- (history)
- _arguments $(__docker_arguments) \
- $opts_help \
- "($help -H --human)"{-H,--human}"[Print sizes and dates in human readable format]" \
- "($help)--no-trunc[Do not truncate output]" \
- "($help -q --quiet)"{-q,--quiet}"[Only show numeric IDs]" \
- "($help -)*: :__docker_images" && ret=0
- ;;
(images)
- _arguments $(__docker_arguments) \
- $opts_help \
- "($help -a --all)"{-a,--all}"[Show all images]" \
- "($help)--digests[Show digests]" \
- "($help)*"{-f=,--filter=}"[Filter values]:filter:->filter-options" \
- "($help)--format=[Pretty-print images using a Go template]:template: " \
- "($help)--no-trunc[Do not truncate output]" \
- "($help -q --quiet)"{-q,--quiet}"[Only show numeric IDs]" \
- "($help -): :__docker_repositories" && ret=0
-
- case $state in
- (filter-options)
- __docker_complete_images_filters && ret=0
- ;;
- esac
- ;;
- (import)
- _arguments $(__docker_arguments) \
- $opts_help \
- "($help)*"{-c=,--change=}"[Apply Dockerfile instruction to the created image]:Dockerfile:_files" \
- "($help -m --message)"{-m=,--message=}"[Commit message for imported image]:message: " \
- "($help -):URL:(- http:// file://)" \
- "($help -): :__docker_repositories_with_tags" && ret=0
- ;;
- (info|version)
- _arguments $(__docker_arguments) \
- $opts_help \
- "($help -f --format)"{-f=,--format=}"[Format the output using the given go template]:template: " && ret=0
+ words[1]='ls'
+ __docker_image_subcommand && ret=0
;;
(inspect)
local state
@@ -1746,33 +2460,37 @@ __docker_subcommand() {
$opts_help \
"($help -f --format)"{-f=,--format=}"[Format the output using the given go template]:template: " \
"($help -s --size)"{-s,--size}"[Display total file sizes if the type is container]" \
- "($help)--type=[Return JSON for specified type]:type:(image container)" \
+ "($help)--type=[Return JSON for specified type]:type:(container image network node plugin service volume)" \
"($help -)*: :->values" && ret=0
case $state in
(values)
if [[ ${words[(r)--type=container]} == --type=container ]]; then
- __docker_containers && ret=0
+ __docker_complete_containers && ret=0
elif [[ ${words[(r)--type=image]} == --type=image ]]; then
- __docker_images && ret=0
+ __docker_complete_images && ret=0
+ elif [[ ${words[(r)--type=network]} == --type=network ]]; then
+ __docker_complete_networks && ret=0
+ elif [[ ${words[(r)--type=node]} == --type=node ]]; then
+ __docker_complete_nodes && ret=0
+ elif [[ ${words[(r)--type=plugin]} == --type=plugin ]]; then
+ __docker_complete_plugins && ret=0
+ elif [[ ${words[(r)--type=service]} == --type=service ]]; then
+ __docker_complete_services && ret=0
+ elif [[ ${words[(r)--type=volume]} == --type=volume ]]; then
+ __docker_complete_volumes && ret=0
else
- __docker_images && __docker_containers && ret=0
+ __docker_complete_containers
+ __docker_complete_images
+ __docker_complete_networks
+ __docker_complete_nodes
+ __docker_complete_plugins
+ __docker_complete_services
+ __docker_complete_volumes && ret=0
fi
;;
esac
;;
- (kill)
- _arguments $(__docker_arguments) \
- $opts_help \
- "($help -s --signal)"{-s=,--signal=}"[Signal to send]:signal:_signals" \
- "($help -)*:containers:__docker_runningcontainers" && ret=0
- ;;
- (load)
- _arguments $(__docker_arguments) \
- $opts_help \
- "($help -i --input)"{-i=,--input=}"[Read from tar archive file]:archive file:_files -g \"*.((tar|TAR)(.gz|.GZ|.Z|.bz2|.lzma|.xz|)|(tbz|tgz|txz))(-.)\"" \
- "($help -q --quiet)"{-q,--quiet}"[Suppress the load output]" && ret=0
- ;;
(login)
_arguments $(__docker_arguments) \
$opts_help \
@@ -1785,16 +2503,6 @@ __docker_subcommand() {
$opts_help \
"($help -)1:server: " && ret=0
;;
- (logs)
- _arguments $(__docker_arguments) \
- $opts_help \
- "($help)--details[Show extra details provided to logs]" \
- "($help -f --follow)"{-f,--follow}"[Follow log output]" \
- "($help -s --since)"{-s=,--since=}"[Show logs since this timestamp]:timestamp: " \
- "($help -t --timestamps)"{-t,--timestamps}"[Show timestamps]" \
- "($help)--tail=[Output the last K lines]:lines:(1 10 20 50 all)" \
- "($help -)*:containers:__docker_containers" && ret=0
- ;;
(network)
local curcontext="$curcontext" state
_arguments $(__docker_arguments) \
@@ -1829,11 +2537,6 @@ __docker_subcommand() {
;;
esac
;;
- (pause|unpause)
- _arguments $(__docker_arguments) \
- $opts_help \
- "($help -)*:containers:__docker_runningcontainers" && ret=0
- ;;
(plugin)
local curcontext="$curcontext" state
_arguments $(__docker_arguments) \
@@ -1851,128 +2554,13 @@ __docker_subcommand() {
;;
esac
;;
- (port)
- _arguments $(__docker_arguments) \
- $opts_help \
- "($help -)1:containers:__docker_runningcontainers" \
- "($help -)2:port:_ports" && ret=0
- ;;
(ps)
- _arguments $(__docker_arguments) \
- $opts_help \
- "($help -a --all)"{-a,--all}"[Show all containers]" \
- "($help)--before=[Show only container created before...]:containers:__docker_containers" \
- "($help)*"{-f=,--filter=}"[Filter values]:filter:__docker_complete_ps_filters" \
- "($help)--format=[Pretty-print containers using a Go template]:template: " \
- "($help -l --latest)"{-l,--latest}"[Show only the latest created container]" \
- "($help -n --last)"{-n=,--last=}"[Show n last created containers (includes all states)]:n:(1 5 10 25 50)" \
- "($help)--no-trunc[Do not truncate output]" \
- "($help -q --quiet)"{-q,--quiet}"[Only show numeric IDs]" \
- "($help -s --size)"{-s,--size}"[Display total file sizes]" \
- "($help)--since=[Show only containers created since...]:containers:__docker_containers" && ret=0
- ;;
- (pull)
- _arguments $(__docker_arguments) \
- $opts_help \
- "($help -a --all-tags)"{-a,--all-tags}"[Download all tagged images]" \
- "($help)--disable-content-trust[Skip image verification]" \
- "($help -):name:__docker_search" && ret=0
- ;;
- (push)
- _arguments $(__docker_arguments) \
- $opts_help \
- "($help)--disable-content-trust[Skip image signing]" \
- "($help -): :__docker_images" && ret=0
- ;;
- (rename)
- _arguments $(__docker_arguments) \
- $opts_help \
- "($help -):old name:__docker_containers" \
- "($help -):new name: " && ret=0
- ;;
- (stop)
- _arguments $(__docker_arguments) \
- $opts_help \
- "($help -t --time)"{-t=,--time=}"[Number of seconds to try to stop for before killing the container]:seconds to before killing:(1 5 10 30 60)" \
- "($help -)*:containers:__docker_runningcontainers" && ret=0
- ;;
- (restart)
- _arguments $(__docker_arguments) \
- $opts_help \
- "($help -t --time)"{-t=,--time=}"[Number of seconds to try to stop for before killing the container]:seconds to before killing:(1 5 10 30 60)" \
- "($help -)*:containers:__docker_containers_ids" && ret=0
- ;;
- (rm)
- _arguments $(__docker_arguments) \
- $opts_help \
- "($help -f --force)"{-f,--force}"[Force removal]" \
- "($help -l --link)"{-l,--link}"[Remove the specified link and not the underlying container]" \
- "($help -v --volumes)"{-v,--volumes}"[Remove the volumes associated to the container]" \
- "($help -)*:containers:->values" && ret=0
- case $state in
- (values)
- if [[ ${words[(r)-f]} == -f || ${words[(r)--force]} == --force ]]; then
- __docker_containers && ret=0
- else
- __docker_stoppedcontainers && ret=0
- fi
- ;;
- esac
+ words[1]='ls'
+ __docker_container_subcommand && ret=0
;;
(rmi)
- _arguments $(__docker_arguments) \
- $opts_help \
- "($help -f --force)"{-f,--force}"[Force removal]" \
- "($help)--no-prune[Do not delete untagged parents]" \
- "($help -)*: :__docker_images" && ret=0
- ;;
- (run)
- _arguments $(__docker_arguments) \
- $opts_help \
- $opts_build_create_run \
- $opts_build_create_run_update \
- $opts_create_run \
- $opts_create_run_update \
- $opts_attach_exec_run_start \
- "($help -d --detach)"{-d,--detach}"[Detached mode: leave the container running in the background]" \
- "($help)--health-cmd=[Command to run to check health]:command: " \
- "($help)--health-interval=[Time between running the check]:time: " \
- "($help)--health-retries=[Consecutive failures needed to report unhealthy]:retries:(1 2 3 4 5)" \
- "($help)--health-timeout=[Maximum time to allow one check to run]:time: " \
- "($help)--no-healthcheck[Disable any container-specified HEALTHCHECK]" \
- "($help)--rm[Remove intermediate containers when it exits]" \
- "($help)--runtime=[Name of the runtime to be used for that container]:runtime:__docker_complete_runtimes" \
- "($help)--sig-proxy[Proxy all received signals to the process (non-TTY mode only)]" \
- "($help)--stop-signal=[Signal to kill a container]:signal:_signals" \
- "($help)--storage-opt=[Storage driver options for the container]:storage options:->storage-opt" \
- "($help -): :__docker_images" \
- "($help -):command: _command_names -e" \
- "($help -)*::arguments: _normal" && ret=0
-
- case $state in
- (link)
- if compset -P "*:"; then
- _wanted alias expl "Alias" compadd -E "" && ret=0
- else
- __docker_runningcontainers -qS ":" && ret=0
- fi
- ;;
- (storage-opt)
- if compset -P "*="; then
- _message "value" && ret=0
- else
- opts=('size')
- _describe -t filter-opts "storage options" opts -qS "=" && ret=0
- fi
- ;;
- esac
-
- ;;
- (save)
- _arguments $(__docker_arguments) \
- $opts_help \
- "($help -o --output)"{-o=,--output=}"[Write to file]:file:_files" \
- "($help -)*: :__docker_images" && ret=0
+ words[1]='rm'
+ __docker_image_subcommand && ret=0
;;
(search)
_arguments $(__docker_arguments) \
@@ -1988,6 +2576,23 @@ __docker_subcommand() {
;;
esac
;;
+ (secret)
+ local curcontext="$curcontext" state
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -): :->command" \
+ "($help -)*:: :->option-or-argument" && ret=0
+
+ case $state in
+ (command)
+ __docker_secret_commands && ret=0
+ ;;
+ (option-or-argument)
+ curcontext=${curcontext%:*:*}:docker-${words[-1]}:
+ __docker_secret_subcommand && ret=0
+ ;;
+ esac
+ ;;
(service)
local curcontext="$curcontext" state
_arguments $(__docker_arguments) \
@@ -2005,21 +2610,22 @@ __docker_subcommand() {
;;
esac
;;
- (start)
+ (stack)
+ local curcontext="$curcontext" state
_arguments $(__docker_arguments) \
$opts_help \
- $opts_attach_exec_run_start \
- "($help -a --attach)"{-a,--attach}"[Attach container's stdout/stderr and forward all signals]" \
- "($help -i --interactive)"{-i,--interactive}"[Attach container's stding]" \
- "($help -)*:containers:__docker_stoppedcontainers" && ret=0
- ;;
- (stats)
- _arguments $(__docker_arguments) \
- $opts_help \
- "($help -a --all)"{-a,--all}"[Show all containers (default shows just running)]" \
- "($help)--format=[Pretty-print images using a Go template]:template: " \
- "($help)--no-stream[Disable streaming stats and only pull the first result]" \
- "($help -)*:containers:__docker_runningcontainers" && ret=0
+ "($help -): :->command" \
+ "($help -)*:: :->option-or-argument" && ret=0
+
+ case $state in
+ (command)
+ __docker_stack_commands && ret=0
+ ;;
+ (option-or-argument)
+ curcontext=${curcontext%:*:*}:docker-${words[-1]}:
+ __docker_stack_subcommand && ret=0
+ ;;
+ esac
;;
(swarm)
local curcontext="$curcontext" state
@@ -2038,41 +2644,28 @@ __docker_subcommand() {
;;
esac
;;
- (tag)
+ (system)
+ local curcontext="$curcontext" state
_arguments $(__docker_arguments) \
$opts_help \
- "($help -):source:__docker_images"\
- "($help -):destination:__docker_repositories_with_tags" && ret=0
- ;;
- (top)
- _arguments $(__docker_arguments) \
- $opts_help \
- "($help -)1:containers:__docker_runningcontainers" \
- "($help -)*:: :->ps-arguments" && ret=0
- case $state in
- (ps-arguments)
- _ps && ret=0
- ;;
- esac
-
- ;;
- (update)
- _arguments $(__docker_arguments) \
- $opts_help \
- $opts_create_run_update \
- $opts_build_create_run_update \
- "($help -)*: :->values" && ret=0
+ "($help -): :->command" \
+ "($help -)*:: :->option-or-argument" && ret=0
case $state in
- (values)
- if [[ ${words[(r)--kernel-memory*]} = (--kernel-memory*) ]]; then
- __docker_stoppedcontainers && ret=0
- else
- __docker_containers && ret=0
- fi
+ (command)
+ __docker_system_commands && ret=0
+ ;;
+ (option-or-argument)
+ curcontext=${curcontext%:*:*}:docker-${words[-1]}:
+ __docker_system_subcommand && ret=0
;;
esac
;;
+ (version)
+ _arguments $(__docker_arguments) \
+ $opts_help \
+ "($help -f --format)"{-f=,--format=}"[Format the output using the given go template]:template: " && ret=0
+ ;;
(volume)
local curcontext="$curcontext" state
_arguments $(__docker_arguments) \
@@ -2090,11 +2683,6 @@ __docker_subcommand() {
;;
esac
;;
- (wait)
- _arguments $(__docker_arguments) \
- $opts_help \
- "($help -)*:containers:__docker_runningcontainers" && ret=0
- ;;
(help)
_arguments $(__docker_arguments) ":subcommand:__docker_commands" && ret=0
;;
From 456341fd69c3e514e401f1c3c1726b77d733c86b Mon Sep 17 00:00:00 2001
From: Felipe Guilherme
Date: Sat, 17 Dec 2016 15:01:13 -0200
Subject: [PATCH 259/294] Add git alias for staging tracked files (#5178)
Although `gaa` (git add --all) is cool, it stages every file, tracked or
not, if it is not on .gitignore.
Sometimes we want to just stage everything we are working on, that is
already tracked. For that reason, 'gau' can save us some time.
---
plugins/git/git.plugin.zsh | 1 +
1 file changed, 1 insertion(+)
diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh
index 9d8e4174a..34942d387 100644
--- a/plugins/git/git.plugin.zsh
+++ b/plugins/git/git.plugin.zsh
@@ -43,6 +43,7 @@ alias g='git'
alias ga='git add'
alias gaa='git add --all'
alias gapa='git add --patch'
+alias gau='git add --update'
alias gb='git branch'
alias gba='git branch -a'
From 1ca2fe63deb0db4870b867c7da7dddc36b15963b Mon Sep 17 00:00:00 2001
From: Geoff Lane
Date: Sat, 17 Dec 2016 16:32:53 -0500
Subject: [PATCH 260/294] Add file completion to `mix run` (#5673)
---
plugins/mix/_mix | 3 +++
1 file changed, 3 insertions(+)
diff --git a/plugins/mix/_mix b/plugins/mix/_mix
index 57fdf808a..cfeb4705e 100644
--- a/plugins/mix/_mix
+++ b/plugins/mix/_mix
@@ -86,6 +86,9 @@ case $state in
(test)
_files
;;
+ (run)
+ _files
+ ;;
esac
;;
esac
From c6de77ca992648ea2be7beef5f35f5ce9f0151a9 Mon Sep 17 00:00:00 2001
From: Mauro Porras P
Date: Sat, 17 Dec 2016 16:52:01 -0500
Subject: [PATCH 261/294] Add a React Native alias, and one to start the web
server (#5711)
* Add a React Native alias, and one to start the web server
* Reorganise aliases in react-native plugin
* Update README for react-native plugin:
Fix format and add a brief description
Add missing aliases in react-native plugin README
---
plugins/react-native/README.md | 32 ++++++++++++++------
plugins/react-native/react-native.plugin.zsh | 8 +++--
2 files changed, 27 insertions(+), 13 deletions(-)
diff --git a/plugins/react-native/README.md b/plugins/react-native/README.md
index 78bfb6844..c6fe396b8 100644
--- a/plugins/react-native/README.md
+++ b/plugins/react-native/README.md
@@ -1,14 +1,26 @@
-# React Native
+# React Native plugin
-**Maintainer:** [BilalBudhani](https://github.com/BilalBudhani)
+This plugin adds completion for [`react-native`](https://facebook.github.io/react-native/).
+It also defines a few [aliases](#aliases) for the commands more frequently used.
-### List of Aliases
+To enable, add `react-native` to your `plugins` array in your zshrc file:
-Alias | React Native command
-------|---------------------
-**rnand** | *react-native run-android*
-**rnios** | *react-native run-ios*
-**rnios4s** | *react-native run-ios --simulator "iPhone 4s"*
-**rnios5** | *react-native run-ios --simulator "iPhone 5"*
-**rnios5s** | *react-native run-ios --simulator "iPhone 5s"*
+```zsh
+plugins=(... react-native)
+```
+## Aliases
+
+| Alias | React Native command |
+|:------------|:-----------------------------------------------|
+| **rn** | `react-native` |
+| **rns** | `react-native start` |
+| **rnlink** | `react-native link` |
+| _App testing_ |
+| **rnand** | `react-native run-android` |
+| **rnios** | `react-native run-ios` |
+| **rnios4s** | `react-native run-ios --simulator "iPhone 4s"` |
+| **rnios5** | `react-native run-ios --simulator "iPhone 5"` |
+| **rnios5s** | `react-native run-ios --simulator "iPhone 5s"` |
+| **rnios6** | `react-native run-ios --simulator "iPhone 6"` |
+| **rnios6s** | `react-native run-ios --simulator "iPhone 6s"` |
diff --git a/plugins/react-native/react-native.plugin.zsh b/plugins/react-native/react-native.plugin.zsh
index f19cba820..892a31fbe 100644
--- a/plugins/react-native/react-native.plugin.zsh
+++ b/plugins/react-native/react-native.plugin.zsh
@@ -1,9 +1,11 @@
+alias rn='react-native'
+alias rns='react-native start'
+alias rnlink='react-native link'
+
alias rnand='react-native run-android'
+alias rnios='react-native run-ios'
alias rnios4s='react-native run-ios --simulator "iPhone 4s"'
alias rnios5='react-native run-ios --simulator "iPhone 5"'
alias rnios5s='react-native run-ios --simulator "iPhone 5s"'
alias rnios6='react-native run-ios --simulator "iPhone 6"'
alias rnios6s='react-native run-ios --simulator "iPhone 6s"'
-alias rnios='react-native run-ios'
-alias rnlink='react-native link'
-
From e66bf038c7a9297afbccc264b802d50d43f2515a Mon Sep 17 00:00:00 2001
From: Jaehyun Shin
Date: Sun, 18 Dec 2016 07:03:02 +0900
Subject: [PATCH 262/294] Add heroku `features` command to completion (#5667)
---
plugins/heroku/_heroku | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/plugins/heroku/_heroku b/plugins/heroku/_heroku
index fd72e530e..878d3ce1b 100644
--- a/plugins/heroku/_heroku
+++ b/plugins/heroku/_heroku
@@ -31,6 +31,10 @@ _1st_arguments=(
"domains\:add":"add a custom domain to an app"
"domains\:remove":"remove a custom domain from an app"
"domains\:clear":"remove all custom domains from an app"
+ "features":"list available app features"
+ "features\:disable":"disables a feature"
+ "features\:enable":"enables an feature"
+ "features\:info":"displays additional information about feature"
"help":"list available commands or display help for a specific command"
"keys":"display keys for the current user"
"keys\:add":"add a key for the current user"
@@ -144,5 +148,4 @@ _arguments \
'(--app)--app[the app name]' \
'(--remote)--remote[the remote name]' \
'(--help)--help[help about the current command]' \
- && return 0
-
+ && return 0
From dfd296a9367ed577435d6f298747c4e5e750fc9c Mon Sep 17 00:00:00 2001
From: Nathan Bolender
Date: Sat, 17 Dec 2016 21:27:08 -0500
Subject: [PATCH 263/294] Update react-native autocomplete arguments (#5646)
---
plugins/react-native/_react-native | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/plugins/react-native/_react-native b/plugins/react-native/_react-native
index 47ee8c370..893ac040a 100644
--- a/plugins/react-native/_react-native
+++ b/plugins/react-native/_react-native
@@ -3,12 +3,21 @@
local -a _1st_arguments
_1st_arguments=(
+ 'init: generates a new project and installs its dependencies'
+ 'android:creates an empty android project'
'start:starts the webserver'
- 'bundle:builds the javascript bundle for offline use'
- 'new-library:generates a native library bridge'
- 'android:generates an Android project for your app'
+ 'run-ios:builds your app and starts it on iOS simulator'
'run-android:builds your app and starts it on a connected Android emulator or device'
- 'upgrade:upgrade your apps template files to the latest version; run this after updating the react-native version in your package.json and running npm install'
+ 'new-library:generates a native library bridge'
+ 'bundle:builds the javascript bundle for offline use'
+ 'unbundle:builds javascript as "unbundle" for offline use'
+ 'link:[options] links all native dependencies'
+ 'unlink:[options] unlink native dependency'
+ 'install:[options] install and link native dependencies'
+ 'uninstall:[options] uninstall and unlink native dependencies'
+ "upgrade:upgrade your app's template files to the latest version; run this after updating the react-native version in your package.json and running npm install"
+ 'log-android:starts adb logcat'
+ 'log-ios:starts iOS device syslog tail'
)
From 5fa674456a7d21b489a5cb3dea2ff01e1378b2f6 Mon Sep 17 00:00:00 2001
From: Dennis Rippinger
Date: Sun, 18 Dec 2016 03:34:16 +0100
Subject: [PATCH 264/294] Add mvn asciidoctor commands (#5645)
* Add mvn asciidoctor commands
* Fix formatting in mvn plugin
---
plugins/mvn/mvn.plugin.zsh | 28 ++++++++++++++--------------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/plugins/mvn/mvn.plugin.zsh b/plugins/mvn/mvn.plugin.zsh
index 04bd186af..c5a7faa0f 100644
--- a/plugins/mvn/mvn.plugin.zsh
+++ b/plugins/mvn/mvn.plugin.zsh
@@ -20,10 +20,9 @@ BACKGROUND_CYAN=`tput setab 6`
BACKGROUND_WHITE=`tput setab 7`
RESET_FORMATTING=`tput sgr0`
-
+
# Wrapper function for Maven's mvn command.
-mvn-color()
-{
+mvn-color() {
(
# Filter mvn output using sed. Before filtering set the locale to C, so invalid characters won't break some sed implementations
unset LANG
@@ -37,7 +36,7 @@ mvn-color()
echo -ne ${RESET_FORMATTING}
)
}
-
+
# Override the mvn command with the colorized one.
#alias mvn="mvn-color"
@@ -65,13 +64,13 @@ alias mvnsrc='mvn dependency:sources'
alias mvndocs='mvn dependency:resolve -Dclassifier=javadoc'
function listMavenCompletions {
- reply=(
+ reply=(
# common lifecycle
clean process-resources compile process-test-resources test-compile test integration-test package verify install deploy site
-
+
# common plugins
deploy failsafe install site surefire checkstyle javadoc jxr pmd ant antrun archetype assembly dependency enforcer gpg help release repository source eclipse idea jetty cargo jboss tomcat tomcat6 tomcat7 exec versions war ear ejb android scm buildnumber nexus repository sonar license hibernate3 liquibase flyway gwt
-
+
# deploy
deploy:deploy-file
# failsafe
@@ -82,7 +81,7 @@ function listMavenCompletions {
site:site site:deploy site:run site:stage site:stage-deploy
# surefire
surefire:test
-
+
# checkstyle
checkstyle:checkstyle checkstyle:check
# javadoc
@@ -110,18 +109,18 @@ function listMavenCompletions {
help:active-profiles help:all-profiles help:describe help:effective-pom help:effective-settings help:evaluate help:expressions help:system
# release
release:clean release:prepare release:rollback release:perform release:stage release:branch release:update-versions
- # jgitflow
- jgitflow:feature-start jgitflow:feature-finish jgitflow:release-start jgitflow:release-finish jgitflow:hotfix-start jgitflow:hotfix-finish jgitflow:build-number
+ # jgitflow
+ jgitflow:feature-start jgitflow:feature-finish jgitflow:release-start jgitflow:release-finish jgitflow:hotfix-start jgitflow:hotfix-finish jgitflow:build-number
# repository
repository:bundle-create repository:bundle-pack
# source
source:aggregate source:jar source:jar-no-fork
-
+
# eclipse
eclipse:clean eclipse:eclipse
# idea
idea:clean idea:idea
-
+
# jetty
jetty:run jetty:run-exploded
# cargo
@@ -134,7 +133,7 @@ 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
- # tomee
+ # tomee
tomee:run tomee:run-war tomee:run-war-only tomee:stop tomee:deploy tomee:undeploy
# spring-boot
spring-boot:run spring-boot:repackage
@@ -172,7 +171,8 @@ function listMavenCompletions {
flyway:clean flyway:history flyway:init flyway:migrate flyway:status flyway:validate
# gwt
gwt:browser gwt:clean gwt:compile gwt:compile-report gwt:css gwt:debug gwt:eclipse gwt:eclipseTest gwt:generateAsync gwt:help gwt:i18n gwt:mergewebxml gwt:resources gwt:run gwt:sdkInstall gwt:source-jar gwt:soyc gwt:test
-
+ # asciidoctor
+ asciidoctor:process-asciidoc asciidoctor:auto-refresh asciidoctor:http asciidoctor:zip
# options
-Dmaven.test.skip=true -DskipTests -DskipITs -Dmaven.surefire.debug -DenableCiProfile -Dpmd.skip=true -Dcheckstyle.skip=true -Dtycho.mode=maven -Dmaven.test.failure.ignore=true -DgroupId= -DartifactId= -Dversion= -Dpackaging=jar -Dfile=
From 97c03841691021f916c46b2fd2d089d7970400aa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?=
Date: Sun, 18 Dec 2016 05:02:08 +0100
Subject: [PATCH 265/294] Add more information to cask plugin README
---
plugins/cask/README.md | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/plugins/cask/README.md b/plugins/cask/README.md
index 6457fd858..e1335c1b8 100644
--- a/plugins/cask/README.md
+++ b/plugins/cask/README.md
@@ -1,11 +1,15 @@
-# cask plugin
+# Cask plugin
-Loads `cask` completion from non-standard locations, such as if installed
+[Cask](https://github.com/cask/cask) is a project management tool for Emacs that helps
+automate the package development cycle; development, dependencies, testing, building,
+packaging and more.
+
+This plugin loads `cask` completion from non-standard locations, such as if installed
via Homebrew or others. To enable it, add `cask` to your plugins array:
```zsh
plugins=(... cask)
```
-Make sure you have the `cask` directory in your `$PATH` before loading
-Oh My Zsh, otherwise you'll get the "command not found" error.
+Make sure you have the `cask` directory in your `$PATH` before loading Oh My Zsh,
+otherwise you'll get a "command not found" error.
From cedc4fce88fa6ca1f2f1e69b7aea0f983ded60c5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Patrick=20Jos=C3=A9=20Pereira?=
Date: Fri, 30 Dec 2016 10:34:16 -0200
Subject: [PATCH 266/294] 'lib/completion.zsh: Solve typos'
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Patrick José Pereira
---
lib/completion.zsh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/completion.zsh b/lib/completion.zsh
index bbd021656..a1e934315 100644
--- a/lib/completion.zsh
+++ b/lib/completion.zsh
@@ -5,7 +5,7 @@ WORDCHARS=''
unsetopt menu_complete # do not autoselect the first completion entry
unsetopt flowcontrol
-setopt auto_menu # show completion menu on succesive tab press
+setopt auto_menu # show completion menu on successive tab press
setopt complete_in_word
setopt always_to_end
From 2a6c40f66fe53f0a7d295f110511064b70456d38 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Patrick=20Jos=C3=A9=20Pereira?=
Date: Fri, 30 Dec 2016 10:34:16 -0200
Subject: [PATCH 267/294] 'lib/functions.zsh: Solve typos'
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Patrick José Pereira
---
lib/functions.zsh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/functions.zsh b/lib/functions.zsh
index 9f11318d2..f30653784 100644
--- a/lib/functions.zsh
+++ b/lib/functions.zsh
@@ -86,7 +86,7 @@ function default() {
}
#
-# Set enviroment variable "$1" to default value "$2" if "$1" is not yet defined.
+# Set environment variable "$1" to default value "$2" if "$1" is not yet defined.
#
# Arguments:
# 1. name - The env variable to set
From eac098b55c9d3b32827aa1c1432188aefad06934 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Patrick=20Jos=C3=A9=20Pereira?=
Date: Fri, 30 Dec 2016 10:34:16 -0200
Subject: [PATCH 268/294] 'plugins/droplr/README.md: Solve typos'
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Patrick José Pereira
---
plugins/droplr/README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/droplr/README.md b/plugins/droplr/README.md
index cfbec25ed..25cf61db7 100644
--- a/plugins/droplr/README.md
+++ b/plugins/droplr/README.md
@@ -1,6 +1,6 @@
# droplr
-Use [Droplr](https://droplr.com/) from the comand line to upload files and shorten
+Use [Droplr](https://droplr.com/) from the command line to upload files and shorten
links. It needs to have [Droplr.app](https://droplr.com/apps) installed and logged
in. MacOS only.
From 7079e67c11a468c8d1f07d069d666c50baa65e7c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Patrick=20Jos=C3=A9=20Pereira?=
Date: Fri, 30 Dec 2016 10:34:16 -0200
Subject: [PATCH 269/294] 'plugins/gnu-utils/gnu-utils.plugin.zsh: Solve
typos'
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Patrick José Pereira
---
plugins/gnu-utils/gnu-utils.plugin.zsh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/gnu-utils/gnu-utils.plugin.zsh b/plugins/gnu-utils/gnu-utils.plugin.zsh
index de95f7e6c..b66e25d7f 100644
--- a/plugins/gnu-utils/gnu-utils.plugin.zsh
+++ b/plugins/gnu-utils/gnu-utils.plugin.zsh
@@ -52,7 +52,7 @@ if [[ -x "${commands[gwhoami]}" ]]; then
#
# This method is inflexible since the aliases are at risk of being
- # overriden resulting in the BSD coreutils being called.
+ # overridden resulting in the BSD coreutils being called.
#
# (( ${+commands[$gcmd]} )) && \
# alias "$gcmd[2,-1]"="${prefix}/${gcmd//"["/"\\["}"
From 1bebbbf50ad3608e96474302238c489dc612cff0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Patrick=20Jos=C3=A9=20Pereira?=
Date: Fri, 30 Dec 2016 10:34:16 -0200
Subject: [PATCH 270/294]
'plugins/history-substring-search/history-substring-search.zsh: Solve typos'
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Patrick José Pereira
---
plugins/history-substring-search/history-substring-search.zsh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/history-substring-search/history-substring-search.zsh b/plugins/history-substring-search/history-substring-search.zsh
index ad316acc8..3b8afd317 100644
--- a/plugins/history-substring-search/history-substring-search.zsh
+++ b/plugins/history-substring-search/history-substring-search.zsh
@@ -244,7 +244,7 @@ _history-substring-search-end() {
_history_substring_search_result=$BUFFER
- # the search was succesful so display the result properly by clearing away
+ # the search was successful so display the result properly by clearing away
# existing highlights and moving the cursor to the end of the result buffer
if [[ $_history_substring_search_refresh_display -eq 1 ]]; then
region_highlight=()
From 093c2cd6b6f50587cb779147eb9b14759d4c94aa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Patrick=20Jos=C3=A9=20Pereira?=
Date: Fri, 30 Dec 2016 10:34:16 -0200
Subject: [PATCH 271/294] 'plugins/scala/_scala: Solve typos'
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Patrick José Pereira
---
plugins/scala/_scala | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/plugins/scala/_scala b/plugins/scala/_scala
index c4ccb37d3..80434680c 100644
--- a/plugins/scala/_scala
+++ b/plugins/scala/_scala
@@ -152,10 +152,10 @@ Y_opts=(
"-Ydump-classes+[Dump the generated bytecode to .class files (useful for reflective compilation that utilizes in-memory classloaders)]:output directory:_files -/"
"-Yeta-expand-keeps-star[Eta-expand varargs methods to T* rather than Seq[T]. This is a temporary option to ease transition.]"
"-Ygen-javap+[Generate a parallel output directory of .javap files]:output directory:_files -/"
- "-Yinfer-argument-types[Infer types for arguments of overriden methods]"
+ "-Yinfer-argument-types[Infer types for arguments of overridden methods]"
"-Yinline[Perform inlining when possible]"
"-Yinline-handlers[Perform exception handler inlining when possible]"
- "-Yinline-warnings[Emit inlining warnings (normally surpressed due to high volume)]"
+ "-Yinline-warnings[Emit inlining warnings (normally suppressed due to high volume)]"
"-Yinvalidate+[Invalidate classpath entry before run]:classpath entry"
"-Ylinearizer\:-[Linearizer to use (default\: rpo)]:linearizer:(normal dfs rpo dump)"
"-Ylog-classpath[Output information about what classpath is being applied]"
From 75663be294e2328dd4928596345a9e2e4785e8a8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Patrick=20Jos=C3=A9=20Pereira?=
Date: Fri, 30 Dec 2016 10:34:16 -0200
Subject: [PATCH 272/294] 'plugins/suse/suse.plugin.zsh: Solve typos'
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Patrick José Pereira
---
plugins/suse/suse.plugin.zsh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/plugins/suse/suse.plugin.zsh b/plugins/suse/suse.plugin.zsh
index afd8ecabd..f7215528b 100644
--- a/plugins/suse/suse.plugin.zsh
+++ b/plugins/suse/suse.plugin.zsh
@@ -1,4 +1,4 @@
-#Alias for Zypper according to the offical Zypper's alias
+#Alias for Zypper according to the official Zypper's alias
#Main commands
alias z='sudo zypper' #call zypper
@@ -51,7 +51,7 @@ alias zrr='sudo zypper rr' #remove repositories
alias zas='sudo zypper as' #adds a service specified by URI to the system
alias zms='sudo zypper ms' #modify properties of specified services
alias zrefs='sudo zypper refs' #refreshing a service mean executing the service's special task
-alias zrs='sudo zypper rs' #remove specified repository index service from the sytem
+alias zrs='sudo zypper rs' #remove specified repository index service from the system
alias zls='sudo zypper ls' #list services defined on the system
#Package Locks Management commands
From 87bc218d2da0da540383633462ca5fdbeda927fb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Patrick=20Jos=C3=A9=20Pereira?=
Date: Fri, 30 Dec 2016 10:34:16 -0200
Subject: [PATCH 273/294] 'plugins/terraform/_terraform: Solve typos'
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Patrick José Pereira
---
plugins/terraform/_terraform | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/terraform/_terraform b/plugins/terraform/_terraform
index 11740dc48..97c42a559 100644
--- a/plugins/terraform/_terraform
+++ b/plugins/terraform/_terraform
@@ -98,7 +98,7 @@ __push() {
'-token=[(token) Atlas API token to use to authorize the upload. If blank or unspecified, the ATLAS_TOKEN environmental variable will be used.]' \
'-var=[("foo=bar") Set the value of a variable for the Terraform configuration.]' \
'-var-file=[(foo) Set the value of variables using a variable file.]' \
- '-vcs=[(true) If true (default), then Terraform will detect if a VCS is in use, such as Git, and will only upload files that are comitted to version control. If no version control system is detected, Terraform will upload all files in path (parameter to the command).]'
+ '-vcs=[(true) If true (default), then Terraform will detect if a VCS is in use, such as Git, and will only upload files that are committed to version control. If no version control system is detected, Terraform will upload all files in path (parameter to the command).]'
}
__refresh() {
From 8c6ac51f3f40e2af1f35bd5ac3765159e5a4a0cb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Patrick=20Jos=C3=A9=20Pereira?=
Date: Fri, 30 Dec 2016 10:34:16 -0200
Subject: [PATCH 274/294] 'plugins/ubuntu/readme.md: Solve typos'
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Patrick José Pereira
---
plugins/ubuntu/readme.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/ubuntu/readme.md b/plugins/ubuntu/readme.md
index c9ef61f4e..5ad4bbcd2 100644
--- a/plugins/ubuntu/readme.md
+++ b/plugins/ubuntu/readme.md
@@ -10,7 +10,7 @@ By now you already can guess almost all aliases
There are two exeptions since ...
agu = sudo Apt-Get Update - we have ...
-agug = sudo Apt-Get UpGrade - as the exeptional 4 letter alias for a single command.
+agug = sudo Apt-Get UpGrade - as the exceptional 4 letter alias for a single command.
afs = Apt-File Search --regexp - this has the regexp switch on without being represented in the alias, I guess this makes sense since the debian plugin has it, I never used that command.
From 223872c4530de5e756581d205c614ba3e1de79ce Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Patrick=20Jos=C3=A9=20Pereira?=
Date: Fri, 30 Dec 2016 10:34:16 -0200
Subject: [PATCH 275/294] 'plugins/ubuntu/ubuntu.plugin.zsh: Solve typos'
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Patrick José Pereira
---
plugins/ubuntu/ubuntu.plugin.zsh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/ubuntu/ubuntu.plugin.zsh b/plugins/ubuntu/ubuntu.plugin.zsh
index 030af0693..60ff0457f 100644
--- a/plugins/ubuntu/ubuntu.plugin.zsh
+++ b/plugins/ubuntu/ubuntu.plugin.zsh
@@ -69,7 +69,7 @@ alias mydeb='time dpkg-buildpackage -rfakeroot -us -uc'
# apt-add-repository with automatic install/upgrade of the desired package
# Usage: aar ppa:xxxxxx/xxxxxx [packagename]
# If packagename is not given as 2nd argument the function will ask for it and guess the default by taking
-# the part after the / from the ppa name wich is sometimes the right name for the package you want to install
+# the part after the / from the ppa name which is sometimes the right name for the package you want to install
aar() {
if [ -n "$2" ]; then
PACKAGE=$2
From 13e327eb7c552ded26836247a5f8575dc52e0f6c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Patrick=20Jos=C3=A9=20Pereira?=
Date: Fri, 30 Dec 2016 10:34:16 -0200
Subject: [PATCH 276/294] 'plugins/z/README: Solve typos'
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Patrick José Pereira
---
plugins/z/README | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/z/README b/plugins/z/README
index 7de82a4c7..56261cff4 100644
--- a/plugins/z/README
+++ b/plugins/z/README
@@ -125,7 +125,7 @@ ENVIRONMENT
Directories must be full paths without trailing slashes.
The environment variable $_Z_OWNER can be set to your username, to
- allow usage of z when your sudo enviroment keeps $HOME set.
+ allow usage of z when your sudo environment keeps $HOME set.
FILES
Data is stored in $HOME/.z. This can be overridden by setting the
From c362da8813d8541a24e4f166400ea8e3fe7078dd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Patrick=20Jos=C3=A9=20Pereira?=
Date: Fri, 30 Dec 2016 10:34:16 -0200
Subject: [PATCH 277/294] 'plugins/z/z.1: Solve typos'
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Patrick José Pereira
---
plugins/z/z.1 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/z/z.1 b/plugins/z/z.1
index cc99910bf..bbc1bf5df 100644
--- a/plugins/z/z.1
+++ b/plugins/z/z.1
@@ -151,7 +151,7 @@ directory trees to exclude from tracking. \fB$HOME\fR is always excluded.
Directories must be full paths without trailing slashes.
.P
The environment variable \fB$_Z_OWNER\fR can be set to your username, to
-allow usage of \fBz\fR when your sudo enviroment keeps \fB$HOME\fR set.
+allow usage of \fBz\fR when your sudo environment keeps \fB$HOME\fR set.
.SH
FILES
Data is stored in \fB$HOME/.z\fR. This can be overridden by setting the
From a414bb3eb41c7bd2e50df3dd249dddb96d6f34d3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Patrick=20Jos=C3=A9=20Pereira?=
Date: Fri, 30 Dec 2016 10:34:16 -0200
Subject: [PATCH 278/294] 'themes/half-life.zsh-theme: Solve typos'
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Patrick José Pereira
---
themes/half-life.zsh-theme | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/themes/half-life.zsh-theme b/themes/half-life.zsh-theme
index a3c505706..5f987099d 100644
--- a/themes/half-life.zsh-theme
+++ b/themes/half-life.zsh-theme
@@ -17,7 +17,7 @@ setopt prompt_subst
autoload -U add-zsh-hook
autoload -Uz vcs_info
-#use extended color pallete if available
+#use extended color palette if available
if [[ $TERM = *256color* || $TERM = *rxvt* ]]; then
turquoise="%F{81}"
orange="%F{166}"
From 747b6ec5f76371ff7742402bc18fb75902f19a78 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Patrick=20Jos=C3=A9=20Pereira?=
Date: Fri, 30 Dec 2016 10:34:16 -0200
Subject: [PATCH 279/294] 'themes/pure.zsh-theme: Solve typos'
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Patrick José Pereira
---
themes/pure.zsh-theme | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/themes/pure.zsh-theme b/themes/pure.zsh-theme
index 1473194a5..0e5681cc7 100644
--- a/themes/pure.zsh-theme
+++ b/themes/pure.zsh-theme
@@ -61,7 +61,7 @@ cmd_exec_time() {
[ $elapsed -gt 5 ] && echo ${elapsed}s
}
-# Get the intial timestamp for cmd_exec_time
+# Get the initial timestamp for cmd_exec_time
#
preexec() {
cmd_timestamp=`date +%s`
From 0c7bb4de0dd4a13f4d53bc60c38061087ecea6ee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Patrick=20Jos=C3=A9=20Pereira?=
Date: Fri, 30 Dec 2016 10:34:16 -0200
Subject: [PATCH 280/294] 'themes/steeef.zsh-theme: Solve typos'
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Patrick José Pereira
---
themes/steeef.zsh-theme | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/themes/steeef.zsh-theme b/themes/steeef.zsh-theme
index 13dc3ad2f..b72a41c92 100644
--- a/themes/steeef.zsh-theme
+++ b/themes/steeef.zsh-theme
@@ -19,7 +19,7 @@ setopt prompt_subst
autoload -U add-zsh-hook
autoload -Uz vcs_info
-#use extended color pallete if available
+#use extended color palette if available
if [[ $terminfo[colors] -ge 256 ]]; then
turquoise="%F{81}"
orange="%F{166}"
From 0f498e8d458f941556dac8929b7dedfe99e4fe3f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Patrick=20Jos=C3=A9=20Pereira?=
Date: Fri, 30 Dec 2016 10:34:16 -0200
Subject: [PATCH 281/294] 'themes/trapd00r.zsh-theme: Solve typos'
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Patrick José Pereira
---
themes/trapd00r.zsh-theme | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/themes/trapd00r.zsh-theme b/themes/trapd00r.zsh-theme
index ca1676fb5..3fa5d57ab 100644
--- a/themes/trapd00r.zsh-theme
+++ b/themes/trapd00r.zsh-theme
@@ -36,7 +36,7 @@ local c12=$(printf "\e[38;5;142m\e[1m")
local c13=$(printf "\e[38;5;196m\e[1m")
-# We dont want to use the extended colorset in the TTY / VC.
+# We don't want to use the extended colorset in the TTY / VC.
if [ "$TERM" = "linux" ]; then
c1=$( printf "\e[34;1m")
c2=$( printf "\e[35m")
@@ -71,7 +71,7 @@ prompt_jnrowe_precmd () {
PROMPT='%{$fg_bold[green]%}%p%{$reset_color%}${vcs_info_msg_0_}${dir_status} ${ret_status}%{$reset_color%}
> '
-# modified, to be commited
+# modified, to be committed
elif [[ $(git diff --cached --name-status 2>/dev/null ) != "" ]]; then
dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$(zsh_path)%} %{$c0%}(%{$c5%}%?%{$c0%})"
PROMPT='${vcs_info_msg_0_}%{$30%} %{$bg_bold[red]%}%{$fg_bold[cyan]%}C%{$fg_bold[black]%}OMMIT%{$reset_color%}
From ff5629e60b815b3c21ef216d5ba5943932589758 Mon Sep 17 00:00:00 2001
From: Ryan Brushett
Date: Fri, 30 Dec 2016 14:29:17 -0330
Subject: [PATCH 282/294] Improve UX for Spotify quit command in osx plugin
(#5726)
* Improve UX for Spotify commands in osx plugin
Spotify command UX is a bit weak for people who live and work almost entirely in shells.
- `spotify quit` should not open Spotify if it is not already running. Should confirm that Spotify is indeed not running.
- `spotify quit` should not blow away the user's shell once Spotify is quit. This can be a disruption to work flow.
This PR looks to add a few little checks which will help improve this experience.
This PR also adds a space to line 477 between `break` and `;;` for consistency. Doesn't seem like a big enough change to put in its own PR.
* Rearranging output as per peer feedback
* osx plugin's spotify: change quitting w/ closing
Closing is more idiomatic English.
---
plugins/osx/osx.plugin.zsh | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/plugins/osx/osx.plugin.zsh b/plugins/osx/osx.plugin.zsh
index d7baa1191..95ef3e1aa 100644
--- a/plugins/osx/osx.plugin.zsh
+++ b/plugins/osx/osx.plugin.zsh
@@ -323,7 +323,7 @@ function spotify() {
if [ $# = 0 ]; then
showHelp;
else
- if [ "$(osascript -e 'application "Spotify" is running')" = "false" ]; then
+ if [ "$1" != "quit" ] && [ "$(osascript -e 'application "Spotify" is running')" = "false" ]; then
osascript -e 'tell application "Spotify" to activate'
sleep 2
fi
@@ -413,9 +413,13 @@ function spotify() {
break ;;
"quit" )
- cecho "Quitting Spotify.";
- osascript -e 'tell application "Spotify" to quit';
- exit 1 ;;
+ if [ "$(osascript -e 'application "Spotify" is running')" = "false" ]; then
+ cecho "Spotify was not running."
+ else
+ cecho "Closing Spotify.";
+ osascript -e 'tell application "Spotify" to quit';
+ fi
+ break ;;
"next" )
cecho "Going to next track." ;
@@ -470,7 +474,7 @@ function spotify() {
"pos" )
cecho "Adjusting Spotify play position."
osascript -e "tell application \"Spotify\" to set player position to $2";
- break;;
+ break ;;
"status" )
showStatus;
From 9f8b2b42bdfee31bb06a93aa0e8b04411727ce58 Mon Sep 17 00:00:00 2001
From: Nuno Arruda
Date: Mon, 2 Jan 2017 06:29:48 -0100
Subject: [PATCH 283/294] chore: update license years (#5737)
---
LICENSE.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/LICENSE.txt b/LICENSE.txt
index 42f607f5d..ed0ae75fc 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -1,6 +1,6 @@
The MIT License (MIT)
-Copyright (c) 2009-2016 Robby Russell and contributors
+Copyright (c) 2009-2017 Robby Russell and contributors
See the full list at https://github.com/robbyrussell/oh-my-zsh/contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
From 4608231b2576fbe27913a6ce3d350ab03b9b5932 Mon Sep 17 00:00:00 2001
From: Eric Wendelin
Date: Wed, 4 Jan 2017 04:26:23 -0700
Subject: [PATCH 284/294] Improved gradle options (arguments) completion
(#5743)
* Sort gradle options for autocompletion
This will allow us to more easily keep the options list up-to-date
* Add missing gradle options to gradle plugin
Reflect documentation at
https://docs.gradle.org/3.2.1/userguide/gradle_command_line.html
---
plugins/gradle/gradle.plugin.zsh | 73 +++++++++++++++++++++++---------
1 file changed, 52 insertions(+), 21 deletions(-)
diff --git a/plugins/gradle/gradle.plugin.zsh b/plugins/gradle/gradle.plugin.zsh
index 65b9d4685..0adc04a13 100644
--- a/plugins/gradle/gradle.plugin.zsh
+++ b/plugins/gradle/gradle.plugin.zsh
@@ -24,29 +24,60 @@ function _gradle_core_commands() {
function _gradle_arguments() {
_arguments -C \
'-a[Do not rebuild project dependencies]' \
- '-h[Help]' \
- '-D[System property]' \
+ '-b[Specifies the build file]' \
+ '-c[Specifies the settings file]' \
'-d[Log at the debug level]' \
- '--gui[Launches the Gradle GUI app]' \
- '--stop[Stop the Gradle daemon]' \
- '--daemon[Use the Gradle daemon]' \
- '--no-daemon[Do not use the Gradle daemon]' \
- '--rerun-task [Specifies that any task optimization is ignored.]' \
- '-i[Log at the info level]' \
- '-m[Dry run]' \
- '-P[Set a project property]' \
- '-p[Specifies the start directory]' \
- '--profile[Profile the build time]' \
- '-q[Log at the quiet level (only show errors)]' \
- '-v[Print the Gradle version info]' \
+ '-g[Specifies the Gradle user home directory]' \
+ '-h[Shows a help message]' \
+ '-i[Set log level to INFO]' \
+ '-m[Runs the build with all task actions disabled]' \
+ '-p[Specifies the start directory for Gradle]' \
+ '-q[Log errors only]' \
+ '-s[Print out the stacktrace also for user exceptions]' \
+ '-t[Continuous mode. Automatically re-run build after changes]' \
+ '-u[Don''t search in parent directories for a settings.gradle file]' \
+ '-v[Prints Gradle version info]' \
'-x[Specify a task to be excluded]' \
- '-b[Specifies the build file.]' \
- '-c[Specifies the settings file.]' \
- '--continue[Continues task execution after a task failure.]' \
- '-g[Specifies the Gradle user home directory.]' \
- '-I[Specifies an initialization script.]' \
- '--refresh-dependencies[Refresh the state of dependencies.]' \
- '-u[Don''t search in parent directories for a settings.gradle file.]' \
+ '-D[Set a system property]' \
+ '-I[Specifies an initialization script]' \
+ '-P[Sets a project property of the root project]' \
+ '-S[Print out the full (very verbose) stacktrace]' \
+ '--build-file[Specifies the build file]' \
+ '--configure-on-demand[Only relevant projects are configured]' \
+ '--console[Type of console output to generate (plain, auto, or rich)]' \
+ '--continue[Continues task execution after a task failure]' \
+ '--continuous[Continuous mode. Automatically re-run build after changes]' \
+ '--daemon[Use the Gradle Daemon]' \
+ '--debug[Log at the debug level]' \
+ '--dry-run[Runs the build with all task actions disabled]' \
+ '--exclude-task[Specify a task to be excluded]' \
+ '--full-stacktrace[Print out the full (very verbose) stacktrace]' \
+ '--gradle-user-home[Specifies the Gradle user home directory]' \
+ '--gui[Launches the Gradle GUI app (Deprecated)]' \
+ '--help[Shows a help message]' \
+ '--include-build[Run the build as a composite, including the specified build]' \
+ '--info[Set log level to INFO]' \
+ '--init-script[Specifies an initialization script]' \
+ '--max-workers[Set the maximum number of workers that Gradle may use]' \
+ '--no-daemon[Do not use the Gradle Daemon]' \
+ '--no-rebuild[Do not rebuild project dependencies]' \
+ '--no-search-upwards[Don''t search in parent directories for a settings.gradle file]' \
+ '--offline[Build without accessing network resources]' \
+ '--parallel[Build projects in parallel]' \
+ '--profile[Profile build time and create report]' \
+ '--project-cache-dir[Specifies the project-specific cache directory]' \
+ '--project-dir[Specifies the start directory for Gradle]' \
+ '--project-prop[Sets a project property of the root project]' \
+ '--quiet[Log errors only]' \
+ '--recompile-scripts[Forces scripts to be recompiled, bypassing caching]' \
+ '--refresh-dependencies[Refresh the state of dependencies]' \
+ '--rerun-task[Specifies that any task optimization is ignored]' \
+ '--settings-file[Specifies the settings file]' \
+ '--stacktrace[Print out the stacktrace also for user exceptions]' \
+ '--status[Print Gradle Daemon status]' \
+ '--stop[Stop all Gradle Daemons]' \
+ '--system-prop[Set a system property]' \
+ '--version[Prints Gradle version info]' \
'*::command:->command' \
&& return 0
}
From cae540f899b1e302e514e190f7d51331a5a689e0 Mon Sep 17 00:00:00 2001
From: Italo Maia
Date: Thu, 5 Jan 2017 07:41:53 -0300
Subject: [PATCH 285/294] Adding new path to look for activate.sh (#5654)
If autoenv was installed with pip and modifier --user, activate.sh will be at .local/bin
---
plugins/autoenv/autoenv.plugin.zsh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/autoenv/autoenv.plugin.zsh b/plugins/autoenv/autoenv.plugin.zsh
index af58ee77b..3c1b0fafc 100644
--- a/plugins/autoenv/autoenv.plugin.zsh
+++ b/plugins/autoenv/autoenv.plugin.zsh
@@ -1,7 +1,7 @@
# Activates autoenv or reports its failure
() {
if ! type autoenv_init >/dev/null; then
- for d (~/.autoenv /usr/local/opt/autoenv /usr/local/bin); do
+ for d (~/.autoenv ~/.local/bin /usr/local/opt/autoenv /usr/local/bin); do
if [[ -e $d/activate.sh ]]; then
autoenv_dir=$d
break
From 0b4bba4ca2d6115dabfdb0852ce516e30765d2e6 Mon Sep 17 00:00:00 2001
From: haandol
Date: Mon, 9 Jan 2017 16:06:17 +0900
Subject: [PATCH 286/294] Change af-magic theme's branch color (#5730)
---
themes/af-magic.zsh-theme | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/themes/af-magic.zsh-theme b/themes/af-magic.zsh-theme
index 97d142a0f..1c6d1732c 100644
--- a/themes/af-magic.zsh-theme
+++ b/themes/af-magic.zsh-theme
@@ -27,7 +27,7 @@ else
fi
# git settings
-ZSH_THEME_GIT_PROMPT_PREFIX="$FG[075](branch:"
+ZSH_THEME_GIT_PROMPT_PREFIX="$FG[075]($FG[078]"
ZSH_THEME_GIT_PROMPT_CLEAN=""
ZSH_THEME_GIT_PROMPT_DIRTY="$my_orange*%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="$FG[075])%{$reset_color%}"
From d2725d44fce59ea7060b4d712c5739512a56882d Mon Sep 17 00:00:00 2001
From: Ruslan Voronkov
Date: Sun, 15 Jan 2017 21:21:36 +0200
Subject: [PATCH 287/294] Add goodreads search provider (#5778)
---
plugins/web-search/web-search.plugin.zsh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/plugins/web-search/web-search.plugin.zsh b/plugins/web-search/web-search.plugin.zsh
index 3b5478ca2..cc970e5fd 100644
--- a/plugins/web-search/web-search.plugin.zsh
+++ b/plugins/web-search/web-search.plugin.zsh
@@ -15,6 +15,7 @@ function web_search() {
github "https://github.com/search?q="
baidu "https://www.baidu.com/s?wd="
ecosia "https://www.ecosia.org/search?q="
+ goodreads "https://www.goodreads.com/search?q="
)
# check whether the search engine is supported
@@ -47,6 +48,7 @@ alias yandex='web_search yandex'
alias github='web_search github'
alias baidu='web_search baidu'
alias ecosia='web_search ecosia'
+alias goodreads='web_search goodreads'
#add your own !bang searches here
alias wiki='web_search duckduckgo \!w'
From 9bbcceda97c769071862c2862c9c1f525d091deb Mon Sep 17 00:00:00 2001
From: grh2g46
Date: Mon, 20 Feb 2017 18:20:53 +0000
Subject: [PATCH 288/294] add missing new line escape (#5896)
missing \ was causing command not found errors when tab completing docker build -t
---
plugins/docker/_docker | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/docker/_docker b/plugins/docker/_docker
index 8d00b13e6..1aec353c5 100644
--- a/plugins/docker/_docker
+++ b/plugins/docker/_docker
@@ -917,7 +917,7 @@ __docker_image_subcommand() {
"($help)*--label=[Set metadata for an image]:label=value: " \
"($help -m --memory)"{-m=,--memory=}"[Memory limit]:Memory limit: " \
"($help)--memory-swap=[Total memory limit with swap]:Memory limit: " \
- "($help)--network=[Connect a container to a network]:network mode:(bridge none container host)"
+ "($help)--network=[Connect a container to a network]:network mode:(bridge none container host)" \
"($help)--no-cache[Do not use cache when building the image]" \
"($help)--pull[Attempt to pull a newer version of the image]" \
"($help -q --quiet)"{-q,--quiet}"[Suppress verbose build output]" \
From 98d8d3429f8b9fc2c4c109fb199a31c8d1735699 Mon Sep 17 00:00:00 2001
From: travoltron
Date: Mon, 20 Feb 2017 13:21:36 -0500
Subject: [PATCH 289/294] Update composer.plugin.zsh (#5889)
Adds remove/global remove and optimize-autoloader commands.
---
plugins/composer/composer.plugin.zsh | 3 +++
1 file changed, 3 insertions(+)
diff --git a/plugins/composer/composer.plugin.zsh b/plugins/composer/composer.plugin.zsh
index 07eb1de88..ac272060b 100644
--- a/plugins/composer/composer.plugin.zsh
+++ b/plugins/composer/composer.plugin.zsh
@@ -39,11 +39,14 @@ alias c='composer'
alias csu='composer self-update'
alias cu='composer update'
alias cr='composer require'
+alias crm='composer remove'
alias ci='composer install'
alias ccp='composer create-project'
alias cdu='composer dump-autoload'
+alias cdo='composer dump-autoload --optimize-autoloader'
alias cgu='composer global update'
alias cgr='composer global require'
+alias cgrm='composer global remove'
# install composer in the current directory
alias cget='curl -s https://getcomposer.org/installer | php'
From 8611aa8049f5f13cabe012f17a19e0d42669ef3f Mon Sep 17 00:00:00 2001
From: guyzmo
Date: Thu, 23 Feb 2017 08:50:49 +0100
Subject: [PATCH 290/294] Fixing battery prompt formatting issue (cf #5894)
(#5895)
Signed-off-by: Guyzmo
---
plugins/battery/battery.plugin.zsh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/battery/battery.plugin.zsh b/plugins/battery/battery.plugin.zsh
index da229cf35..8f398cfb3 100644
--- a/plugins/battery/battery.plugin.zsh
+++ b/plugins/battery/battery.plugin.zsh
@@ -100,7 +100,7 @@ elif [[ "$OSTYPE" = linux* ]] ; then
else
color='red'
fi
- echo "%{$fg[$color]%}[$(battery_pct_remaining)%%]%{$reset_color%}"
+ echo "%{$fg[$color]%}$(battery_pct_remaining)%%%{$reset_color%}"
else
echo "∞"
fi
From 4fba92e04fa9b62b2259abc45eb92ca6a74f1639 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20P=C3=A9rez?=
Date: Thu, 23 Feb 2017 08:52:23 +0100
Subject: [PATCH 291/294] Use proper config bin directory (#5886)
Add the proper config bin directory to `PATH` instead of the previously (incorrect) fixed `~/.composer/vendor/bin`. Nowadays the right config dir is `~/.config/composer/vendor/bin`.
---
plugins/composer/composer.plugin.zsh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/composer/composer.plugin.zsh b/plugins/composer/composer.plugin.zsh
index ac272060b..8cf50d502 100644
--- a/plugins/composer/composer.plugin.zsh
+++ b/plugins/composer/composer.plugin.zsh
@@ -52,4 +52,4 @@ alias cgrm='composer global remove'
alias cget='curl -s https://getcomposer.org/installer | php'
# Add Composer's global binaries to PATH
-export PATH=$PATH:~/.composer/vendor/bin
+export PATH=$PATH:$(composer global config bin-dir --absolute) 2>/dev/null
From ef9f3d97f0920a0b151d2ada7ae7235d148639dd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Franz=20K=C3=B6nig?=
Date: Thu, 23 Feb 2017 08:52:56 +0100
Subject: [PATCH 292/294] Added pacman file aliases (#5869)
---
plugins/archlinux/README.md | 2 ++
plugins/archlinux/archlinux.plugin.zsh | 2 ++
2 files changed, 4 insertions(+)
diff --git a/plugins/archlinux/README.md b/plugins/archlinux/README.md
index 16f099415..e408db13d 100644
--- a/plugins/archlinux/README.md
+++ b/plugins/archlinux/README.md
@@ -73,6 +73,8 @@
| pacupd | sudo pacman -Sy | Update and refresh the local package database |
| pacupg | sudo pacman -Syu | Sync with repositories before upgrading packages |
| upgrade | sudo pacman -Syu | Sync with repositories before upgrading packages |
+| pacfileupg | sudo pacman -Fy | Download fresh package databases from the server |
+| pacfiles | pacman -Fs | Search package file names for matching strings. |
| Function | Description |
|----------------|------------------------------------------------------|
diff --git a/plugins/archlinux/archlinux.plugin.zsh b/plugins/archlinux/archlinux.plugin.zsh
index 3156e949a..105bd2d5f 100644
--- a/plugins/archlinux/archlinux.plugin.zsh
+++ b/plugins/archlinux/archlinux.plugin.zsh
@@ -82,6 +82,8 @@ alias pacinsd='sudo pacman -S --asdeps'
alias pacmir='sudo pacman -Syy'
alias paclsorphans='sudo pacman -Qdt'
alias pacrmorphans='sudo pacman -Rs $(pacman -Qtdq)'
+alias pacfileupg='sudo pacman -Fy'
+alias pacfiles='pacman tFs'
if (( $+commands[abs] && $+commands[aur] )); then
From d874c73f19d8430f4dc32756fff0bf2f6a804d87 Mon Sep 17 00:00:00 2001
From: Avi Israeli
Date: Thu, 23 Feb 2017 09:53:27 +0200
Subject: [PATCH 293/294] itunes playlist first commit (#5860)
Added playlist feature for the itunes command:
if a variable is passed and is valid - will play the playlist
if a variable is passed and is invalid(no such playlist) - will stop all playing
if no variable is passed will print all playlists available on the host
---
plugins/osx/osx.plugin.zsh | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/plugins/osx/osx.plugin.zsh b/plugins/osx/osx.plugin.zsh
index 95ef3e1aa..e8488ebc9 100644
--- a/plugins/osx/osx.plugin.zsh
+++ b/plugins/osx/osx.plugin.zsh
@@ -184,6 +184,7 @@ function vncviewer() {
# iTunes control function
function itunes() {
local opt=$1
+ local playlist=$2
shift
case "$opt" in
launch|play|pause|stop|rewind|resume|quit)
@@ -200,6 +201,19 @@ function itunes() {
vol)
opt="set sound volume to $1" #$1 Due to the shift
;;
+ playlist)
+ # Inspired by: https://gist.github.com/nakajijapan/ac8b45371064ae98ea7f
+if [[ ! -z "$playlist" ]]; then
+ osascript -e 'tell application "iTunes"' -e "set new_playlist to \"$playlist\" as string" -e "play playlist new_playlist" -e "end tell" 2>/dev/null;
+ if [[ $? -eq 0 ]]; then
+ opt="play"
+ else
+ opt="stop"
+ fi
+ else
+ opt="set allPlaylists to (get name of every playlist)"
+ fi
+ ;;
playing|status)
local state=`osascript -e 'tell application "iTunes" to player state as string'`
if [[ "$state" = "playing" ]]; then
@@ -250,6 +264,7 @@ EOF
echo "\tshuf|shuffle [on|off|toggle]\tSet shuffled playback. Default: toggle. Note: toggle doesn't support the MiniPlayer."
echo "\tvol\tSet the volume, takes an argument from 0 to 100"
echo "\tplaying|status\tShow what song is currently playing in iTunes."
+ echo "\tplaylist [playlist name]\t Play specific playlist"
echo "\thelp\tshow this message and exit"
return 0
;;
From e609fd5a9f7f7c9a16945ca9c0748b6de99f6635 Mon Sep 17 00:00:00 2001
From: Robby Russell
Date: Sat, 25 Feb 2017 19:59:11 -0800
Subject: [PATCH 294/294] Updating README intro
---
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index d56534977..54107b1cb 100644
--- a/README.md
+++ b/README.md
@@ -4,9 +4,9 @@
Oh My Zsh is an open source, community-driven framework for managing your [zsh](http://www.zsh.org/) configuration.
-That sounds boring. Let's try this again.
+Sounds boring. Let's try again.
-__Oh My Zsh is a way of life!__
+__Oh My Zsh will not make you a 10x developer...but you might feel like one.__
Once installed, your terminal shell will become the talk of the town _or your money back!_ With each keystroke in your command prompt, you'll take advantage of the hundreds of powerful plugins and beautiful themes. Strangers will come up to you in cafés and ask you, _"that is amazing! are you some sort of genius?"_