From 06659f7fc1455990d5aa0c37609e191839ad5be0 Mon Sep 17 00:00:00 2001 From: Satoshi Ohmori Date: Fri, 25 Dec 2015 19:54:12 +0900 Subject: [PATCH 01/31] 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 02/31] 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 03/31] 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 04/31] 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 05/31] 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 e1e549ca504b18d3ee5d5ea22d2d99a45ac1f668 Mon Sep 17 00:00:00 2001 From: debbbbie Date: Tue, 31 May 2016 05:41:45 -0500 Subject: [PATCH 06/31] 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 07/31] 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 08/31] 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 09/31] 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 10/31] 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 11/31] 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 12/31] 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 13/31] 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 14/31] 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 15/31] 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 16/31] 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 17/31] 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 18/31] 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 19/31] 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 20/31] 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 21/31] 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 22/31] 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 23/31] 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 24/31] 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 25/31] 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 26/31] 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 27/31] 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 28/31] 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 29/31] 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 30/31] 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 31/31] 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