From b8a3d90a1361017efc2c4b8bda5ae008e8b8ddb6 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Sun, 4 Apr 2021 02:42:28 +0900 Subject: [PATCH 01/70] Fix a typo s/eigth/eighth/ --- modules/spectrum/README.md | 2 +- modules/spectrum/init.zsh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/spectrum/README.md b/modules/spectrum/README.md index 66abcb2..b64925d 100644 --- a/modules/spectrum/README.md +++ b/modules/spectrum/README.md @@ -72,7 +72,7 @@ Though there are many effects, most terminals support at least bold formatting. | font-fifth | no-font-fifth | | font-sixth | no-font-sixth | | font-seventh | no-font-seventh | -| font-eigth | no-font-eigth | +| font-eighth | no-font-eighth | | font-ninth | no-font-ninth | ### Plain Text diff --git a/modules/spectrum/init.zsh b/modules/spectrum/init.zsh index 61e2262..78beaed 100644 --- a/modules/spectrum/init.zsh +++ b/modules/spectrum/init.zsh @@ -49,7 +49,7 @@ FX=( font-fifth "\e[15m" no-font-fifth "\e[10m" font-sixth "\e[16m" no-font-sixth "\e[10m" font-seventh "\e[17m" no-font-seventh "\e[10m" - font-eigth "\e[18m" no-font-eigth "\e[10m" + font-eighth "\e[18m" no-font-eighth "\e[10m" font-ninth "\e[19m" no-font-ninth "\e[10m" ) From d66041cdb7b992ceb1c4682d267f909d48723c8e Mon Sep 17 00:00:00 2001 From: Yang Tang Date: Sat, 13 Feb 2021 21:01:13 -0500 Subject: [PATCH 02/70] Update history-substring-search submodule to v1.0.2 --- modules/history-substring-search/external | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/history-substring-search/external b/modules/history-substring-search/external index aae3388..0f80b8e 160000 --- a/modules/history-substring-search/external +++ b/modules/history-substring-search/external @@ -1 +1 @@ -Subproject commit aae3388491c2312c4efb2e86bcb999927bb2900e +Subproject commit 0f80b8eb3368b46e5e573c1d91ae69eb095db3fb From a7f223d9598b3b74f7a8589078d2172bccd07543 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Sat, 3 Apr 2021 22:35:18 +0900 Subject: [PATCH 03/70] Enable `history-substring-search` as a default module Resolves #1868 --- runcoms/zpreztorc | 1 + 1 file changed, 1 insertion(+) diff --git a/runcoms/zpreztorc b/runcoms/zpreztorc index 9a3c19a..cf13a2d 100644 --- a/runcoms/zpreztorc +++ b/runcoms/zpreztorc @@ -38,6 +38,7 @@ zstyle ':prezto:load' pmodule \ 'spectrum' \ 'utility' \ 'completion' \ + 'history-substring-search' \ 'prompt' # From 76b8c810aa572ad1bef3c9d821b61f4140118f77 Mon Sep 17 00:00:00 2001 From: Herobs Date: Mon, 1 Mar 2021 11:30:59 +0800 Subject: [PATCH 04/70] osx module mand fix > The {query} has to be percent-escaped in macOS 11. Just replace `:` to `%3A` work fine. But add function like this one I find on stackoverflow to encode the entire query string would be more robust. ```bash urldecode() { # urldecode local url_encoded="${1//+/ }" printf '%b' "${url_encoded//%/\\x}" } ``` --- modules/osx/functions/mand | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/osx/functions/mand b/modules/osx/functions/mand index 2902c76..b62fab3 100644 --- a/modules/osx/functions/mand +++ b/modules/osx/functions/mand @@ -8,7 +8,7 @@ function mand { if (( $# > 0 )); then zstyle -s ':prezto:module:osx:man' dash-keyword 'dashkw' || dashkw='manpages' - open "dash://$dashkw:$1" 2> /dev/null + open "dash://$dashkw%3A$1" 2> /dev/null if (( $? != 0 )); then print "$0: Dash is not installed" >&2 break From 428632ac07a5e66f4d0d54bac495ae9e8e2615cf Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Mon, 26 Apr 2021 17:53:52 -0500 Subject: [PATCH 05/70] history: Minor formatting update --- modules/history/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/history/README.md b/modules/history/README.md index 1a03bd9..75bf751 100644 --- a/modules/history/README.md +++ b/modules/history/README.md @@ -4,8 +4,8 @@ History Sets [history][1] options and defines history aliases. **Note:** If you are migrating from oh-my-zsh and want to keep your history, you -will either need to set HISTFILE manually to `$HOME/.zsh_history` or rename -`~/.zsh_history` to ~/.zhistory`. +will either need to set `HISTFILE` manually to `$HOME/.zsh_history` or rename +`~/.zsh_history` to `~/.zhistory`. Options ------- From ce937020ce8b3aaaacb504ba0d980b70a35860e5 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Mon, 26 Apr 2021 17:57:12 -0500 Subject: [PATCH 06/70] history: Update doc to accommodate recent macOS In recent versions of macOS (Catalina and above), `HISTFILE` is set via system `/etc/zshrc`. --- modules/history/README.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/modules/history/README.md b/modules/history/README.md index 75bf751..8733cc8 100644 --- a/modules/history/README.md +++ b/modules/history/README.md @@ -3,9 +3,10 @@ History Sets [history][1] options and defines history aliases. -**Note:** If you are migrating from oh-my-zsh and want to keep your history, you -will either need to set `HISTFILE` manually to `$HOME/.zsh_history` or rename -`~/.zsh_history` to `~/.zhistory`. +**Note:** If you are migrating from [Oh My Zsh][2] and are not on a recent +version of macOS and want to keep your history, you will either need to set +`HISTFILE` manually to `$HOME/.zsh_history` or rename `~/.zsh_history` to +`~/.zhistory`. Options ------- @@ -39,10 +40,11 @@ Aliases Authors ------- -*The authors of this module should be contacted via the [issue tracker][2].* +*The authors of this module should be contacted via the [issue tracker][3].* - [Robby Russell](https://github.com/robbyrussell) - [Sorin Ionescu](https://github.com/sorin-ionescu) [1]: http://zsh.sourceforge.net/Guide/zshguide02.html#l16 -[2]: https://github.com/sorin-ionescu/prezto/issues +[2]: https://github.com/ohmyzsh/ohmyzsh +[3]: https://github.com/sorin-ionescu/prezto/issues From 0a07ba27a2f9582a37e7d1a5e08f33c2ad552000 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Mon, 26 Apr 2021 14:04:43 -0500 Subject: [PATCH 07/70] prompt: Remove Powerlevel9k Powerlevel9k has been marked deprecated and unmaintained by the author. Powerlevel10k is now the recommended replacement. See: https://github.com/Powerlevel9k/powerlevel9k#powerlevel9k-is-deprecated-and-now-unmaintained-please-use-powerlevel10k --- .gitmodules | 4 ---- modules/prompt/external/powerlevel9k | 1 - modules/prompt/init.zsh | 5 +++++ 3 files changed, 5 insertions(+), 5 deletions(-) delete mode 160000 modules/prompt/external/powerlevel9k diff --git a/.gitmodules b/.gitmodules index 547effa..b2337ae 100644 --- a/.gitmodules +++ b/.gitmodules @@ -25,10 +25,6 @@ [submodule "modules/prompt/external/async"] path = modules/prompt/external/async url = https://github.com/mafredri/zsh-async.git -[submodule "modules/prompt/external/powerlevel9k"] - path = modules/prompt/external/powerlevel9k - url = https://github.com/bhilburn/powerlevel9k.git - shallow = true [submodule "modules/prompt/external/powerlevel10k"] path = modules/prompt/external/powerlevel10k url = https://github.com/romkatv/powerlevel10k.git diff --git a/modules/prompt/external/powerlevel9k b/modules/prompt/external/powerlevel9k deleted file mode 160000 index 2f4b150..0000000 --- a/modules/prompt/external/powerlevel9k +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 2f4b15041fe31d85dc9ef705b818c3a0e6985da3 diff --git a/modules/prompt/init.zsh b/modules/prompt/init.zsh index 0ec007c..677a470 100644 --- a/modules/prompt/init.zsh +++ b/modules/prompt/init.zsh @@ -12,6 +12,11 @@ autoload -Uz promptinit && promptinit zstyle -a ':prezto:module:prompt' theme 'prompt_argv' if [[ "$TERM" == (dumb|linux|*bsd*) ]] || (( $#prompt_argv < 1 )); then prompt 'off' +elif [[ "$prompt_argv[1]" == 'powerlevel9k' ]] ; then + printf "'powerlevel9k' has been deprecated and unsupported by its author, " + printf "consider migrating to 'powerlevel10k' instead.\n" + printf "Switching to prezto default prompt...\n" + prompt 'sorin' else prompt "$prompt_argv[@]" fi From a2f3f419f681f4dbc58d4229572fa0e5277303fe Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Thu, 29 Apr 2021 17:22:53 -0500 Subject: [PATCH 08/70] prompt: Make 'powerlevel9k' removal warning message friendlier --- modules/prompt/init.zsh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/modules/prompt/init.zsh b/modules/prompt/init.zsh index 677a470..80f465e 100644 --- a/modules/prompt/init.zsh +++ b/modules/prompt/init.zsh @@ -13,9 +13,12 @@ zstyle -a ':prezto:module:prompt' theme 'prompt_argv' if [[ "$TERM" == (dumb|linux|*bsd*) ]] || (( $#prompt_argv < 1 )); then prompt 'off' elif [[ "$prompt_argv[1]" == 'powerlevel9k' ]] ; then - printf "'powerlevel9k' has been deprecated and unsupported by its author, " - printf "consider migrating to 'powerlevel10k' instead.\n" - printf "Switching to prezto default prompt...\n" + < Date: Sat, 7 Nov 2020 18:35:08 +0800 Subject: [PATCH 09/70] Add support for zstd compressed tarballs to module 'archive' --- modules/archive/functions/_lsarchive | 2 +- modules/archive/functions/_unarchive | 2 +- modules/archive/functions/archive | 7 +++++-- modules/archive/functions/lsarchive | 1 + modules/archive/functions/unarchive | 5 ++++- 5 files changed, 12 insertions(+), 5 deletions(-) diff --git a/modules/archive/functions/_lsarchive b/modules/archive/functions/_lsarchive index f2cee88..bcbfbd6 100644 --- a/modules/archive/functions/_lsarchive +++ b/modules/archive/functions/_lsarchive @@ -10,4 +10,4 @@ _arguments \ '(-v --verbose)'{-v,--remove}'[verbose archive listing]' \ - "*::archive file:_files -g '(#i)*.(tar|tgz|tbz|tbz2|txz|tlz|gz|bz2|xz|lzma|Z|zip|jar|rar|7z)(-.)'" && return 0 + "*::archive file:_files -g '(#i)*.(tar|tgz|tbz|tbz2|txz|tlz|gz|bz2|xz|lzma|Z|zip|zst|jar|rar|7z)(-.)'" && return 0 diff --git a/modules/archive/functions/_unarchive b/modules/archive/functions/_unarchive index 90e32f1..6a940b1 100644 --- a/modules/archive/functions/_unarchive +++ b/modules/archive/functions/_unarchive @@ -10,4 +10,4 @@ _arguments \ '(-r --remove)'{-r,--remove}'[remove archive]' \ - "*::archive file:_files -g '(#i)*.(tar|tgz|tbz|tbz2|txz|tlz|gz|bz2|xz|lzma|Z|zip|jar|rar|7z|deb)(-.)'" && return 0 + "*::archive file:_files -g '(#i)*.(tar|tgz|tbz|tbz2|txz|tlz|gz|bz2|xz|lzma|Z|zip|zst|jar|rar|7z|deb)(-.)'" && return 0 diff --git a/modules/archive/functions/archive b/modules/archive/functions/archive index 10bbad3..75084da 100644 --- a/modules/archive/functions/archive +++ b/modules/archive/functions/archive @@ -8,7 +8,7 @@ # function archive { -local archive_name path_to_archive _gzip_bin _bzip2_bin _xz_bin +local archive_name path_to_archive _gzip_bin _bzip2_bin _xz_bin _zstd_bin if (( $# < 2 )); then cat >&2 < 0 )); do (*.tar.zma|*.tlz) tar --lzma --help &> /dev/null \ && tar --lzma -t${verbose:+v}f "$1" \ || lzcat "$1" | tar x${verbose:+v}f - ;; + (*.tar.zst|*.tzst) tar -I zstd -t${verbose:+v}f "$1" ;; (*.tar) tar t${verbose:+v}f "$1" ;; (*.zip|*.jar) unzip -l${verbose:+v} "$1" ;; (*.rar) ( (( $+commands[unrar] )) \ diff --git a/modules/archive/functions/unarchive b/modules/archive/functions/unarchive index 9e38a80..66c7e35 100644 --- a/modules/archive/functions/unarchive +++ b/modules/archive/functions/unarchive @@ -12,7 +12,7 @@ local success local file_name local file_path local extract_dir -local _gzip_bin _bzip2_bin _xz_bin +local _gzip_bin _bzip2_bin _xz_bin _zstd_bin if (( $# == 0 )); then cat >&2 < 0 )); do if [[ ! -s "$1" ]]; then print "$0: file not valid: $1" >&2 @@ -72,6 +74,7 @@ while (( $# > 0 )); do (*.tar.zma|*.tlz) tar --lzma --help &> /dev/null \ && tar --lzma -xvf "$1" \ || lzcat "$1" | tar -xvf - ;; + (*.tar.zst|*.tzst) tar -xvf "$1" --use-compress-program="${_zstd_bin}" ;; (*.tar) tar -xvf "$1" ;; (*.gz) gunzip "$1" ;; (*.bz2) bunzip2 "$1" ;; From 095f44796bae5748622be84e6f5063eb0264817f Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Thu, 29 Apr 2021 17:37:09 -0500 Subject: [PATCH 10/70] base: Allow loading more specific 'run-help' function Allow loading more specific 'run-help' function from $fpath. This allows automatically looking up specific sub-command helper if available instead of the static default ('man'). See: https://github.com/zsh-users/zsh/blob/ccc9cff9e244725ed604fd1ac20e4958339e3885/Functions/Misc/run-help#L3-L8 --- init.zsh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/init.zsh b/init.zsh index ebae912..41737fd 100644 --- a/init.zsh +++ b/init.zsh @@ -182,6 +182,9 @@ zstyle -a ':prezto:load' zmodule 'zmodules' for zmodule ("$zmodules[@]") zmodload "zsh/${(z)zmodule}" unset zmodule{s,} +# Load more specific 'run-help' function from $fpath. +unalias run-help && autoload -Uz run-help + # Autoload Zsh functions. zstyle -a ':prezto:load' zfunction 'zfunctions' for zfunction ("$zfunctions[@]") autoload -Uz "$zfunction" From 7222fe5fd696aa656a3a2694b6a5af53c38a897e Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Thu, 29 Apr 2021 17:44:26 -0500 Subject: [PATCH 11/70] utility: Autoload helper functions for 'run-help' Now that, prezto is configured to lookup more specific 'run-help' function, autoload the known ones for utility. --- modules/utility/init.zsh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/utility/init.zsh b/modules/utility/init.zsh index 7bb7532..3c2b158 100644 --- a/modules/utility/init.zsh +++ b/modules/utility/init.zsh @@ -15,6 +15,9 @@ if zstyle -T ':prezto:module:utility' correct; then setopt CORRECT fi +# Load 'run-help' function. +autoload -Uz run-help-{ip,openssl,sudo} + # # Aliases # From 8003d0c6d8902b9b20e470722dfc44986e5d4361 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Thu, 29 Apr 2021 17:46:50 -0500 Subject: [PATCH 12/70] git: Autoload helper functions for 'run-help' Now that, prezto is configured to lookup more specific 'run-help' function, autoload the known one for git. --- modules/git/init.zsh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/git/init.zsh b/modules/git/init.zsh index ba54082..ac7ef75 100644 --- a/modules/git/init.zsh +++ b/modules/git/init.zsh @@ -13,5 +13,8 @@ fi # Load dependencies. pmodload 'helper' +# Load 'run-help' function. +autoload -Uz run-help-git + # Source module files. source "${0:h}/alias.zsh" From 40cc9f52f961588d1e8091594ce1a912c4f487d0 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Thu, 29 Apr 2021 20:18:22 -0500 Subject: [PATCH 13/70] command-not-found: Simplify Homebrew on macOS setup Now that 'command-not-found' helper loading has been significantly simplified and the startup time improved in the official Homebrew tap, the workaround for script detection (and caching) can be removed. --- modules/command-not-found/init.zsh | 28 ++++------------------------ 1 file changed, 4 insertions(+), 24 deletions(-) diff --git a/modules/command-not-found/init.zsh b/modules/command-not-found/init.zsh index 35884ce..d81692d 100644 --- a/modules/command-not-found/init.zsh +++ b/modules/command-not-found/init.zsh @@ -13,30 +13,10 @@ if [[ -s '/etc/zsh_command_not_found' ]]; then elif [[ -s '/usr/share/doc/pkgfile/command-not-found.zsh' ]]; then source '/usr/share/doc/pkgfile/command-not-found.zsh' # Load command-not-found on macOS when Homebrew tap is configured. -# To avoid performance penalty, we do not use Homebrew's ruby based command -# lookup mechanism (viz., `brew command command-not-found-init`) and instead -# `find` it ourselves from `TAP_DIRECTORY` defined internally in Homebrew. -elif (( $+commands[brew] )); then - cnf_command=( - "$(brew --repository 2> /dev/null)"/Library/Taps/*/*/cmd/brew-command-not-found-init(|.rb)(.N) - ) - if (( $#cnf_command )); then - cache_file="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/brew-command-not-found-cache.zsh" - - if [[ "${${(@o)cnf_command}[1]}" -nt "$cache_file" \ - || "${ZDOTDIR:-$HOME}/.zpreztorc" -nt "$cache_file" \ - || ! -s "$cache_file" ]]; then - mkdir -p "$cache_file:h" - # brew command-not-found-init is slow; cache its output. - brew command-not-found-init >! "$cache_file" 2> /dev/null - fi - - source "$cache_file" - - unset cache_file - fi - - unset cnf_command +elif (( $+commands[brew] )) \ + && [[ -s "${hb_cnf_handler::="$(brew --repository 2> /dev/null)"/Library/Taps/homebrew/homebrew-command-not-found/handler.sh}" ]]; then + source "$hb_cnf_handler" + unset hb_cnf_handler # Return if requirements are not found. else return 1 From db6cd0d668d3ffc3f71f97b1563cb353a4dd12e5 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Fri, 30 Apr 2021 00:13:24 -0500 Subject: [PATCH 14/70] prompt: Update 'powerlevel9k' removal warning with instruction --- modules/prompt/init.zsh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/prompt/init.zsh b/modules/prompt/init.zsh index 80f465e..002f963 100644 --- a/modules/prompt/init.zsh +++ b/modules/prompt/init.zsh @@ -16,7 +16,9 @@ elif [[ "$prompt_argv[1]" == 'powerlevel9k' ]] ; then < Date: Thu, 29 Apr 2021 21:18:22 -0500 Subject: [PATCH 15/70] command-not-found: Update docs for Homebrew Update documentation for Homebrew to indicate that a recent version of Homebrew does not need to tap `command-not-found` Homebrew repository. --- modules/command-not-found/README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/command-not-found/README.md b/modules/command-not-found/README.md index ee5a94d..f059c70 100644 --- a/modules/command-not-found/README.md +++ b/modules/command-not-found/README.md @@ -7,8 +7,9 @@ the proper install command. Debian and Arch Linux based distributions use the [`command-not-found`][1] tool. -macOS uses Homebrew's [`command-not-found` clone][2]. Note that you also need to -[follow the instructions][3] to tap the `command-not-found` homebrew repository. +macOS uses Homebrew's [`command-not-found` clone][2]. Note that unless you have +a recent version of Homebrew installed, you might also need to tap the +`command-not-found` Homebrew repository [following the instructions][3]. Authors @@ -17,6 +18,7 @@ Authors *The authors of this module should be contacted via the [issue tracker][4].* - [Joseph Booker](https://github.com/sargas) + - [Indrajit Raychaudhuri](https://github.com/indrajitr) [1]: https://code.launchpad.net/command-not-found [2]: https://github.com/Homebrew/homebrew-command-not-found From c5175145d4a12ec648e1f460174781e95afbfea8 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Fri, 30 Apr 2021 15:24:00 -0500 Subject: [PATCH 16/70] prompt: Fixup `~/.zpreztorc` in p9k removal warning --- modules/prompt/init.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/prompt/init.zsh b/modules/prompt/init.zsh index 002f963..2f30cac 100644 --- a/modules/prompt/init.zsh +++ b/modules/prompt/init.zsh @@ -18,7 +18,7 @@ WARNING: Prezto does not support 'powerlevel9k' anymore as it has been deprecated and is not supported by its author. Consider migrating to 'powerlevel10k' instead by setting: zstyle ':prezto:module:prompt' theme 'powerlevel10k' - in .zpreztorc. + in ~/.zpreztorc. Switching to prezto default prompt 'sorin'..." EOW prompt 'sorin' From 6a70bdfff2823475f8f5f1d5b7d2b5f5fcd46942 Mon Sep 17 00:00:00 2001 From: mattmc3 Date: Fri, 8 Jan 2021 10:21:44 -0500 Subject: [PATCH 17/70] Ensure compinit updates its modified date `compinit -i` doesn't always change zcompdump, which means that the `compinit -C` condition fails to run until the completions change. When we `compinit -i`, we should touch the file too to solve this. --- modules/completion/init.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/completion/init.zsh b/modules/completion/init.zsh index 4cf46fa..ab0bf7d 100644 --- a/modules/completion/init.zsh +++ b/modules/completion/init.zsh @@ -40,6 +40,7 @@ if [[ $_comp_path(#qNmh-20) ]]; then else mkdir -p "$_comp_path:h" compinit -i -d "$_comp_path" + touch "$_comp_path" fi unset _comp_path From f651140f2cfcbcf029715ec6f0f970d2c7d0ef7d Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Fri, 30 Apr 2021 17:49:32 -0500 Subject: [PATCH 18/70] completion: Add note about keep zcompdump younger than cache time --- modules/completion/init.zsh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/completion/init.zsh b/modules/completion/init.zsh index ab0bf7d..a216238 100644 --- a/modules/completion/init.zsh +++ b/modules/completion/init.zsh @@ -24,7 +24,7 @@ setopt PATH_DIRS # Perform path search even on command names with slas setopt AUTO_MENU # Show completion menu on a successive tab press. setopt AUTO_LIST # Automatically list choices on ambiguous completion. setopt AUTO_PARAM_SLASH # If completed parameter is a directory, add a trailing slash. -setopt EXTENDED_GLOB # Needed for file modification glob modifiers with compinit +setopt EXTENDED_GLOB # Needed for file modification glob modifiers with compinit. unsetopt MENU_COMPLETE # Do not autoselect the first completion entry. unsetopt FLOW_CONTROL # Disable start/stop characters in shell editor. @@ -40,6 +40,7 @@ if [[ $_comp_path(#qNmh-20) ]]; then else mkdir -p "$_comp_path:h" compinit -i -d "$_comp_path" + # Keep $_comp_path younger than cache time even if it isn't regenerated. touch "$_comp_path" fi unset _comp_path From 63bc5061a72090f8cb1a68a6a0b8c104cd97090f Mon Sep 17 00:00:00 2001 From: Jeff Widman Date: Fri, 30 Apr 2021 16:14:46 -0700 Subject: [PATCH 19/70] Delete prompt_powerlevel9k_setup I think this should have been removed as part of https://github.com/sorin-ionescu/prezto/commit/0a07ba27a2f9582a37e7d1a5e08f33c2ad552000. Currently I'm seeing this warning after updating to `master`: ``` Couldn't read file /Users/jeffwidman/.zprezto/modules/prompt/functions/prompt_powerlevel9k_setup containing theme powerlevel9k. ``` --- modules/prompt/functions/prompt_powerlevel9k_setup | 1 - 1 file changed, 1 deletion(-) delete mode 120000 modules/prompt/functions/prompt_powerlevel9k_setup diff --git a/modules/prompt/functions/prompt_powerlevel9k_setup b/modules/prompt/functions/prompt_powerlevel9k_setup deleted file mode 120000 index f692e0a..0000000 --- a/modules/prompt/functions/prompt_powerlevel9k_setup +++ /dev/null @@ -1 +0,0 @@ -../external/powerlevel9k/powerlevel9k.zsh-theme \ No newline at end of file From 8a967fc1089ce01bc67c7f2540207891c7974230 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Sat, 1 May 2021 03:05:19 -0500 Subject: [PATCH 20/70] base: Check for 'run-help' in `aliases` hash before evicting Add guard to check for presence of 'run-help' in `aliases` hash before evicting. In some systems (like Debian) '/etc/zshrc' might have already done it. --- init.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/init.zsh b/init.zsh index 41737fd..08bd3ab 100644 --- a/init.zsh +++ b/init.zsh @@ -183,7 +183,7 @@ for zmodule ("$zmodules[@]") zmodload "zsh/${(z)zmodule}" unset zmodule{s,} # Load more specific 'run-help' function from $fpath. -unalias run-help && autoload -Uz run-help +(( $+aliases[run-help] )) && unalias run-help && autoload -Uz run-help # Autoload Zsh functions. zstyle -a ':prezto:load' zfunction 'zfunctions' From 5a8bfd5bf59923a44b2cf144cee96c74be18bf94 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Sun, 2 May 2021 01:00:06 -0500 Subject: [PATCH 21/70] helper: Update docs for OS detection helpers --- modules/helper/README.md | 5 +++++ modules/helper/init.zsh | 10 +++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/modules/helper/README.md b/modules/helper/README.md index 9f10d6e..cfe5c03 100644 --- a/modules/helper/README.md +++ b/modules/helper/README.md @@ -13,6 +13,11 @@ Functions - `is-callable` checks if a name is a command, function, or alias. - `is-true` checks a boolean variable for "true". - `coalesce` prints the first non-empty string in the arguments array. + - `is-darwin` checks if running on macOS Darwin. + - `is-linux` checks if running on Linux. + - `is-bsd` checks if running on BSD. + - `is-cygwin` checks if running on Cygwin (Windows). + - `is-termux` checks if running on Termux (Android). Authors ------- diff --git a/modules/helper/init.zsh b/modules/helper/init.zsh index 0553556..0a33d7c 100644 --- a/modules/helper/init.zsh +++ b/modules/helper/init.zsh @@ -30,27 +30,27 @@ function coalesce { return 1 } -# is true on MacOS Darwin +# Checks if running on macOS Darwin. function is-darwin { [[ "$OSTYPE" == darwin* ]] } -# is true on Linux's +# Checks if running on Linux. function is-linux { [[ "$OSTYPE" == linux* ]] } -# is true on BSD's +# Checks if running on BSD. function is-bsd { [[ "$OSTYPE" == *bsd* ]] } -# is true on Cygwin (Windows) +# Checks if running on Cygwin (Windows). function is-cygwin { [[ "$OSTYPE" == cygwin* ]] } -# is true on termux (Android) +# Checks if running on termux (Android). function is-termux { [[ "$OSTYPE" == linux-android ]] } From 93556a7d5fffab214c60a6d73250a231a419bd25 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Sun, 2 May 2021 02:58:25 -0500 Subject: [PATCH 22/70] archive: Remove unnecessary interpreter directive These files are expected to be `source`d in and not executed standalone. --- modules/archive/functions/archive | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/archive/functions/archive b/modules/archive/functions/archive index 75084da..b6f9523 100644 --- a/modules/archive/functions/archive +++ b/modules/archive/functions/archive @@ -1,4 +1,3 @@ -#!/usr/bin/env zsh # # Creates archive file # From 9d42feac16c53945aac2c0085e544cce596766f3 Mon Sep 17 00:00:00 2001 From: Roman Omarov Date: Fri, 8 Jan 2021 01:56:48 +0100 Subject: [PATCH 23/70] homebrew: cask aliases update --- modules/homebrew/init.zsh | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/modules/homebrew/init.zsh b/modules/homebrew/init.zsh index bfa667c..f655d0b 100644 --- a/modules/homebrew/init.zsh +++ b/modules/homebrew/init.zsh @@ -39,14 +39,11 @@ alias brewu='brew upgrade' alias brewx='brew uninstall' # Homebrew Cask -alias cask='brew cask' -alias caskc='hb_deprecated brew cask cleanup' -alias caskC='hb_deprecated brew cask cleanup' -alias caski='brew cask install' -alias caskl='brew cask list' -alias casko='brew cask outdated' -alias casks='hb_deprecated brew cask search' -alias caskx='brew cask uninstall' +alias caski='brew install --cask' +alias caskl='brew list --cask' +alias casko='brew outdated --cask' +alias casks='brew search --cask' +alias caskx='brew uninstall --cask' function hb_deprecated { local cmd="${@[3]}" From 3285b33f0c8751e165f3781e1d4fbf4676c708b1 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Fri, 30 Apr 2021 19:01:51 -0500 Subject: [PATCH 24/70] homebrew: Remove wrapper function for deprecation warning --- modules/homebrew/init.zsh | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/modules/homebrew/init.zsh b/modules/homebrew/init.zsh index f655d0b..57ea922 100644 --- a/modules/homebrew/init.zsh +++ b/modules/homebrew/init.zsh @@ -44,13 +44,3 @@ alias caskl='brew list --cask' alias casko='brew outdated --cask' alias casks='brew search --cask' alias caskx='brew uninstall --cask' - -function hb_deprecated { - local cmd="${@[3]}" - local cmd_args="${@:4}" - - printf "'brew cask %s' has been deprecated, " "${cmd}" - printf "using 'brew %s' instead\n" "${cmd}" - - command brew "${cmd}" "${=cmd_args}" -} From f830065347cc4b959d48149e01ef53fc23d91f1e Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Fri, 30 Apr 2021 19:04:40 -0500 Subject: [PATCH 25/70] homebrew: Add 'brew upgrade' alias for cask This adds alias for 'brew upgrade --cask' specifically for casks via alias 'casku' (analogous to 'brewu'). --- modules/homebrew/init.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/homebrew/init.zsh b/modules/homebrew/init.zsh index 57ea922..4b0fb86 100644 --- a/modules/homebrew/init.zsh +++ b/modules/homebrew/init.zsh @@ -43,4 +43,5 @@ alias caski='brew install --cask' alias caskl='brew list --cask' alias casko='brew outdated --cask' alias casks='brew search --cask' +alias casku='brew upgrade --cask' alias caskx='brew uninstall --cask' From 1d1ae0a6617d05b78bc5c237d0d4c93c48cb3ec5 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Fri, 30 Apr 2021 19:12:41 -0500 Subject: [PATCH 26/70] homebrew: Update documentation --- modules/homebrew/README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/homebrew/README.md b/modules/homebrew/README.md index 1d29871..9a51725 100644 --- a/modules/homebrew/README.md +++ b/modules/homebrew/README.md @@ -23,15 +23,16 @@ Aliases - `brewl` lists installed formulae. - `brewo` lists brews which have an update available. - `brews` searches for a formula. - - `brewu` updates and upgrades Homebrew packages and formulae. + - `brewu` upgrades outdated formulae. - `brewx` uninstalls a formula. ### Homebrew Cask - - `cask` is aliased to `brew cask`. - `caski` installs a cask. - `caskl` lists installed casks. - `casko` lists casks which have an update available. + - `casks` searches for a cask. + - `casku` upgrades outdated casks. - `caskx` uninstalls a cask. Authors From 509c5ca80f4bd53911dccd6584a3b4c80a8d8af1 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Sat, 1 May 2021 22:27:00 -0500 Subject: [PATCH 27/70] history: Move HISTFILE path to more conventional one Change default `HISTFILE` path from `~/.zhistory` to more conventional `~/.zsh_history`. This aligns better with Debian variants, macOS and Oh My Zsh. This would provide an easier onboarding experience to users coming to Prezto from standard (framework free) zsh or from Oh My Zsh. For existing Prezto users, we attempt to automatically rename old `HISTFILE` to new one iff the old one exists and the new one doesn't. However, if both old and new `HISTFILE` exist and the old one is more recent, we just alert the user about what changed with a suggested way to accommodate the change. --- modules/history/README.md | 17 ++++++++++------- modules/history/init.zsh | 27 ++++++++++++++++++++++++++- 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/modules/history/README.md b/modules/history/README.md index 8733cc8..f777590 100644 --- a/modules/history/README.md +++ b/modules/history/README.md @@ -3,10 +3,13 @@ History Sets [history][1] options and defines history aliases. -**Note:** If you are migrating from [Oh My Zsh][2] and are not on a recent -version of macOS and want to keep your history, you will either need to set -`HISTFILE` manually to `$HOME/.zsh_history` or rename `~/.zsh_history` to -`~/.zhistory`. +**Note:** Default path of `HISTFILE` has changed from `${ZDOTDIR:-$HOME}/.zhistory` +to `${ZDOTDIR:-$HOME}/.zsh_history`. The file will be automatically renamed if +possible (when the new one doesn't exist). Otherwise, if you want to preserve +previous history, you will need to move them from `${ZDOTDIR:-$HOME}/.zhistory` +to `${ZDOTDIR:-$HOME}/.zsh_history`. + +Alternately, you can set `HISTFILE` manually to `${ZDOTDIR:-$HOME}/.zhistory`. Options ------- @@ -40,11 +43,11 @@ Aliases Authors ------- -*The authors of this module should be contacted via the [issue tracker][3].* +*The authors of this module should be contacted via the [issue tracker][2].* - [Robby Russell](https://github.com/robbyrussell) - [Sorin Ionescu](https://github.com/sorin-ionescu) + - [Indrajit Raychaudhuri](https://github.com/indrajitr) [1]: http://zsh.sourceforge.net/Guide/zshguide02.html#l16 -[2]: https://github.com/ohmyzsh/ohmyzsh -[3]: https://github.com/sorin-ionescu/prezto/issues +[2]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/history/init.zsh b/modules/history/init.zsh index d1d3373..39b08c9 100644 --- a/modules/history/init.zsh +++ b/modules/history/init.zsh @@ -26,7 +26,7 @@ setopt HIST_BEEP # Beep when accessing non-existent history. # Variables # -HISTFILE="${HISTFILE:-${ZDOTDIR:-$HOME}/.zhistory}" # The path to the history file. +HISTFILE="${HISTFILE:-${ZDOTDIR:-$HOME}/.zsh_history}" # The path to the history file. HISTSIZE=10000 # The maximum number of events to save in the internal history. SAVEHIST=10000 # The maximum number of events to save in the history file. @@ -36,3 +36,28 @@ SAVEHIST=10000 # The maximum number of events to save in the h # Lists the ten most used commands. alias history-stat="history 0 | awk '{print \$2}' | sort | uniq -c | sort -n -r | head" + +if [[ -s "${OLD_HISTFILE::=${HISTFILE:h}/.zhistory}" ]]; then + + # New 'HISTFILE' doesn't exist yet, rename legacy one if available and notify. + if [[ ! -s "$HISTFILE" ]]; then + < Date: Sun, 2 May 2021 01:50:30 -0500 Subject: [PATCH 28/70] completion: Add completion for keg-only brewed curl when available As curl bundled with macOS does not include `_curl` definitions, one way to make `_curl` available is to install curl from Homebrew. However, since curl from Hombrew is _keg-only_, its function path needs to be explicitly included. --- modules/completion/init.zsh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/completion/init.zsh b/modules/completion/init.zsh index a216238..691a3e5 100644 --- a/modules/completion/init.zsh +++ b/modules/completion/init.zsh @@ -14,6 +14,13 @@ fi # Add zsh-completions to $fpath. fpath=("${0:h}/external/src" $fpath) +# Add completion for keg-only brewed curl when available. +if (( $+commands[brew] && ! $+functions[_curl] )) && \ + [[ -d "${curl_prefix::="$(brew --prefix curl 2> /dev/null)"}" ]]; then + fpath=("${curl_prefix}/share/zsh/site-functions" $fpath) + unset curl_prefix +fi + # # Options # From 68300e6de4eb1c74b4b77c8cfea7acef0518bf99 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Sun, 2 May 2021 21:21:50 -0500 Subject: [PATCH 29/70] node: Fixup nvm path detection for Homebrew based nvm Prefer using `brew --prefix nvm` instead of just `brew --prefix` and actually use the variable `nvm_prefix` once detected and set up. --- modules/node/init.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/node/init.zsh b/modules/node/init.zsh index 6fb68f3..45a4e8f 100644 --- a/modules/node/init.zsh +++ b/modules/node/init.zsh @@ -12,8 +12,8 @@ if [[ -s "${NVM_DIR:=$HOME/.nvm}/nvm.sh" ]]; then # Load package manager installed NVM into the shell session. elif (( $+commands[brew] )) && \ - [[ -d "${nvm_prefix::="$(brew --prefix 2> /dev/null)"/opt/nvm}" ]]; then - source "$(brew --prefix nvm)/nvm.sh" + [[ -d "${nvm_prefix::="$(brew --prefix nvm 2> /dev/null)"}" ]]; then + source "${nvm_prefix}/nvm.sh" unset nvm_prefix # Load manually installed nodenv into the shell session. From 261d3b8224c190d3802ba5acec6ff6a586d2a3f3 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Mon, 3 May 2021 16:11:55 -0500 Subject: [PATCH 30/70] rsync: Remove broken HFS+ specific compression flag Remove `--protect-decmpfs` by default since hfs-compression specific changes have been marked by upstream as broken since 3.1.3 and there is little likelihood of that changing. --- modules/rsync/init.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/rsync/init.zsh b/modules/rsync/init.zsh index 79432c1..e73e6db 100644 --- a/modules/rsync/init.zsh +++ b/modules/rsync/init.zsh @@ -24,10 +24,10 @@ if grep -q 'xattrs' <(rsync --help 2>&1); then _rsync_cmd="${_rsync_cmd} --acls --xattrs" fi -# macOS and HFS+ Enhancements +# macOS Enhancements # https://bombich.com/kb/ccc5/credits if is-darwin && grep -q 'file-flags' <(rsync --help 2>&1); then - _rsync_cmd="${_rsync_cmd} --crtimes --fileflags --protect-decmpfs --force-change" + _rsync_cmd="${_rsync_cmd} --crtimes --fileflags --force-change" fi alias rsync-copy="${_rsync_cmd}" From 788aa3d158cd75ca3fa1d838ad5ef81c98226fa7 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Mon, 3 May 2021 18:01:53 -0500 Subject: [PATCH 31/70] rsync: Check for new rsync before applying newer options The newer options for extended attributes or file-flags got reliable only after rsync v3.1. --- modules/rsync/init.zsh | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/modules/rsync/init.zsh b/modules/rsync/init.zsh index e73e6db..47eabfe 100644 --- a/modules/rsync/init.zsh +++ b/modules/rsync/init.zsh @@ -20,14 +20,19 @@ pmodload 'helper' _rsync_cmd='rsync --verbose --progress --human-readable --compress --archive \ --hard-links --one-file-system' -if grep -q 'xattrs' <(rsync --help 2>&1); then - _rsync_cmd="${_rsync_cmd} --acls --xattrs" -fi +autoload -Uz is-at-least +if is-at-least 3.1 ${"$(rsync --version 2>&1)"[(w)3]}; then -# macOS Enhancements -# https://bombich.com/kb/ccc5/credits -if is-darwin && grep -q 'file-flags' <(rsync --help 2>&1); then - _rsync_cmd="${_rsync_cmd} --crtimes --fileflags --force-change" + # ACL and extended attributes support + if grep -q 'xattrs' <(rsync --help 2>&1); then + _rsync_cmd="${_rsync_cmd} --acls --xattrs" + fi + + # macOS Enhancements + # https://bombich.com/kb/ccc5/credits + if is-darwin && grep -q 'file-flags' <(rsync --help 2>&1); then + _rsync_cmd="${_rsync_cmd} --crtimes --fileflags --force-change" + fi fi alias rsync-copy="${_rsync_cmd}" From d04a6ef45923e22c227e3b8d2b6c98f655533b5f Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Mon, 3 May 2021 21:59:59 -0500 Subject: [PATCH 32/70] rsync: Recommend Homebrew or MacPorts rsync for macOS Bundled `rsync` is 2.6.x which is too old. Prefer 3.2.x from Homebrew or MacPorts instead. --- modules/rsync/README.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/modules/rsync/README.md b/modules/rsync/README.md index 77d78ea..f4f33fa 100644 --- a/modules/rsync/README.md +++ b/modules/rsync/README.md @@ -3,8 +3,8 @@ Rsync Defines [rsync][1] aliases. -macOS users are encouraged to use [Bombich's rsync][2], which has HFS+ -enhancements. +macOS users are encouraged to use *rsync* from [Homebrew][2] or [MacPorts][3], +which has additional enhancements including patches from [Bombich][4]. Aliases ------- @@ -18,10 +18,12 @@ Aliases Authors ------- -*The authors of this module should be contacted via the [issue tracker][3].* +*The authors of this module should be contacted via the [issue tracker][5].* - [Sorin Ionescu](https://github.com/sorin-ionescu) -[1]: http://rsync.samba.org -[2]: https://bombich.com/kb/ccc5/credits#rsync -[3]: https://github.com/sorin-ionescu/prezto/issues +[1]: https://rsync.samba.org +[2]: https://github.com/Homebrew/homebrew-core +[3]: https://ports.macports.org/port/rsync +[4]: https://bombich.com/kb/ccc5/credits#rsync +[5]: https://github.com/sorin-ionescu/prezto/issues From 8edc5e9323bea33960db5afe4cff61ed8c0f8824 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Mon, 3 May 2021 18:46:54 -0500 Subject: [PATCH 33/70] environment: Simplify nested conditional block Avoid unnecessary nesting for conditional block. --- modules/environment/init.zsh | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/modules/environment/init.zsh b/modules/environment/init.zsh index 836a6cd..3011f59 100644 --- a/modules/environment/init.zsh +++ b/modules/environment/init.zsh @@ -18,11 +18,9 @@ if [[ ${ZSH_VERSION} != 5.1.1 && ${TERM} != "dumb" ]]; then if is-at-least 5.2; then autoload -Uz bracketed-paste-url-magic zle -N bracketed-paste bracketed-paste-url-magic - else - if is-at-least 5.1; then - autoload -Uz bracketed-paste-magic - zle -N bracketed-paste bracketed-paste-magic - fi + elif is-at-least 5.1; then + autoload -Uz bracketed-paste-magic + zle -N bracketed-paste bracketed-paste-magic fi autoload -Uz url-quote-magic zle -N self-insert url-quote-magic From d80e393f787f5bab6d558a767974fbb91d9bffd4 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Mon, 3 May 2021 20:59:31 -0500 Subject: [PATCH 34/70] general: Reformat documentation with better formatting and wording General purpose reformating and rewording in (a few places). This should also make markdown linting happier. Prefer back-ticks wherever useful and use `console` for code blocks to be executed on terminal. Also, update references links wherever possible (including update from 'http://' to 'https://'). --- CONTRIBUTING.md | 65 ++- README.md | 154 +++--- modules/README.md | 130 ++--- modules/archive/README.md | 53 +- modules/autosuggestions/README.md | 23 +- modules/command-not-found/README.md | 17 +- modules/completion/README.md | 46 +- modules/directory/README.md | 40 +- modules/dnf/README.md | 32 +- modules/docker/README.md | 18 +- modules/dpkg/README.md | 28 +- modules/editor/README.md | 35 +- modules/emacs/README.md | 22 +- modules/environment/README.md | 53 +- modules/fasd/README.md | 28 +- modules/git/README.md | 532 ++++++++++----------- modules/gnu-utility/README.md | 17 +- modules/gpg/README.md | 16 +- modules/haskell/README.md | 13 +- modules/helper/README.md | 35 +- modules/history-substring-search/README.md | 38 +- modules/history/README.md | 67 ++- modules/homebrew/README.md | 47 +- modules/macports/README.md | 27 +- modules/node/README.md | 44 +- modules/ocaml/README.md | 13 +- modules/osx/README.md | 54 +-- modules/pacman/README.md | 65 ++- modules/perl/README.md | 102 ++-- modules/prompt/README.md | 49 +- modules/python/README.md | 75 ++- modules/rails/README.md | 45 +- modules/rsync/README.md | 21 +- modules/ruby/README.md | 101 ++-- modules/screen/README.md | 34 +- modules/spectrum/README.md | 19 +- modules/ssh/README.md | 19 +- modules/syntax-highlighting/README.md | 22 +- modules/terminal/README.md | 28 +- modules/tmux/README.md | 43 +- modules/utility/README.md | 201 ++++---- modules/wakeonlan/README.md | 23 +- modules/yum/README.md | 33 +- runcoms/README.md | 57 ++- 44 files changed, 1188 insertions(+), 1396 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f4dc0d6..6bcb36b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,42 +1,41 @@ -Contributing ------------- +# Contributing This project would not exist without all of its users and [contributors][1]. If you have ideas on how to make the configuration easier to maintain or improve its performance, do not hesitate to fork and send pull requests. -### Issue Reporting +## Issue Reporting - - Check that the issue has not already been reported. - - Check that the issue has not already been fixed in the latest code. - - Open an issue with a clear title and description in grammatically correct, - complete sentences. +- Check that the issue has not already been reported. +- Check that the issue has not already been fixed in the latest code. +- Open an issue with a clear title and description in grammatically correct, + complete sentences. -### Pull Request +## Pull Request - - Read [how to properly contribute to open source projects on GitHub][2]. - - Use a topic branch to easily amend a pull request later, if necessary. - - Write [good commit messages][3]. - - Squash commits on the topic branch before opening a pull request. - - Use the same coding style and spacing. - - Open a [pull request][4] that relates to but one subject with a clear - title and description in grammatically correct, complete sentences. +- Read [how to properly contribute to open source projects on GitHub][2]. +- Use a topic branch to easily amend a pull request later, if necessary. +- Write [good commit messages][3]. +- Squash commits on the topic branch before opening a pull request. +- Use the same coding style and spacing. +- Open a [pull request][4] that relates to but one subject with a clear title + and description in grammatically correct, complete sentences. -#### Code Style +### Code Style This project follows the [Google Shell Style Guide][5] when possible. However, there are a number of additional things to keep in mind. - - Local variables should be used whenever possible. - - Prefer `zstyle` over environment variables for configuration. - - Prefer (( ... )) over [[ ... ]] for arithmetic expression. - - Use the function keyword to define functions. - - The 80 character hard limit can be waived for readability. +- Local variables should be used whenever possible. +- Prefer `zstyle` over environment variables for configuration. +- Prefer (( ... )) over [[ ... ]] for arithmetic expression. +- Use the function keyword to define functions. +- The 80 character hard limit can be waived for readability. -#### Using an Alternative zprezto Directory +### Using an Alternative *zprezto* Directory -To work on zprezto without messing with your current configuration: +To work on Prezto without affecting your current configuration: ```sh mkdir devel-zprezto @@ -52,24 +51,24 @@ done Then to start zsh in this development environment you will run: -```sh +```console ZDOTDIR=/path/to/devel-zprezto zsh ``` -#### Modules +### Modules - - A *README.md* must be present. - - Large functions must be placed in a *functions* directory. - - Functions that take arguments must have completion. +- A *README.md* must be present. +- Large functions must be placed in a *functions* directory. +- Functions that take arguments must have completion. -#### Themes +### Themes - - A screenshots section must be present in the file header. - - The pull request description must have [embedded screenshots][6]. +- A screenshots section must be present in the file header. +- The pull request description must have [embedded screenshots][6]. [1]: https://github.com/sorin-ionescu/prezto/contributors -[2]: http://gun.io/blog/how-to-github-fork-branch-and-pull-request +[2]: https://gun.io/blog/how-to-github-fork-branch-and-pull-request [3]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html [4]: https://help.github.com/articles/using-pull-requests [5]: https://google.github.io/styleguide/shell.xml -[6]: http://daringfireball.net/projects/markdown/syntax#img +[6]: https://github.github.com/gfm/#images diff --git a/README.md b/README.md index 45ef61c..ecce7dd 100644 --- a/README.md +++ b/README.md @@ -1,66 +1,64 @@ -Prezto — Instantly Awesome Zsh -============================== +# Prezto — Instantly Awesome Zsh Prezto is the configuration framework for [Zsh][1]; it enriches the command line interface environment with sane defaults, aliases, functions, auto completion, and prompt themes. -Installation ------------- +## Installation Prezto will work with any recent release of Zsh, but the minimum required -version is 4.3.11. +version is **4.3.11**. - 1. Launch Zsh: +01. Launch Zsh: - ```console - zsh - ``` + ```console + zsh + ``` - 2. Clone the repository: +02. Clone the repository: - ```console - git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto" - ``` + ```console + git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto" + ``` - 3. Create a new Zsh configuration by copying the Zsh configuration files - provided: +03. Create a new Zsh configuration by copying the Zsh configuration files + provided: - ```sh - setopt EXTENDED_GLOB - for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do - ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}" - done - ``` + ```console + setopt EXTENDED_GLOB + for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do + ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}" + done + ``` - Note: If you already have any of the given configuration files, `ln` will - cause error. In simple cases you can load prezto by adding the line - `source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"` to the bottom of your - `.zshrc` and keep the rest of your Zsh configuration intact. For more - complicated setups, it is recommended that you back up your original - configs and replace them with the provided prezto runcoms. + **Note:** If you already have any of the given configuration files, `ln` in + the above operation will cause an error. In simple cases, you can load + Prezto by adding the line `source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"` to + the bottom of your *${ZDOTDIR:-$HOME}/.zshrc* and keep the rest of your Zsh + configuration intact. For more complicated setups, we recommend that you + back up your original configs and replace them with the provided Prezto + *runcoms*. - 4. Set Zsh as your default shell: +04. Set Zsh as your default shell: - ```console - chsh -s /bin/zsh - ``` + ```console + chsh -s /bin/zsh + ``` - 5. Open a new Zsh terminal window or tab. +05. Open a new Zsh terminal window or tab. ### Troubleshooting -If you are not able to find certain commands after switching to *Prezto*, -modify the `PATH` variable in *~/.zprofile* then open a new Zsh terminal -window or tab. +If you are not able to find certain commands after switching to Prezto, modify +the `PATH` variable in *${ZDOTDIR:-$HOME}/.zprofile* then open a new Zsh +terminal window or tab. -Updating --------- +## Updating -Run `zprezto-update` to automatically check if there is an update to zprezto. -If there are no file conflicts, zprezto and its submodules will be -automatically updated. If there are conflicts you will be instructed to go into -the `$ZPREZTODIR` directory and resolve them yourself. +Run `zprezto-update` to automatically check if there is an update to Prezto. +If there are no file conflicts, Prezto and its submodules will be automatically +updated. If there are conflicts you will be instructed to go into the +`$ZPREZTODIR` directory and resolve them yourself. To pull the latest changes and update submodules manually: @@ -70,67 +68,63 @@ git pull git submodule update --init --recursive ``` -Usage ------ +## Usage -Prezto has many features disabled by default. Read the source code and -accompanying README files to learn of what is available. +Prezto has many features disabled by default. Read the source code and the +accompanying README files to learn about what is available. ### Modules - 1. Browse */modules* to see what is available. - 2. Load the modules you need in *~/.zpreztorc* then open a new Zsh terminal - window or tab. +01. Browse */modules* to see what is available. +02. Load the modules you need in *${ZDOTDIR:-$HOME}/.zpreztorc* then open a new + Zsh terminal window or tab. ### Themes - 1. For a list of themes, type `prompt -l`. - 2. To preview a theme, type `prompt -p name`. - 3. Load the theme you like in *~/.zpreztorc* then open a new Zsh terminal - window or tab. +01. For a list of themes, type `prompt -l`. +02. To preview a theme, type `prompt -p name`. +03. Load the theme you like in *${ZDOTDIR:-$HOME}/.zpreztorc* then open a new + Zsh terminal window or tab. - ![sorin theme][2] - Note that the 'git' module may be required for special symbols to appear, - such as those on the right of the above image. Add `'git'` to the `pmodule` - list (under `zstyle ':prezto:load' pmodule \` in your *~/.zpreztorc*) to - enable this module. + ![sorin theme][2] + Note that the *git* module may be required for special symbols to appear, + such as those on the right of the above image. Add `'git'` to the `pmodule` + list (under `zstyle ':prezto:load' pmodule \` in your + *${ZDOTDIR:-$HOME}/.zpreztorc*) to enable this module. ### External Modules - 1. By default modules will be loaded from */modules* and */contrib*. - 2. Additional module directories can be added to the - `:prezto:load:pmodule-dirs` setting in *~/.zpreztorc*. +01. By default modules will be loaded from */modules* and */contrib*. +02. Additional module directories can be added to the + `:prezto:load:pmodule-dirs` setting in *${ZDOTDIR:-$HOME}/.zpreztorc*. - Note that module names need to be unique or they will cause an error when - loading. + Note that module names need to be unique or they will cause an error when + loading. - ```sh - zstyle ':prezto:load' pmodule-dirs $HOME/.zprezto-contrib - ``` + ```console + zstyle ':prezto:load' pmodule-dirs $HOME/.zprezto-contrib + ``` -Customization -------------- +## Customization -The project is managed via [Git][3]. It is highly recommended that you fork this -project; so, that you can commit your changes and push them to [GitHub][4] to -not lose them. If you do not know how to use Git, follow this [tutorial][5] and -bookmark this [reference][6]. +The project is managed via [Git][3]. We highly recommend that you fork this +project so that you can commit your changes and push them to your fork on +[GitHub][4] to preserve them. If you do not know how to use Git, follow this +[tutorial][5] and bookmark this [reference][6]. -Resources ---------- +## Resources The [Zsh Reference Card][7] and the [zsh-lovers][8] man page are indispensable. -License -------- +## License This project is licensed under the MIT License. -[1]: http://www.zsh.org -[2]: http://i.imgur.com/nrGV6pg.png "sorin theme" -[3]: http://git-scm.com +[1]: https://www.zsh.org +[2]: https://i.imgur.com/nrGV6pg.png "sorin theme" +[3]: https://git-scm.com [4]: https://github.com -[5]: http://gitimmersion.com +[5]: https://gitimmersion.com [6]: https://git.github.io/git-reference/ [7]: http://www.bash2zsh.com/zsh_refcard/refcard.pdf -[8]: http://grml.org/zsh/zsh-lovers.html +[8]: https://grml.org/zsh/zsh-lovers.html diff --git a/modules/README.md b/modules/README.md index 1ff4e61..974b33b 100644 --- a/modules/README.md +++ b/modules/README.md @@ -1,206 +1,166 @@ -Modules -======= +# Modules -Load modules in *zpreztorc*. The order matters. +Load modules in *~/.zpreztorc*. The order matters. ```sh zstyle ':prezto:load' pmodule 'environment' 'terminal' ``` -Archive -------- +## Archive Provides functions to list and extract archives. -Autosuggestions ---------------- +## Autosuggestions Integrates zsh-autosuggestions into Prezto. -Command-Not-Found ------------------ +## Command-Not-Found Loads the command-not-found tool on macOS or Debian-based distributions. -Completion ----------- +## Completion -Loads and configures tab completion and provides additional completions from -the zsh-completions project. +Loads and configures TAB completion and provides additional +completions from the zsh-completions project. -Directory ---------- +## Directory Sets directory options and defines directory aliases. -DNF ---- +## DNF -Defines dnf aliases. +Defines *dnf* aliases. -Dpkg ----- +## Dpkg -Defines dpkg aliases and functions. +Defines *dpkg* aliases and functions. -Editor ------- +## Editor Sets key bindings. -Emacs ------ +## Emacs Enables Emacs dependency management. -Environment ------------ +## Environment Sets general shell options and defines environment variables. -Fasd ----- +## Fasd Maintains a frequently used file and directory list for fast access. -Git ---- +## Git Enhances the Git distributed version control system by providing aliases, functions and by exposing repository status information to prompts. -GNU Utility ------------ +## GNU Utility Provides for the interactive use of GNU utilities on non-GNU systems. -GPG ---- +## GPG Provides for an easier use of GPG by setting up gpg-agent. -Haskell -------- +## Haskell Enables local Haskell package installation. -Helper ------- +## Helper Provides helper functions for developing modules. -History -------- +## History Sets history options and defines history aliases. -History Substring Search ------------------------- +## History Substring Search Integrates zsh-history-substring-search into Prezto. -Homebrew --------- +## Homebrew Defines Homebrew aliases. -MacPorts --------- +## MacPorts Defines MacPorts aliases and adds MacPorts directories to path variables. -Node.js -------- +## Node.js Provides utility functions for Node.js and loads npm completion. -OCaml ------ +## OCaml Initializes OCaml package management. -OSX ---- +## OSX Defines macOS aliases and functions. -Pacman ------- +## Pacman Provides aliases and functions for the Pacman package manager and frontends. -Perl ----- +## Perl Enables local Perl module installation on macOS and defines alises. -Prompt ------- +## Prompt Loads prompt themes. -Python ------- +## Python Enables local Python and local Python package installation. -Ruby on Rails -------------- +## Ruby on Rails Defines Ruby on Rails aliases. -Rsync ------ +## Rsync Defines rsync aliases. -Ruby ----- +## Ruby Configures Ruby local gem installation, loads version managers, and defines aliases. -GNU Screen ----------- +## GNU Screen Defines GNU Screen aliases and provides for auto launching it at start-up. -Spectrum --------- +## Spectrum Provides for easier use of 256 colors and effects. -SSH ---- +## SSH Provides for an easier use of SSH by setting up ssh-agent. -Syntax Highlighting -------------------- +## Syntax Highlighting Integrates zsh-syntax-highlighting into Prezto. -Terminal --------- +## Terminal Sets terminal window and tab titles. -Tmux ----- +## Tmux Defines tmux aliases and provides for auto launching it at start-up. -Utility -------- +## Utility Defines general aliases and functions. -Wake-on-LAN ------------ +## Wake-on-LAN This module provides a wrapper around the wakeonlan tool. -Yum ---- +## Yum Defines yum aliases. diff --git a/modules/archive/README.md b/modules/archive/README.md index c9806ea..447d583 100644 --- a/modules/archive/README.md +++ b/modules/archive/README.md @@ -1,52 +1,47 @@ -Archive -======= +# Archive Provides functions to create, list, and extract archives. -Functions ---------- +## Functions - - `archive` creates an archive based on the provided archive name. - - `lsarchive` lists the contents of one or more archives. - - `unarchive` extracts the contents of one or more archives. +- `archive` creates an archive based on the provided archive name. +- `lsarchive` lists the contents of one or more archives. +- `unarchive` extracts the contents of one or more archives. -Supported Formats ------------------ +## Supported Formats The following archive formats are supported when the required utilities are installed: - - *.tar.gz*, *.tgz* require `tar` (optionally `pigz`). - - *.tar.bz2*, *.tbz* require `tar` (optionally `pbzip2`). - - *.tar.xz*, *.txz* require `tar` with *xz* support. - - *.tar.zma*, *.tlz* require `tar` with *lzma* support. - - *.tar* requires `tar`. - - *.gz* requires `gunzip`. - - *.bz2* requires `bunzip2`. - - *.xz* requires `unxz`. - - *.lzma* requires `unlzma`. - - *.Z* requires `uncompress`. - - *.zip*, *.jar* requires `unzip`. - - *.rar* requires `rar` (needed for `archive` support), `unrar` or `lsar` and `unar`. - - *.7z* requires `7za`. - - *.deb* requires `ar`, `tar`. +- *.tar.gz*, *.tgz* require `tar` (optionally `pigz`). +- *.tar.bz2*, *.tbz* require `tar` (optionally `pbzip2`). +- *.tar.xz*, *.txz* require `tar` with *xz* support. +- *.tar.zma*, *.tlz* require `tar` with *lzma* support. +- *.tar* requires `tar`. +- *.gz* requires `gunzip`. +- *.bz2* requires `bunzip2`. +- *.xz* requires `unxz`. +- *.lzma* requires `unlzma`. +- *.Z* requires `uncompress`. +- *.zip*, *.jar* requires `unzip`. +- *.rar* requires `rar` (needed for `archive` support), `unrar` or `lsar` and `unar`. +- *.7z* requires `7za`. +- *.deb* requires `ar`, `tar`. Additionally, if `pigz` and/or `pbzip2` are installed, `archive` will use them over their traditional counterparts, `gzip` and `bzip2` respectively, to take full advantage of all available CPU cores for compression. -Alternatives ------------- +## Alternatives Specifically on macOS, [The Unarchiver][1] provides a similar command line tool which doesn't depend on a number of other programs being installed. -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][1].* - - [Sorin Ionescu](https://github.com/sorin-ionescu) - - [Matt Hamilton](https://github.com/Eriner) +- [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Matt Hamilton](https://github.com/Eriner) [1]: https://theunarchiver.com/command-line diff --git a/modules/autosuggestions/README.md b/modules/autosuggestions/README.md index 48f9852..0b15393 100644 --- a/modules/autosuggestions/README.md +++ b/modules/autosuggestions/README.md @@ -1,5 +1,4 @@ -Autosuggestions -=============== +# Autosuggestions Integrates [zsh-autosuggestions][1] into Prezto, which implements the [Fish shell][2]'s autosuggestions feature, where the user can type in any part @@ -13,15 +12,13 @@ If this module is used in conjunction with the *history-substring-search* module, this module must be loaded **after** the *history-substring-search* module. -Contributors ------------- +## Contributors New features and bug fixes should be submitted to the [zsh-autosuggestions][1] project according to its rules and regulations. This module will be synchronized against it. -Settings --------- +## Settings ### Highlighting @@ -29,33 +26,31 @@ If colors are enabled, *autosuggestions* will automatically highlight positive results. To enable highlighting for this module only, add the following line to -*zpreztorc*: +*~/.zpreztorc*: ```sh zstyle ':prezto:module:autosuggestions' color 'yes' ``` -To set the query found color, add the following line to *zpreztorc*: +To set the query found color, add the following line to *~/.zpreztorc*: ```sh zstyle ':prezto:module:autosuggestions:color' found '' ``` -Troubleshooting ---------------- +## Troubleshooting ### Autosuggestions from previous sessions don't show up For autosuggestions from previous shell sessions to work, please make sure you also have the `history` module enabled. -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][3].* - - [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Sorin Ionescu](https://github.com/sorin-ionescu) [1]: https://github.com/tarruda/zsh-autosuggestions -[2]: http://fishshell.com +[2]: https://fishshell.com [3]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/command-not-found/README.md b/modules/command-not-found/README.md index f059c70..5dfac7d 100644 --- a/modules/command-not-found/README.md +++ b/modules/command-not-found/README.md @@ -1,9 +1,8 @@ -Command-Not-Found -================= +# Command-Not-Found -When you try to use a command that is not available locally, searches -the package manager for a package offering that command and suggests -the proper install command. +When you try to use a command that is not available locally, searches the +package manager for a package offering that command and suggests the proper +install command. Debian and Arch Linux based distributions use the [`command-not-found`][1] tool. @@ -11,14 +10,12 @@ macOS uses Homebrew's [`command-not-found` clone][2]. Note that unless you have a recent version of Homebrew installed, you might also need to tap the `command-not-found` Homebrew repository [following the instructions][3]. - -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][4].* - - [Joseph Booker](https://github.com/sargas) - - [Indrajit Raychaudhuri](https://github.com/indrajitr) +- [Joseph Booker](https://github.com/sargas) +- [Indrajit Raychaudhuri](https://github.com/indrajitr) [1]: https://code.launchpad.net/command-not-found [2]: https://github.com/Homebrew/homebrew-command-not-found diff --git a/modules/completion/README.md b/modules/completion/README.md index dc2b9b8..377cc46 100644 --- a/modules/completion/README.md +++ b/modules/completion/README.md @@ -1,31 +1,29 @@ -Completion -========== +# Completion -Loads and configures tab completion and provides additional completions from -the [zsh-completions][1] project. +Loads and configures TAB completion and provides additional +completions from the [zsh-completions][1] project. This module must be loaded **after** the *utility* module. -Options -------- +## Options - - `COMPLETE_IN_WORD` complete from both ends of a word. - - `ALWAYS_TO_END` move cursor to the end of a completed word. - - `PATH_DIRS` perform path search even on command names with slashes. - - `AUTO_MENU` show completion menu on a successive tab press. - - `AUTO_LIST` automatically list choices on ambiguous completion. - - `AUTO_PARAM_SLASH` if completed parameter is a directory, add a trailing slash. - - `EXTENDED_GLOB` needed for file modification glob modifiers with compinit. - - `MENU_COMPLETE` do not autoselect the first completion entry. - - `FLOW_CONTROL` disable start/stop characters in shell editor. +- `COMPLETE_IN_WORD` complete from both ends of a word. +- `ALWAYS_TO_END` move cursor to the end of a completed word. +- `PATH_DIRS` perform path search even on command names with slashes. +- `AUTO_MENU` show completion menu on a successive TAB press. +- `AUTO_LIST` automatically list choices on ambiguous completion. +- `AUTO_PARAM_SLASH` if completed parameter is a directory, add a trailing + slash (`/`). +- `EXTENDED_GLOB` needed for file modification glob modifiers with *compinit*. +- `MENU_COMPLETE` do not autoselect the first completion entry. +- `FLOW_CONTROL` disable start/stop characters in shell editor. -Settings --------- +## Settings ### Ignore */etc/hosts* Entries To ignore certain entries from static */etc/hosts* for host completion, add the -following lines in *zpreztorc* with the IP addresses of the hosts as they +following lines in *~/.zpreztorc* with the IP addresses of the hosts as they appear in */etc/hosts*. Both IP address and the corresponding hostname will be ignored during host completion. However, some of the entries ignored from */etc/hosts* still might appear during completion because of their presence in @@ -36,18 +34,16 @@ zstyle ':prezto:module:completion:*:hosts' etc-host-ignores \ '0.0.0.0' '127.0.0.1' ``` -Contributors ------------- +## Contributors -Completions should be submitted to the [zsh-completions][1] project according -to its rules and regulations. This module will be synchronized against it. +Completions should be submitted to the [zsh-completions][1] project according to +its rules and regulations. This module will be synchronized against it. -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][2].* - - [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Sorin Ionescu](https://github.com/sorin-ionescu) [1]: https://github.com/zsh-users/zsh-completions [2]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/directory/README.md b/modules/directory/README.md index ce806ee..a9b9063 100644 --- a/modules/directory/README.md +++ b/modules/directory/README.md @@ -1,34 +1,30 @@ -Directory -========= +# Directory Sets directory options and defines directory aliases. -Options -------- +## Options - - `AUTO_CD` auto changes to a directory without typing `cd`. - - `AUTO_PUSHD` pushes the old directory onto the stack on `cd`. - - `PUSHD_IGNORE_DUPS` does not store duplicates in the stack. - - `PUSHD_SILENT` does not print the directory stack after `pushd` or `popd`. - - `PUSHD_TO_HOME` pushes to the home directory when no argument is given. - - `CDABLE_VARS` changes directory to a path stored in a variable. - - `MULTIOS` writes to multiple descriptors. - - `EXTENDED_GLOB` uses extended globbing syntax. - - `CLOBBER` does not overwrite existing files with `>` and `>>`. Use `>!` and - `>>!` to bypass. +- `AUTO_CD` auto changes to a directory without typing `cd`. +- `AUTO_PUSHD` pushes the old directory onto the stack on `cd`. +- `PUSHD_IGNORE_DUPS` does not store duplicates in the stack. +- `PUSHD_SILENT` does not print the directory stack after `pushd` or `popd`. +- `PUSHD_TO_HOME` pushes to the home directory when no argument is given. +- `CDABLE_VARS` changes directory to a path stored in a variable. +- `MULTIOS` writes to multiple descriptors. +- `EXTENDED_GLOB` uses extended globbing syntax. +- `CLOBBER` does not overwrite existing files with `>` and `>>`. Use `>!` and + `>>!` to bypass. -Aliases -------- +## Aliases - - `d` prints the contents of the directory stack. - - `1 ... 9` changes the directory to the **n** previous one. +- `d` prints the contents of the directory stack. +- `1 ... 9` changes the directory to the **n** previous one. -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][1].* - - [James Cox](https://github.com/imajes) - - [Sorin Ionescu](https://github.com/sorin-ionescu) +- [James Cox](https://github.com/imajes) +- [Sorin Ionescu](https://github.com/sorin-ionescu) [1]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/dnf/README.md b/modules/dnf/README.md index bbf1c92..dea73bc 100644 --- a/modules/dnf/README.md +++ b/modules/dnf/README.md @@ -1,29 +1,25 @@ -DNF -=== +# DNF Defines [dnf][1] aliases. -Aliases -------- +## Aliases - - `dnfc` removes package(s) and leaves. - - `dnfi` installs package(s). - - `dnfh` displays history. - - `dnfl` lists packages. - - `dnfL` lists installed packages. - - `dnfq` displays package information. - - `dnfr` removes package(s). - - `dnfs` searches for a package. - - `dnfu` updates packages. - - `dnfU` upgrades packages. +- `dnfc` removes package(s) and leaves. +- `dnfi` installs package(s). +- `dnfh` displays history. +- `dnfl` lists packages. +- `dnfL` lists installed packages. +- `dnfq` displays package information. +- `dnfr` removes package(s). +- `dnfs` searches for a package. +- `dnfu` updates packages. +- `dnfU` upgrades packages. -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][2].* - - [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Sorin Ionescu](https://github.com/sorin-ionescu) [1]: https://fedoraproject.org/wiki/Features/DNF [2]: https://github.com/sorin-ionescu/prezto/issues - diff --git a/modules/docker/README.md b/modules/docker/README.md index 335f77a..c029cfa 100644 --- a/modules/docker/README.md +++ b/modules/docker/README.md @@ -1,4 +1,4 @@ -# ZSH Docker Aliases +# Docker Defines [Docker][1] aliases and functions. @@ -21,14 +21,15 @@ Defines [Docker][1] aliases and functions. - `dkli` Log in to a Docker registry - `dklo` Log out from a Docker registry - `dkls` is alias for `dkps` -- `dkp` Pause all processes within one or more containers +- `dkp` Pause all processes within one or more containers - `dkP` Unpause all processes within one or more containers - `dkpl` Pull an image or a repository from a registry - `dkph` Push an image or a repository to a registry - `dkps` List containers - `dkpsa` List all containers (default lists just running) - `dkr` Run a command in a new container -- `dkR` Run an interactive command in a new container and automatically remove the container when it exits +- `dkR` Run an interactive command in a new container and automatically remove + the container when it exits - `dkRe` like `dkR` and set entry point to `/bin/bash` - `dkrm` Remove one or more containers - `dkrmi` Remove one or more images @@ -39,13 +40,14 @@ Defines [Docker][1] aliases and functions. - `dks` Start one or more stopped containers - `dkS` Restart a container - `dkss` Display a live stream of container(s) resource usage statistics -- `dksv` Save one or more images to a tar archive (streamed to STDOUT by default) +- `dksv` Save one or more images to a tar archive (streamed to STDOUT by + default) - `dkt` Tag an image into a repository - `dktop` Display the running processes of a container - `dkup` Update configuration of one or more containers - `dkV` Manage Docker volumes - `dkv` Show the Docker version information -- `dkw` Block until a container stops, then print its exit code +- `dkw` Block until a container stops, then print its exit code - `dkx` Stop a running container #### container (C) @@ -65,7 +67,8 @@ Defines [Docker][1] aliases and functions. - `dkCS` Restart one or more containers - `dkCrm` Remove one or more containers - `dkCr` Run a command in a new container -- `dkCR` Run an interactive command in a new container and automatically remove the container when it exits +- `dkCR` Run an interactive command in a new container and automatically remove + the container when it exits - `dkCRe` like `dkCR` and set entry point to `/bin/bash` - `dkCs` Start one or more stopped containers - `dkCss` Display a live stream of container(s) resource usage statistics @@ -87,7 +90,8 @@ Defines [Docker][1] aliases and functions. - `dkIpl` Pull an image or a repository from a registry - `dkIph` Push an image or a repository to a registry - `dkIrm` Remove one or more images -- `dkIsv` Save one or more images to a tar archive (streamed to STDOUT by default) +- `dkIsv` Save one or more images to a tar archive (streamed to STDOUT by + default) - `dkIt` Tag an image into a repository #### volume (V) diff --git a/modules/dpkg/README.md b/modules/dpkg/README.md index 6290c05..739a6c9 100644 --- a/modules/dpkg/README.md +++ b/modules/dpkg/README.md @@ -1,10 +1,8 @@ -Dpkg -==== +# Dpkg -Defines [dpkg][1] aliases and functions. +Defines [*dpkg*][1] aliases and functions. -Aliases -------- +## Aliases - `debc` cleans the cache. - `debf` displays a file's package. @@ -20,22 +18,20 @@ Aliases - `deb-kclean` removes all kernel images and headers, except for the ones in use. -Functions ---------- +## Functions -- `deb-clone` generates a script that can be used to duplicate a dpkg-based +- `deb-clone` generates a script that can be used to duplicate a `dpkg`-based system. -- `deb-history` displays dpkg history. -- `deb-kbuild` makes a dpkg Linux kernel package. +- `deb-history` displays `dpkg` history. +- `deb-kbuild` makes a `dpkg` Linux kernel package. -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][2].* - - [Daniel Bolton](https://github.com/dbb) - - [Benjamin Boudreau](https://github.com/dreur) - - [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Daniel Bolton](https://github.com/dbb) +- [Benjamin Boudreau](https://github.com/dreur) +- [Sorin Ionescu](https://github.com/sorin-ionescu) -[1]: http://wiki.debian.org/Teams/Dpkg +[1]: https://wiki.debian.org/Teams/Dpkg [2]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/editor/README.md b/modules/editor/README.md index 7035635..84c86c1 100644 --- a/modules/editor/README.md +++ b/modules/editor/README.md @@ -1,25 +1,21 @@ -Editor -====== +# Editor Sets editor specific key bindings options and variables. -Options -------- +## Options - - `BEEP` beep on error in line editor. +- `BEEP` beep on error in line editor. -Variables ---------- +## Variables - - `WORDCHARS` treat a given set of characters as part of a word. +- `WORDCHARS` treat a given set of characters as part of a word. -Settings --------- +## Settings ### Key bindings -To enable key bindings, add the following to *zpreztorc*, and replace 'bindings' -with 'emacs' or 'vi'. +To enable key bindings, add the following to *~/.zpreztorc*, and replace +'bindings' with 'emacs' or 'vi'. ```sh zstyle ':prezto:module:editor' key-bindings 'bindings' @@ -28,7 +24,7 @@ zstyle ':prezto:module:editor' key-bindings 'bindings' ### Dot Expansion To enable the auto conversion of .... to ../.., add the following to -*zpreztorc*. +*~/.zpreztorc*. ```sh zstyle ':prezto:module:editor' dot-expansion 'yes' @@ -37,14 +33,13 @@ zstyle ':prezto:module:editor' dot-expansion 'yes' ### PS Context To enable the prompt context to be set, add the following to your -*zpreztorc*. +*~/.zpreztorc*. ```sh zstyle ':prezto:module:editor' ps-context 'yes' ``` -Theming -------- +## Theming To indicate when the editor is in the primary keymap (emacs or viins), add the following to your `theme_prompt_setup` function. @@ -84,8 +79,7 @@ zstyle ':prezto:module:editor:info:completing' format '...' Then add `$editor_info[context]`, where context is *keymap*, *insert*, or *overwrite*, to `$PROMPT` or `$RPROMPT`. -Convenience Functions ---------------------- +## Convenience Functions ### bindkey-all @@ -99,11 +93,10 @@ It will also pass through arguments so you can use bindkey-all to set bindings for all keymaps at once. If provided arguments it will *not* print out the names of each of the keymaps, and just run the command for each keymap. -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][1].* - - [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Sorin Ionescu](https://github.com/sorin-ionescu) [1]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/emacs/README.md b/modules/emacs/README.md index fa9a514..c07ac86 100644 --- a/modules/emacs/README.md +++ b/modules/emacs/README.md @@ -1,10 +1,8 @@ -Emacs -===== +# Emacs Enables Emacs dependency management. -Dependency management ---------------------- +## Dependency management [Carton][1] installs and manages Emacs packages for Emacs package development and Emacs configuration. @@ -12,22 +10,20 @@ and Emacs configuration. This module prepends the Carton directory to the path variable to enable the execution of `carton`. -Aliases -------- +## Aliases ### Carton - - `cai` installs dependencies. - - `cau` updates dependencies. - - `caI` initializes the current directory for dependency management. - - `cae` executes a command which correct dependencies. +- `cai` installs dependencies. +- `cau` updates dependencies. +- `caI` initializes the current directory for dependency management. +- `cae` executes a command which correct dependencies. -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][2].* - - [Sebastian Wiesner](https://github.com/lunaryorn) +- [Sebastian Wiesner](https://github.com/lunaryorn) [1]: https://github.com/rejeep/carton [2]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/environment/README.md b/modules/environment/README.md index 15ee959..71f18a6 100644 --- a/modules/environment/README.md +++ b/modules/environment/README.md @@ -1,56 +1,51 @@ -Environment -=========== +# Environment Sets general shell options and defines environment variables. This module must be loaded first. -Contributors ------------- +## Contributors This module **MUST NOT** rely on any command not built in Zsh. Non-interactive environment variables should be defined in [`zshenv`][1]. -Options -------- +## Options ### General - - `COMBINING_CHARS` combine zero-length punctuation characters (accents) with - the base character. - - `INTERACTIVE_COMMENTS` enable comments in interactive shell. - - `RC_QUOTES` allow 'Henry''s Garage' instead of 'Henry'\''s Garage'. - - `MAIL_WARNING` don't print a warning message if a mail file has been accessed. +- `COMBINING_CHARS` combine zero-length punctuation characters (accents) with + the base character. +- `INTERACTIVE_COMMENTS` enable comments in interactive shell. +- `RC_QUOTES` allow 'Henry''s Garage' instead of 'Henry'\''s Garage'. +- `MAIL_WARNING` don't print a warning message if a mail file has been accessed. ### Jobs - - `LONG_LIST_JOBS` list jobs in the long format by default. - - `AUTO_RESUME` attempt to resume existing job before creating a new process. - - `NOTIFY` report status of background jobs immediately. - - `BG_NICE` don't run all background jobs at a lower priority. - - `HUP` don't kill jobs on shell exit. - - `CHECK_JOBS` don't report on jobs when shell exit. +- `LONG_LIST_JOBS` list jobs in the long format by default. +- `AUTO_RESUME` attempt to resume existing job before creating a new process. +- `NOTIFY` report status of background jobs immediately. +- `BG_NICE` don't run all background jobs at a lower priority. +- `HUP` don't kill jobs on shell exit. +- `CHECK_JOBS` don't report on jobs when shell exit. -Variables ---------- +## Variables ### Termcap - - `LESS_TERMCAP_mb` begins blinking. - - `LESS_TERMCAP_md` begins bold. - - `LESS_TERMCAP_me` ends mode. - - `LESS_TERMCAP_se` ends standout-mode. - - `LESS_TERMCAP_so` begins standout-mode. - - `LESS_TERMCAP_ue` ends underline. - - `LESS_TERMCAP_us` begins underline. +- `LESS_TERMCAP_mb` begins blinking. +- `LESS_TERMCAP_md` begins bold. +- `LESS_TERMCAP_me` ends mode. +- `LESS_TERMCAP_se` ends standout-mode. +- `LESS_TERMCAP_so` begins standout-mode. +- `LESS_TERMCAP_ue` ends underline. +- `LESS_TERMCAP_us` begins underline. -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][2].* - - [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Sorin Ionescu](https://github.com/sorin-ionescu) [1]: https://github.com/sorin-ionescu/prezto/blob/master/runcoms/zshenv [2]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/fasd/README.md b/modules/fasd/README.md index cb3fc20..4d2c904 100644 --- a/modules/fasd/README.md +++ b/modules/fasd/README.md @@ -1,5 +1,4 @@ -Fasd -==== +# Fasd [Fasd][1] is a command-line productivity booster, inspired by tools like [autojump][2], [z][3] and [v][4], it offers quick access to files and @@ -12,30 +11,27 @@ module. The Prezto Fasd configuration differs from the default. The default aliases have been disabled. -Installation ------------- +## Installation -`fasd` is bundled with prezto as a git submodule. Alternatively, you can manually install `fasd`. -If a manual install is found, it will be used instead of the bundled version. +`fasd` is bundled with prezto as a git submodule. Alternatively, you can +manually install `fasd`. If a manual installation is found, it will be used +instead of the bundled version. -Aliases -------- +## Aliases - - `j` changes the current working directory interactively. +- `j` changes the current working directory interactively. -Completion ----------- +## Completion Type `,`, `f,`, `d,` in front of a comma-separated query or type `,,`, `,,f`, -`,,d` at the end of a comma-separated query then hit tab. +`,,d` at the end of a comma-separated query then hit TAB. -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][5].* - - [Wei Dai](https://github.com/clvv) - - [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Wei Dai](https://github.com/clvv) +- [Sorin Ionescu](https://github.com/sorin-ionescu) [1]: https://github.com/clvv/fasd [2]: https://github.com/joelthelion/autojump diff --git a/modules/git/README.md b/modules/git/README.md index e4425fa..caac66a 100644 --- a/modules/git/README.md +++ b/modules/git/README.md @@ -1,13 +1,11 @@ -Git -=== +# Git Enhances the [Git][1] distributed version control system by providing aliases, functions and by exposing repository status information to prompts. Git **1.7.2** is the [minimum required version][7]. -Settings --------- +## Settings ### Log @@ -30,8 +28,7 @@ zstyle ':prezto:module:git:status:ignore' submodules 'all' This setting affects all aliases and functions that call `git-status`. -Aliases -------- +## Aliases Aliases are enabled by default. You can disable them with: @@ -41,288 +38,290 @@ zstyle ':prezto:module:git:alias' skip 'yes' ### Git - - `g` is short for `git`. +- `g` is short for `git`. -### Branch +### Branch (b) - - `gb` lists, creates, renames, and deletes branches. - - `gbc` creates a new branch. - - `gbl` lists branches and their commits. (also `gbv`) - - `gbL` lists all local and remote branches and their commits. - - `gbr` renames a branch. (also `gbm`) - - `gbR` renames a branch even if the new branch name already exists. (also - `gbM`) - - `gbs` lists branches and their commits with ancestry graphs. - - `gbS` lists local and remote branches and their commits with ancestry - graphs. - - `gbV` lists branches with more verbose information about their commits. - - `gbx` deletes a branch. (also `gbd`) - - `gbX` deletes a branch irrespective of its merged status. (also `gbD`) +- `gb` lists, creates, renames, and deletes branches. +- `gbc` creates a new branch. +- `gbl` lists branches and their commits. (also `gbv`) +- `gbL` lists all local and remote branches and their commits. +- `gbr` renames a branch. (also `gbm`) +- `gbR` renames a branch even if the new branch name already exists. (also + `gbM`) +- `gbs` lists branches and their commits with ancestry graphs. +- `gbS` lists local and remote branches and their commits with ancestry graphs. +- `gbV` lists branches with more verbose information about their commits. +- `gbx` deletes a branch. (also `gbd`) +- `gbX` deletes a branch irrespective of its merged status. (also `gbD`) +### Commit (c) -### Commit +- `gc` records changes to the repository. +- `gca` stages all modified and deleted files. +- `gcm` records changes to the repository with the given message. +- `gcS` records changes to the repository. (Signed) +- `gcSa` stages all modified and deleted files. (Signed) +- `gcSm` records changes to the repository with the given message. (Signed) +- `gcam` stages all modified and deleted files, and records changes to the + repository with the given message. +- `gco` checks out a branch or paths to work tree. +- `gcO` checks out hunks from the index or the tree interactively. +- `gcf` amends the tip of the current branch using the same log message as + *HEAD*. +- `gcSf` amends the tip of the current branch using the same log message as + *HEAD*. (Signed) +- `gcF` amends the tip of the current branch. +- `gcSF` amends the tip of the current branch. (Signed) +- `gcp` applies changes introduced by existing commits. +- `gcP` applies changes introduced by existing commits without committing. +- `gcr` reverts existing commits by reverting patches and recording new commits. +- `gcR` removes the *HEAD* commit. +- `gcs` displays various types of objects. +- `gcsS` displays commits with GPG signature. +- `gcl` lists lost commits. +- `gcy` displays commits yet to be applied to upstream in the short format. +- `gcY` displays commits yet to be applied to upstream. - - `gc` records changes to the repository. - - `gca` stages all modified and deleted files. - - `gcm` records changes to the repository with the given message. - - `gcS` records changes to the repository. (Signed) - - `gcSa` stages all modified and deleted files. (Signed) - - `gcSm` records changes to the repository with the given message. (Signed) - - `gcam` stages all modified and deleted files, and records changes to the repository with the given message. - - `gco` checks out a branch or paths to work tree. - - `gcO` checks out hunks from the index or the tree interactively. - - `gcf` amends the tip of the current branch using the same log message as *HEAD*. - - `gcSf` amends the tip of the current branch using the same log message as *HEAD*. (Signed) - - `gcF` amends the tip of the current branch. - - `gcSF` amends the tip of the current branch. (Signed) - - `gcp` applies changes introduced by existing commits. - - `gcP` applies changes introduced by existing commits without committing. - - `gcr` reverts existing commits by reverting patches and recording new - commits. - - `gcR` removes the *HEAD* commit. - - `gcs` displays various types of objects. - - `gcsS` displays commits with GPG signature. - - `gcl` lists lost commits. - - `gcy` displays commits yet to be applied to upstream in the short format. - - `gcY` displays commits yet to be applied to upstream. +### Conflict (C) -### Conflict +- `gCl` lists unmerged files. +- `gCa` adds unmerged file contents to the index. +- `gCe` executes merge-tool on all unmerged file. +- `gCo` checks out our changes for unmerged paths. +- `gCO` checks out our changes for all unmerged paths. +- `gCt` checks out their changes for unmerged paths. +- `gCT` checks out their changes for all unmerged paths. - - `gCl` lists unmerged files. - - `gCa` adds unmerged file contents to the index. - - `gCe` executes merge-tool on all unmerged file. - - `gCo` checks out our changes for unmerged paths. - - `gCO` checks out our changes for all unmerged paths. - - `gCt` checks out their changes for unmerged paths. - - `gCT` checks out their changes for all unmerged paths. +### Data (d) -### Data +- `gd` displays information about files in the index and the work tree. +- `gdc` lists cached files. +- `gdx` lists deleted files. +- `gdm` lists modified files. +- `gdu` lists untracked files. +- `gdk` lists killed files. +- `gdi` lists ignored files. - - `gd` displays information about files in the index and the work tree. - - `gdc` lists cached files. - - `gdx` lists deleted files. - - `gdm` lists modified files. - - `gdu` lists untracked files. - - `gdk` lists killed files. - - `gdi` lists ignored files. +### Fetch (f) -### Fetch +- `gf` downloads objects and references from another repository. +- `gfa` downloads objects and references from all remote repositories. +- `gfc` clones a repository into a new directory. +- `gfcr` clones a repository into a new directory including all submodules. +- `gfm` fetches from and merges with another repository or local branch. +- `gfr` fetches from and rebases on another repository or local branch. - - `gf` downloads objects and references from another repository. - - `gfa` downloads objects and references from all remote repositories. - - `gfc` clones a repository into a new directory. - - `gfcr` clones a repository into a new directory including all submodules. - - `gfm` fetches from and merges with another repository or local branch. - - `gfr` fetches from and rebases on another repository or local branch. +### Flow (F) -### Flow +- `gFi` is short for `git flow init` - - `gFi` is short for `git flow init` +#### Feature (Ff) -#### Feature +- `gFf` is short for `git flow feature` +- `gFfl` is short for `git flow feature list` +- `gFfs` is short for `git flow feature start` +- `gFff` is short for `git flow feature finish` +- `gFfp` is short for `git flow feature publish` +- `gFft` is short for `git flow feature track` +- `gFfd` is short for `git flow feature diff` +- `gFfr` is short for `git flow feature rebase` +- `gFfc` is short for `git flow feature checkout` +- `gFfm` is short for `git flow feature pull` +- `gFfx` is short for `git flow feature delete` - - `gFf` is short for `git flow feature` - - `gFfl` is short for `git flow feature list` - - `gFfs` is short for `git flow feature start` - - `gFff` is short for `git flow feature finish` - - `gFfp` is short for `git flow feature publish` - - `gFft` is short for `git flow feature track` - - `gFfd` is short for `git flow feature diff` - - `gFfr` is short for `git flow feature rebase` - - `gFfc` is short for `git flow feature checkout` - - `gFfm` is short for `git flow feature pull` - - `gFfx` is short for `git flow feature delete` +#### Bugfix (Fb) -#### Bugfix +- `gFb` is short for `git flow bugfix` +- `gFbl` is short for `git flow bugfix list` +- `gFbs` is short for `git flow bugfix start` +- `gFbf` is short for `git flow bugfix finish` +- `gFbp` is short for `git flow bugfix publish` +- `gFbt` is short for `git flow bugfix track` +- `gFbd` is short for `git flow bugfix diff` +- `gFbr` is short for `git flow bugfix rebase` +- `gFbc` is short for `git flow bugfix checkout` +- `gFbm` is short for `git flow bugfix pull` +- `gFbx` is short for `git flow bugfix delete` - - `gFb` is short for `git flow bugfix` - - `gFbl` is short for `git flow bugfix list` - - `gFbs` is short for `git flow bugfix start` - - `gFbf` is short for `git flow bugfix finish` - - `gFbp` is short for `git flow bugfix publish` - - `gFbt` is short for `git flow bugfix track` - - `gFbd` is short for `git flow bugfix diff` - - `gFbr` is short for `git flow bugfix rebase` - - `gFbc` is short for `git flow bugfix checkout` - - `gFbm` is short for `git flow bugfix pull` - - `gFbx` is short for `git flow bugfix delete` +#### Release (Fl) -#### Release +- `gFl` is short for `git flow release` +- `gFll` is short for `git flow release list` +- `gFls` is short for `git flow release start` +- `gFlf` is short for `git flow release finish` +- `gFlp` is short for `git flow release publish` +- `gFlt` is short for `git flow release track` +- `gFld` is short for `git flow release diff` +- `gFlr` is short for `git flow release rebase` +- `gFlc` is short for `git flow release checkout` +- `gFlm` is short for `git flow release pull` +- `gFlx` is short for `git flow release delete` - - `gFl` is short for `git flow release` - - `gFll` is short for `git flow release list` - - `gFls` is short for `git flow release start` - - `gFlf` is short for `git flow release finish` - - `gFlp` is short for `git flow release publish` - - `gFlt` is short for `git flow release track` - - `gFld` is short for `git flow release diff` - - `gFlr` is short for `git flow release rebase` - - `gFlc` is short for `git flow release checkout` - - `gFlm` is short for `git flow release pull` - - `gFlx` is short for `git flow release delete` +#### Hotfix (Fh) -#### Hotfix +- `gFh` is short for `git flow hotfix` +- `gFhl` is short for `git flow hotfix list` +- `gFhs` is short for `git flow hotfix start` +- `gFhf` is short for `git flow hotfix finish` +- `gFhp` is short for `git flow hotfix publish` +- `gFht` is short for `git flow hotfix track` +- `gFhd` is short for `git flow hotfix diff` +- `gFhr` is short for `git flow hotfix rebase` +- `gFhc` is short for `git flow hotfix checkout` +- `gFhm` is short for `git flow hotfix pull` +- `gFhx` is short for `git flow hotfix delete` - - `gFh` is short for `git flow hotfix` - - `gFhl` is short for `git flow hotfix list` - - `gFhs` is short for `git flow hotfix start` - - `gFhf` is short for `git flow hotfix finish` - - `gFhp` is short for `git flow hotfix publish` - - `gFht` is short for `git flow hotfix track` - - `gFhd` is short for `git flow hotfix diff` - - `gFhr` is short for `git flow hotfix rebase` - - `gFhc` is short for `git flow hotfix checkout` - - `gFhm` is short for `git flow hotfix pull` - - `gFhx` is short for `git flow hotfix delete` +#### Support (Fs) -#### Support +- `gFs` is short for `git flow support` +- `gFsl` is short for `git flow support list` +- `gFss` is short for `git flow support start` +- `gFsf` is short for `git flow support finish` +- `gFsp` is short for `git flow support publish` +- `gFst` is short for `git flow support track` +- `gFsd` is short for `git flow support diff` +- `gFsr` is short for `git flow support rebase` +- `gFsc` is short for `git flow support checkout` +- `gFsm` is short for `git flow support pull` +- `gFsx` is short for `git flow support delete` - - `gFs` is short for `git flow support` - - `gFsl` is short for `git flow support list` - - `gFss` is short for `git flow support start` - - `gFsf` is short for `git flow support finish` - - `gFsp` is short for `git flow support publish` - - `gFst` is short for `git flow support track` - - `gFsd` is short for `git flow support diff` - - `gFsr` is short for `git flow support rebase` - - `gFsc` is short for `git flow support checkout` - - `gFsm` is short for `git flow support pull` - - `gFsx` is short for `git flow support delete` +### Grep (g) -### Grep +- `gg` displays lines matching a pattern. +- `ggi` displays lines matching a pattern ignoring case. +- `ggl` lists files matching a pattern. +- `ggL` lists files that are not matching a pattern. +- `ggv` displays lines not matching a pattern. +- `ggw` displays lines matching a pattern at word boundary. - - `gg` displays lines matching a pattern. - - `ggi` displays lines matching a pattern ignoring case. - - `ggl` lists files matching a pattern. - - `ggL` lists files that are not matching a pattern. - - `ggv` displays lines not matching a pattern. - - `ggw` displays lines matching a pattern at word boundary. +### Index (i) -### Index +- `gia` adds file contents to the index. +- `giA` adds file contents to the index interactively. +- `giu` adds file contents to the index (updates only known files). +- `gid` displays changes between the index and a named commit (diff). +- `giD` displays changes between the index and a named commit (word diff). +- `gii` temporarily ignore differences in a given file. +- `giI` unignore differences in a given file. +- `gir` resets the current HEAD to the specified state. +- `giR` resets the current index interactively. +- `gix` removes files/directories from the index (recursively). +- `giX` removes files/directories from the index (recursively and forced). - - `gia` adds file contents to the index. - - `giA` adds file contents to the index interactively. - - `giu` adds file contents to the index (updates only known files). - - `gid` displays changes between the index and a named commit (diff). - - `giD` displays changes between the index and a named commit (word diff). - - `gii` temporarily ignore differences in a given file. - - `giI` unignore differences in a given file. - - `gir` resets the current HEAD to the specified state. - - `giR` resets the current index interactively. - - `gix` removes files/directories from the index (recursively). - - `giX` removes files/directories from the index (recursively and forced). +### Log (l) -### Log +- `gl` displays the log. +- `gls` displays the stats log. +- `gld` displays the diff log. +- `glo` displays the one line log. +- `glg` displays the graph log. +- `glb` displays the brief commit log. +- `glc` displays the commit count for each contributor in descending order. +- `glS` displays the log and checks the validity of signed commits. - - `gl` displays the log. - - `gls` displays the stats log. - - `gld` displays the diff log. - - `glo` displays the one line log. - - `glg` displays the graph log. - - `glb` displays the brief commit log. - - `glc` displays the commit count for each contributor in descending order. - - `glS` displays the log and checks the validity of signed commits. +### Merge (m) -### Merge +- `gm` joins two or more development histories together. +- `gmC` joins two or more development histories together but does not commit. +- `gmF` joins two or more development histories together but does not commit + generating a merge commit even if the merge resolved as a fast-forward. +- `gma` aborts the conflict resolution, and reconstructs the pre-merge state. +- `gmt` runs the merge conflict resolution tools to resolve conflicts. - - `gm` joins two or more development histories together. - - `gmC` joins two or more development histories together but does not commit. - - `gmF` joins two or more development histories together but does not commit - generating a merge commit even if the merge resolved as a fast-forward. - - `gma` aborts the conflict resolution, and reconstructs the pre-merge state. - - `gmt` runs the merge conflict resolution tools to resolve conflicts. +### Push (p) -### Push +- `gp` updates remote refs along with associated objects. +- `gpf` forcefully updates remote refs along with associated objects using the + safer `--force-with-lease` option. +- `gpF` forcefully updates remote refs along with associated objects using the + riskier `--force` option. +- `gpa` updates remote branches along with associated objects. +- `gpA` updates remote branches and tags along with associated objects. +- `gpt` updates remote tags along with associated objects. +- `gpc` updates remote refs along with associated objects and adds *origin* as + an upstream reference for the current branch. +- `gpp` pulls and pushes from origin to origin. - - `gp` updates remote refs along with associated objects. - - `gpf` forcefully updates remote refs along with associated objects using the safer `--force-with-lease` option. - - `gpF` forcefully updates remote refs along with associated objects using the riskier `--force` option. - - `gpa` updates remote branches along with associated objects. - - `gpA` updates remote branches and tags along with associated objects. - - `gpt` updates remote tags along with associated objects. - - `gpc` updates remote refs along with associated objects and adds *origin* - as an upstream reference for the current branch. - - `gpp` pulls and pushes from origin to origin. +### Rebase (r) -### Rebase +- `gr` forward-ports local commits to the updated upstream head. +- `gra` aborts the rebase. +- `grc` continues the rebase after merge conflicts are resolved. +- `gri` makes a list of commits to be rebased and opens the editor. +- `grs` skips the current patch. - - `gr` forward-ports local commits to the updated upstream head. - - `gra` aborts the rebase. - - `grc` continues the rebase after merge conflicts are resolved. - - `gri` makes a list of commits to be rebased and opens the editor. - - `grs` skips the current patch. +### Remote (R) -### Remote +- `gR` manages tracked repositories. +- `gRl` lists remote names and their URLs. +- `gRa` adds a new remote. +- `gRx` removes a remote. +- `gRm` renames a remote. +- `gRu` fetches remotes updates. +- `gRp` prunes all stale remote tracking branches. +- `gRs` displays information about a given remote. +- `gRb` opens a remote on [GitHub][3] in the default browser. - - `gR` manages tracked repositories. - - `gRl` lists remote names and their URLs. - - `gRa` adds a new remote. - - `gRx` removes a remote. - - `gRm` renames a remote. - - `gRu` fetches remotes updates. - - `gRp` prunes all stale remote tracking branches. - - `gRs` displays information about a given remote. - - `gRb` opens a remote on [GitHub][3] in the default browser. +### Stash (s) -### Stash +- `gs` stashes the changes of the dirty working directory. +- `gsa` applies the changes recorded in a stash to the working directory. +- `gsx` drops a stashed state. +- `gsX` drops all the stashed states. +- `gsl` lists stashed states. +- `gsL` lists dropped stashed states. +- `gsd` displays changes between the stash and its original parent. +- `gsp` removes and applies a single stashed state from the stash list. +- `gsr` recovers a given stashed state. +- `gss` stashes the changes of the dirty working directory, including untracked. +- `gsS` stashes the changes of the dirty working directory interactively. +- `gsw` stashes the changes of the dirty working directory retaining the index. - - `gs` stashes the changes of the dirty working directory. - - `gsa` applies the changes recorded in a stash to the working directory. - - `gsx` drops a stashed state. - - `gsX` drops all the stashed states. - - `gsl` lists stashed states. - - `gsL` lists dropped stashed states. - - `gsd` displays changes between the stash and its original parent. - - `gsp` removes and applies a single stashed state from the stash list. - - `gsr` recovers a given stashed state. - - `gss` stashes the changes of the dirty working directory, including untracked. - - `gsS` stashes the changes of the dirty working directory interactively. - - `gsw` stashes the changes of the dirty working directory retaining the index. +### Submodule (S) -### Submodule +- `gS` initializes, updates, or inspects submodules. +- `gSa` adds given a repository as a submodule. +- `gSf` evaluates a shell command in each of checked out submodules. +- `gSi` initializes submodules. +- `gSI` initializes and clones submodules recursively. +- `gSl` lists the commits of all submodules. +- `gSm` moves a submodule. +- `gSs` synchronizes submodules' remote URL to the value specified in + *.gitmodules*. +- `gSu` fetches and merges the latest changes for all submodule. +- `gSx` removes a submodule. - - `gS` initializes, updates, or inspects submodules. - - `gSa` adds given a repository as a submodule. - - `gSf` evaluates a shell command in each of checked out submodules. - - `gSi` initializes submodules. - - `gSI` initializes and clones submodules recursively. - - `gSl` lists the commits of all submodules. - - `gSm` moves a submodule. - - `gSs` synchronizes submodules' remote URL to the value specified in - .gitmodules. - - `gSu` fetches and merges the latest changes for all submodule. - - `gSx` removes a submodule. +### Tag (t) -### Tag +- `gt` lists tags or creates tag. +- `gtl` lists tags matching pattern. +- `gts` creates a signed tag. +- `gtv` validate a signed tag. - - `gt` lists tags or creates tag. - - `gtl` lists tags matching pattern. - - `gts` creates a signed tag. - - `gtv` validate a signed tag. +### Working directory (w) -### Working directory - - - `gws` displays working-tree status in the short format. - - `gwS` displays working-tree status. - - `gwd` displays changes between the working tree and the index (diff). - - `gwD` displays changes between the working tree and the index (word diff). - - `gwr` resets the current HEAD to the specified state, does not touch the - index nor the working tree. - - `gwR` resets the current HEAD, index and working tree to the specified state. - - `gwc` removes untracked files from the working tree (dry-run). - - `gwC` removes untracked files from the working tree. - - `gwx` removes files from the working tree and from the index recursively. - - `gwX` removes files from the working tree and from the index recursively and - forcefully. +- `gws` displays working-tree status in the short format. +- `gwS` displays working-tree status. +- `gwd` displays changes between the working tree and the index (diff). +- `gwD` displays changes between the working tree and the index (word diff). +- `gwr` resets the current HEAD to the specified state, does not touch the + index nor the working tree. +- `gwR` resets the current HEAD, index and working tree to the specified state. +- `gwc` removes untracked files from the working tree (dry-run). +- `gwC` removes untracked files from the working tree. +- `gwx` removes files from the working tree and from the index recursively. +- `gwX` removes files from the working tree and from the index recursively and + forcefully. ### Shadows The following aliases may shadow system commands: - - `gb` shadows the [GB][9]. - - `gm` shadows the [Graphics Magick image processor][11]. - - `gpt` shadows the [GUID partition table maintenance utility][4]. - - `gs` shadows the [Ghostscript interpreter and previewer][5]. +- `gb` shadows the [GB][9]. +- `gm` shadows the [GraphicsMagick image processor][11]. +- `gpt` shadows the [GUID partition table maintenance utility][4]. +- `gs` shadows the [Ghostscript interpreter and previewer][5]. If you frequently use the above commands, you may wish to remove said aliases from this module or to disable them at the bottom of the zshrc with `unalias`. @@ -330,25 +329,23 @@ from this module or to disable them at the bottom of the zshrc with `unalias`. You can temporarily bypass an alias by prefixing it with a backward slash: `\gpt`. -Functions ---------- +## Functions - - `git-branch-current` displays the current branch. - - `git-commit-lost` lists lost commits. - - `git-dir` displays the path to the Git directory. - - `git-hub-browse` opens the [GitHub][3] repository in the default browser. - - `git-hub-shorten-url` shortens [GitHub URLs][10]. - - `git-info` exposes repository information via the `$git_info` associative - array. - - `git-root` displays the path to the working tree root. - - `git-stash-clear-interactive` asks for confirmation before clearing the stash. - - `git-stash-dropped` lists dropped stashed states. - - `git-stash-recover` recovers given dropped stashed states. - - `git-submodule-move` moves a submodule. - - `git-submodule-remove` removes a submodule. +- `git-branch-current` displays the current branch. +- `git-commit-lost` lists lost commits. +- `git-dir` displays the path to the Git directory. +- `git-hub-browse` opens the [GitHub][3] repository in the default browser. +- `git-hub-shorten-url` shortens [GitHub URLs][10]. +- `git-info` exposes repository information via the `$git_info` associative + array. +- `git-root` displays the path to the working tree root. +- `git-stash-clear-interactive` asks for confirmation before clearing the stash. +- `git-stash-dropped` lists dropped stashed states. +- `git-stash-recover` recovers given dropped stashed states. +- `git-submodule-move` moves a submodule. +- `git-submodule-remove` removes a submodule. -Theming -------- +## Theming To display information about the current repository in a prompt, define the following styles in the `prompt_name_setup` function, where the syntax for @@ -361,7 +358,7 @@ zstyle ':prezto:module:git:info:context:subcontext' format 'string' ### Main Contexts | Name | Format Code | Description -| --------- | :---------: | --------------------------------------------------- +| --------- | :---------: | ---------------------------------------------------- | action | %s | Special action name | ahead | %A | Commits ahead of remote count | behind | %B | Commits behind of remote count @@ -374,7 +371,7 @@ zstyle ':prezto:module:git:info:context:subcontext' format 'string' ### Concise Contexts | Name | Format Code | Description -| --------- | :---------: | --------------------------------------------------- +| --------- | :---------: | ---------------------------------------------------- | clean | %C | Clean state | dirty | %D | Dirty files count | indexed | %i | Indexed files count @@ -390,7 +387,7 @@ zstyle ':prezto:module:git:info' verbose 'yes' ### Verbose Contexts | Name | Format Code | Description -| --------- | :---------: | --------------------------------------------------- +| --------- | :---------: | ---------------------------------------------------- | added | %a | Added files count | clean | %C | Clean state | deleted | %d | Deleted files count @@ -435,22 +432,21 @@ Last, add `$git_info[prompt]` to `$PROMPT` and `$git_info[rprompt]` to `$RPROMPT` respectively and call `git-info` in the `prompt_name_preexec` hook function. -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][6].* - - [Sorin Ionescu](https://github.com/sorin-ionescu) - - [Colin Hebert](https://github.com/ColinHebert) +- [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Colin Hebert](https://github.com/ColinHebert) -[1]: http://www.git-scm.com +[1]: https://www.git-scm.com [2]: https://github.com/defunkt/hub [3]: https://www.github.com -[4]: http://www.manpagez.com/man/8/gpt/ -[5]: http://www.manpagez.com/man/1/gs/ +[4]: https://www.manpagez.com/man/8/gpt/ +[5]: https://www.manpagez.com/man/1/gs/ [6]: https://github.com/sorin-ionescu/prezto/issues [7]: https://github.com/sorin-ionescu/prezto/issues/219 -[8]: http://www.kernel.org/pub/software/scm/git/docs/git-log.html +[8]: https://www.kernel.org/pub/software/scm/git/docs/git-log.html [9]: https://getgb.io/ [10]: https://github.com/blog/985-git-io-github-url-shortener -[11]: http://www.manpagez.com/man/1/gm/ +[11]: https://www.manpagez.com/man/1/gm/ diff --git a/modules/gnu-utility/README.md b/modules/gnu-utility/README.md index 7e62a17..cb77159 100644 --- a/modules/gnu-utility/README.md +++ b/modules/gnu-utility/README.md @@ -1,9 +1,8 @@ -GNU Utility -=========== +# GNU Utility Provides for the interactive use of GNU utilities on BSD systems. -Installing GNU utilities on non-GNU systems in `$PATH` without a prefix, i.e. +Installing GNU utilities on non-GNU systems in `$PATH` without a prefix, i.e., `ls` instead of `gls`, is not recommended since scripts that target other utilities will be broken. @@ -12,23 +11,21 @@ use. This module must be loaded **before** the *utility* module. -Settings --------- +## Settings ### Prefix -To use a different prefix, add the following to *zpreztorc*, and replace 'g' with -the desired prefix: +To use a different prefix, add the following to *~/.zpreztorc*, and replace 'g' +with the desired prefix: ```sh zstyle ':prezto:module:gnu-utility' prefix 'g' ``` -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][1].* - - [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Sorin Ionescu](https://github.com/sorin-ionescu) [1]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/gpg/README.md b/modules/gpg/README.md index be3c1a9..6aa2eb5 100644 --- a/modules/gpg/README.md +++ b/modules/gpg/README.md @@ -1,13 +1,14 @@ -GPG -=== +# GPG Provides for an easier use of [GPG][1] by setting up [gpg-agent][2]. +## Settings + ### SSH To enable OpenSSH Agent protocol emulation, and make `gpg-agent` a drop-in replacement for `ssh-agent`, add the following line to -*~/.gnupg/gpg-agent.conf*: +*`~/.gnupg/gpg-agent.conf`*: ```conf enable-ssh-support @@ -16,13 +17,12 @@ enable-ssh-support When OpenSSH Agent protocol emulation is enabled, this module will load the SSH module for additional processing. -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][3].* - - [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Sorin Ionescu](https://github.com/sorin-ionescu) -[1]: http://www.gnupg.org -[2]: http://linux.die.net/man/1/gpg-agent +[1]: https://www.gnupg.org +[2]: https://linux.die.net/man/1/gpg-agent [3]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/haskell/README.md b/modules/haskell/README.md index dcf144c..6f48f34 100644 --- a/modules/haskell/README.md +++ b/modules/haskell/README.md @@ -1,10 +1,8 @@ -Haskell -======= +# Haskell Enables local Haskell package installation. -Per-user Package Installation ------------------------------ +## Per-user Package Installation [Cabal][1], the Haskell package manager, can install packages into per user directories. @@ -17,12 +15,11 @@ documentation. Install packages into per user directories with `cabal install --user`. -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][2].* - - [Sebastian Wiesner](https://github.com/lunaryorn) +- [Sebastian Wiesner](https://github.com/lunaryorn) -[1]: http://www.haskell.org/cabal/ +[1]: https://www.haskell.org/cabal/ [2]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/helper/README.md b/modules/helper/README.md index cfe5c03..aa6e417 100644 --- a/modules/helper/README.md +++ b/modules/helper/README.md @@ -1,29 +1,26 @@ -Helper -====== +# Helper Provides helper functions for developing modules. -Functions ---------- +## Functions - - `add-zsh-trap` adds a function name to a list to be called when a trap is - triggered. - - `is-autoloadable` checks if a file can be autoloaded by trying to load it - in a subshell. - - `is-callable` checks if a name is a command, function, or alias. - - `is-true` checks a boolean variable for "true". - - `coalesce` prints the first non-empty string in the arguments array. - - `is-darwin` checks if running on macOS Darwin. - - `is-linux` checks if running on Linux. - - `is-bsd` checks if running on BSD. - - `is-cygwin` checks if running on Cygwin (Windows). - - `is-termux` checks if running on Termux (Android). +- `add-zsh-trap` adds a function name to a list to be called when a trap is + triggered. +- `is-autoloadable` checks if a file can be autoloaded by trying to load it in + a subshell. +- `is-callable` checks if a name is a command, function, or alias. +- `is-true` checks a boolean variable for "true". +- `coalesce` prints the first non-empty string in the arguments array. +- `is-darwin` checks if running on macOS Darwin. +- `is-linux` checks if running on Linux. +- `is-bsd` checks if running on BSD. +- `is-cygwin` checks if running on Cygwin (Windows). +- `is-termux` checks if running on Termux (Android). -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][1].* - - [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Sorin Ionescu](https://github.com/sorin-ionescu) [1]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/history-substring-search/README.md b/modules/history-substring-search/README.md index 050a5c2..d7dc337 100644 --- a/modules/history-substring-search/README.md +++ b/modules/history-substring-search/README.md @@ -1,28 +1,25 @@ -History Substring Search -======================== +# History Substring Search -Integrates [zsh-history-substring-search][1] into Prezto, which implements -the [Fish shell][2]'s history search feature, where the user can type in any -part of a previously entered command and press up and down to cycle through -matching commands. +Integrates [`zsh-history-substring-search`][1] into Prezto, which implements the +[Fish shell][2]'s history search feature, where the user can type in any part of +a previously entered command and press up and down to cycle through matching +commands. If this module is used in conjunction with the *syntax-highlighting* module, this module must be loaded **after** the *syntax-highlighting* module. -Contributors ------------- +## Contributors New features and bug fixes should be submitted to the -[zsh-history-substring-search][1] project according to its rules and +[`zsh-history-substring-search`][1] project according to its rules and regulations. This module will be synchronized against it. -Settings --------- +## Settings ### Case Sensitivity To enable case-sensitivity for this module only, add the following line to -*zpreztorc*: +*~/.zpreztorc*: ```sh zstyle ':prezto:module:history-substring-search' case-sensitive 'yes' @@ -34,38 +31,37 @@ If colors are enabled, *history-substring-search* will automatically highlight positive results. To enable highlighting for this module only, add the following line to -*zpreztorc*: +*~/.zpreztorc*: ```sh zstyle ':prezto:module:history-substring-search' color 'yes' ``` -To set the query found color, add the following line to *zpreztorc*: +To set the query found color, add the following line to *~/.zpreztorc*: ```sh zstyle ':prezto:module:history-substring-search:color' found '' ``` -To set the query not found color, add the following line to *zpreztorc*: +To set the query not found color, add the following line to *~/.zpreztorc*: ```sh zstyle ':prezto:module:history-substring-search:color' not-found '' ``` -To set the search globbing flags, add the following line to *zpreztorc*: +To set the search globbing flags, add the following line to *~/.zpreztorc*: ```sh zstyle ':prezto:module:history-substring-search' globbing-flags '' ``` -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][3].* - - [Suraj N. Kurapati](https://github.com/sunaku) - - [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Suraj N. Kurapati](https://github.com/sunaku) +- [Sorin Ionescu](https://github.com/sorin-ionescu) [1]: https://github.com/zsh-users/zsh-history-substring-search -[2]: http://fishshell.com +[2]: https://fishshell.com [3]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/history/README.md b/modules/history/README.md index f777590..5a06de6 100644 --- a/modules/history/README.md +++ b/modules/history/README.md @@ -1,53 +1,48 @@ -History -======= +# History Sets [history][1] options and defines history aliases. -**Note:** Default path of `HISTFILE` has changed from `${ZDOTDIR:-$HOME}/.zhistory` -to `${ZDOTDIR:-$HOME}/.zsh_history`. The file will be automatically renamed if +**Note:** Default path of `HISTFILE` has changed from *`${ZDOTDIR:-$HOME}/.zhistory`* +to *`${ZDOTDIR:-$HOME}/.zsh_history`*. The file will be automatically renamed if possible (when the new one doesn't exist). Otherwise, if you want to preserve -previous history, you will need to move them from `${ZDOTDIR:-$HOME}/.zhistory` -to `${ZDOTDIR:-$HOME}/.zsh_history`. +previous history, you will need to move them from *`${ZDOTDIR:-$HOME}/.zhistory`* +to *`${ZDOTDIR:-$HOME}/.zsh_history`*. -Alternately, you can set `HISTFILE` manually to `${ZDOTDIR:-$HOME}/.zhistory`. +Alternately, you can set `HISTFILE` manually to *`${ZDOTDIR:-$HOME}/.zhistory`*. -Options -------- +## Options - - `BANG_HIST` treats the **!** character specially during expansion. - - `EXTENDED_HISTORY` writes the history file in the *:start:elapsed;command* format. - - `SHARE_HISTORY` shares history between all sessions. Note that - `SHARE_HISTORY`, `INC_APPEND_HISTORY`, and `INC_APPEND_HISTORY_TIME` are - mutually exclusive. - - `HIST_EXPIRE_DUPS_FIRST` expires a duplicate event first when trimming history. - - `HIST_IGNORE_DUPS` does not record an event that was just recorded again. - - `HIST_IGNORE_ALL_DUPS` deletes an old recorded event if a new event is a duplicate. - - `HIST_FIND_NO_DUPS` does not display a previously found event. - - `HIST_IGNORE_SPACE` does not record an event starting with a space. - - `HIST_SAVE_NO_DUPS` does not write a duplicate event to the history file. - - `HIST_VERIFY` does not execute immediately upon history expansion. - - `HIST_BEEP` beeps when accessing non-existent history. +- `BANG_HIST` treats the **!** character specially during expansion. +- `EXTENDED_HISTORY` writes the history file in the *:start:elapsed;command* format. +- `SHARE_HISTORY` shares history between all sessions. Note that + `SHARE_HISTORY`, `INC_APPEND_HISTORY`, and `INC_APPEND_HISTORY_TIME` are + mutually exclusive. +- `HIST_EXPIRE_DUPS_FIRST` expires a duplicate event first when trimming history. +- `HIST_IGNORE_DUPS` does not record an event that was just recorded again. +- `HIST_IGNORE_ALL_DUPS` deletes an old recorded event if a new event is a duplicate. +- `HIST_FIND_NO_DUPS` does not display a previously found event. +- `HIST_IGNORE_SPACE` does not record an event starting with a space. +- `HIST_SAVE_NO_DUPS` does not write a duplicate event to the history file. +- `HIST_VERIFY` does not execute immediately upon history expansion. +- `HIST_BEEP` beeps when accessing non-existent history. -Variables ---------- +## Variables - - `HISTFILE` stores the path to the history file. - - `HISTSIZE` stores the maximum number of events to save in the internal history. - - `SAVEHIST` stores the maximum number of events to save in the history file. +- `HISTFILE` stores the path to the history file. +- `HISTSIZE` stores the maximum number of events to save in the internal history. +- `SAVEHIST` stores the maximum number of events to save in the history file. -Aliases -------- +## Aliases - - `history-stat` lists the ten most used commands +- `history-stat` lists the ten most used commands -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][2].* - - [Robby Russell](https://github.com/robbyrussell) - - [Sorin Ionescu](https://github.com/sorin-ionescu) - - [Indrajit Raychaudhuri](https://github.com/indrajitr) +- [Robby Russell](https://github.com/robbyrussell) +- [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Indrajit Raychaudhuri](https://github.com/indrajitr) -[1]: http://zsh.sourceforge.net/Guide/zshguide02.html#l16 +[1]: https://zsh.sourceforge.net/Guide/zshguide02.html#l16 [2]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/homebrew/README.md b/modules/homebrew/README.md index 9a51725..545ffc9 100644 --- a/modules/homebrew/README.md +++ b/modules/homebrew/README.md @@ -1,10 +1,8 @@ -Homebrew -======== +# Homebrew Defines Homebrew specific environment variables and aliases. -Variables ---------- +## Variables Execute the following to list the environment variables loaded in the shell: @@ -12,35 +10,34 @@ Execute the following to list the environment variables loaded in the shell: brew shellenv ``` -Aliases -------- +## Aliases -### Homebrew +### Homebrew Core - - `brewc` cleans outdated brews and their cached archives. - - `brewi` installs a formula. - - `brewL` lists installed formulae that are not dependencies of another installed formula. - - `brewl` lists installed formulae. - - `brewo` lists brews which have an update available. - - `brews` searches for a formula. - - `brewu` upgrades outdated formulae. - - `brewx` uninstalls a formula. +- `brewc` cleans outdated brews and their cached archives. +- `brewi` installs a formula. +- `brewL` lists installed formulae that are not dependencies of another + installed formula. +- `brewl` lists installed formulae. +- `brewo` lists brews which have an update available. +- `brews` searches for a formula. +- `brewu` upgrades outdated formulae. +- `brewx` uninstalls a formula. ### Homebrew Cask - - `caski` installs a cask. - - `caskl` lists installed casks. - - `casko` lists casks which have an update available. - - `casks` searches for a cask. - - `casku` upgrades outdated casks. - - `caskx` uninstalls a cask. +- `caski` installs a cask. +- `caskl` lists installed casks. +- `casko` lists casks which have an update available. +- `casks` searches for a cask. +- `casku` upgrades outdated casks. +- `caskx` uninstalls a cask. -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][1].* - - [Sorin Ionescu](https://github.com/sorin-ionescu) - - [Griffin Yourick](https://github.com/tough-griff) +- [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Griffin Yourick](https://github.com/tough-griff) [1]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/macports/README.md b/modules/macports/README.md index 70e4b8b..9834dd2 100644 --- a/modules/macports/README.md +++ b/modules/macports/README.md @@ -1,25 +1,22 @@ -MacPorts -======== +# MacPorts Defines MacPorts aliases and adds MacPorts directories to path variables. -Aliases -------- +## Aliases - - `portc` cleans the files used to build ports. - - `porti` installs a port. - - `ports` searches for a port. - - `portu` upgrades a port. - - `portU` upgrades MacPorts, the ports collection, and outdated ports. - - `portx` uninstalls a port. - - `portX` uninstalls inactive ports. +- `portc` cleans the files used to build ports. +- `porti` installs a port. +- `ports` searches for a port. +- `portu` upgrades a port. +- `portU` upgrades MacPorts, the ports collection, and outdated ports. +- `portx` uninstalls a port. +- `portX` uninstalls inactive ports. -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][1].* - - [Matt Cable](https://github.com/curiousstranger) - - [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Matt Cable](https://github.com/curiousstranger) +- [Sorin Ionescu](https://github.com/sorin-ionescu) [1]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/node/README.md b/modules/node/README.md index af447c1..4341357 100644 --- a/modules/node/README.md +++ b/modules/node/README.md @@ -1,38 +1,33 @@ -Node.js -======= +# Node.js Provides utility functions for [Node.js][1], loads the Node Version Manager, and -enables [npm][2] completion. +enables [*npm*][2] completion. -nvm ---- +## nvm -[nvm][5] allows for managing multiple, isolated Node.js installations in the +[*nvm*][5] allows for managing multiple, isolated Node.js installations in the home directory. This will be loaded automatically if nvm is installed in `$NVM_DIR`, -`~/.nvm`, or nvm is installed with homebrew. +*~/.nvm*, or nvm is installed with homebrew. -nodenv ------- +## nodenv -[nodenv][6] does one thing well. nodenv is concerned solely with switching -Node versions. It's simple and predictable, Just Works, and is rock solid in -production. nodenv is forked from the popular [rbenv][7]. +[*nodenv*][6] does one thing well - it is concerned solely with switching +Node versions. It is simple and predictable, Just Works, and is rock solid in +production. nodenv is forked from the popular [*rbenv*][7]. This will be loaded automatically if nodenv is installed in `$NODENV_ROOT`, -`~/.nodenv`, or `nodenv` is on the path. +*~/.nodenv*, or `nodenv` is on the path. -Functions ---------- +## Functions - - `node-doc` opens the Node.js online [API documentation][3] in the default - browser. - - `node-info` exposes information about the Node.js environment via the - `$node_info` associative array. +- `node-doc` opens the Node.js online [API documentation][3] in the default + browser. +- `node-info` exposes information about the Node.js environment via the + `$node_info` associative array. -Theming -------- +## Theming To display the version number of the current Node.js version, define the following style inside the `prompt_name_setup` function. @@ -45,13 +40,12 @@ zstyle ':prezto:module:node:info:version' format 'version:%v' Then add `$node_info[version]` to either `$PROMPT` or `$RPROMPT` and call `node-info` in `prompt_name_preexec` hook function. -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][4].* - - [Sorin Ionescu](https://github.com/sorin-ionescu) - - [Zeh Rizzatti](https://github.com/zehrizzatti) +- [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Zeh Rizzatti](https://github.com/zehrizzatti) [1]: http://nodejs.org [2]: http://npmjs.org diff --git a/modules/ocaml/README.md b/modules/ocaml/README.md index e170158..516e911 100644 --- a/modules/ocaml/README.md +++ b/modules/ocaml/README.md @@ -1,10 +1,8 @@ -OCaml -===== +# OCaml Initializes [OCaml][1] package management. -OPAM ----- +## OPAM [OPAM][2] is a package manager for OCaml. @@ -15,13 +13,12 @@ relevant path and OCaml variables. Install packages to your local package directory with `opam install`. -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][3].* - - [Sebastian Wiesner](https://github.com/lunaryorn) +- [Sebastian Wiesner](https://github.com/lunaryorn) -[1]: http://ocaml.org/ +[1]: https://ocaml.org/ [2]: http://opam.ocamlpro.com/ [3]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/osx/README.md b/modules/osx/README.md index 1f93a2c..a9e7b14 100644 --- a/modules/osx/README.md +++ b/modules/osx/README.md @@ -1,50 +1,44 @@ -OSX -=== +# OSX Defines [macOS][1] aliases and functions. -Settings --------- +## Settings ### Dash Keyword -To change the keyword used by `mand` to open man pages in [_Dash.app_][2] from -its default value of 'manpages', add the following line in *zpreztorc* and -replace the **keyword** with the one configured in [_Dash.app_][2]. +To change the keyword used by `mand` to open man pages in [*Dash.app*][2] from +its default value of 'manpages', add the following line in *~/.zpreztorc* and +replace the **keyword** with the one configured in [*Dash.app*][2]. ```sh zstyle ':prezto:module:osx:man' dash-keyword 'keyword' ``` -Aliases -------- +## Aliases - - `cdf` changes the current working director to the current _Finder_ - directory. - - `pushdf` pushes the current working directory onto the directory queue and - changes the current working director to the current _Finder_ directory. +- `cdf` changes the current working director to the current *Finder* directory. +- `pushdf` pushes the current working directory onto the directory queue and + changes the current working director to the current *Finder* directory. -Functions ---------- +## Functions - - `mand` opens _man_ pages in [_Dash.app_][2]. - - `manp` opens _man_ pages in _Preview.app_. - - `pfd` prints the current _Finder_ directory. - - `pfs` prints the current _Finder_ selection. - - `tab` creates a new tab (works in both _Terminal_ and [_iTerm_][3]). - - `ql` previews files in Quick Look. - - `osx-rm-dir-metadata` deletes .DS\_Store, \_\_MACOSX cruft. - - `osx-ls-download-history` displays the macOS download history. - - `osx-rm-download-history` deletes the macOS download history. +- `mand` opens _man_ pages in [*Dash.app*][2]. +- `manp` opens _man_ pages in *Preview.app*. +- `pfd` prints the current *Finder* directory. +- `pfs` prints the current *Finder* selection. +- `tab` creates a new tab (works in both _Terminal_ and [*iTerm.app*][3]). +- `ql` previews files in Quick Look. +- `osx-rm-dir-metadata` deletes *.DS_Store*, *__MACOSX* cruft. +- `osx-ls-download-history` displays the macOS download history. +- `osx-rm-download-history` deletes the macOS download history. -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][4].* - - [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Sorin Ionescu](https://github.com/sorin-ionescu) -[1]: http://www.apple.com/macosx/ -[2]: http://kapeli.com/dash -[3]: http://www.iterm2.com/ +[1]: https://www.apple.com/macos/ +[2]: https://kapeli.com/dash +[3]: https://www.iterm2.com/ [4]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/pacman/README.md b/modules/pacman/README.md index a619a74..ebdf95c 100644 --- a/modules/pacman/README.md +++ b/modules/pacman/README.md @@ -1,11 +1,9 @@ -Pacman -====== +# Pacman Provides aliases and functions for the [Pacman][1] package manager and frontends. -Settings --------- +## Settings It is possible to use a Pacman frontend with the pacman aliases provided by this package as long as that frontend supports the same command line options (The @@ -17,53 +15,50 @@ supported by Archlinux. It is currently recommended to manually build AUR packages using the [provided instructions][3]. The [aurutils][4] project has a set of small utilities to make this easier. -To enable a Pacman frontend, add the following line to *zpreztorc*, substituting -`pacman_frontend` with the name of the frontent: +To enable a Pacman frontend, add the following line to *~/.zpreztorc*, +substituting *pacman_frontend* with the name of the frontend: ```sh zstyle ':prezto:module:pacman' frontend 'pacman_frontend' ``` -Aliases -------- +## Aliases ### Pacman - - `pac` is short for `pacman`. - - `paci` installs packages from repositories. - - `pacI` installs packages from files. - - `pacx` removes packages and unneeded dependencies. - - `pacX` removes packages, their configuration, and unneeded dependencies. - - `pacq` displays information about a package from the repositories. - - `pacQ` displays information about a package from the local database. - - `pacs` searches for packages in the repositories. - - `pacS` searches for packages in the local database. - - `pacu` synchronizes the local package and Arch Build System (requires `abs`) - databases against the repositories. - - `pacU` synchronizes the local package database against the repositories then - upgrades outdated packages. - - `pacman-list-orphans` lists orphan packages. - - `pacman-remove-orphans` removes orphan packages. +- `pac` is short for `pacman`. +- `paci` installs packages from repositories. +- `pacI` installs packages from files. +- `pacx` removes packages and unneeded dependencies. +- `pacX` removes packages, their configuration, and unneeded dependencies. +- `pacq` displays information about a package from the repositories. +- `pacQ` displays information about a package from the local database. +- `pacs` searches for packages in the repositories. +- `pacS` searches for packages in the local database. +- `pacu` synchronizes the local package and Arch Build System (requires `abs`) + databases against the repositories. +- `pacU` synchronizes the local package database against the repositories then + upgrades outdated packages. +- `pacman-list-orphans` lists orphan packages. +- `pacman-remove-orphans` removes orphan packages. ### Frontends -Functions ---------- +## Functions - - `aurget` clone an aur package - - `pacman-list-explicit` lists explicitly installed pacman packages. - - `pacman-list-disowned` lists pacman disowned files. +- `aurget` clone an aur package. +- `pacman-list-explicit` lists explicitly installed pacman packages. +- `pacman-list-disowned` lists pacman disowned files. -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][5].* - - [Benjamin Boudreau](https://github.com/dreur) - - [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Benjamin Boudreau](https://github.com/dreur) +- [Sorin Ionescu](https://github.com/sorin-ionescu) -[1]: http://www.archlinux.org/pacman/ -[2]: https://wiki.archlinux.org/index.php/AUR_helpers#Comparison_table -[3]: https://wiki.archlinux.org/index.php/Arch_User_Repository#Installing_packages +[1]: https://www.archlinux.org/pacman/ +[2]: https://wiki.archlinux.org/title/AUR_helpers#Comparison_tables +[3]: https://wiki.archlinux.org/title/Arch_User_Repository#Installing_and_upgrading_packages [4]: https://github.com/AladW/aurutils [5]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/perl/README.md b/modules/perl/README.md index 67f2a17..ed3e1e5 100644 --- a/modules/perl/README.md +++ b/modules/perl/README.md @@ -1,18 +1,16 @@ -Perl -==== +# Perl Enables local [Perl][1] module installation on macOS and defines aliases. -Local Module Installation -------------------------- +## Local Module Installation Perl versions older than 5.14 do not support the local installation of Perl modules natively. This module allows for local installation of Perl modules on -macOS in *~/Library/Perl/5.12* by altering the environment. +macOS in *`~/Library/Perl/5.12`* by altering the environment. ### Usage -For Perl versions older than 5.14, install *local::lib*. +For Perl versions older than 5.14, install *`local::lib`*. ```console curl -L -C - -O http://search.cpan.org/CPAN/authors/id/A/AP/APEIRON/local-lib-1.008004.tar.gz @@ -28,67 +26,62 @@ Install *cpanminus*: curl -L http://cpanmin.us | perl - --self-upgrade ``` -Perlbrew --------- +## Perlbrew An alternative to the above is to use [Perlbrew][2], which allows for the management of multiple, isolated Perl installations in the home directory. -plenv ------ +## plenv -Yet another alternative is [plenv][3]. This is inspired from rbenv and enables -switching between multiple binary installations. +Yet another alternative is [*plenv*][3]. This is inspired from *rbenv* and +enables switching between multiple binary installations. -The subcommands of plenv is similar with rbenv. +The subcommands of *plenv* is similar with *rbenv*. -Aliases -------- +## Aliases ### General - - `pl` is short for `perl`. - - `pld` looks up Perl documentation (`perldoc`). - - `ple` executes a one line program in a loop (`perl -wlne`). +- `pl` is short for `perl`. +- `pld` looks up Perl documentation (`perldoc`). +- `ple` executes a one line program in a loop (`perl -wlne`). -### Perlbrew +### Perlbrew (plb) - - `plb` manages Perl environments. - - `plba` lists available Perl versions. - - `plbi` installs a Perl version. - - `plbl` lists installed Perl versions. - - `plbo` temporarily turns off Perlbrew. - - `plbO` turns off Perlbrew. - - `plbs` switches to a Perl version. - - `plbu` uninstalls a Perl version. - - `plbx` temporarily sets the Perl version to use. +- `plb` manages Perl environments. +- `plba` lists available Perl versions. +- `plbi` installs a Perl version. +- `plbl` lists installed Perl versions. +- `plbo` temporarily turns off Perlbrew. +- `plbO` turns off Perlbrew. +- `plbs` switches to a Perl version. +- `plbu` uninstalls a Perl version. +- `plbx` temporarily sets the Perl version to use. -### plenv +### plenv (plv) - - `plv` manages Perl environments. - - `plvc` List all available plenv commands. - - `plvl` Set or show the local application-specific Perl version. - - `plvg` Set or show the global Perl version. - - `plvs` Set or show the shell-specific Perl version. - - `plvi` Install a Perl version using the perl-build plugin. - - `plvu` Uninstall a specific Perl version. - - `plvr` Rehash plenv shims (run this after installing executables). - - `plvv` Show the current Perl version and its origin. - - `plvV` List all Perl versions available to plenv. - - `plvw` Display the full path to an executable. - - `plvW` List all Perl versions that contain the given executable. - - `plvm` List cpan modules in current perl. - - `plvM` Migrate cpan modules from other version. - - `plvI` Install cpanm. +- `plv` manages Perl environments. +- `plvc` List all available plenv commands. +- `plvl` Set or show the local application-specific Perl version. +- `plvg` Set or show the global Perl version. +- `plvs` Set or show the shell-specific Perl version. +- `plvi` Install a Perl version using the perl-build plugin. +- `plvu` Uninstall a specific Perl version. +- `plvr` Rehash plenv shims (run this after installing executables). +- `plvv` Show the current Perl version and its origin. +- `plvV` List all Perl versions available to plenv. +- `plvw` Display the full path to an executable. +- `plvW` List all Perl versions that contain the given executable. +- `plvm` List cpan modules in current perl. +- `plvM` Migrate cpan modules from other version. +- `plvI` Install cpanm. -Functions ---------- +## Functions - - `perl-info` exposes information about the Perl environment via the - `$perl_info` associative array. +- `perl-info` exposes information about the Perl environment via the + `$perl_info` associative array. -Theming -------- +## Theming To display the name of the current Perl version in a prompt, define the following style in the `prompt_name_setup` function. @@ -101,14 +94,13 @@ zstyle ':prezto:module:perl:info:version' format 'version:%v' Then add `$perl_info[version]` to `$PROMPT` or `$RPROMPT` and call `perl-info` in the `prompt_name_precmd` hook function. -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][4].* - - [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Sorin Ionescu](https://github.com/sorin-ionescu) -[1]: http://www.perl.org -[2]: http://perlbrew.pl +[1]: https://www.perl.org +[2]: https://perlbrew.pl [3]: https://github.com/tokuhirom/plenv [4]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/prompt/README.md b/modules/prompt/README.md index ef32770..f69184a 100644 --- a/modules/prompt/README.md +++ b/modules/prompt/README.md @@ -1,16 +1,14 @@ -Prompt -====== +# Prompt Loads prompt [themes][1]. -Settings --------- +## Settings ### Prompt Theme -To select a prompt theme, add the following to *zpreztorc*, and replace **name** -with the name of the theme you wish to load. Setting it to **random** will load -a random theme. +To select a prompt theme, add the following to *~/.zpreztorc*, and replace +**name** with the name of the theme you wish to load. Setting it to **random** +will load a random theme. ```sh zstyle ':prezto:module:prompt' theme 'name' @@ -19,8 +17,8 @@ zstyle ':prezto:module:prompt' theme 'name' ### Prompt Display Length To change working directory prompt display length from 'short', set the -following to 'long' (without `~` expansion) or 'full' (with `~` expansion) -in *zpreztorc*. +following to 'long' (without `~` expansion) or 'full' (with `~` expansion) in +*~/.zpreztorc*. ```sh zstyle ':prezto:module:prompt' pwd-length 'short' @@ -35,8 +33,7 @@ this can be disabled with the following snippet. zstyle ':prezto:module:prompt' show-return-val 'no' ``` -Theming -------- +## Theming A prompt theme is an autoloadable function file with a special name, `prompt_name_setup`, placed anywhere in `$fpath`, but for the purpose of this @@ -46,11 +43,11 @@ directory. ### Required Variables To ensure that your function works with the editor-info module you'll need to -set the following variable: +set the following variable in *~/.zpreztorc*: -``` - # Tell prezto we can manage this prompt - zstyle ':prezto:module:prompt' managed 'yes' +```sh +# Tell prezto we can manage this prompt +zstyle ':prezto:module:prompt' managed 'yes' ``` This is to ensure compatibility with outside prompts, while allowing prezto @@ -134,7 +131,8 @@ When calling functions to get information to display in a prompt, do not assume that all the dependencies have been loaded. Always check for the availability of a function before you calling it. -**Do not register hook functions. They will be registered by the `prompt` function.** +**Do not register hook functions. They will be automatically registered by the +`prompt` function.** The most basic example of this function can be seen below. @@ -146,10 +144,9 @@ function prompt_name_precmd { } ``` -Troubleshooting ---------------- +## Troubleshooting -### Fonts aren't displaying properly. +### Fonts aren't displaying properly On most systems, themes which use special characters need to have a patched font installed and configured properly. @@ -157,16 +154,14 @@ installed and configured properly. Powerline provides some information on [terminal support][4] and [how to install patched fonts][5] which should fix most font issues. - -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][3].* - - [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Sorin Ionescu](https://github.com/sorin-ionescu) -[1]: http://zsh.sourceforge.net/Doc/Release/User-Contributions.html#Prompt-Themes -[2]: http://zsh.sourceforge.net/Doc/Release/Functions.html#Hook-Functions +[1]: https://zsh.sourceforge.net/Doc/Release/User-Contributions.html#Prompt-Themes +[2]: https://zsh.sourceforge.net/Doc/Release/Functions.html#Hook-Functions [3]: https://github.com/sorin-ionescu/prezto/issues -[4]: http://powerline.readthedocs.io/en/master/usage.html#terminal-emulator-requirements -[5]: http://powerline.readthedocs.io/en/latest/installation.html#fonts-installation +[4]: https://powerline.readthedocs.io/en/master/usage.html#terminal-emulator-requirements +[5]: https://powerline.readthedocs.io/en/latest/installation.html#fonts-installation diff --git a/modules/python/README.md b/modules/python/README.md index 91dc87f..bb85a46 100644 --- a/modules/python/README.md +++ b/modules/python/README.md @@ -1,20 +1,18 @@ -Python -====== +# Python Enables local Python and local Python package installation. -Settings --------- +## Settings -This module supports virtual environments from conda and virtualenvwrapper. By -default, only virtualenvwrapper is enabled. To disable virtualenvwrapper, add -the following to *zpreztorc*. +This module supports virtual environments from conda and +[*virtualenvwrapper*][2]. By default, only *virtualenvwrapper* is enabled. To +disable *virtualenvwrapper*, add the following to *~/.zpreztorc*. ```sh zstyle ':prezto:module:python' skip-virtualenvwrapper-init 'on' ``` -Conda support is enabled by adding the following to *zpreztorc*. +Conda support is enabled by adding the following to *~/.zpreztorc*. ```sh zstyle ':prezto:module:python' conda-init 'on' @@ -22,24 +20,22 @@ zstyle ':prezto:module:python' conda-init 'on' Caution: using conda and virtualenvwrapper at the same time may cause conflicts. -Local Python Installation -------------------------- +## Local Python Installation -[pyenv][4] builds and installs multiple Python versions locally in the home +[*pyenv*][4] builds and installs multiple Python versions locally in the home directory. -This module prepends the pyenv directory to the path variable to enable the +This module prepends the *pyenv* directory to the path variable to enable the execution of `pyenv`. ### Usage -Install Python versions with `pyenv install` into `~/.pyenv/versions`. +Install Python versions with `pyenv install` into *~/.pyenv/versions*. This will be loaded automatically if pyenv is installed to `$PYENV_ROOT`, -`~/.pyenv`, or if the `pyenv` command is on the path. +*~/.pyenv*, or if the `pyenv` command is on the path. -Local Package Installation --------------------------- +## Local Package Installation Since version 2.6, Python supports per user package installation, as defined in [PEP 370][1]. @@ -52,10 +48,9 @@ documentation. Install packages into the per user site directory with `pip install --user`. -virtualenvwrapper ------------------ +## virtualenvwrapper -[`virtualenvwrapper`][2] is a frontend to the popular [`virtualenv`][3] utility. +[*virtualenvwrapper*][2] is a frontend to the popular [*virtualenv*][3] utility. `virtualenv` creates isolated Python environments and `virtualenvwrapper` provides convenient shell functions to create, switch, and manage them. @@ -64,7 +59,7 @@ provides convenient shell functions to create, switch, and manage them. Install `virtualenvwrapper`. -Virtual environments are stored in `~/.virtualenvs`. +Virtual environments are stored in *~/.virtualenvs*. There are configuration variables that have to be set to enable certain features. If you wish to use these features, export the variables in [`zshenv`][6]. @@ -119,27 +114,26 @@ zstyle ':prezto:module:python:virtualenv' auto-switch 'yes' zstyle ':prezto:module:python:virtualenv' initialize 'no' ``` -Aliases -------- +## Aliases - - `py` is short for `python`. - - `py2` is short for `python2`. - - `py3` is short for `python3`. +- `py` is short for `python`. +- `py2` is short for `python2`. +- `py3` is short for `python3`. -Functions ---------- +## Functions - - `python-info` exposes information about the Python environment via the - `$python_info` associative array. +- `python-info` exposes information about the Python environment via the + `$python_info` associative array. -Theming -------- +## Theming -To display the name of the current virtual enviroment in a prompt, define the +To display the name of the current virtual environment in a prompt, define the following style in the `prompt_name_setup` function. - # %v - virtualenv name. - zstyle ':prezto:module:python:info:virtualenv' format 'virtualenv:%v' +```sh +# %v - virtualenv name. +zstyle ':prezto:module:python:info:virtualenv' format 'virtualenv:%v' +``` Then add `$python_info[virtualenv]` to `$PROMPT` or `$RPROMPT` and call `python-info` in the `prompt_name_preexec` hook function. @@ -148,17 +142,16 @@ Similarly, you can use `:prezto:module:python:info:version:format` with `%v` for the version and add `$python_info[version]` to your prompt for the current python version/ -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][5].* - - [Sorin Ionescu](https://github.com/sorin-ionescu) - - [Sebastian Wiesner](https://github.com/lunaryorn) +- [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Sebastian Wiesner](https://github.com/lunaryorn) -[1]: http://www.python.org/dev/peps/pep-0370/ -[2]: http://www.doughellmann.com/projects/virtualenvwrapper/ -[3]: http://pypi.python.org/pypi/virtualenv +[1]: https://www.python.org/dev/peps/pep-0370/ +[2]: https://www.doughellmann.com/projects/virtualenvwrapper/ +[3]: https://pypi.org/project/virtualenv/ [4]: https://github.com/yyuu/pyenv [5]: https://github.com/sorin-ionescu/prezto/issues [6]: https://github.com/sorin-ionescu/prezto/blob/master/runcoms/zshenv diff --git a/modules/rails/README.md b/modules/rails/README.md index 19bea1d..5919dc5 100644 --- a/modules/rails/README.md +++ b/modules/rails/README.md @@ -1,34 +1,31 @@ -Ruby on Rails -============= +# Ruby on Rails Defines [Ruby on Rails][1] aliases. -Aliases -------- +## Aliases - - `ror` is short for `rails`. - - `rorc` starts the Rails console. - - `rordc` starts the Rails console connected to the database. - - `rordm` migrates the database. - - `rordM` migrates the database and recreates the test database. - - `rordr` rolls the database schema back to the previous version. - - `rorg` generates new code. - - `rorl` displays the log. - - `rorlc` truncates logs to zero bytes. - - `rorp` installs a plugin. - - `rorr` runs code in the application environment. - - `rors` starts the Rails server. - - `rorsd` starts the Rails server with the debugger. - - `rorx` destroys newly generated code. +- `ror` is short for `rails`. +- `rorc` starts the Rails console. +- `rordc` starts the Rails console connected to the database. +- `rordm` migrates the database. +- `rordM` migrates the database and recreates the test database. +- `rordr` rolls the database schema back to the previous version. +- `rorg` generates new code. +- `rorl` displays the log. +- `rorlc` truncates logs to zero bytes. +- `rorp` installs a plugin. +- `rorr` runs code in the application environment. +- `rors` starts the Rails server. +- `rorsd` starts the Rails server with the debugger. +- `rorx` destroys newly generated code. -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][2].* - - [Robby Russell](https://github.com/robbyrussell) - - [Jake Bell](https://github.com/theunraveler) - - [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Robby Russell](https://github.com/robbyrussell) +- [Jake Bell](https://github.com/theunraveler) +- [Sorin Ionescu](https://github.com/sorin-ionescu) -[1]: http://rubyonrails.org +[1]: https://rubyonrails.org [2]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/rsync/README.md b/modules/rsync/README.md index f4f33fa..ba342bb 100644 --- a/modules/rsync/README.md +++ b/modules/rsync/README.md @@ -1,26 +1,23 @@ -Rsync -===== +# Rsync Defines [rsync][1] aliases. macOS users are encouraged to use *rsync* from [Homebrew][2] or [MacPorts][3], which has additional enhancements including patches from [Bombich][4]. -Aliases -------- +## Aliases - - `rsync-copy` copies files and directories from *source* to *destination*. - - `rsync-move` moves files and directories from *source* to *destination*. - - `rsync-update` updates files and directories on *destination*. - - `rsync-synchronize` synchronizes files and directories between *source* and - *destination*. +- `rsync-copy` copies files and directories from *source* to *destination*. +- `rsync-move` moves files and directories from *source* to *destination*. +- `rsync-update` updates files and directories on *destination*. +- `rsync-synchronize` synchronizes files and directories between *source* and + *destination*. -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][5].* - - [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Sorin Ionescu](https://github.com/sorin-ionescu) [1]: https://rsync.samba.org [2]: https://github.com/Homebrew/homebrew-core diff --git a/modules/ruby/README.md b/modules/ruby/README.md index feaa301..ad21c42 100644 --- a/modules/ruby/README.md +++ b/modules/ruby/README.md @@ -1,21 +1,18 @@ -Ruby -==== +# Ruby Configures [Ruby][1] local gem installation, loads version managers, and defines aliases. -Local Gem Installation ----------------------- +## Local Gem Installation When a Ruby version manager is not detected, local gems are installed in -`~/.gems`; otherwise, they are installed according to the manager. +*~/.gems*; otherwise, they are installed according to the manager. -RVM ---- +## rvm -An alternative to the above is to use [The Ruby Version Manager (RVM)][2], which -allows for managing multiple, isolated Ruby installations and gem sets in the -home directory. +An alternative to the above is to use [The Ruby Version Manager (*rvm*)][2], +which allows for managing multiple, isolated Ruby installations and gem sets in +the home directory. Since RVM is loaded into the shell and is known to override shell commands, it may conflict with shell scripts. @@ -23,93 +20,87 @@ may conflict with shell scripts. Load this module as late as possible when using RVM since RVM will complain if it is not first in `$PATH`. -rbenv ------ +## rbenv -An alternative RVM is to use [rbenv][3], which allows for switching between +An alternative RVM is to use [*rbenv*][3], which allows for switching between multiple, isolated Ruby installations in the home directory. While it is not as feature rich as RVM, it is not loaded into the shell and is not known to cause conflicts with shell scripts. -This will be loaded automatically if rbenv is installed to `$RBENV_ROOT`, -`~/.rbenv`, or if the `rbenv` command is on the path. +This will be loaded automatically if *rbenv* is installed to `$RBENV_ROOT`, +*~/.rbenv*, or if the `rbenv` command is on the path. -chruby ------- +## chruby -Yet another alternative is [chruby][4], which is simpler than both RVM and -rbenv. +Yet another alternative is [*chruby*][4], which is simpler than both *rvm* and +*rbenv*. ### Settings #### Auto-Switch To enable auto switching the Ruby version on directory change based on the -`.ruby-version` file, add the following line to [`zpreztorc`][5]: +`.ruby-version` file, add the following line to *~/.zpreztorc*: ```sh zstyle ':prezto:module:ruby:chruby' auto-switch 'yes' ``` -Bundler -------- +## Bundler Manage gems that are not meant to be used as commands, such as application -dependencies, with [Bundler][6]. +dependencies, with [Bundler][5]. -Aliases -------- +## Aliases ### General - - `rb` is short for `ruby`. +- `rb` is short for `ruby`. ### Bundler - - `rbb` manages ruby dependencies (`bundle`). - - `rbbc` cleans up unused gems in your bundler directory. - - `rbbe` executes a script in the context of the current bundle. - - `rbbi` installs the gems specified in the `Gemfile` in `vendor/bundle`. - - `rbbI` installs the following: - - gems specified in the `Gemfile` in `vendor/bundle`. - - packages the gems into `vendor/cache`. - - appends bundler directories to `.gitignore`. - - `rbbl` lists all gems in the current bundle. - - `rbbo` opens an installed gem in the editor. - - `rbbp` packages gem files into `vendor/cache`. - - `rbbu` updates gems to their latest version. +- `rbb` manages ruby dependencies (`bundle`). +- `rbbc` cleans up unused gems in your bundler directory. +- `rbbe` executes a script in the context of the current bundle. +- `rbbi` installs the gems specified in the `Gemfile` in `vendor/bundle`. +- `rbbI` installs the following: + - gems specified in the `Gemfile` in `vendor/bundle`. + - packages the gems into `vendor/cache`. + - appends bundler directories to `.gitignore`. +- `rbbl` lists all gems in the current bundle. +- `rbbo` opens an installed gem in the editor. +- `rbbp` packages gem files into `vendor/cache`. +- `rbbu` updates gems to their latest version. -Functions ---------- +## Functions - - `ruby-app-root` displays the path to the Ruby application root directory. - - `ruby-info` exposes information about the Ruby environment via the - `$ruby_info` associative array. +- `ruby-app-root` displays the path to the Ruby application root directory. +- `ruby-info` exposes information about the Ruby environment via the + `$ruby_info` associative array. -Theming -------- +## Theming To display the name of the current Ruby version in a prompt, define the following style in the `prompt_name_setup` function. - # %v - ruby version. - zstyle ':prezto:module:ruby:info:version' format 'version:%v' +```sh +# %v - ruby version. +zstyle ':prezto:module:ruby:info:version' format 'version:%v' +``` Then add `$ruby_info[version]` to `$PROMPT` or `$RPROMPT` and call `ruby-info` in the `prompt_name_preexec` hook function. -Authors -------- +## Authors -*The authors of this module should be contacted via the [issue tracker][7].* +*The authors of this module should be contacted via the [issue tracker][6].* - - [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Sorin Ionescu](https://github.com/sorin-ionescu) -[1]: http://www.ruby-lang.org +[1]: https://www.ruby-lang.org [2]: https://rvm.io [3]: https://github.com/sstephenson/rbenv [4]: https://github.com/postmodern/chruby -[5]: https://github.com/sorin-ionescu/prezto/blob/master/runcoms/zpreztorc -[6]: http://gembundler.com -[7]: https://github.com/sorin-ionescu/prezto/issues +[5]: https://gembundler.com +[6]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/screen/README.md b/modules/screen/README.md index 0a9ff07..01a2dd4 100644 --- a/modules/screen/README.md +++ b/modules/screen/README.md @@ -1,44 +1,40 @@ -GNU Screen -========== +# GNU Screen Defines [GNU Screen][1] aliases and provides for auto launching it at start-up. -Settings --------- +## Settings ### Auto-Start Starts a GNU Screen session automatically when Zsh is launched. -To enable this feature when launching Zsh in a local terminal, add the -following line to *zpreztorc*: +To enable this feature when launching Zsh in a local terminal, add the following +line to *~/.zpreztorc*: ```sh zstyle ':prezto:module:screen:auto-start' local 'yes' ``` -To enable this feature when launching Zsh in a SSH connection, add the -following line to *zpreztorc*: +To enable this feature when launching Zsh in a SSH connection, add the following +line to *~/.zpreztorc*: ```sh zstyle ':prezto:module:screen:auto-start' remote 'yes' ``` -Aliases -------- +## Aliases - - `scr` is short for `screen`. - - `scrl` lists sessions/socket directory. - - `scrn` starts a new session. - - `scrr` attaches to a session if one exists or start a new one. +- `scr` is short for `screen`. +- `scrl` lists sessions/socket directory. +- `scrn` starts a new session. +- `scrr` attaches to a session if one exists or start a new one. -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][2].* - - [Sorin Ionescu](https://github.com/sorin-ionescu) - - [Georges Discry](https://github.com/gdiscry) +- [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Georges Discry](https://github.com/gdiscry) -[1]: http://www.gnu.org/software/screen/ +[1]: https://www.gnu.org/software/screen/ [2]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/spectrum/README.md b/modules/spectrum/README.md index b64925d..a3d4263 100644 --- a/modules/spectrum/README.md +++ b/modules/spectrum/README.md @@ -1,16 +1,14 @@ -Spectrum -======== +# Spectrum Provides for easier use of 256 colors and effects. To learn more about text formatting, read [A Guide to 256 Color Codes][1]. -Variables ---------- +## Variables - - `BG` provides background colors. - - `FG` provides foreground colors. - - `FX` provides effects. +- `BG` provides background colors. +- `FG` provides foreground colors. +- `FX` provides effects. ### Background and Foreground @@ -79,13 +77,12 @@ Though there are many effects, most terminals support at least bold formatting. Use `$BG[none]`, `$FG[none]`, or `$FX[none]` to turn off formatting. -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][2].* - - [P.C. Shyamshankar](https://github.com/sykora) - - [Sorin Ionescu](https://github.com/sorin-ionescu) +- [P.C. Shyamshankar](https://github.com/sykora) +- [Sorin Ionescu](https://github.com/sorin-ionescu) [1]: http://lucentbeing.com/writing/archives/a-guide-to-256-color-codes/ [2]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/ssh/README.md b/modules/ssh/README.md index a1727b9..dbaf809 100644 --- a/modules/ssh/README.md +++ b/modules/ssh/README.md @@ -1,26 +1,23 @@ -SSH -=== +# SSH -Provides for an easier use of [SSH][1] by setting up [ssh-agent][2]. +Provides for an easier use of [SSH][1] by setting up [*ssh-agent*][2]. -Settings --------- +## Settings ### Identities -To load multiple identities, add the following line to *zpreztorc*: +To load multiple identities, add the following line to *~/.zpreztorc*: ```sh zstyle ':prezto:module:ssh:load' identities 'id_rsa' 'id_dsa' 'id_github' ``` -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][3].* - - [Sorin Ionescu](https://github.com/sorin-ionescu) +[Sorin Ionescu](https://github.com/sorin-ionescu) -[1]: http://www.openssh.com -[2]: http://www.openbsd.org/cgi-bin/man.cgi?query=ssh-agent&sektion=1 +[1]: https://www.openssh.com +[2]: https://www.openbsd.org/cgi-bin/man.cgi?query=ssh-agent&sektion=1 [3]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/syntax-highlighting/README.md b/modules/syntax-highlighting/README.md index 7a5a30c..1dfc0fa 100644 --- a/modules/syntax-highlighting/README.md +++ b/modules/syntax-highlighting/README.md @@ -1,5 +1,4 @@ -Syntax Highlighting -=================== +# Syntax Highlighting Integrates [zsh-syntax-highlighting][1] into Prezto. @@ -9,23 +8,21 @@ Additionally, if this module is used in conjunction with the *history-substring-search* module, this module must be loaded **before** the *history-substring-search* module. -To elaborate: The relative order of loading the modules would be +To elaborate: The relative order of loading the modules would be 'syntax-highlighting', 'history-substring-search' and 'prompt'. -Contributors ------------- +## Contributors New features and bug fixes should be submitted to the [zsh-syntax-highlighting][1] project according to its rules and regulations. This module will be synchronized against it. -Settings --------- +## Settings ### Highlighting To enable highlighting for this module only, add the following line to -*zpreztorc*: +*~/.zpreztorc*: ```sh zstyle ':prezto:module:syntax-highlighting' color 'yes' @@ -36,7 +33,7 @@ zstyle ':prezto:module:syntax-highlighting' color 'yes' Syntax highlighting is accomplished by pluggable [highlighters][2]. This module only enables the *main* highlighter by default. -To enable all highlighters, add the following to *zpreztorc*: +To enable all highlighters, add the following to *~/.zpreztorc*: ```sh zstyle ':prezto:module:syntax-highlighting' highlighters \ @@ -53,7 +50,7 @@ zstyle ':prezto:module:syntax-highlighting' highlighters \ Each syntax highlighter defines styles used to highlight tokens. To highlight, for example, builtins, commands, and functions in blue instead of -green, add the following to *zpreztorc*: +green, add the following to *~/.zpreztorc*: ```sh zstyle ':prezto:module:syntax-highlighting' styles \ @@ -62,12 +59,11 @@ zstyle ':prezto:module:syntax-highlighting' styles \ 'function' 'bg=blue' ``` -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][3].* - - [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Sorin Ionescu](https://github.com/sorin-ionescu) [1]: https://github.com/zsh-users/zsh-syntax-highlighting [2]: https://github.com/zsh-users/zsh-syntax-highlighting/tree/master/highlighters diff --git a/modules/terminal/README.md b/modules/terminal/README.md index 41a0885..c19a357 100644 --- a/modules/terminal/README.md +++ b/modules/terminal/README.md @@ -1,23 +1,21 @@ -Terminal -======== +# Terminal Sets terminal window and tab titles. -Settings --------- +## Settings ### Auto-Title To auto set the terminal window and tab titles with the current command or -directory, add the following to *zpreztorc*: +directory, add the following to *~/.zpreztorc*: ```sh zstyle ':prezto:module:terminal' auto-title 'yes' ``` -Auto titling is disabled inside terminal multiplexers (except inside dvtm) -since it interferes with window names defined in configuration files and -profile managers. This can be overridden by setting it to `always`. +Auto titling is disabled inside terminal multiplexers (except inside dvtm) since +it interferes with window names defined in configuration files and profile +managers. This can be overridden by setting it to `always`. ```sh zstyle ':prezto:module:terminal' auto-title 'always' @@ -25,7 +23,7 @@ zstyle ':prezto:module:terminal' auto-title 'always' ### Title formats -To format terminal window and tab titles, add the following to *zpreztorc*: +To format terminal window and tab titles, add the following to *~/.zpreztorc*: ```sh zstyle ':prezto:module:terminal:window-title' format '%n@%m: %s' @@ -38,20 +36,18 @@ executing program name. For a list of sequences, see [Expansion of Prompt Sequences][1]. -Functions ---------- +## Functions - `set-tab-title` sets the terminal tab title. - `set-window-title` sets the terminal window title. - `set-multiplexer-title` sets the terminal multiplexer title. -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][2].* - - [Sorin Ionescu](https://github.com/sorin-ionescu) - - [Olaf Conradi](https://github.com/oohlaf) +- [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Olaf Conradi](https://github.com/oohlaf) -[1]: http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html#Expansion-of-Prompt-Sequences +[1]: https://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html#Expansion-of-Prompt-Sequences [2]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/tmux/README.md b/modules/tmux/README.md index 0738d7c..fe47cc5 100644 --- a/modules/tmux/README.md +++ b/modules/tmux/README.md @@ -1,24 +1,22 @@ -Tmux -==== +# Tmux -Defines [tmux][1] aliases and provides for auto launching it at start-up. +Defines [*tmux*][1] aliases and provides for auto launching it at start-up. -Settings --------- +## Settings ### Auto-Start Starts a tmux session automatically when Zsh is launched. -To enable this feature when launching Zsh in a local terminal, add the -following line to *zpreztorc*: +To enable this feature when launching Zsh in a local terminal, add the following +line to *~/.zpreztorc*: ```sh zstyle ':prezto:module:tmux:auto-start' local 'yes' ``` -To enable this feature when launching Zsh in a SSH connection, add the -following line to *zpreztorc*: +To enable this feature when launching Zsh in a SSH connection, add the following +line to *~/.zpreztorc*: ```sh zstyle ':prezto:module:tmux:auto-start' remote 'yes' @@ -45,7 +43,7 @@ set-option -g destroy-unattached [on | off] #### iTerm2 Integration [iTerm2][6] offers significant integration with tmux. This can be enabled by -adding the following line to *zpreztorc*: +adding the following line to *~/.zpreztorc*: ```sh zstyle ':prezto:module:tmux:iterm' integrate 'yes' @@ -53,14 +51,12 @@ zstyle ':prezto:module:tmux:iterm' integrate 'yes' Read [iTerm2 and tmux Integration][7] for more information. -Aliases -------- +## Aliases - - `tmuxa` attaches or switches to a tmux session. - - `tmuxl` lists sessions managed by the tmux server. +- `tmuxa` attaches or switches to a tmux session. +- `tmuxl` lists sessions managed by the tmux server. -Caveats -------- +## Caveats On macOS, launching tmux can cause the error **launch_msg(...): Socket is not connected** to be displayed, which can be fixed by installing @@ -74,20 +70,19 @@ set-option -g default-command "reattach-to-user-namespace -l $SHELL -l" Furthermore, tmux is known to cause **kernel panics** on macOS. A discussion about this and Prezto has already been [opened][2]. -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][5].* - - [Sorin Ionescu](https://github.com/sorin-ionescu) - - [Colin Hebert](https://github.com/ColinHebert) - - [Georges Discry](https://github.com/gdiscry) - - [Xavier Cambar](https://github.com/xcambar) +- [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Colin Hebert](https://github.com/ColinHebert) +- [Georges Discry](https://github.com/gdiscry) +- [Xavier Cambar](https://github.com/xcambar) -[1]: http://tmux.sourceforge.net +[1]: https://tmux.github.io/ [2]: https://github.com/sorin-ionescu/prezto/issues/62 [3]: https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard [4]: https://github.com/mxcl/homebrew [5]: https://github.com/sorin-ionescu/prezto/issues -[6]: http://iterm2.com +[6]: https://iterm2.com [7]: https://gitlab.com/gnachman/iterm2/wikis/TmuxIntegration diff --git a/modules/utility/README.md b/modules/utility/README.md index 1179478..73cda46 100644 --- a/modules/utility/README.md +++ b/modules/utility/README.md @@ -1,68 +1,67 @@ -Utility -======= +# Utility Defines general aliases and functions. -Settings --------- +## Settings ### Highlighting -If you have enabled color globally in *zpreztorc*, you may disable it for +If you have enabled color globally in *~/.zpreztorc*, you may disable it for certain commands. -To disable `ls` color, add the following line to *zpreztorc*; when coloring is -disabled, type indicators (\*, /, =>, @, =, |, %) will be appended to entries. +To disable `ls` color, add the following line to *~/.zpreztorc*; when coloring +is disabled, type indicators (`\*`, `/`, `=>`, `@`, `=`, `|`, `%`) will be +appended to entries. ```sh zstyle ':prezto:module:utility:ls' color 'no' ``` -To disable GNU coreutils `ls` to list directories grouped first, add the following line to *zpreztorc*: +To disable GNU coreutils `ls` to list directories grouped first, add the +following line to *~/.zpreztorc*: ```sh zstyle ':prezto:module:utility:ls' dirs-first 'no' ``` -To disable `diff` highlighting, add the following line to *zpreztorc*: +To disable `diff` highlighting, add the following line to *~/.zpreztorc*: ```sh zstyle ':prezto:module:utility:diff' color 'no' ``` -To disable `wdiff` highlighting, add the following line to *zpreztorc*: +To disable `wdiff` highlighting, add the following line to *~/.zpreztorc*: ```sh zstyle ':prezto:module:utility:wdiff' color 'no' ``` -To disable `make` highlighting, add the following line to *zpreztorc*: +To disable `make` highlighting, add the following line to *~/.zpreztorc*: ```sh zstyle ':prezto:module:utility:make' color 'no' ``` -Aliases -------- +## Aliases ### Disabled Spelling Correction - - `ack` - - `cd` - - `cp` - - `ebuild` - - `gcc` - - `gist` - - `grep` - - `heroku` - - `ln` - - `man` - - `mkdir` - - `mv` - - `mysql` - - `rm` +- `ack` +- `cd` +- `cp` +- `ebuild` +- `gcc` +- `gist` +- `grep` +- `heroku` +- `ln` +- `man` +- `mkdir` +- `mv` +- `mysql` +- `rm` -To disable all spelling corrections, add the following line to *zpreztorc*: +To disable all spelling corrections, add the following line to *~/.zpreztorc*: ```sh zstyle ':prezto:module:utility' correct 'no' @@ -70,122 +69,122 @@ zstyle ':prezto:module:utility' correct 'no' ### Disabled File Globbing - - `bower` - - `fc` - - `find` - - `ftp` - - `history` - - `locate` - - `rake` - - `rsync` (selectively enabled for local files) - - `scp` (selectively enabled for local files) - - `sftp` +- `bower` +- `fc` +- `find` +- `ftp` +- `history` +- `locate` +- `rake` +- `rsync` (selectively enabled for local files) +- `scp` (selectively enabled for local files) +- `sftp` ### General - - `_` executes a command as another user (`sudo`). - - `b` opens the default web browser. - - `diffu` shorthand for `diff --unified` - - `e` opens the default editor. - - `mkdir` creates directories, including intermediary directories. - - `p` opens the default pager. - - `po` removes a directory from the stack and changes to it (`popd`). - - `pu` changes the directory and pushes the old directory onto the stack - (`pushd`). - - `sa` search aliases for a word. - - `type` displays all the attribute values of a shell parameter. +- `_` executes a command as another user (`sudo`). +- `b` opens the default web browser. +- `diffu` shorthand for `diff --unified` +- `e` opens the default editor. +- `mkdir` creates directories, including intermediary directories. +- `p` opens the default pager. +- `po` removes a directory from the stack and changes to it (`popd`). +- `pu` changes the directory and pushes the old directory onto the stack + (`pushd`). +- `sa` search aliases for a word. +- `type` displays all the attribute values of a shell parameter. ### Files and Directories - - `ls` lists with directories grouped first (GNU only). - - `l` lists in one column, hidden files. - - `ll` lists human readable sizes. - - `lr` lists human readable sizes, recursively. - - `la` lists human readable sizes, hidden files. - - `lm` lists human readable sizes, hidden files through pager. - - `lx` lists sorted by extension (GNU only). - - `lk` lists sorted by size, largest last. - - `lt` lists sorted by date, most recent last. - - `lc` lists sorted by date, most recent last, shows change time. - - `lu` lists sorted by date, most recent last, shows access time. - - `sl` lists directory contents (`ls`). +- `ls` lists with directories grouped first (GNU only). +- `l` lists in one column, hidden files. +- `ll` lists human readable sizes. +- `lr` lists human readable sizes, recursively. +- `la` lists human readable sizes, hidden files. +- `lm` lists human readable sizes, hidden files through pager. +- `lx` lists sorted by extension (GNU only). +- `lk` lists sorted by size, largest last. +- `lt` lists sorted by date, most recent last. +- `lc` lists sorted by date, most recent last, shows change time. +- `lu` lists sorted by date, most recent last, shows access time. +- `sl` lists directory contents (`ls`). ### macOS Everywhere - - `o` opens files and directories (`open` or `xdg-open`). - - `get` downloads files (`curl` or `wget`). - - `pbcopy` copies to the pasteboard (`pbcopy`, `xclip` or `xsel`). - - `pbpaste` pastes from the pasteboard (`pbcopy`, `xclip` or `xsel`). - - `pbc` copies to the pasteboard (`pbcopy`). - - `pbp` pastes from the pasteboard (`pbpaste`). +- `o` opens files and directories (`open` or `xdg-open`). +- `get` downloads files (`curl` or `wget`). +- `pbcopy` copies to the pasteboard (`pbcopy`, `xclip` or `xsel`). +- `pbpaste` pastes from the pasteboard (`pbcopy`, `xclip` or `xsel`). +- `pbc` copies to the pasteboard (`pbcopy`). +- `pbp` pastes from the pasteboard (`pbpaste`). ### Resource Usage - - `df` displays free disk space using human readable units (aliases to `pydf`, - if installed). - - `du` displays disk usage using human readable units. - - `top` displays information about processes. - - `topc` displays information about processes sorted by CPU usage. - - `topm` displays information about processes sorted by RAM usage. +- `df` displays free disk space using human readable units (aliases to `pydf`, + if installed). +- `du` displays disk usage using human readable units. +- `top` displays information about processes. +- `topc` displays information about processes sorted by CPU usage. +- `topm` displays information about processes sorted by RAM usage. ### Safe ops By default, `cp`,`ln`, `mv` and `rm` are aliased to their interactive variants. If this is not desired, it can be disabled by adding the following line to -*zpreztorc*: +*~/.zpreztorc*: - zstyle ':prezto:module:utility' safe-ops 'no'. +```sh +zstyle ':prezto:module:utility' safe-ops 'no'. +``` In addition, the following aliases have been added: - - `cpi` copies files and directories interactively. - - `lni` links files and directories interactively. - - `mvi` moves files and directories interactively. - - `rmi` removes files and directories interactively. +- `cpi` copies files and directories interactively. +- `lni` links files and directories interactively. +- `mvi` moves files and directories interactively. +- `rmi` removes files and directories interactively. ### Miscellaneous - - `http-serve` serves a directory via HTTP. +- `http-serve` serves a directory via HTTP. -Functions ---------- +## Functions ### General - - `slit` prints columns *1, 2, 3 ... n*. +- `slit` prints columns *1, 2, 3 ... n*. ### Files and Directories - - `cdls` changes to a directory and lists its contents. - - `dut` displays the grand total disk usage using human readable units. - - `find-exec` finds files and executes a command on them. - - `mkdcd` makes a directory and changes to it. - - `popdls` pops an entry off the directory stack and lists its contents. - - `pushdls` pushes an entry onto the directory stack and lists its contents. - - `noremoteglob` enable local path globbing but disable remote path globbing. +- `cdls` changes to a directory and lists its contents. +- `dut` displays the grand total disk usage using human readable units. +- `find-exec` finds files and executes a command on them. +- `mkdcd` makes a directory and changes to it. +- `popdls` pops an entry off the directory stack and lists its contents. +- `pushdls` pushes an entry onto the directory stack and lists its contents. +- `noremoteglob` enable local path globbing but disable remote path globbing. ### Developer - - `diff` highlights diff output (requires `colordiff`). - - `make` highlights make output (requires `colormake`). - - `wdiff` highlights wdiff output (requires `wdiff `or `Git`). +- `diff` highlights diff output (requires `colordiff`). +- `make` highlights make output (requires `colormake`). +- `wdiff` highlights wdiff output (requires `wdiff `or `git`). ### Resource usage - - `psu` displays user owned processes status. +- `psu` displays user owned processes status. ### Search and Replace - - `prep` provides a grep-like pattern search. - - `psub` provides a sed-like pattern substitution. +- `prep` provides a grep-like pattern search. +- `psub` provides a sed-like pattern substitution. -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][1].* - - [Robby Russell](https://github.com/robbyrussell) - - [Suraj N. Kurapati](https://github.com/sunaku) - - [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Robby Russell](https://github.com/robbyrussell) +- [Suraj N. Kurapati](https://github.com/sunaku) +- [Sorin Ionescu](https://github.com/sorin-ionescu) [1]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/wakeonlan/README.md b/modules/wakeonlan/README.md index dacfa52..162b56c 100644 --- a/modules/wakeonlan/README.md +++ b/modules/wakeonlan/README.md @@ -1,18 +1,16 @@ -Wake-on-LAN -=========== +# Wake-on-LAN This module provides a wrapper around the [wakeonlan][1] tool. -Usage ------ +## Usage -To use this wrapper, create the *~/.wakeonlan* directory, and place in it one +To use this wrapper, create the *`~/.wakeonlan`* directory, and place in it one file for each device you would like to be able to wake. Give the file a name that describes the device, such as its hostname. Each file should contain a line with the MAC address of the target device and the network broadcast address. For instance, there might be a file -*~/.wakeonlan/leto* with the following contents: +`*~/.wakeonlan/leto`* with the following contents: ```conf 00:11:22:33:44:55:66 192.168.0.255 @@ -20,21 +18,20 @@ the network broadcast address. For instance, there might be a file To wake that device, use the following command: -```sh -$ wake leto +```console +wake leto ``` For more information on the configuration file format, read the [wakeonlan man page][2]. -Authors -------- +## Authors *The authors of this module should be contacted via [issue tracker][3].* - - [Paul Dann](https://github.com/giddie) - - [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Paul Dann](https://github.com/giddie) +- [Sorin Ionescu](https://github.com/sorin-ionescu) [1]: http://gsd.di.uminho.pt/jpo/software/wakeonlan/ -[2]: http://man.cx/wakeonlan +[2]: https://man.cx/wakeonlan [3]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/yum/README.md b/modules/yum/README.md index fa944da..bd172c6 100644 --- a/modules/yum/README.md +++ b/modules/yum/README.md @@ -1,28 +1,25 @@ -Yum -=== +# Yum -Defines [yum][1] aliases. +Defines [*yum*][1] aliases. -Aliases -------- +## Aliases - - `yumc` removes package(s) and leaves. - - `yumi` installs package(s). - - `yumh` displays history. - - `yuml` lists packages. - - `yumL` lists installed packages. - - `yumq` displays package information. - - `yumr` removes package(s). - - `yums` searches for a package. - - `yumu` updates packages. - - `yumU` upgrades packages. +- `yumc` removes package(s) and leaves. +- `yumi` installs package(s). +- `yumh` displays history. +- `yuml` lists packages. +- `yumL` lists installed packages. +- `yumq` displays package information. +- `yumr` removes package(s). +- `yums` searches for a package. +- `yumu` updates packages. +- `yumU` upgrades packages. -Authors -------- +## Authors *The authors of this module should be contacted via the [issue tracker][2].* - - [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Sorin Ionescu](https://github.com/sorin-ionescu) [1]: http://yum.baseurl.org [2]: https://github.com/sorin-ionescu/prezto/issues diff --git a/runcoms/README.md b/runcoms/README.md index 29d9f8a..ce60d1f 100644 --- a/runcoms/README.md +++ b/runcoms/README.md @@ -1,34 +1,32 @@ -Configuration Files -=================== +# Configuration Files Zsh has several system-wide and user-local configuration files. Prezto has one user-local configuration file. System-wide configuration files are installation-dependent but are installed -in */etc* by default. +in *`/etc`* by default. User-local configuration files have the same name as their global counterparts but are prefixed with a dot (hidden). Zsh looks for these files in the path stored in the `$ZDOTDIR` environment variable. However, if said variable is not defined, Zsh will use the user's home directory. -File Descriptions ------------------ +## File Descriptions The configuration files are read in the following order: - 01. /etc/zshenv - 02. ~/.zshenv - 03. /etc/zprofile - 04. ~/.zprofile - 05. /etc/zshrc - 06. ~/.zshrc - 07. ~/.zpreztorc - 08. /etc/zlogin - 09. ~/.zlogin - 10. ~/.zlogout - 11. /etc/zlogout +01. */etc/zshenv* +02. *~/.zshenv* +03. */etc/zprofile* +04. *~/.zprofile* +05. */etc/zshrc* +06. *~/.zshrc* +07. *~/.zpreztorc* +08. */etc/zlogin* +09. *~/.zlogin* +10. *~/.zlogout* +11. */etc/zlogout* ### zshenv @@ -37,16 +35,16 @@ small as possible and should only define environment variables. ### zprofile -This file is similar to zlogin, but it is sourced before zshrc. It was added -for [KornShell][1] fans. See the description of zlogin below for what it may +This file is similar to *zlogin*, but it is sourced before *zshrc*. It was added +for [KornShell][1] fans. See the description of *zlogin* below for what it may contain. -zprofile and zlogin are not meant to be used concurrently but can be done so. +*zprofile* and *zlogin* are not meant to be used together but can be done so. ### zshrc -This file is sourced by interactive shells. It should define aliases, -functions, shell options, and key bindings. +This file is sourced by interactive shells. It should define aliases, functions, +shell options, and key bindings. ### zpreztorc @@ -54,9 +52,9 @@ This file configures Prezto. ### zlogin -This file is sourced by login shells after zshrc, and thus, it should contain +This file is sourced by login shells after *zshrc*. Thus, it should contain commands that need to execute at login. It is usually used for messages such as -[fortune][2], [msgs][3], or for the creation of files. +[*fortune*][2], [*msgs*][3], or for the creation of files. This is not the file to define aliases, functions, shell options, and key bindings. It should not change the shell environment. @@ -64,16 +62,15 @@ bindings. It should not change the shell environment. ### zlogout This file is sourced by login shells during logout. It should be used for -displaying messages and the deletion of files. +displaying messages and for deletion of files. -Authors -------- +## Authors *The authors of these files should be contacted via the [issue tracker][4].* - - [Sorin Ionescu](https://github.com/sorin-ionescu) +- [Sorin Ionescu](https://github.com/sorin-ionescu) -[1]: http://www.kornshell.com -[2]: http://en.wikipedia.org/wiki/Fortune_(Unix) -[3]: http://www.manpagez.com/man/1/msgs +[1]: https://www.kornshell.com +[2]: https://en.wikipedia.org/wiki/Fortune_(Unix) +[3]: https://www.manpagez.com/man/1/msgs [4]: https://github.com/sorin-ionescu/prezto/issues From 742c1ea26f91ac961ea920113ff79dc31d32635d Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Wed, 5 May 2021 11:44:41 -0500 Subject: [PATCH 35/70] history: use external `mv` command for HISTFILE migration This will make sure the actual external command `mv` is used instead of wrapper function. --- modules/history/init.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/history/init.zsh b/modules/history/init.zsh index 39b08c9..3f815c0 100644 --- a/modules/history/init.zsh +++ b/modules/history/init.zsh @@ -46,7 +46,7 @@ NOTICE: Default path of 'HISTFILE' has changed from '${OLD_HISTFILE/#$HOME/~}' to '${HISTFILE/#$HOME/~}'. Attempting to rename the existing 'HISTFILE' ... EON - mv -v "$OLD_HISTFILE" "$HISTFILE" + command mv -v "$OLD_HISTFILE" "$HISTFILE" # New 'HISTFILE' does exist and is older than legacy one, just warn. elif [[ "$OLD_HISTFILE" -nt "$HISTFILE" ]]; then From 95d223aa8a048d510ddebf5bc5439d10f7069faa Mon Sep 17 00:00:00 2001 From: bXV0ZQ <44335359+bXV0ZQ@users.noreply.github.com> Date: Thu, 23 Apr 2020 16:32:04 +0200 Subject: [PATCH 36/70] prompt: Fix git submodule path for 'pure' with actual path WARNING: This will require synchronizing submodules' remote URL configuration setting to the value specified in `.gitmodules` by doing: `git submodule sync --recursive` in your Prezto location. Signed-off-by: Indrajit Raychaudhuri --- .gitmodules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index b2337ae..301ae41 100644 --- a/.gitmodules +++ b/.gitmodules @@ -16,7 +16,7 @@ [submodule "modules/prompt/external/agnoster"] path = modules/prompt/external/agnoster url = https://github.com/agnoster/agnoster-zsh-theme.git -[submodule "modules/prompt/functions/pure"] +[submodule "modules/prompt/external/pure"] path = modules/prompt/external/pure url = https://github.com/sindresorhus/pure.git [submodule "modules/fasd/external"] From be61026920c9a0db6d775ec97a002984147b954c Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Tue, 4 May 2021 21:18:59 -0500 Subject: [PATCH 37/70] general: Apply submodules' path change in doc and `zprezto-update` We need to accommodate cases where a submodule local path (or remote) URL can change. Accordingly, update instruction and `zprezto-update` function to synchronizes submodules' remote URL configuration setting to the updated value automatically. --- README.md | 1 + init.zsh | 1 + 2 files changed, 2 insertions(+) diff --git a/README.md b/README.md index ecce7dd..b5fde17 100644 --- a/README.md +++ b/README.md @@ -65,6 +65,7 @@ To pull the latest changes and update submodules manually: ```console cd $ZPREZTODIR git pull +git submodule sync --recursive git submodule update --init --recursive ``` diff --git a/init.zsh b/init.zsh index 08bd3ab..5d7996a 100644 --- a/init.zsh +++ b/init.zsh @@ -44,6 +44,7 @@ function zprezto-update { printf "There is an update available. Trying to pull.\n\n" if git pull --ff-only; then printf "Syncing submodules\n" + git submodule sync --recursive git submodule update --init --recursive return $? else From 0628b91028f74c0bf4a4a7da0a187a70b4204fe3 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Thu, 6 May 2021 19:39:30 -0500 Subject: [PATCH 38/70] completion: Update zsh-completions submodule to 0.33.0 --- modules/completion/external | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/completion/external b/modules/completion/external index ed4ff53..11ad0a4 160000 --- a/modules/completion/external +++ b/modules/completion/external @@ -1 +1 @@ -Subproject commit ed4ff5384b03aa775a57d4c9588c88850026b0b3 +Subproject commit 11ad0a45ff1695cac00e86c687cce6fa1fd1cdbd From b14aca307d9f27077ae4d216ed36666953feb1d6 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Wed, 12 May 2021 01:31:43 -0500 Subject: [PATCH 39/70] prompt: Update async helper to 1.8.5 --- modules/prompt/external/async | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/prompt/external/async b/modules/prompt/external/async index 95c2b15..bbbc92b 160000 --- a/modules/prompt/external/async +++ b/modules/prompt/external/async @@ -1 +1 @@ -Subproject commit 95c2b1577f455728ec01cec001a86c216d0af2bd +Subproject commit bbbc92bd01592513a6b7739a45b7911af18acaef From 424d4cb779038687fe88db9064ef6a916f45d619 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Sat, 1 May 2021 01:28:09 -0500 Subject: [PATCH 40/70] utility: Detect GNU 'ls' before applying the relevant tweaks Detect `ls` provided by GNU Core Utilities upfront before applying the relevant settings and aliases. The revised logic takes the following aspects into consideration: - `is-callable 'dircolors'` is not a sufficient test for verifying if the `ls` in scope is _also_ provided by GNU Core Utilities. `ls` can continue to be the one provided by BSD Core Utilities because of its precedence in `$path`. - The `ls` in scope anyway can be either GNU Utils provided or BSD Utils provided depending on either `$path` precedence, soft link (via `ln -s`), or wrapper function (via 'gnu-utility' module). - So instead of '_guessing_' the possible one, just detect if it is from GNU Utils and apply the relevant settings and aliases. - Note that GNU prefixed `ls` (`gls`) is intentionally not honored in this case to avoid possible conflict/shadowing with other `gls` callable (can happen if 'git' module is used, for example). Besides, honoring `gls` would imply we honor other commands (like `mv`, `rm` etc.) to be consistent. We have a module 'gnu-utils' dedicated for that after all. --- modules/utility/README.md | 12 +++++++++--- modules/utility/init.zsh | 36 ++++++++++++++++++------------------ 2 files changed, 27 insertions(+), 21 deletions(-) diff --git a/modules/utility/README.md b/modules/utility/README.md index 73cda46..fccfe68 100644 --- a/modules/utility/README.md +++ b/modules/utility/README.md @@ -2,6 +2,11 @@ Defines general aliases and functions. +**Note:** Some of the utilities configured in this module might be provided via +GNU utilities with incompatible arguments on non-GNU systems. In such cases, +using [*`gnu-utility`*][1] module is recommended and it must be loaded +**before** this module. + ## Settings ### Highlighting @@ -107,7 +112,7 @@ zstyle ':prezto:module:utility' correct 'no' - `lt` lists sorted by date, most recent last. - `lc` lists sorted by date, most recent last, shows change time. - `lu` lists sorted by date, most recent last, shows access time. -- `sl` lists directory contents (`ls`). +- `sl` lists directory contents (correction for `ls`). ### macOS Everywhere @@ -181,10 +186,11 @@ In addition, the following aliases have been added: ## Authors -*The authors of this module should be contacted via the [issue tracker][1].* +*The authors of this module should be contacted via the [issue tracker][2].* - [Robby Russell](https://github.com/robbyrussell) - [Suraj N. Kurapati](https://github.com/sunaku) - [Sorin Ionescu](https://github.com/sorin-ionescu) -[1]: https://github.com/sorin-ionescu/prezto/issues +[1]: ../gnu-utility#readme +[2]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/utility/init.zsh b/modules/utility/init.zsh index 3c2b158..1daf8a5 100644 --- a/modules/utility/init.zsh +++ b/modules/utility/init.zsh @@ -64,19 +64,19 @@ alias sa='alias | grep -i' alias type='type -a' # Safe ops. Ask the user before doing anything destructive. -alias rmi="${aliases[rm]:-rm} -i" -alias mvi="${aliases[mv]:-mv} -i" alias cpi="${aliases[cp]:-cp} -i" alias lni="${aliases[ln]:-ln} -i" +alias mvi="${aliases[mv]:-mv} -i" +alias rmi="${aliases[rm]:-rm} -i" if zstyle -T ':prezto:module:utility' safe-ops; then - alias rm="${aliases[rm]:-rm} -i" - alias mv="${aliases[mv]:-mv} -i" alias cp="${aliases[cp]:-cp} -i" alias ln="${aliases[ln]:-ln} -i" + alias mv="${aliases[mv]:-mv} -i" + alias rm="${aliases[rm]:-rm} -i" fi # ls -if is-callable 'dircolors'; then +if [[ ${(@M)${(f)"$(ls --version 2>&1)"}:#*GNU *} ]]; then # GNU Core Utilities if zstyle -T ':prezto:module:utility:ls' dirs-first; then @@ -84,12 +84,13 @@ if is-callable 'dircolors'; then fi if zstyle -t ':prezto:module:utility:ls' color; then - # Call dircolors to define colors if they're missing - if [[ -z "$LS_COLORS" ]]; then - if [[ -s "$HOME/.dir_colors" ]]; then - eval "$(dircolors --sh "$HOME/.dir_colors")" + # Define colors for GNU ls if they're not already defined + if (( ! $+LS_COLORS )); then + # Try dircolors when available + if is-callable 'dircolors'; then + eval "$(dircolors --sh $HOME/.dir_colors(.N))" else - eval "$(dircolors --sh)" + export LS_COLORS='di=34:ln=35:so=32:pi=33:ex=31:bd=36;01:cd=33;01:su=31;40;07:sg=36;40;07:tw=32;40;07:ow=33;40;07:' fi fi @@ -99,17 +100,13 @@ if is-callable 'dircolors'; then fi else # BSD Core Utilities + if zstyle -t ':prezto:module:utility:ls' color; then # Define colors for BSD ls if they're not already defined - if [[ -z "$LSCOLORS" ]]; then + if (( ! $+LSCOLORS )); then export LSCOLORS='exfxcxdxbxGxDxabagacad' fi - # Define colors for the completion system if they're not already defined - if [[ -z "$LS_COLORS" ]]; then - export LS_COLORS='di=34:ln=35:so=32:pi=33:ex=31:bd=36;01:cd=33;01:su=31;40;07:sg=36;40;07:tw=32;40;07:ow=33;40;07:' - fi - alias ls="${aliases[ls]:-ls} -G" else alias ls="${aliases[ls]:-ls} -F" @@ -121,12 +118,15 @@ alias ll='ls -lh' # Lists human readable sizes. alias lr='ll -R' # Lists human readable sizes, recursively. alias la='ll -A' # Lists human readable sizes, hidden files. alias lm='la | "$PAGER"' # Lists human readable sizes, hidden files through pager. -alias lx='ll -XB' # Lists sorted by extension (GNU only). alias lk='ll -Sr' # Lists sorted by size, largest last. alias lt='ll -tr' # Lists sorted by date, most recent last. alias lc='lt -c' # Lists sorted by date, most recent last, shows change time. alias lu='lt -u' # Lists sorted by date, most recent last, shows access time. -alias sl='ls' # I often screw this up. +alias sl='ls' # Correction for common spelling error. + +if [[ ${(@M)${(f)"$(ls --version 2>&1)"}:#*GNU *} ]]; then + alias lx='ll -XB' # Lists sorted by extension (GNU only). +fi # Grep if zstyle -t ':prezto:module:utility:grep' color; then From 1ff9421f7be746dd18304d264db0adff3136a9e8 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Wed, 5 May 2021 12:59:01 -0500 Subject: [PATCH 41/70] general: Update documentation better qualifying runcom paths Zsh and Prezto files don't always reside in `~/`. Instead, they have a more spec compliant location (`${ZDOTDIR:-$HOME}/`). Make them unambiguous in the documentation. Likewise, for `$GNUPGHOME`. Further, add instruction for optionally setting up Prezto in `$XDG_CONFIG_HOME`. While at this, also add clarification on relative ordering of some of the modules, apply more formatting tweaks and doc improvements. --- README.md | 63 +++++++--- modules/README.md | 6 +- modules/archive/README.md | 40 +++--- modules/autosuggestions/README.md | 24 ++-- modules/command-not-found/README.md | 2 +- modules/completion/README.md | 23 ++-- modules/directory/README.md | 2 +- modules/dnf/README.md | 2 +- modules/docker/README.md | 10 +- modules/dpkg/README.md | 4 +- modules/editor/README.md | 28 ++--- modules/emacs/README.md | 2 +- modules/environment/README.md | 9 +- modules/fasd/README.md | 13 +- modules/git/README.md | 132 +++++++++++--------- modules/gnu-utility/README.md | 13 +- modules/gpg/README.md | 4 +- modules/haskell/README.md | 2 +- modules/helper/README.md | 2 +- modules/history-substring-search/README.md | 28 +++-- modules/history/README.md | 20 +-- modules/homebrew/README.md | 2 +- modules/macports/README.md | 2 +- modules/node/README.md | 14 +-- modules/ocaml/README.md | 2 +- modules/osx/README.md | 36 +++--- modules/pacman/README.md | 9 +- modules/perl/README.md | 12 +- modules/prompt/README.md | 18 +-- modules/prompt/functions/prompt_cloud_setup | 6 +- modules/prompt/init.zsh | 2 +- modules/python/README.md | 31 ++--- modules/rails/README.md | 2 +- modules/rsync/README.md | 14 +-- modules/ruby/README.md | 20 +-- modules/screen/README.md | 6 +- modules/spectrum/README.md | 2 +- modules/ssh/README.md | 7 +- modules/syntax-highlighting/README.md | 28 +++-- modules/terminal/README.md | 7 +- modules/tmux/README.md | 14 +-- modules/utility/README.md | 57 ++++++--- modules/wakeonlan/README.md | 6 +- modules/yum/README.md | 4 +- runcoms/README.md | 39 +++--- runcoms/zpreztorc | 2 +- 46 files changed, 434 insertions(+), 337 deletions(-) diff --git a/README.md b/README.md index b5fde17..f46e378 100644 --- a/README.md +++ b/README.md @@ -21,8 +21,32 @@ version is **4.3.11**. git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto" ``` -03. Create a new Zsh configuration by copying the Zsh configuration files - provided: +
+ Optional: Installing in $XDG_CONFIG_HOME + + Optionally, if you already have `$XDG_CONFIG_HOME` configured (usually as + _`$HOME/.config`_ by default) and intend to install Prezto under + _`$XDG_CONFIG_HOME/zsh`_ instead, you can clone the repository there and + configure `$ZDOTDIR` separately if not already configured. + + - Clone the repository: + + ```console + git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-${XDG_CONFIG_HOME:-$HOME/.config}/zsh}/.zprezto" + ``` + + - Configure `$XDG_CONFIG_HOME` and `$ZDOTDIR` in _`${$HOME}/.zshenv`_: + + ```sh + export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:=$HOME/.config}" + export ZDOTDIR="${ZDOTDIR:=$XDG_CONFIG_HOME/zsh}" + source "$ZDOTDIR/.zshenv" + ``` + +
+ +03. Create a new Zsh configuration by copying/linking the Zsh configuration + files provided: ```console setopt EXTENDED_GLOB @@ -34,10 +58,10 @@ version is **4.3.11**. **Note:** If you already have any of the given configuration files, `ln` in the above operation will cause an error. In simple cases, you can load Prezto by adding the line `source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"` to - the bottom of your *${ZDOTDIR:-$HOME}/.zshrc* and keep the rest of your Zsh - configuration intact. For more complicated setups, we recommend that you + the bottom of your _`${ZDOTDIR:-$HOME}/.zshrc`_ and keep the rest of your + Zsh configuration intact. For more complicated setups, we recommend that you back up your original configs and replace them with the provided Prezto - *runcoms*. + [_`runcoms`_][10]. 04. Set Zsh as your default shell: @@ -50,7 +74,7 @@ version is **4.3.11**. ### Troubleshooting If you are not able to find certain commands after switching to Prezto, modify -the `PATH` variable in *${ZDOTDIR:-$HOME}/.zprofile* then open a new Zsh +the `PATH` variable in _`${ZDOTDIR:-$HOME}/.zprofile`_ then open a new Zsh terminal window or tab. ## Updating @@ -76,33 +100,33 @@ accompanying README files to learn about what is available. ### Modules -01. Browse */modules* to see what is available. -02. Load the modules you need in *${ZDOTDIR:-$HOME}/.zpreztorc* then open a new - Zsh terminal window or tab. +01. Browse [_`modules`_][9] to see what is available. +02. Load the modules you need in _`${ZDOTDIR:-$HOME}/.zpreztorc`_ and then open + a new Zsh terminal window or tab. ### Themes 01. For a list of themes, type `prompt -l`. 02. To preview a theme, type `prompt -p name`. -03. Load the theme you like in *${ZDOTDIR:-$HOME}/.zpreztorc* then open a new - Zsh terminal window or tab. +03. Load the theme you like in _`${ZDOTDIR:-$HOME}/.zpreztorc`_ and then + open a new Zsh terminal window or tab. ![sorin theme][2] - Note that the *git* module may be required for special symbols to appear, - such as those on the right of the above image. Add `'git'` to the `pmodule` - list (under `zstyle ':prezto:load' pmodule \` in your - *${ZDOTDIR:-$HOME}/.zpreztorc*) to enable this module. + Note that the [_`git`_][11] module may be required for special symbols to + appear, such as those on the right of the above image. Add `'git'` to the + `pmodule` list (under `zstyle ':prezto:load' pmodule \` in your + _`${ZDOTDIR:-$HOME}/.zpreztorc`_) to enable this module. ### External Modules -01. By default modules will be loaded from */modules* and */contrib*. +01. By default modules will be loaded from [_`/modules`_][9] and _`/contrib`_. 02. Additional module directories can be added to the - `:prezto:load:pmodule-dirs` setting in *${ZDOTDIR:-$HOME}/.zpreztorc*. + `:prezto:load:pmodule-dirs` setting in _`${ZDOTDIR:-$HOME}/.zpreztorc`_. Note that module names need to be unique or they will cause an error when loading. - ```console + ```sh zstyle ':prezto:load' pmodule-dirs $HOME/.zprezto-contrib ``` @@ -129,3 +153,6 @@ This project is licensed under the MIT License. [6]: https://git.github.io/git-reference/ [7]: http://www.bash2zsh.com/zsh_refcard/refcard.pdf [8]: https://grml.org/zsh/zsh-lovers.html +[9]: modules#readme +[10]: runcoms#readme +[11]: modules/git#readme diff --git a/modules/README.md b/modules/README.md index 974b33b..cc9dfb1 100644 --- a/modules/README.md +++ b/modules/README.md @@ -1,6 +1,6 @@ # Modules -Load modules in *~/.zpreztorc*. The order matters. +Load modules in _`${ZDOTDIR:-$HOME}/.zpreztorc`_. The order matters. ```sh zstyle ':prezto:load' pmodule 'environment' 'terminal' @@ -29,11 +29,11 @@ Sets directory options and defines directory aliases. ## DNF -Defines *dnf* aliases. +Defines _dnf_ aliases. ## Dpkg -Defines *dpkg* aliases and functions. +Defines _dpkg_ aliases and functions. ## Editor diff --git a/modules/archive/README.md b/modules/archive/README.md index 447d583..be63788 100644 --- a/modules/archive/README.md +++ b/modules/archive/README.md @@ -2,6 +2,10 @@ Provides functions to create, list, and extract archives. +This module must be loaded _before_ the [_`completion`_][1] module so that the +provided completion definitions are loaded automatically by _`completion`_ +module. + ## Functions - `archive` creates an archive based on the provided archive name. @@ -13,20 +17,20 @@ Provides functions to create, list, and extract archives. The following archive formats are supported when the required utilities are installed: -- *.tar.gz*, *.tgz* require `tar` (optionally `pigz`). -- *.tar.bz2*, *.tbz* require `tar` (optionally `pbzip2`). -- *.tar.xz*, *.txz* require `tar` with *xz* support. -- *.tar.zma*, *.tlz* require `tar` with *lzma* support. -- *.tar* requires `tar`. -- *.gz* requires `gunzip`. -- *.bz2* requires `bunzip2`. -- *.xz* requires `unxz`. -- *.lzma* requires `unlzma`. -- *.Z* requires `uncompress`. -- *.zip*, *.jar* requires `unzip`. -- *.rar* requires `rar` (needed for `archive` support), `unrar` or `lsar` and `unar`. -- *.7z* requires `7za`. -- *.deb* requires `ar`, `tar`. +- _.tar.gz_, _.tgz_ require `tar` (optionally `pigz`). +- _.tar.bz2_, _.tbz_ require `tar` (optionally `pbzip2`). +- _.tar.xz_, _.txz_ require `tar` with _xz_ support. +- _.tar.zma_, _.tlz_ require `tar` with _lzma_ support. +- _.tar_ requires `tar`. +- _.gz_ requires `gunzip`. +- _.bz2_ requires `bunzip2`. +- _.xz_ requires `unxz`. +- _.lzma_ requires `unlzma`. +- _.Z_ requires `uncompress`. +- _.zip_, _.jar_ requires `unzip`. +- _.rar_ requires `rar` (needed for `archive` support), `unrar` or `lsar` and `unar`. +- _.7z_ requires `7za`. +- _.deb_ requires `ar`, `tar`. Additionally, if `pigz` and/or `pbzip2` are installed, `archive` will use them over their traditional counterparts, `gzip` and `bzip2` respectively, to take @@ -34,14 +38,16 @@ full advantage of all available CPU cores for compression. ## Alternatives -Specifically on macOS, [The Unarchiver][1] provides a similar command line tool +Specifically on macOS, [The Unarchiver][2] provides a similar command line tool which doesn't depend on a number of other programs being installed. ## Authors -*The authors of this module should be contacted via the [issue tracker][1].* +_The authors of this module should be contacted via the [issue tracker][3]._ - [Sorin Ionescu](https://github.com/sorin-ionescu) - [Matt Hamilton](https://github.com/Eriner) -[1]: https://theunarchiver.com/command-line +[1]: ../completion#readme +[2]: https://theunarchiver.com/command-line +[3]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/autosuggestions/README.md b/modules/autosuggestions/README.md index 0b15393..a3e86c2 100644 --- a/modules/autosuggestions/README.md +++ b/modules/autosuggestions/README.md @@ -5,13 +5,16 @@ Integrates [zsh-autosuggestions][1] into Prezto, which implements the of a previously entered command and Zsh suggests commands as you type based on history and completions. -If this module is used in conjunction with the *syntax-highlighting* module, -this module must be loaded **after** the *syntax-highlighting* module. +If this module is used in conjunction with the [_`syntax-highlighting`_][3] +module, this module must be loaded _after_ the _`syntax-highlighting`_ module. -If this module is used in conjunction with the *history-substring-search* -module, this module must be loaded **after** the *history-substring-search* +If this module is used in conjunction with the [_`history-substring-search`_][4] +module, this module must be loaded _after_ the _`history-substring-search`_ module. +To elaborate, the relative order of loading the modules would be +_`autosuggestions`_, _`syntax-highlighting`_ and _`history-substring-search`_. + ## Contributors New features and bug fixes should be submitted to the [zsh-autosuggestions][1] @@ -22,17 +25,18 @@ against it. ### Highlighting -If colors are enabled, *autosuggestions* will automatically highlight +If colors are enabled, _autosuggestions_ will automatically highlight positive results. To enable highlighting for this module only, add the following line to -*~/.zpreztorc*: +_`${ZDOTDIR:-$HOME}/.zpreztorc`_: ```sh zstyle ':prezto:module:autosuggestions' color 'yes' ``` -To set the query found color, add the following line to *~/.zpreztorc*: +To set the query found color, add the following line to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_: ```sh zstyle ':prezto:module:autosuggestions:color' found '' @@ -47,10 +51,12 @@ also have the `history` module enabled. ## Authors -*The authors of this module should be contacted via the [issue tracker][3].* +_The authors of this module should be contacted via the [issue tracker][5]._ - [Sorin Ionescu](https://github.com/sorin-ionescu) [1]: https://github.com/tarruda/zsh-autosuggestions [2]: https://fishshell.com -[3]: https://github.com/sorin-ionescu/prezto/issues +[3]: ../syntax-highlighting#readme +[4]: ../history-substring-search#readme +[5]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/command-not-found/README.md b/modules/command-not-found/README.md index 5dfac7d..c433380 100644 --- a/modules/command-not-found/README.md +++ b/modules/command-not-found/README.md @@ -12,7 +12,7 @@ a recent version of Homebrew installed, you might also need to tap the ## Authors -*The authors of this module should be contacted via the [issue tracker][4].* +_The authors of this module should be contacted via the [issue tracker][4]._ - [Joseph Booker](https://github.com/sargas) - [Indrajit Raychaudhuri](https://github.com/indrajitr) diff --git a/modules/completion/README.md b/modules/completion/README.md index 377cc46..5563c85 100644 --- a/modules/completion/README.md +++ b/modules/completion/README.md @@ -3,7 +3,8 @@ Loads and configures TAB completion and provides additional completions from the [zsh-completions][1] project. -This module must be loaded **after** the *utility* module. +This module must be loaded late _after_ the _`utility`_ module and all other +modules that provide completion definitions. ## Options @@ -14,24 +15,24 @@ This module must be loaded **after** the *utility* module. - `AUTO_LIST` automatically list choices on ambiguous completion. - `AUTO_PARAM_SLASH` if completed parameter is a directory, add a trailing slash (`/`). -- `EXTENDED_GLOB` needed for file modification glob modifiers with *compinit*. +- `EXTENDED_GLOB` needed for file modification glob modifiers with _compinit_. - `MENU_COMPLETE` do not autoselect the first completion entry. - `FLOW_CONTROL` disable start/stop characters in shell editor. ## Settings -### Ignore */etc/hosts* Entries +### Ignore _`/etc/hosts`_ Entries -To ignore certain entries from static */etc/hosts* for host completion, add the -following lines in *~/.zpreztorc* with the IP addresses of the hosts as they -appear in */etc/hosts*. Both IP address and the corresponding hostname will be -ignored during host completion. However, some of the entries ignored from -*/etc/hosts* still might appear during completion because of their presence in -*ssh* configuration or history). +To ignore certain entries from static _`/etc/hosts`_ for host completion, add +the following lines in _`${ZDOTDIR:-$HOME}/.zpreztorc`_ with the IP addresses of +the hosts as they appear in _`/etc/hosts`_. Both IP address and the associated +hostname(s) will be ignored during host completion. However, some of the entries +ignored from _`/etc/hosts`_ still might appear during completion because of +their presence in _ssh_ configuration or history). ```sh zstyle ':prezto:module:completion:*:hosts' etc-host-ignores \ - '0.0.0.0' '127.0.0.1' + '0.0.0.0' '127.0.0.1' ``` ## Contributors @@ -41,7 +42,7 @@ its rules and regulations. This module will be synchronized against it. ## Authors -*The authors of this module should be contacted via the [issue tracker][2].* +_The authors of this module should be contacted via the [issue tracker][2]._ - [Sorin Ionescu](https://github.com/sorin-ionescu) diff --git a/modules/directory/README.md b/modules/directory/README.md index a9b9063..86953a4 100644 --- a/modules/directory/README.md +++ b/modules/directory/README.md @@ -22,7 +22,7 @@ Sets directory options and defines directory aliases. ## Authors -*The authors of this module should be contacted via the [issue tracker][1].* +_The authors of this module should be contacted via the [issue tracker][1]._ - [James Cox](https://github.com/imajes) - [Sorin Ionescu](https://github.com/sorin-ionescu) diff --git a/modules/dnf/README.md b/modules/dnf/README.md index dea73bc..91a35e8 100644 --- a/modules/dnf/README.md +++ b/modules/dnf/README.md @@ -17,7 +17,7 @@ Defines [dnf][1] aliases. ## Authors -*The authors of this module should be contacted via the [issue tracker][2].* +_The authors of this module should be contacted via the [issue tracker][2]._ - [Sorin Ionescu](https://github.com/sorin-ionescu) diff --git a/modules/docker/README.md b/modules/docker/README.md index c029cfa..f193dc6 100644 --- a/modules/docker/README.md +++ b/modules/docker/README.md @@ -134,8 +134,10 @@ Defines [Docker][1] aliases and functions. - `dkm` is short for `docker-machine` - `dkma` Get or set the active machine - `dkmcp` Copy files between machines -- `dkmd` Set up the default machine ; alowing you to use `dkme` without arguments -- `dkme` Set up the environment for the Docker client (eg: `dkme staging` to toggle to staging) +- `dkmd` Set up the default machine ; alowing you to use `dkme` without + arguments +- `dkme` Set up the environment for the Docker client (eg: `dkme staging` to + toggle to staging) - `dkmin` Inspect information about a machine - `dkmip` Get the IP address of a machine - `dkmk` Kill a machine @@ -175,8 +177,8 @@ Defines [Docker][1] aliases and functions. - `dkcsc` Set number of containers for a service - `dkcS` Restart services - `dkcu` Create and start containers -- `dkcU` Create and start containers in detached mode: - Run containers in the background, print new container names +- `dkcU` Create and start containers in detached mode: Run containers in the + background, print new container names - `dkcV` Show the Docker-Compose version information - `dkcx` Stop services diff --git a/modules/dpkg/README.md b/modules/dpkg/README.md index 739a6c9..4df9230 100644 --- a/modules/dpkg/README.md +++ b/modules/dpkg/README.md @@ -1,6 +1,6 @@ # Dpkg -Defines [*dpkg*][1] aliases and functions. +Defines [_dpkg_][1] aliases and functions. ## Aliases @@ -27,7 +27,7 @@ Defines [*dpkg*][1] aliases and functions. ## Authors -*The authors of this module should be contacted via the [issue tracker][2].* +_The authors of this module should be contacted via the [issue tracker][2]._ - [Daniel Bolton](https://github.com/dbb) - [Benjamin Boudreau](https://github.com/dreur) diff --git a/modules/editor/README.md b/modules/editor/README.md index 84c86c1..9aef6ef 100644 --- a/modules/editor/README.md +++ b/modules/editor/README.md @@ -14,17 +14,17 @@ Sets editor specific key bindings options and variables. ### Key bindings -To enable key bindings, add the following to *~/.zpreztorc*, and replace -'bindings' with 'emacs' or 'vi'. +To enable key bindings, add the following to _`${ZDOTDIR:-$HOME}/.zpreztorc`_, +and replace `''` with `'emacs'` or `'vi'`. ```sh -zstyle ':prezto:module:editor' key-bindings 'bindings' +zstyle ':prezto:module:editor' key-bindings '' ``` ### Dot Expansion To enable the auto conversion of .... to ../.., add the following to -*~/.zpreztorc*. +_`${ZDOTDIR:-$HOME}/.zpreztorc`_. ```sh zstyle ':prezto:module:editor' dot-expansion 'yes' @@ -32,8 +32,8 @@ zstyle ':prezto:module:editor' dot-expansion 'yes' ### PS Context -To enable the prompt context to be set, add the following to your -*~/.zpreztorc*. +To enable the prompt context to be set, add the following to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_. ```sh zstyle ':prezto:module:editor' ps-context 'yes' @@ -76,26 +76,26 @@ To indicate when the editor is completing, add the following to your zstyle ':prezto:module:editor:info:completing' format '...' ``` -Then add `$editor_info[context]`, where context is *keymap*, *insert*, or -*overwrite*, to `$PROMPT` or `$RPROMPT`. +Then add `$editor_info[context]`, where context is _keymap_, _insert_, or +_overwrite_, to `$PROMPT` or `$RPROMPT`. ## Convenience Functions ### bindkey-all -Provides a function `bindkey-all` which can be useful for checking how all of the -keys are bound. Normal `bindkey` command will only list the keys bound for one -keymap, which is not as useful if you want to grep through the output. The -keymap's names go to stderr so when you grep through bindkey-all's output you +Provides a function `bindkey-all` which can be useful for checking how all of +the keys are bound. Normal `bindkey` command will only list the keys bound for +one keymap, which is not as useful if you want to grep through the output. The +keymap's names go to stderr so when you grep through `bindkey-all`'s output you will still see the headings and can tell which keymap each binding goes to. It will also pass through arguments so you can use bindkey-all to set bindings -for all keymaps at once. If provided arguments it will *not* print out the +for all keymaps at once. If provided arguments it will _not_ print out the names of each of the keymaps, and just run the command for each keymap. ## Authors -*The authors of this module should be contacted via the [issue tracker][1].* +_The authors of this module should be contacted via the [issue tracker][1]._ - [Sorin Ionescu](https://github.com/sorin-ionescu) diff --git a/modules/emacs/README.md b/modules/emacs/README.md index c07ac86..f93304a 100644 --- a/modules/emacs/README.md +++ b/modules/emacs/README.md @@ -21,7 +21,7 @@ execution of `carton`. ## Authors -*The authors of this module should be contacted via the [issue tracker][2].* +_The authors of this module should be contacted via the [issue tracker][2]._ - [Sebastian Wiesner](https://github.com/lunaryorn) diff --git a/modules/environment/README.md b/modules/environment/README.md index 71f18a6..5243f26 100644 --- a/modules/environment/README.md +++ b/modules/environment/README.md @@ -6,9 +6,10 @@ This module must be loaded first. ## Contributors -This module **MUST NOT** rely on any command not built in Zsh. +This module **MUST NOT** rely on any command that is not built in Zsh. -Non-interactive environment variables should be defined in [`zshenv`][1]. +Non-interactive environment variables should be defined in +[_`${ZDOTDIR:-$HOME}/.zshenv`_][1]. ## Options @@ -43,9 +44,9 @@ Non-interactive environment variables should be defined in [`zshenv`][1]. ## Authors -*The authors of this module should be contacted via the [issue tracker][2].* +_The authors of this module should be contacted via the [issue tracker][2]._ - [Sorin Ionescu](https://github.com/sorin-ionescu) -[1]: https://github.com/sorin-ionescu/prezto/blob/master/runcoms/zshenv +[1]: ../../runcoms#zshenv [2]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/fasd/README.md b/modules/fasd/README.md index 4d2c904..1958a73 100644 --- a/modules/fasd/README.md +++ b/modules/fasd/README.md @@ -2,11 +2,11 @@ [Fasd][1] is a command-line productivity booster, inspired by tools like [autojump][2], [z][3] and [v][4], it offers quick access to files and -directories by keeping track of files and directories that were previously +directories by keeping track of files and directories that were previously accessed. -For completion to work, this module must be loaded **after** the *completion* -module. +For shell completion to work, this module must be loaded _after_ the +[_`completion`_][5] module. The Prezto Fasd configuration differs from the default. The default aliases have been disabled. @@ -23,12 +23,12 @@ instead of the bundled version. ## Completion -Type `,`, `f,`, `d,` in front of a comma-separated query or type `,,`, `,,f`, +Type `,`, `f,`, `d,` in front of a comma-separated query or type `,,`, `,,f`, `,,d` at the end of a comma-separated query then hit TAB. ## Authors -*The authors of this module should be contacted via the [issue tracker][5].* +_The authors of this module should be contacted via the [issue tracker][6]._ - [Wei Dai](https://github.com/clvv) - [Sorin Ionescu](https://github.com/sorin-ionescu) @@ -37,4 +37,5 @@ Type `,`, `f,`, `d,` in front of a comma-separated query or type `,,`, `,,f`, [2]: https://github.com/joelthelion/autojump [3]: https://github.com/rupa/z [4]: https://github.com/rupa/v -[5]: https://github.com/sorin-ionescu/prezto/issues +[5]: ../completion#readme +[6]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/git/README.md b/modules/git/README.md index caac66a..a97cbc0 100644 --- a/modules/git/README.md +++ b/modules/git/README.md @@ -3,34 +3,42 @@ Enhances the [Git][1] distributed version control system by providing aliases, functions and by exposing repository status information to prompts. -Git **1.7.2** is the [minimum required version][7]. +This module must be loaded _before_ the [_`completion`_][13] module so that the +provided completion definitions are loaded automatically by _`completion`_ +module. + +**Note:** Git **1.7.2** is the [minimum required version][7]. ## Settings ### Log -The format of the [git-log][8] output is configurable via the following style, -where context is *brief*, *oneline*, and *medium*, which will be passed to the -`--pretty=format:` switch. +To configure the format of the [git-log][8] output, add the following to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_, and replace `''` with `'brief'`, +`'oneline'`, and `'medium'`. This will be passed to the `--pretty=format:` +switch. ```sh -zstyle ':prezto:module:git:log:context' format '' +zstyle ':prezto:module:git:log:context' format '' ``` ### Status -Retrieving the status of a repository with submodules can take a long time. -Submodules may be ignored when they are *dirty*, *untracked*, *all*, or *none*. +Retrieving the status of a repository with [git-submodule][9] can take a long +time. To configure the submodules to ignore, add the following to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_, and replace `''` with `'dirty'`, +`'untracked'`, `'all'`, or `'none'`. ```sh -zstyle ':prezto:module:git:status:ignore' submodules 'all' +zstyle ':prezto:module:git:status:ignore' submodules '' ``` This setting affects all aliases and functions that call `git-status`. ## Aliases -Aliases are enabled by default. You can disable them with: +Aliases are enabled by default. To disable them, add the following to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_. ```sh zstyle ':prezto:module:git:alias' skip 'yes' @@ -68,15 +76,15 @@ zstyle ':prezto:module:git:alias' skip 'yes' - `gco` checks out a branch or paths to work tree. - `gcO` checks out hunks from the index or the tree interactively. - `gcf` amends the tip of the current branch using the same log message as - *HEAD*. + _HEAD_. - `gcSf` amends the tip of the current branch using the same log message as - *HEAD*. (Signed) + _HEAD_. (Signed) - `gcF` amends the tip of the current branch. - `gcSF` amends the tip of the current branch. (Signed) - `gcp` applies changes introduced by existing commits. - `gcP` applies changes introduced by existing commits without committing. - `gcr` reverts existing commits by reverting patches and recording new commits. -- `gcR` removes the *HEAD* commit. +- `gcR` removes the _HEAD_ commit. - `gcs` displays various types of objects. - `gcsS` displays commits with GPG signature. - `gcl` lists lost commits. @@ -239,13 +247,13 @@ zstyle ':prezto:module:git:alias' skip 'yes' - `gpa` updates remote branches along with associated objects. - `gpA` updates remote branches and tags along with associated objects. - `gpt` updates remote tags along with associated objects. -- `gpc` updates remote refs along with associated objects and adds *origin* as +- `gpc` updates remote refs along with associated objects and adds _origin_ as an upstream reference for the current branch. - `gpp` pulls and pushes from origin to origin. ### Rebase (r) -- `gr` forward-ports local commits to the updated upstream head. +- `gr` forward-ports local commits to the updated upstream _HEAD_. - `gra` aborts the rebase. - `grc` continues the rebase after merge conflicts are resolved. - `gri` makes a list of commits to be rebased and opens the editor. @@ -288,7 +296,7 @@ zstyle ':prezto:module:git:alias' skip 'yes' - `gSl` lists the commits of all submodules. - `gSm` moves a submodule. - `gSs` synchronizes submodules' remote URL to the value specified in - *.gitmodules*. + _.gitmodules_. - `gSu` fetches and merges the latest changes for all submodule. - `gSx` removes a submodule. @@ -318,7 +326,7 @@ zstyle ':prezto:module:git:alias' skip 'yes' The following aliases may shadow system commands: -- `gb` shadows the [GB][9]. +- `gb` shadows the [GB][10]. - `gm` shadows the [GraphicsMagick image processor][11]. - `gpt` shadows the [GUID partition table maintenance utility][4]. - `gs` shadows the [Ghostscript interpreter and previewer][5]. @@ -335,7 +343,7 @@ You can temporarily bypass an alias by prefixing it with a backward slash: - `git-commit-lost` lists lost commits. - `git-dir` displays the path to the Git directory. - `git-hub-browse` opens the [GitHub][3] repository in the default browser. -- `git-hub-shorten-url` shortens [GitHub URLs][10]. +- `git-hub-shorten-url` shortens [GitHub URLs][12]. - `git-info` exposes repository information via the `$git_info` associative array. - `git-root` displays the path to the working tree root. @@ -357,26 +365,26 @@ zstyle ':prezto:module:git:info:context:subcontext' format 'string' ### Main Contexts -| Name | Format Code | Description -| --------- | :---------: | ---------------------------------------------------- -| action | %s | Special action name -| ahead | %A | Commits ahead of remote count -| behind | %B | Commits behind of remote count -| branch | %b | Branch name -| commit | %c | Commit hash -| position | %p | Commits from the nearest tag count -| remote | %R | Remote name -| stashed | %S | Stashed states count +| Name | Format Code | Description | +| -------- | :---------: | ---------------------------------- | +| action | %s | Special action name | +| ahead | %A | Commits ahead of remote count | +| behind | %B | Commits behind of remote count | +| branch | %b | Branch name | +| commit | %c | Commit hash | +| position | %p | Commits from the nearest tag count | +| remote | %R | Remote name | +| stashed | %S | Stashed states count | ### Concise Contexts -| Name | Format Code | Description -| --------- | :---------: | ---------------------------------------------------- -| clean | %C | Clean state -| dirty | %D | Dirty files count -| indexed | %i | Indexed files count -| unindexed | %I | Unindexed files count -| untracked | %u | Untracked files count +| Name | Format Code | Description | +| --------- | :---------: | --------------------- | +| clean | %C | Clean state | +| dirty | %D | Dirty files count | +| indexed | %i | Indexed files count | +| unindexed | %I | Unindexed files count | +| untracked | %u | Untracked files count | The following contexts must be enabled with the following zstyle: @@ -386,31 +394,31 @@ zstyle ':prezto:module:git:info' verbose 'yes' ### Verbose Contexts -| Name | Format Code | Description -| --------- | :---------: | ---------------------------------------------------- -| added | %a | Added files count -| clean | %C | Clean state -| deleted | %d | Deleted files count -| dirty | %D | Dirty files count -| modified | %m | Modified files count -| renamed | %r | Renamed files count -| unmerged | %U | Unmerged files count -| untracked | %u | Untracked files count +| Name | Format Code | Description | +| --------- | :---------: | --------------------- | +| added | %a | Added files count | +| clean | %C | Clean state | +| deleted | %d | Deleted files count | +| dirty | %D | Dirty files count | +| modified | %m | Modified files count | +| renamed | %r | Renamed files count | +| unmerged | %U | Unmerged files count | +| untracked | %u | Untracked files count | ### Special Action Contexts -| Name | Format | Description -| -------------------- | :---------: | ----------------------------------------- -| apply | value | Applying patches -| bisect | value | Binary searching for changes -| cherry-pick | value | Cherry picking -| cherry-pick-sequence | value | Cherry picking sequence -| merge | value | Merging -| rebase | value | Rebasing -| rebase-interactive | value | Rebasing interactively -| rebase-merge | value | Rebasing merge -| revert | value | Reverting -| revert-sequence | value | Reverting sequence +| Name | Format | Description | +| -------------------- | :----: | ---------------------------- | +| apply | value | Applying patches | +| bisect | value | Binary searching for changes | +| cherry-pick | value | Cherry picking | +| cherry-pick-sequence | value | Cherry picking sequence | +| merge | value | Merging | +| rebase | value | Rebasing | +| rebase-interactive | value | Rebasing interactively | +| rebase-merge | value | Rebasing merge | +| revert | value | Reverting | +| revert-sequence | value | Reverting sequence | First, format the repository state attributes. For example, to format the branch and remote names, define the following styles. @@ -434,19 +442,21 @@ function. ## Authors -*The authors of this module should be contacted via the [issue tracker][6].* +_The authors of this module should be contacted via the [issue tracker][6]._ - [Sorin Ionescu](https://github.com/sorin-ionescu) - [Colin Hebert](https://github.com/ColinHebert) [1]: https://www.git-scm.com -[2]: https://github.com/defunkt/hub +[2]: https://hub.github.com [3]: https://www.github.com [4]: https://www.manpagez.com/man/8/gpt/ [5]: https://www.manpagez.com/man/1/gs/ [6]: https://github.com/sorin-ionescu/prezto/issues [7]: https://github.com/sorin-ionescu/prezto/issues/219 -[8]: https://www.kernel.org/pub/software/scm/git/docs/git-log.html -[9]: https://getgb.io/ -[10]: https://github.com/blog/985-git-io-github-url-shortener +[8]: https://git-scm.com/docs/git-log +[9]: https://git-scm.com/docs/git-submodule +[10]: https://getgb.io/ [11]: https://www.manpagez.com/man/1/gm/ +[12]: https://github.blog/2011-11-10-git-io-github-url-shortener +[13]: ../completion#readme diff --git a/modules/gnu-utility/README.md b/modules/gnu-utility/README.md index cb77159..747c72f 100644 --- a/modules/gnu-utility/README.md +++ b/modules/gnu-utility/README.md @@ -9,14 +9,16 @@ utilities will be broken. This module wraps GNU utilities in functions without a prefix for interactive use. -This module must be loaded **before** the *utility* module. +This module must be loaded _before_ the [_`utility`_][1] module so that GNU +utilities enabled in this module are available for configuration in _`utility`_ +module. ## Settings ### Prefix -To use a different prefix, add the following to *~/.zpreztorc*, and replace 'g' -with the desired prefix: +To use a different prefix, add the following to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_, and replace `'g'` with the desired prefix. ```sh zstyle ':prezto:module:gnu-utility' prefix 'g' @@ -24,8 +26,9 @@ zstyle ':prezto:module:gnu-utility' prefix 'g' ## Authors -*The authors of this module should be contacted via the [issue tracker][1].* +_The authors of this module should be contacted via the [issue tracker][2]._ - [Sorin Ionescu](https://github.com/sorin-ionescu) -[1]: https://github.com/sorin-ionescu/prezto/issues +[1]: ../utility#readme +[2]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/gpg/README.md b/modules/gpg/README.md index 6aa2eb5..08730eb 100644 --- a/modules/gpg/README.md +++ b/modules/gpg/README.md @@ -8,7 +8,7 @@ Provides for an easier use of [GPG][1] by setting up [gpg-agent][2]. To enable OpenSSH Agent protocol emulation, and make `gpg-agent` a drop-in replacement for `ssh-agent`, add the following line to -*`~/.gnupg/gpg-agent.conf`*: +_`$GNUPGHOME/gpg-agent.conf`_ or _`$$HOME/.gnupg/gpg-agent.conf`_: ```conf enable-ssh-support @@ -19,7 +19,7 @@ module for additional processing. ## Authors -*The authors of this module should be contacted via the [issue tracker][3].* +_The authors of this module should be contacted via the [issue tracker][3]._ - [Sorin Ionescu](https://github.com/sorin-ionescu) diff --git a/modules/haskell/README.md b/modules/haskell/README.md index 6f48f34..db7bfae 100644 --- a/modules/haskell/README.md +++ b/modules/haskell/README.md @@ -17,7 +17,7 @@ Install packages into per user directories with `cabal install --user`. ## Authors -*The authors of this module should be contacted via the [issue tracker][2].* +_The authors of this module should be contacted via the [issue tracker][2]._ - [Sebastian Wiesner](https://github.com/lunaryorn) diff --git a/modules/helper/README.md b/modules/helper/README.md index aa6e417..5c90a63 100644 --- a/modules/helper/README.md +++ b/modules/helper/README.md @@ -19,7 +19,7 @@ Provides helper functions for developing modules. ## Authors -*The authors of this module should be contacted via the [issue tracker][1].* +_The authors of this module should be contacted via the [issue tracker][1]._ - [Sorin Ionescu](https://github.com/sorin-ionescu) diff --git a/modules/history-substring-search/README.md b/modules/history-substring-search/README.md index d7dc337..5e8eeb0 100644 --- a/modules/history-substring-search/README.md +++ b/modules/history-substring-search/README.md @@ -5,8 +5,8 @@ Integrates [`zsh-history-substring-search`][1] into Prezto, which implements the a previously entered command and press up and down to cycle through matching commands. -If this module is used in conjunction with the *syntax-highlighting* module, -this module must be loaded **after** the *syntax-highlighting* module. +If this module is used in conjunction with the [_`syntax-highlighting`_][3] +module, this module must be loaded _after_ the _`syntax-highlighting`_ module. ## Contributors @@ -19,7 +19,7 @@ regulations. This module will be synchronized against it. ### Case Sensitivity To enable case-sensitivity for this module only, add the following line to -*~/.zpreztorc*: +_`${ZDOTDIR:-$HOME}/.zpreztorc`_: ```sh zstyle ':prezto:module:history-substring-search' case-sensitive 'yes' @@ -27,29 +27,32 @@ zstyle ':prezto:module:history-substring-search' case-sensitive 'yes' ### Highlighting -If colors are enabled, *history-substring-search* will automatically highlight +If colors are enabled, _history-substring-search_ will automatically highlight positive results. -To enable highlighting for this module only, add the following line to -*~/.zpreztorc*: +To disable highlighting for this module only, add the following line to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_: ```sh -zstyle ':prezto:module:history-substring-search' color 'yes' +zstyle ':prezto:module:history-substring-search' color 'no' ``` -To set the query found color, add the following line to *~/.zpreztorc*: +To set the query found color, add the following line to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_: ```sh zstyle ':prezto:module:history-substring-search:color' found '' ``` -To set the query not found color, add the following line to *~/.zpreztorc*: +To set the query not found color, add the following line to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_: ```sh zstyle ':prezto:module:history-substring-search:color' not-found '' ``` -To set the search globbing flags, add the following line to *~/.zpreztorc*: +To set the search globbing flags, add the following line to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_: ```sh zstyle ':prezto:module:history-substring-search' globbing-flags '' @@ -57,11 +60,12 @@ zstyle ':prezto:module:history-substring-search' globbing-flags '' ## Authors -*The authors of this module should be contacted via the [issue tracker][3].* +_The authors of this module should be contacted via the [issue tracker][4]._ - [Suraj N. Kurapati](https://github.com/sunaku) - [Sorin Ionescu](https://github.com/sorin-ionescu) [1]: https://github.com/zsh-users/zsh-history-substring-search [2]: https://fishshell.com -[3]: https://github.com/sorin-ionescu/prezto/issues +[3]: ../syntax-highlighting#readme +[4]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/history/README.md b/modules/history/README.md index 5a06de6..3806096 100644 --- a/modules/history/README.md +++ b/modules/history/README.md @@ -2,24 +2,26 @@ Sets [history][1] options and defines history aliases. -**Note:** Default path of `HISTFILE` has changed from *`${ZDOTDIR:-$HOME}/.zhistory`* -to *`${ZDOTDIR:-$HOME}/.zsh_history`*. The file will be automatically renamed if -possible (when the new one doesn't exist). Otherwise, if you want to preserve -previous history, you will need to move them from *`${ZDOTDIR:-$HOME}/.zhistory`* -to *`${ZDOTDIR:-$HOME}/.zsh_history`*. +**Note:** Default path of `HISTFILE` has changed from +_`${ZDOTDIR:-$HOME}/.zhistory`_ to _`${ZDOTDIR:-$HOME}/.zsh_history`_. The file +will be automatically renamed if possible (when the new one doesn't exist). +Otherwise, if you want to preserve previous history, you will need to move them +from _`${ZDOTDIR:-$HOME}/.zhistory`_ to _`${ZDOTDIR:-$HOME}/.zsh_history`_. -Alternately, you can set `HISTFILE` manually to *`${ZDOTDIR:-$HOME}/.zhistory`*. +Alternately, you can set `HISTFILE` manually to _`${ZDOTDIR:-$HOME}/.zhistory`_. ## Options - `BANG_HIST` treats the **!** character specially during expansion. -- `EXTENDED_HISTORY` writes the history file in the *:start:elapsed;command* format. +- `EXTENDED_HISTORY` writes the history file in the _:start:elapsed;command_ + format. - `SHARE_HISTORY` shares history between all sessions. Note that `SHARE_HISTORY`, `INC_APPEND_HISTORY`, and `INC_APPEND_HISTORY_TIME` are mutually exclusive. - `HIST_EXPIRE_DUPS_FIRST` expires a duplicate event first when trimming history. - `HIST_IGNORE_DUPS` does not record an event that was just recorded again. -- `HIST_IGNORE_ALL_DUPS` deletes an old recorded event if a new event is a duplicate. +- `HIST_IGNORE_ALL_DUPS` deletes an old recorded event if a new event is a + duplicate. - `HIST_FIND_NO_DUPS` does not display a previously found event. - `HIST_IGNORE_SPACE` does not record an event starting with a space. - `HIST_SAVE_NO_DUPS` does not write a duplicate event to the history file. @@ -38,7 +40,7 @@ Alternately, you can set `HISTFILE` manually to *`${ZDOTDIR:-$HOME}/.zhistory`*. ## Authors -*The authors of this module should be contacted via the [issue tracker][2].* +_The authors of this module should be contacted via the [issue tracker][2]._ - [Robby Russell](https://github.com/robbyrussell) - [Sorin Ionescu](https://github.com/sorin-ionescu) diff --git a/modules/homebrew/README.md b/modules/homebrew/README.md index 545ffc9..1875e08 100644 --- a/modules/homebrew/README.md +++ b/modules/homebrew/README.md @@ -35,7 +35,7 @@ brew shellenv ## Authors -*The authors of this module should be contacted via the [issue tracker][1].* +_The authors of this module should be contacted via the [issue tracker][1]._ - [Sorin Ionescu](https://github.com/sorin-ionescu) - [Griffin Yourick](https://github.com/tough-griff) diff --git a/modules/macports/README.md b/modules/macports/README.md index 9834dd2..ba6143b 100644 --- a/modules/macports/README.md +++ b/modules/macports/README.md @@ -14,7 +14,7 @@ Defines MacPorts aliases and adds MacPorts directories to path variables. ## Authors -*The authors of this module should be contacted via the [issue tracker][1].* +_The authors of this module should be contacted via the [issue tracker][1]._ - [Matt Cable](https://github.com/curiousstranger) - [Sorin Ionescu](https://github.com/sorin-ionescu) diff --git a/modules/node/README.md b/modules/node/README.md index 4341357..41130ee 100644 --- a/modules/node/README.md +++ b/modules/node/README.md @@ -1,24 +1,24 @@ # Node.js Provides utility functions for [Node.js][1], loads the Node Version Manager, and -enables [*npm*][2] completion. +enables [_npm_][2] completion. ## nvm -[*nvm*][5] allows for managing multiple, isolated Node.js installations in the +[_nvm_][5] allows for managing multiple, isolated Node.js installations in the home directory. This will be loaded automatically if nvm is installed in `$NVM_DIR`, -*~/.nvm*, or nvm is installed with homebrew. +_`~/.nvm`_, or nvm is installed with Homebrew. ## nodenv -[*nodenv*][6] does one thing well - it is concerned solely with switching +[_nodenv_][6] does one thing well - it is concerned solely with switching Node versions. It is simple and predictable, Just Works, and is rock solid in -production. nodenv is forked from the popular [*rbenv*][7]. +production. nodenv is forked from the popular [_rbenv_][7]. This will be loaded automatically if nodenv is installed in `$NODENV_ROOT`, -*~/.nodenv*, or `nodenv` is on the path. +_`~/.nodenv`_, or `nodenv` is on the path. ## Functions @@ -42,7 +42,7 @@ Then add `$node_info[version]` to either `$PROMPT` or `$RPROMPT` and call ## Authors -*The authors of this module should be contacted via the [issue tracker][4].* +_The authors of this module should be contacted via the [issue tracker][4]._ - [Sorin Ionescu](https://github.com/sorin-ionescu) - [Zeh Rizzatti](https://github.com/zehrizzatti) diff --git a/modules/ocaml/README.md b/modules/ocaml/README.md index 516e911..75aed54 100644 --- a/modules/ocaml/README.md +++ b/modules/ocaml/README.md @@ -15,7 +15,7 @@ Install packages to your local package directory with `opam install`. ## Authors -*The authors of this module should be contacted via the [issue tracker][3].* +_The authors of this module should be contacted via the [issue tracker][3]._ - [Sebastian Wiesner](https://github.com/lunaryorn) diff --git a/modules/osx/README.md b/modules/osx/README.md index a9e7b14..893d3af 100644 --- a/modules/osx/README.md +++ b/modules/osx/README.md @@ -2,13 +2,18 @@ Defines [macOS][1] aliases and functions. +This module must be loaded _before_ the [_`completion`_][2] module so that the +provided completion definitions are loaded automatically by _`completion`_ +module. + ## Settings ### Dash Keyword -To change the keyword used by `mand` to open man pages in [*Dash.app*][2] from -its default value of 'manpages', add the following line in *~/.zpreztorc* and -replace the **keyword** with the one configured in [*Dash.app*][2]. +To change the keyword used by `mand` to open man pages in [_Dash.app_][3] from +its default value of 'manpages', add the following line in +_`${ZDOTDIR:-$HOME}/.zpreztorc`_ and replace the **keyword** with the one +configured in [_Dash.app_][3]. ```sh zstyle ':prezto:module:osx:man' dash-keyword 'keyword' @@ -16,29 +21,30 @@ zstyle ':prezto:module:osx:man' dash-keyword 'keyword' ## Aliases -- `cdf` changes the current working director to the current *Finder* directory. +- `cdf` changes the current working director to the current _Finder_ directory. - `pushdf` pushes the current working directory onto the directory queue and - changes the current working director to the current *Finder* directory. + changes the current working director to the current _Finder_ directory. ## Functions -- `mand` opens _man_ pages in [*Dash.app*][2]. -- `manp` opens _man_ pages in *Preview.app*. -- `pfd` prints the current *Finder* directory. -- `pfs` prints the current *Finder* selection. -- `tab` creates a new tab (works in both _Terminal_ and [*iTerm.app*][3]). +- `mand` opens _man_ pages in [_Dash.app_][3]. +- `manp` opens _man_ pages in _Preview.app_. +- `pfd` prints the current _Finder_ directory. +- `pfs` prints the current _Finder_ selection. +- `tab` creates a new tab (works in both _Terminal_ and [_iTerm.app_][4]). - `ql` previews files in Quick Look. -- `osx-rm-dir-metadata` deletes *.DS_Store*, *__MACOSX* cruft. +- `osx-rm-dir-metadata` deletes _`.DS_Store`_, _`__MACOSX`_ cruft. - `osx-ls-download-history` displays the macOS download history. - `osx-rm-download-history` deletes the macOS download history. ## Authors -*The authors of this module should be contacted via the [issue tracker][4].* +_The authors of this module should be contacted via the [issue tracker][5]._ - [Sorin Ionescu](https://github.com/sorin-ionescu) [1]: https://www.apple.com/macos/ -[2]: https://kapeli.com/dash -[3]: https://www.iterm2.com/ -[4]: https://github.com/sorin-ionescu/prezto/issues +[2]: ../completion#readme +[3]: https://kapeli.com/dash +[4]: https://www.iterm2.com/ +[5]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/pacman/README.md b/modules/pacman/README.md index ebdf95c..4e6ad8b 100644 --- a/modules/pacman/README.md +++ b/modules/pacman/README.md @@ -15,11 +15,12 @@ supported by Archlinux. It is currently recommended to manually build AUR packages using the [provided instructions][3]. The [aurutils][4] project has a set of small utilities to make this easier. -To enable a Pacman frontend, add the following line to *~/.zpreztorc*, -substituting *pacman_frontend* with the name of the frontend: +To enable a different Pacman frontend, add the following to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_, and replace `''` with the name +of the preferred frontend. ```sh -zstyle ':prezto:module:pacman' frontend 'pacman_frontend' +zstyle ':prezto:module:pacman' frontend '' ``` ## Aliases @@ -52,7 +53,7 @@ zstyle ':prezto:module:pacman' frontend 'pacman_frontend' ## Authors -*The authors of this module should be contacted via the [issue tracker][5].* +_The authors of this module should be contacted via the [issue tracker][5]._ - [Benjamin Boudreau](https://github.com/dreur) - [Sorin Ionescu](https://github.com/sorin-ionescu) diff --git a/modules/perl/README.md b/modules/perl/README.md index ed3e1e5..772d068 100644 --- a/modules/perl/README.md +++ b/modules/perl/README.md @@ -6,11 +6,11 @@ Enables local [Perl][1] module installation on macOS and defines aliases. Perl versions older than 5.14 do not support the local installation of Perl modules natively. This module allows for local installation of Perl modules on -macOS in *`~/Library/Perl/5.12`* by altering the environment. +macOS in _`~/Library/Perl/5.12`_ by altering the environment. ### Usage -For Perl versions older than 5.14, install *`local::lib`*. +For Perl versions older than 5.14, install _`local::lib`_. ```console curl -L -C - -O http://search.cpan.org/CPAN/authors/id/A/AP/APEIRON/local-lib-1.008004.tar.gz @@ -20,7 +20,7 @@ perl Makefile.PL --bootstrap=$HOME/Library/Perl/5.12 make && make test && make install ``` -Install *cpanminus*: +Install _cpanminus_: ```console curl -L http://cpanmin.us | perl - --self-upgrade @@ -33,10 +33,10 @@ management of multiple, isolated Perl installations in the home directory. ## plenv -Yet another alternative is [*plenv*][3]. This is inspired from *rbenv* and +Yet another alternative is [_plenv_][3]. This is inspired from _rbenv_ and enables switching between multiple binary installations. -The subcommands of *plenv* is similar with *rbenv*. +The subcommands of _plenv_ is similar with _rbenv_. ## Aliases @@ -96,7 +96,7 @@ Then add `$perl_info[version]` to `$PROMPT` or `$RPROMPT` and call ## Authors -*The authors of this module should be contacted via the [issue tracker][4].* +_The authors of this module should be contacted via the [issue tracker][4]._ - [Sorin Ionescu](https://github.com/sorin-ionescu) diff --git a/modules/prompt/README.md b/modules/prompt/README.md index f69184a..2279b55 100644 --- a/modules/prompt/README.md +++ b/modules/prompt/README.md @@ -6,19 +6,19 @@ Loads prompt [themes][1]. ### Prompt Theme -To select a prompt theme, add the following to *~/.zpreztorc*, and replace -**name** with the name of the theme you wish to load. Setting it to **random** -will load a random theme. +To select a prompt theme, add the following to _`${ZDOTDIR:-$HOME}/.zpreztorc`_, +and replace `''` with the name of the theme you wish to load. Setting it +to `'random'` will load a random theme every time. ```sh -zstyle ':prezto:module:prompt' theme 'name' +zstyle ':prezto:module:prompt' theme '' ``` ### Prompt Display Length To change working directory prompt display length from 'short', set the following to 'long' (without `~` expansion) or 'full' (with `~` expansion) in -*~/.zpreztorc*. +_`${ZDOTDIR:-$HOME}/.zpreztorc`_. ```sh zstyle ':prezto:module:prompt' pwd-length 'short' @@ -37,13 +37,13 @@ zstyle ':prezto:module:prompt' show-return-val 'no' A prompt theme is an autoloadable function file with a special name, `prompt_name_setup`, placed anywhere in `$fpath`, but for the purpose of this -project, themes **should** be placed in the *modules/prompt/functions* +project, themes **should** be placed in the _modules/prompt/functions_ directory. ### Required Variables To ensure that your function works with the editor-info module you'll need to -set the following variable in *~/.zpreztorc*: +set the following variable in _`${ZDOTDIR:-$HOME}/.zpreztorc`_: ```sh # Tell prezto we can manage this prompt @@ -119,7 +119,7 @@ function prompt_name_preview { ### Hook Functions -There are many Zsh [hook][2] functions, but mostly the *precmd* hook will be +There are many Zsh [hook][2] functions, but mostly the _precmd_ hook will be used. #### `prompt_name_precmd` @@ -156,7 +156,7 @@ patched fonts][5] which should fix most font issues. ## Authors -*The authors of this module should be contacted via the [issue tracker][3].* +_The authors of this module should be contacted via the [issue tracker][3]._ - [Sorin Ionescu](https://github.com/sorin-ionescu) diff --git a/modules/prompt/functions/prompt_cloud_setup b/modules/prompt/functions/prompt_cloud_setup index be2a33a..908e3c9 100644 --- a/modules/prompt/functions/prompt_cloud_setup +++ b/modules/prompt/functions/prompt_cloud_setup @@ -9,7 +9,7 @@ # - The prompt is prefixed by a character sequence of your choice. # - Only displays the current directory instead of the full path. # - Displays the current branch when in a git project (this requires loading -# the git module before prompt in ~/.zpreztorc). +# the git module before prompt in ${ZDOTDIR:-$HOME}/.zpreztorc). # - Displays a character at the end of the prompt when in a git project with # "dirty" files. # @@ -17,7 +17,7 @@ # This prompt's prefix symbol and colors are customizable: # prompt cloud [] [] [] # -# In ~/.zpreztorc: +# In ${ZDOTDIR:-$HOME}/.zpreztorc: # zstyle ':prezto:module:prompt' theme 'cloud' \ # [''] \ # [''] \ @@ -53,7 +53,7 @@ This prompt's prefix symbol and colors are customizable: prompt cloud [] [] [] -In ~/.zpreztorc: +In ${ZDOTDIR:-$HOME}/.zpreztorc: zstyle ':prezto:module:prompt' theme 'cloud' [''] [''] [''] If these options are not provided, the symbol defaults to ☁ with colors cyan diff --git a/modules/prompt/init.zsh b/modules/prompt/init.zsh index 2f30cac..3180883 100644 --- a/modules/prompt/init.zsh +++ b/modules/prompt/init.zsh @@ -18,7 +18,7 @@ WARNING: Prezto does not support 'powerlevel9k' anymore as it has been deprecated and is not supported by its author. Consider migrating to 'powerlevel10k' instead by setting: zstyle ':prezto:module:prompt' theme 'powerlevel10k' - in ~/.zpreztorc. + in ${${ZDOTDIR:-$HOME}/#$HOME/~}/.zpreztorc. Switching to prezto default prompt 'sorin'..." EOW prompt 'sorin' diff --git a/modules/python/README.md b/modules/python/README.md index bb85a46..fa5140a 100644 --- a/modules/python/README.md +++ b/modules/python/README.md @@ -5,14 +5,16 @@ Enables local Python and local Python package installation. ## Settings This module supports virtual environments from conda and -[*virtualenvwrapper*][2]. By default, only *virtualenvwrapper* is enabled. To -disable *virtualenvwrapper*, add the following to *~/.zpreztorc*. +[_virtualenvwrapper_][2]. By default, only _virtualenvwrapper_ is enabled. To +disable _virtualenvwrapper_, add the following to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_. ```sh zstyle ':prezto:module:python' skip-virtualenvwrapper-init 'on' ``` -Conda support is enabled by adding the following to *~/.zpreztorc*. +Conda support can be enabled by adding the following to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_. ```sh zstyle ':prezto:module:python' conda-init 'on' @@ -22,18 +24,18 @@ Caution: using conda and virtualenvwrapper at the same time may cause conflicts. ## Local Python Installation -[*pyenv*][4] builds and installs multiple Python versions locally in the home +[_pyenv_][4] builds and installs multiple Python versions locally in the home directory. -This module prepends the *pyenv* directory to the path variable to enable the +This module prepends the _pyenv_ directory to the path variable to enable the execution of `pyenv`. ### Usage -Install Python versions with `pyenv install` into *~/.pyenv/versions*. +Install Python versions with `pyenv install` into _`~/.pyenv/versions`_. This will be loaded automatically if pyenv is installed to `$PYENV_ROOT`, -*~/.pyenv*, or if the `pyenv` command is on the path. +_`~/.pyenv`_, or if the `pyenv` command is on the path. ## Local Package Installation @@ -50,7 +52,7 @@ Install packages into the per user site directory with `pip install --user`. ## virtualenvwrapper -[*virtualenvwrapper*][2] is a frontend to the popular [*virtualenv*][3] utility. +[_virtualenvwrapper_][2] is a frontend to the popular [_virtualenv_][3] utility. `virtualenv` creates isolated Python environments and `virtualenvwrapper` provides convenient shell functions to create, switch, and manage them. @@ -59,14 +61,15 @@ provides convenient shell functions to create, switch, and manage them. Install `virtualenvwrapper`. -Virtual environments are stored in *~/.virtualenvs*. +Virtual environments are stored in _`~/.virtualenvs`_. -There are configuration variables that have to be set to enable certain features. -If you wish to use these features, export the variables in [`zshenv`][6]. +There are configuration variables that have to be set to enable certain +features. If you wish to use these features, export the variables in +[_`${ZDOTDIR:-$HOME}/.zshenv`_][6]. The variable `$PROJECT_HOME` tells `virtualenvwrapper` where to place project working directories. It must be set and the directory created before `mkproject` -is used. Replace *Developer* with your projects directory. +is used. Replace _Developer_ with your projects directory. ```sh export PROJECT_HOME="$HOME/Developer" @@ -144,7 +147,7 @@ python version/ ## Authors -*The authors of this module should be contacted via the [issue tracker][5].* +_The authors of this module should be contacted via the [issue tracker][5]._ - [Sorin Ionescu](https://github.com/sorin-ionescu) - [Sebastian Wiesner](https://github.com/lunaryorn) @@ -154,4 +157,4 @@ python version/ [3]: https://pypi.org/project/virtualenv/ [4]: https://github.com/yyuu/pyenv [5]: https://github.com/sorin-ionescu/prezto/issues -[6]: https://github.com/sorin-ionescu/prezto/blob/master/runcoms/zshenv +[6]: ../../runcoms#zshenv diff --git a/modules/rails/README.md b/modules/rails/README.md index 5919dc5..129627a 100644 --- a/modules/rails/README.md +++ b/modules/rails/README.md @@ -21,7 +21,7 @@ Defines [Ruby on Rails][1] aliases. ## Authors -*The authors of this module should be contacted via the [issue tracker][2].* +_The authors of this module should be contacted via the [issue tracker][2]._ - [Robby Russell](https://github.com/robbyrussell) - [Jake Bell](https://github.com/theunraveler) diff --git a/modules/rsync/README.md b/modules/rsync/README.md index ba342bb..ca0627f 100644 --- a/modules/rsync/README.md +++ b/modules/rsync/README.md @@ -2,20 +2,20 @@ Defines [rsync][1] aliases. -macOS users are encouraged to use *rsync* from [Homebrew][2] or [MacPorts][3], +macOS users are encouraged to use _rsync_ from [Homebrew][2] or [MacPorts][3], which has additional enhancements including patches from [Bombich][4]. ## Aliases -- `rsync-copy` copies files and directories from *source* to *destination*. -- `rsync-move` moves files and directories from *source* to *destination*. -- `rsync-update` updates files and directories on *destination*. -- `rsync-synchronize` synchronizes files and directories between *source* and - *destination*. +- `rsync-copy` copies files and directories from _source_ to _destination_. +- `rsync-move` moves files and directories from _source_ to _destination_. +- `rsync-update` updates files and directories on _destination_. +- `rsync-synchronize` synchronizes files and directories between _source_ and + _destination_. ## Authors -*The authors of this module should be contacted via the [issue tracker][5].* +_The authors of this module should be contacted via the [issue tracker][5]._ - [Sorin Ionescu](https://github.com/sorin-ionescu) diff --git a/modules/ruby/README.md b/modules/ruby/README.md index ad21c42..58a2b11 100644 --- a/modules/ruby/README.md +++ b/modules/ruby/README.md @@ -6,11 +6,11 @@ aliases. ## Local Gem Installation When a Ruby version manager is not detected, local gems are installed in -*~/.gems*; otherwise, they are installed according to the manager. +_`~/.gems`_; otherwise, they are installed according to the manager. ## rvm -An alternative to the above is to use [The Ruby Version Manager (*rvm*)][2], +An alternative to the above is to use [The Ruby Version Manager (_rvm_)][2], which allows for managing multiple, isolated Ruby installations and gem sets in the home directory. @@ -22,26 +22,26 @@ it is not first in `$PATH`. ## rbenv -An alternative RVM is to use [*rbenv*][3], which allows for switching between +An alternative RVM is to use [_rbenv_][3], which allows for switching between multiple, isolated Ruby installations in the home directory. While it is not as feature rich as RVM, it is not loaded into the shell and is not known to cause conflicts with shell scripts. -This will be loaded automatically if *rbenv* is installed to `$RBENV_ROOT`, -*~/.rbenv*, or if the `rbenv` command is on the path. +This will be loaded automatically if _rbenv_ is installed to `$RBENV_ROOT`, +_`~/.rbenv`_, or if the `rbenv` command is on the path. ## chruby -Yet another alternative is [*chruby*][4], which is simpler than both *rvm* and -*rbenv*. +Yet another alternative is [_chruby_][4], which is simpler than both _rvm_ and +_rbenv_. ### Settings #### Auto-Switch To enable auto switching the Ruby version on directory change based on the -`.ruby-version` file, add the following line to *~/.zpreztorc*: +`.ruby-version` file, add the following line to _`${ZDOTDIR:-$HOME}/.zpreztorc`_: ```sh zstyle ':prezto:module:ruby:chruby' auto-switch 'yes' @@ -67,7 +67,7 @@ dependencies, with [Bundler][5]. - `rbbI` installs the following: - gems specified in the `Gemfile` in `vendor/bundle`. - packages the gems into `vendor/cache`. - - appends bundler directories to `.gitignore`. + - appends bundler directories to `.gitignore`. - `rbbl` lists all gems in the current bundle. - `rbbo` opens an installed gem in the editor. - `rbbp` packages gem files into `vendor/cache`. @@ -94,7 +94,7 @@ Then add `$ruby_info[version]` to `$PROMPT` or `$RPROMPT` and call ## Authors -*The authors of this module should be contacted via the [issue tracker][6].* +_The authors of this module should be contacted via the [issue tracker][6]._ - [Sorin Ionescu](https://github.com/sorin-ionescu) diff --git a/modules/screen/README.md b/modules/screen/README.md index 01a2dd4..a1775f7 100644 --- a/modules/screen/README.md +++ b/modules/screen/README.md @@ -9,14 +9,14 @@ Defines [GNU Screen][1] aliases and provides for auto launching it at start-up. Starts a GNU Screen session automatically when Zsh is launched. To enable this feature when launching Zsh in a local terminal, add the following -line to *~/.zpreztorc*: +line to _`${ZDOTDIR:-$HOME}/.zpreztorc`_: ```sh zstyle ':prezto:module:screen:auto-start' local 'yes' ``` To enable this feature when launching Zsh in a SSH connection, add the following -line to *~/.zpreztorc*: +line to _`${ZDOTDIR:-$HOME}/.zpreztorc`_: ```sh zstyle ':prezto:module:screen:auto-start' remote 'yes' @@ -31,7 +31,7 @@ zstyle ':prezto:module:screen:auto-start' remote 'yes' ## Authors -*The authors of this module should be contacted via the [issue tracker][2].* +_The authors of this module should be contacted via the [issue tracker][2]._ - [Sorin Ionescu](https://github.com/sorin-ionescu) - [Georges Discry](https://github.com/gdiscry) diff --git a/modules/spectrum/README.md b/modules/spectrum/README.md index a3d4263..de393a7 100644 --- a/modules/spectrum/README.md +++ b/modules/spectrum/README.md @@ -79,7 +79,7 @@ Use `$BG[none]`, `$FG[none]`, or `$FX[none]` to turn off formatting. ## Authors -*The authors of this module should be contacted via the [issue tracker][2].* +_The authors of this module should be contacted via the [issue tracker][2]._ - [P.C. Shyamshankar](https://github.com/sykora) - [Sorin Ionescu](https://github.com/sorin-ionescu) diff --git a/modules/ssh/README.md b/modules/ssh/README.md index dbaf809..5b81409 100644 --- a/modules/ssh/README.md +++ b/modules/ssh/README.md @@ -1,12 +1,13 @@ # SSH -Provides for an easier use of [SSH][1] by setting up [*ssh-agent*][2]. +Provides for an easier use of [SSH][1] by setting up [_ssh-agent_][2]. ## Settings ### Identities -To load multiple identities, add the following line to *~/.zpreztorc*: +To load multiple identities, add the following line to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_: ```sh zstyle ':prezto:module:ssh:load' identities 'id_rsa' 'id_dsa' 'id_github' @@ -14,7 +15,7 @@ zstyle ':prezto:module:ssh:load' identities 'id_rsa' 'id_dsa' 'id_github' ## Authors -*The authors of this module should be contacted via the [issue tracker][3].* +_The authors of this module should be contacted via the [issue tracker][3]._ [Sorin Ionescu](https://github.com/sorin-ionescu) diff --git a/modules/syntax-highlighting/README.md b/modules/syntax-highlighting/README.md index 1dfc0fa..2f6ea52 100644 --- a/modules/syntax-highlighting/README.md +++ b/modules/syntax-highlighting/README.md @@ -2,14 +2,14 @@ Integrates [zsh-syntax-highlighting][1] into Prezto. -This module should be loaded before the *prompt* module. +This module must be loaded _before_ the _`prompt`_ module. Additionally, if this module is used in conjunction with the -*history-substring-search* module, this module must be loaded **before** the -*history-substring-search* module. +[_`history-substring-search`_][2] module, this module must be loaded _before_ +the _`history-substring-search`_ module. -To elaborate: The relative order of loading the modules would be -'syntax-highlighting', 'history-substring-search' and 'prompt'. +To elaborate, the relative order of loading the modules would be +_`syntax-highlighting`_, _`history-substring-search`_ and _`prompt`_. ## Contributors @@ -22,7 +22,7 @@ This module will be synchronized against it. ### Highlighting To enable highlighting for this module only, add the following line to -*~/.zpreztorc*: +_`${ZDOTDIR:-$HOME}/.zpreztorc`_: ```sh zstyle ':prezto:module:syntax-highlighting' color 'yes' @@ -30,10 +30,11 @@ zstyle ':prezto:module:syntax-highlighting' color 'yes' ### Highlighters -Syntax highlighting is accomplished by pluggable [highlighters][2]. This module -only enables the *main* highlighter by default. +Syntax highlighting is accomplished by pluggable [highlighters][3]. This module +only enables the _main_ highlighter by default. -To enable all highlighters, add the following to *~/.zpreztorc*: +To enable all highlighters, add the following to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_. ```sh zstyle ':prezto:module:syntax-highlighting' highlighters \ @@ -50,7 +51,7 @@ zstyle ':prezto:module:syntax-highlighting' highlighters \ Each syntax highlighter defines styles used to highlight tokens. To highlight, for example, builtins, commands, and functions in blue instead of -green, add the following to *~/.zpreztorc*: +green, add the following to _`${ZDOTDIR:-$HOME}/.zpreztorc`_: ```sh zstyle ':prezto:module:syntax-highlighting' styles \ @@ -61,10 +62,11 @@ zstyle ':prezto:module:syntax-highlighting' styles \ ## Authors -*The authors of this module should be contacted via the [issue tracker][3].* +_The authors of this module should be contacted via the [issue tracker][4]._ - [Sorin Ionescu](https://github.com/sorin-ionescu) [1]: https://github.com/zsh-users/zsh-syntax-highlighting -[2]: https://github.com/zsh-users/zsh-syntax-highlighting/tree/master/highlighters -[3]: https://github.com/sorin-ionescu/prezto/issues +[2]: ../history-substring-search#readme +[3]: https://github.com/zsh-users/zsh-syntax-highlighting/tree/master/highlighters +[4]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/terminal/README.md b/modules/terminal/README.md index c19a357..be4e3a1 100644 --- a/modules/terminal/README.md +++ b/modules/terminal/README.md @@ -7,7 +7,7 @@ Sets terminal window and tab titles. ### Auto-Title To auto set the terminal window and tab titles with the current command or -directory, add the following to *~/.zpreztorc*: +directory, add the following to _`${ZDOTDIR:-$HOME}/.zpreztorc`_: ```sh zstyle ':prezto:module:terminal' auto-title 'yes' @@ -23,7 +23,8 @@ zstyle ':prezto:module:terminal' auto-title 'always' ### Title formats -To format terminal window and tab titles, add the following to *~/.zpreztorc*: +To format terminal window and tab titles, add the following to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_. ```sh zstyle ':prezto:module:terminal:window-title' format '%n@%m: %s' @@ -44,7 +45,7 @@ For a list of sequences, see [Expansion of Prompt Sequences][1]. ## Authors -*The authors of this module should be contacted via the [issue tracker][2].* +_The authors of this module should be contacted via the [issue tracker][2]._ - [Sorin Ionescu](https://github.com/sorin-ionescu) - [Olaf Conradi](https://github.com/oohlaf) diff --git a/modules/tmux/README.md b/modules/tmux/README.md index fe47cc5..e7ae929 100644 --- a/modules/tmux/README.md +++ b/modules/tmux/README.md @@ -1,6 +1,6 @@ # Tmux -Defines [*tmux*][1] aliases and provides for auto launching it at start-up. +Defines [_tmux_][1] aliases and provides for auto launching it at start-up. ## Settings @@ -9,14 +9,14 @@ Defines [*tmux*][1] aliases and provides for auto launching it at start-up. Starts a tmux session automatically when Zsh is launched. To enable this feature when launching Zsh in a local terminal, add the following -line to *~/.zpreztorc*: +line to _`${ZDOTDIR:-$HOME}/.zpreztorc`_: ```sh zstyle ':prezto:module:tmux:auto-start' local 'yes' ``` To enable this feature when launching Zsh in a SSH connection, add the following -line to *~/.zpreztorc*: +line to _`${ZDOTDIR:-$HOME}/.zpreztorc`_: ```sh zstyle ':prezto:module:tmux:auto-start' remote 'yes' @@ -34,7 +34,7 @@ zstyle ':prezto:module:tmux:session' name '' With `auto-start` enabled, you may want to control how multiple sessions are managed. The `destroy-unattached` option of tmux controls if the unattached sessions must be kept alive, making sessions available for later use, configured -in *tmux.conf*: +in _tmux.conf_: ```conf set-option -g destroy-unattached [on | off] @@ -43,7 +43,7 @@ set-option -g destroy-unattached [on | off] #### iTerm2 Integration [iTerm2][6] offers significant integration with tmux. This can be enabled by -adding the following line to *~/.zpreztorc*: +adding the following line to _`${ZDOTDIR:-$HOME}/.zpreztorc`_: ```sh zstyle ':prezto:module:tmux:iterm' integrate 'yes' @@ -61,7 +61,7 @@ Read [iTerm2 and tmux Integration][7] for more information. On macOS, launching tmux can cause the error **launch_msg(...): Socket is not connected** to be displayed, which can be fixed by installing [reattach-to-user-namespace][3], available in [Homebrew][4], and adding the -following to *tmux.conf*: +following to _tmux.conf_: ```conf set-option -g default-command "reattach-to-user-namespace -l $SHELL -l" @@ -72,7 +72,7 @@ about this and Prezto has already been [opened][2]. ## Authors -*The authors of this module should be contacted via the [issue tracker][5].* +_The authors of this module should be contacted via the [issue tracker][5]._ - [Sorin Ionescu](https://github.com/sorin-ionescu) - [Colin Hebert](https://github.com/ColinHebert) diff --git a/modules/utility/README.md b/modules/utility/README.md index fccfe68..ef2db25 100644 --- a/modules/utility/README.md +++ b/modules/utility/README.md @@ -2,46 +2,63 @@ Defines general aliases and functions. +This module must be loaded _before_ the [_`completion`_][1] module so that the +provided completion definitions are loaded automatically by _`completion`_ +module. + **Note:** Some of the utilities configured in this module might be provided via GNU utilities with incompatible arguments on non-GNU systems. In such cases, -using [*`gnu-utility`*][1] module is recommended and it must be loaded -**before** this module. +using [_`gnu-utility`_][2] module is recommended and it must be loaded +_before_ this module. + +To elaborate, the relative order of loading the modules would be +_`gnu-utility`_, _`utility`_ and _`completion`_. ## Settings ### Highlighting -If you have enabled color globally in *~/.zpreztorc*, you may disable it for -certain commands. +If you have enabled color globally in _`${ZDOTDIR:-$HOME}/.zpreztorc`_, you may +disable it selectively for certain commands. -To disable `ls` color, add the following line to *~/.zpreztorc*; when coloring -is disabled, type indicators (`\*`, `/`, `=>`, `@`, `=`, `|`, `%`) will be -appended to entries. +To disable `ls` color, add the following to _`${ZDOTDIR:-$HOME}/.zpreztorc`_. +When coloring is disabled, type indicators (`\*`, `/`, `=>`, `@`, `=`, `|`, `%`) +will be appended to entries. ```sh zstyle ':prezto:module:utility:ls' color 'no' ``` To disable GNU coreutils `ls` to list directories grouped first, add the -following line to *~/.zpreztorc*: +following line to _`${ZDOTDIR:-$HOME}/.zpreztorc`_: ```sh zstyle ':prezto:module:utility:ls' dirs-first 'no' ``` -To disable `diff` highlighting, add the following line to *~/.zpreztorc*: +To disable `grep` highlighting, add the following line to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_: + +```sh +zstyle ':prezto:module:utility:grep' color 'no' +``` + +To disable `diff` highlighting, add the following line to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_: ```sh zstyle ':prezto:module:utility:diff' color 'no' ``` -To disable `wdiff` highlighting, add the following line to *~/.zpreztorc*: +To disable `wdiff` highlighting, add the following line to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_: ```sh zstyle ':prezto:module:utility:wdiff' color 'no' ``` -To disable `make` highlighting, add the following line to *~/.zpreztorc*: +To disable `make` highlighting, add the following line to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_: ```sh zstyle ':prezto:module:utility:make' color 'no' @@ -66,7 +83,8 @@ zstyle ':prezto:module:utility:make' color 'no' - `mysql` - `rm` -To disable all spelling corrections, add the following line to *~/.zpreztorc*: +To disable all spelling corrections, add the following line to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_: ```sh zstyle ':prezto:module:utility' correct 'no' @@ -102,7 +120,7 @@ zstyle ':prezto:module:utility' correct 'no' ### Files and Directories - `ls` lists with directories grouped first (GNU only). -- `l` lists in one column, hidden files. +- `l` lists in one column, hidden files. - `ll` lists human readable sizes. - `lr` lists human readable sizes, recursively. - `la` lists human readable sizes, hidden files. @@ -136,7 +154,7 @@ zstyle ':prezto:module:utility' correct 'no' By default, `cp`,`ln`, `mv` and `rm` are aliased to their interactive variants. If this is not desired, it can be disabled by adding the following line to -*~/.zpreztorc*: +_`${ZDOTDIR:-$HOME}/.zpreztorc`_: ```sh zstyle ':prezto:module:utility' safe-ops 'no'. @@ -157,7 +175,7 @@ In addition, the following aliases have been added: ### General -- `slit` prints columns *1, 2, 3 ... n*. +- `slit` prints columns _1, 2, 3 ... n_. ### Files and Directories @@ -173,7 +191,7 @@ In addition, the following aliases have been added: - `diff` highlights diff output (requires `colordiff`). - `make` highlights make output (requires `colormake`). -- `wdiff` highlights wdiff output (requires `wdiff `or `git`). +- `wdiff` highlights wdiff output (requires `wdiff` or `git`). ### Resource usage @@ -186,11 +204,12 @@ In addition, the following aliases have been added: ## Authors -*The authors of this module should be contacted via the [issue tracker][2].* +_The authors of this module should be contacted via the [issue tracker][3]._ - [Robby Russell](https://github.com/robbyrussell) - [Suraj N. Kurapati](https://github.com/sunaku) - [Sorin Ionescu](https://github.com/sorin-ionescu) -[1]: ../gnu-utility#readme -[2]: https://github.com/sorin-ionescu/prezto/issues +[1]: ../completion#readme +[2]: ../gnu-utility#readme +[3]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/wakeonlan/README.md b/modules/wakeonlan/README.md index 162b56c..ca4095a 100644 --- a/modules/wakeonlan/README.md +++ b/modules/wakeonlan/README.md @@ -4,13 +4,13 @@ This module provides a wrapper around the [wakeonlan][1] tool. ## Usage -To use this wrapper, create the *`~/.wakeonlan`* directory, and place in it one +To use this wrapper, create the _`~/.wakeonlan`_ directory, and place in it one file for each device you would like to be able to wake. Give the file a name that describes the device, such as its hostname. Each file should contain a line with the MAC address of the target device and the network broadcast address. For instance, there might be a file -`*~/.wakeonlan/leto`* with the following contents: +_`~/.wakeonlan/leto`_ with the following contents: ```conf 00:11:22:33:44:55:66 192.168.0.255 @@ -27,7 +27,7 @@ For more information on the configuration file format, read the ## Authors -*The authors of this module should be contacted via [issue tracker][3].* +_The authors of this module should be contacted via [issue tracker][3]._ - [Paul Dann](https://github.com/giddie) - [Sorin Ionescu](https://github.com/sorin-ionescu) diff --git a/modules/yum/README.md b/modules/yum/README.md index bd172c6..850b1c1 100644 --- a/modules/yum/README.md +++ b/modules/yum/README.md @@ -1,6 +1,6 @@ # Yum -Defines [*yum*][1] aliases. +Defines [_yum_][1] aliases. ## Aliases @@ -17,7 +17,7 @@ Defines [*yum*][1] aliases. ## Authors -*The authors of this module should be contacted via the [issue tracker][2].* +_The authors of this module should be contacted via the [issue tracker][2]._ - [Sorin Ionescu](https://github.com/sorin-ionescu) diff --git a/runcoms/README.md b/runcoms/README.md index ce60d1f..277e833 100644 --- a/runcoms/README.md +++ b/runcoms/README.md @@ -14,19 +14,19 @@ not defined, Zsh will use the user's home directory. ## File Descriptions -The configuration files are read in the following order: +The [configuration files][1] are read in the following order: -01. */etc/zshenv* -02. *~/.zshenv* -03. */etc/zprofile* -04. *~/.zprofile* -05. */etc/zshrc* -06. *~/.zshrc* -07. *~/.zpreztorc* -08. */etc/zlogin* -09. *~/.zlogin* -10. *~/.zlogout* -11. */etc/zlogout* +01. *`/etc/zshenv`* +02. *`${ZDOTDIR:-$HOME}/.zshenv`* +03. *`/etc/zprofile`* +04. *`${ZDOTDIR:-$HOME}/.zprofile`* +05. *`/etc/zshrc`* +06. *`${ZDOTDIR:-$HOME}/.zshrc`* +07. *`${ZDOTDIR:-$HOME}/.zpreztorc`* +08. *`/etc/zlogin`* +09. *`${ZDOTDIR:-$HOME}/.zlogin`* +10. *`${ZDOTDIR:-$HOME}/.zlogout`* +11. *`/etc/zlogout`* ### zshenv @@ -36,7 +36,7 @@ small as possible and should only define environment variables. ### zprofile This file is similar to *zlogin*, but it is sourced before *zshrc*. It was added -for [KornShell][1] fans. See the description of *zlogin* below for what it may +for [KornShell][2] fans. See the description of *zlogin* below for what it may contain. *zprofile* and *zlogin* are not meant to be used together but can be done so. @@ -54,7 +54,7 @@ This file configures Prezto. This file is sourced by login shells after *zshrc*. Thus, it should contain commands that need to execute at login. It is usually used for messages such as -[*fortune*][2], [*msgs*][3], or for the creation of files. +[*fortune*][3], [*msgs*][4], or for the creation of files. This is not the file to define aliases, functions, shell options, and key bindings. It should not change the shell environment. @@ -66,11 +66,12 @@ displaying messages and for deletion of files. ## Authors -*The authors of these files should be contacted via the [issue tracker][4].* +*The authors of these files should be contacted via the [issue tracker][5].* - [Sorin Ionescu](https://github.com/sorin-ionescu) -[1]: https://www.kornshell.com -[2]: https://en.wikipedia.org/wiki/Fortune_(Unix) -[3]: https://www.manpagez.com/man/1/msgs -[4]: https://github.com/sorin-ionescu/prezto/issues +[1]: http://zsh.sourceforge.net/Intro/intro_3.html#SEC3 +[2]: https://www.kornshell.com +[3]: https://en.wikipedia.org/wiki/Fortune_(Unix) +[4]: https://www.manpagez.com/man/1/msgs +[5]: https://github.com/sorin-ionescu/prezto/issues diff --git a/runcoms/zpreztorc b/runcoms/zpreztorc index cf13a2d..cc6ebb4 100644 --- a/runcoms/zpreztorc +++ b/runcoms/zpreztorc @@ -52,7 +52,7 @@ zstyle ':prezto:load' pmodule \ # Completions # -# Set the entries to ignore in static */etc/hosts* for host completion. +# Set the entries to ignore in static '/etc/hosts' for host completion. # zstyle ':prezto:module:completion:*:hosts' etc-host-ignores \ # '0.0.0.0' '127.0.0.1' From 2368c9142bf5bacc8f6673d8899deefce607a60f Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Sat, 8 May 2021 21:26:03 -0500 Subject: [PATCH 42/70] utility: Honor pre-defined COLOR settings for grep Honor `GREP_COLOR` or `GREP_COLORS` if already defined for coloring `grep` output. --- modules/utility/init.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/utility/init.zsh b/modules/utility/init.zsh index 1daf8a5..a06eff8 100644 --- a/modules/utility/init.zsh +++ b/modules/utility/init.zsh @@ -130,8 +130,8 @@ fi # Grep if zstyle -t ':prezto:module:utility:grep' color; then - export GREP_COLOR='37;45' # BSD. - export GREP_COLORS="mt=$GREP_COLOR" # GNU. + export GREP_COLOR=${GREP_COLOR:-'37;45'} # BSD. + export GREP_COLORS=${GREP_COLORS:-"mt=$GREP_COLOR"} # GNU. alias grep="${aliases[grep]:-grep} --color=auto" fi From fae5e493ec8d323c5fc9256497d5ce35efbb44ba Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Sat, 8 May 2021 21:39:16 -0500 Subject: [PATCH 43/70] utility: Check best-fit Python version for 'http-serve' When creating `http-serve` alias, first check if Python is actually available. And, if available, apply the most specific version. --- modules/utility/init.zsh | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/modules/utility/init.zsh b/modules/utility/init.zsh index a06eff8..3757e40 100644 --- a/modules/utility/init.zsh +++ b/modules/utility/init.zsh @@ -184,10 +184,15 @@ fi # Miscellaneous # Serves a directory via HTTP. -if (( $+commands[python3] )); then - alias http-serve='python3 -m http.server' -else - alias http-serve='python -m SimpleHTTPServer' +if (( $#commands[(i)python(|[23])] )); then + autoload -Uz is-at-least + if is-at-least 3 ${"$(python --version 2>&1)"[(w)2]}; then + alias http-serve='python -m http.server' + elif (( $+commands[python3] )); then + alias http-serve='python3 -m http.server' + else + alias http-serve='$commands[(i)python(|2)] -m SimpleHTTPServer' + fi fi # From 6c5657be8ef5f36054524ba171f254d5d9073e24 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Sun, 9 May 2021 00:23:23 -0500 Subject: [PATCH 44/70] zprofile: Don't exit 'less' when everything fits the screen This aligns better with default `less` behavior and allows for 'growable content' when `less` is used as a substitute for `tail`. --- runcoms/zprofile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runcoms/zprofile b/runcoms/zprofile index acd7742..1cf48bf 100644 --- a/runcoms/zprofile +++ b/runcoms/zprofile @@ -53,8 +53,8 @@ path=( # Set the default Less options. # Mouse-wheel scrolling has been disabled by -X (disable screen clearing). -# Remove -X and -F (exit if the content fits on one screen) to enable it. -export LESS='-F -g -i -M -R -S -w -X -z-4' +# Remove -X to enable it. +export LESS='-g -i -M -R -S -w -X -z-4' # Set the Less input preprocessor. # Try both `lesspipe` and `lesspipe.sh` as either might exist on a system. From d51e5ce40f3b10eb6ef0e9bc9aa9131e3db26db6 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Mon, 10 May 2021 15:57:37 -0500 Subject: [PATCH 45/70] utility: Always use 'git' fallback for 'wdiff' wrapper Use `git` fallback (if present) even when color is off and `wdiff` is not present. Further, remove redundant `function` clause as per Prezto convention. --- modules/utility/functions/wdiff | 37 ++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/modules/utility/functions/wdiff b/modules/utility/functions/wdiff index ebfad0b..f1de659 100644 --- a/modules/utility/functions/wdiff +++ b/modules/utility/functions/wdiff @@ -3,27 +3,30 @@ # # Authors: # Sorin Ionescu +# Indrajit Raychaudhuri # -function wdiff { - if zstyle -t ':prezto:module:utility:wdiff' color; then - if (( $+commands[wdiff] )); then - command wdiff \ - --avoid-wraps \ - --start-delete="$(print -n $FG[red])" \ - --end-delete="$(print -n $FG[none])" \ - --start-insert="$(print -n $FG[green])" \ - --end-insert="$(print -n $FG[none])" \ - "$@" \ +# function wdiff { + +if zstyle -t ':prezto:module:utility:wdiff' color; then + if (( $+commands[wdiff] )); then + command wdiff \ + --avoid-wraps \ + --start-delete="$(print -n $FG[red])" \ + --end-delete="$(print -n $FG[none])" \ + --start-insert="$(print -n $FG[green])" \ + --end-insert="$(print -n $FG[none])" \ + "$@" \ | sed 's/^\(@@\( [+-][[:digit:]]*,[[:digit:]]*\)\{2\} @@\)$/;5;6m\10m/g' - elif (( $+commands[git] )); then - command git --no-pager diff --color=auto --no-ext-diff --no-index --color-words "$@" - else - command wdiff "$@" - fi + elif (( $+commands[git] )); then + command git --no-pager diff --no-ext-diff --no-index --color=auto --color-words "$@" else command wdiff "$@" fi -} +elif (( ! $+commands[wdiff] && $+commands[git] )); then + command git --no-pager diff --no-ext-diff --no-index --color=never "$@" +else + command wdiff "$@" +fi -wdiff "$@" +# } From 6eb4021556ae65279ca5379ea1f8260b3d95d6a9 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Mon, 10 May 2021 16:31:56 -0500 Subject: [PATCH 46/70] utility: Remove redundant `function` clause in 'diff' We don't use `function` clause in Prezto by convention. --- modules/utility/functions/diff | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/modules/utility/functions/diff b/modules/utility/functions/diff index d614b28..4e08494 100644 --- a/modules/utility/functions/diff +++ b/modules/utility/functions/diff @@ -5,13 +5,13 @@ # Sorin Ionescu # -function diff { - if zstyle -t ':prezto:module:utility:diff' color \ - && (( $+commands[colordiff] )); then - command colordiff "$@" - else - command diff "$@" - fi -} +# function diff { -diff "$@" +if zstyle -t ':prezto:module:utility:diff' color \ + && (( $+commands[colordiff] )); then + command colordiff "$@" +else + command diff "$@" +fi + +# } From d3d79bbe746aa16a388f6ae4d1589f1857a444e9 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Mon, 10 May 2021 16:34:00 -0500 Subject: [PATCH 47/70] utility: Use Zsh native mechanism to detect GNU 'du' Skip additional call to `grep` and use Zsh native mechanism to detect GNU version of `du`. Further, Remove redundant `function` clause as per Prezto convention. --- modules/utility/functions/dut | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/modules/utility/functions/dut b/modules/utility/functions/dut index 6592280..1474197 100644 --- a/modules/utility/functions/dut +++ b/modules/utility/functions/dut @@ -6,22 +6,22 @@ # Sorin Ionescu # -function dut { - (( $# == 0 )) && set -- * +# function dut { - if grep -q -i 'GNU' < <(du --version 2>&1); then - du -khsc "$@" | sort -h -r - else - local line size name - local -a record +(( $# == 0 )) && set -- * - while IFS=$'\n' read line; do - record=(${(z)line}) - size="$(($record[1] / 1024.0))" - name="$record[2,-1]" - printf "%9.1LfM %s\n" "$size" "$name" - done < <(du -kcs "$@") | sort -n -r - fi -} +if [[ ${(@M)${(f)"$(du --version 2>&1)"}:#*GNU *} ]]; then + du -khsc "$@" | sort -h -r +else + local line size name + local -a record -dut "$@" + while IFS=$'\n' read line; do + record=(${(z)line}) + size="$(($record[1] / 1024.0))" + name="$record[2,-1]" + printf "%9.1LfM %s\n" "$size" "$name" + done < <(du -kcs "$@") | sort -n -r +fi + +# } From e07fd052d7e6f02c0037f056a7a2069a7fac1c0d Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Mon, 10 May 2021 16:35:26 -0500 Subject: [PATCH 48/70] utility: Simplify conditional block for 'make' helper Further, remove redundant `function` clause as per Prezto convention. --- modules/utility/functions/make | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/modules/utility/functions/make b/modules/utility/functions/make index 5ebab05..7cda8a6 100644 --- a/modules/utility/functions/make +++ b/modules/utility/functions/make @@ -5,16 +5,13 @@ # Sorin Ionescu # -function make { - if zstyle -t ':prezto:module:utility:make' color; then - if (( $+commands[colormake] )); then - colormake "$@" - else - command make "$@" - fi - else - command make "$@" - fi -} +# function make { -make "$@" +if zstyle -t ':prezto:module:utility:make' color \ + && (( $+commands[colormake] )); then + command colormake "$@" +else + command make "$@" +fi + +# } From 7980dd91c9a31ad4974f461efadfee93be7f4000 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Mon, 10 May 2021 13:32:26 -0500 Subject: [PATCH 49/70] gnu-utility: Add more utility commands and rearrange Add missing `basenc`, `egrep`, `fgrep` etc. and reformat a bit. --- modules/gnu-utility/init.zsh | 42 ++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/modules/gnu-utility/init.zsh b/modules/gnu-utility/init.zsh index 4675a3c..85e8605 100644 --- a/modules/gnu-utility/init.zsh +++ b/modules/gnu-utility/init.zsh @@ -6,34 +6,36 @@ # # Get the prefix or use the default. -zstyle -s ':prezto:module:gnu-utility' prefix '_gnu_utility_p' || _gnu_utility_p='g' +zstyle -s ':prezto:module:gnu-utility' prefix '_gnu_utility_p' \ + || _gnu_utility_p='g' # Return if requirements are not found. -if (( ! ${+commands[${_gnu_utility_p}whoami]} )); then +if (( ! $+commands[${_gnu_utility_p}whoami] )); then return 1 fi _gnu_utility_cmds=( # Coreutils - '[' 'b2sum' 'base32' 'base64' 'basename' 'cat' 'chcon' 'chgrp' 'chmod' 'chown' - 'chroot' 'cksum' 'comm' 'cp' 'csplit' 'cut' 'date' 'dd' 'df' - 'dir' 'dircolors' 'dirname' 'du' 'echo' 'env' 'expand' 'expr' - 'factor' 'false' 'fmt' 'fold' 'groups' 'head' 'hostid' 'id' - 'install' 'join' 'kill' 'link' 'ln' 'logname' 'ls' 'md5sum' 'mkdir' - 'mkfifo' 'mknod' 'mktemp' 'mv' 'nice' 'nl' 'nohup' 'nproc' - 'numfmt' 'od' 'paste' 'pathchk' 'pinky' 'pr' 'printenv' 'printf' 'ptx' - 'pwd' 'readlink' 'realpath' 'rm' 'rmdir' 'runcon' 'seq' 'sha1sum' - 'sha224sum' 'sha256sum' 'sha384sum' 'sha512sum' 'shred' 'shuf' + '[' 'b2sum' 'base32' 'base64' 'basename' 'basenc' 'cat' 'chcon' 'chgrp' + 'chmod' 'chown' 'chroot' 'cksum' 'comm' 'cp' 'csplit' 'cut' + 'date' 'dd' 'df' 'dir' 'dircolors' 'dirname' 'du' 'echo' 'env' 'expand' 'expr' + 'factor' 'false' 'fmt' 'fold' 'groups' 'head' 'hostid' 'id' 'install' 'join' + 'kill' 'link' 'ln' 'logname' 'ls' 'md5sum' 'mkdir' 'mkfifo' + 'mknod' 'mktemp' 'mv' 'nice' 'nl' 'nohup' 'nproc' 'numfmt' 'od' + 'paste' 'pathchk' 'pinky' 'pr' 'printenv' 'printf' 'ptx' 'pwd' + 'readlink' 'realpath' 'rm' 'rmdir' 'runcon' + 'seq' 'sha1sum' 'sha224sum' 'sha256sum' 'sha384sum' 'sha512sum' 'shred' 'shuf' 'sleep' 'sort' 'split' 'stat' 'stdbuf' 'stty' 'sum' 'sync' 'tac' 'tail' - 'tee' 'test' 'timeout' 'touch' 'tr' 'true' 'truncate' 'tsort' - 'tty' 'uname' 'unexpand' 'uniq' 'unlink' 'uptime' 'users' 'vdir' + 'tee' 'test' 'timeout' 'touch' 'tr' 'true' 'truncate' 'tsort' 'tty' + 'uname' 'unexpand' 'uniq' 'unlink' 'uptime' 'users' 'vdir' 'wc' 'who' 'whoami' 'yes' # The following utilities are not part of Coreutils but installed separately. # Binutils - 'addr2line' 'ar' 'c++filt' 'elfedit' 'nm' 'objcopy' 'objdump' - 'ranlib' 'readelf' 'size' 'strings' 'strip' + 'addr2line' 'ar' 'c++filt' 'coffdump' 'dlltool' 'dllwrap' 'elfedit' 'nm' + 'objcopy' 'objdump' 'ranlib' 'readelf' + 'size' 'srconv' 'strings' 'strip' 'sysdump' 'windmc' 'windres' # Findutils 'find' 'locate' 'oldfind' 'updatedb' 'xargs' @@ -42,16 +44,18 @@ _gnu_utility_cmds=( 'libtool' 'libtoolize' # Miscellaneous - 'getopt' 'grep' 'indent' 'make' 'sed' 'tar' 'time' 'units' 'which' + 'egrep' 'fgrep' 'getopt' 'grep' 'indent' 'make' 'sed' 'tar' 'time' 'units' + 'which' ) # Wrap GNU utilities in functions. for _gnu_utility_cmd in "${_gnu_utility_cmds[@]}"; do _gnu_utility_pcmd="${_gnu_utility_p}${_gnu_utility_cmd}" - if (( ${+commands[${_gnu_utility_pcmd}]} && ! ${+builtins[${_gnu_utility_cmd}]} )); then + if (( $+commands[$_gnu_utility_pcmd] \ + && ! $+builtins[$_gnu_utility_cmd] )); then eval " - function ${_gnu_utility_cmd} { - '${commands[${_gnu_utility_pcmd}]}' \"\$@\" + function $_gnu_utility_cmd { + '$commands[$_gnu_utility_pcmd]' \"\$@\" } " fi From 515d70f639d76314801bbae7e5f1e20da8a76000 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Wed, 12 May 2021 00:48:41 -0500 Subject: [PATCH 50/70] utility: Add support for 'aria2c' in 'get' alias `get` alias now supports `aria2c` via optional `zstyle`. To configure `aria2c` to be used for `get`, use: zstyle -s ':prezto:module:utility:download' helper 'aria2c' Note that we still fall back to `curl` when the desired download helper isn't available. --- modules/utility/README.md | 14 ++++++++++++-- modules/utility/init.zsh | 18 ++++++++++++++---- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/modules/utility/README.md b/modules/utility/README.md index ef2db25..142b1ea 100644 --- a/modules/utility/README.md +++ b/modules/utility/README.md @@ -64,6 +64,16 @@ _`${ZDOTDIR:-$HOME}/.zpreztorc`_: zstyle ':prezto:module:utility:make' color 'no' ``` +### Download Helper + +To configure the download helper to be used with alias `get`, add the following +to _`${ZDOTDIR:-$HOME}/.zpreztorc`_, and replace `''` with `'curl'`, +`'wget'` or `'aria2c'`. + +```sh +zstyle -s ':prezto:module:utility:download' helper '' +``` + ## Aliases ### Disabled Spelling Correction @@ -107,7 +117,7 @@ zstyle ':prezto:module:utility' correct 'no' - `_` executes a command as another user (`sudo`). - `b` opens the default web browser. -- `diffu` shorthand for `diff --unified` +- `diffu` shorthand for `diff --unified`. - `e` opens the default editor. - `mkdir` creates directories, including intermediary directories. - `p` opens the default pager. @@ -135,7 +145,7 @@ zstyle ':prezto:module:utility' correct 'no' ### macOS Everywhere - `o` opens files and directories (`open` or `xdg-open`). -- `get` downloads files (`curl` or `wget`). +- `get` downloads files (`curl`, `wget` or `aria2c`). - `pbcopy` copies to the pasteboard (`pbcopy`, `xclip` or `xsel`). - `pbpaste` pastes from the pasteboard (`pbcopy`, `xclip` or `xsel`). - `pbc` copies to the pasteboard (`pbcopy`). diff --git a/modules/utility/init.zsh b/modules/utility/init.zsh index 3757e40..c6dc3c0 100644 --- a/modules/utility/init.zsh +++ b/modules/utility/init.zsh @@ -163,12 +163,22 @@ alias pbc='pbcopy' alias pbp='pbpaste' # File Download -if (( $+commands[curl] )); then - alias get='curl --continue-at - --location --progress-bar --remote-name --remote-time' -elif (( $+commands[wget] )); then - alias get='wget --continue --progress=bar --timestamping' +zstyle -s ':prezto:module:utility:download' helper '_download_helper' || _download_helper='curl' + +typeset -A _download_helpers=( + aria2c 'aria2c --continue --remote-time --max-tries=0' + curl 'curl --continue-at - --location --progress-bar --remote-name --remote-time' + wget 'wget --continue --progress=bar --timestamping' +) + +if (( $+commands[$_download_helper] && $+_download_helpers[$_download_helper] )); then + alias get="$_download_helpers[$_download_helper]" +elif (( $+commands[curl] )); then + alias get="$_download_helpers[curl]" fi +unset _download_helper{,s} + # Resource Usage alias df='df -kh' alias du='du -kh' From c6b59f8bb1cd1605769e5f85c961a8dc619e8f42 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Wed, 12 May 2021 17:46:13 -0500 Subject: [PATCH 51/70] completion: Set standard style used by 'list-colors' Set `LS_COLORS` if not already available so that it is available as standard style `list-colors`. This needs to be explicitly set in completion module to ensure that the variable is available even if 'utility' module is not loaded earlier. --- modules/completion/README.md | 9 +++++++-- modules/completion/init.zsh | 23 ++++++++++++++++++----- 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/modules/completion/README.md b/modules/completion/README.md index 5563c85..cdce9e5 100644 --- a/modules/completion/README.md +++ b/modules/completion/README.md @@ -19,6 +19,10 @@ modules that provide completion definitions. - `MENU_COMPLETE` do not autoselect the first completion entry. - `FLOW_CONTROL` disable start/stop characters in shell editor. +## Variables + +- `LS_COLORS` used by default for Zsh [standard style][2] 'list-colors'. + ## Settings ### Ignore _`/etc/hosts`_ Entries @@ -42,9 +46,10 @@ its rules and regulations. This module will be synchronized against it. ## Authors -_The authors of this module should be contacted via the [issue tracker][2]._ +_The authors of this module should be contacted via the [issue tracker][3]._ - [Sorin Ionescu](https://github.com/sorin-ionescu) [1]: https://github.com/zsh-users/zsh-completions -[2]: https://github.com/sorin-ionescu/prezto/issues +[2]: https://zsh.sourceforge.net/Doc/Release/Completion-System.html#Standard-Styles +[3]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/completion/init.zsh b/modules/completion/init.zsh index 691a3e5..0c303a8 100644 --- a/modules/completion/init.zsh +++ b/modules/completion/init.zsh @@ -15,9 +15,9 @@ fi fpath=("${0:h}/external/src" $fpath) # Add completion for keg-only brewed curl when available. -if (( $+commands[brew] && ! $+functions[_curl] )) && \ - [[ -d "${curl_prefix::="$(brew --prefix curl 2> /dev/null)"}" ]]; then - fpath=("${curl_prefix}/share/zsh/site-functions" $fpath) +if (( $+commands[brew] && ! $+functions[_curl] )) \ + && [[ -d "${curl_prefix::="$(brew --prefix curl 2> /dev/null)"}" ]]; then + fpath=("$curl_prefix/share/zsh/site-functions" $fpath) unset curl_prefix fi @@ -35,6 +35,17 @@ setopt EXTENDED_GLOB # Needed for file modification glob modifiers with co unsetopt MENU_COMPLETE # Do not autoselect the first completion entry. unsetopt FLOW_CONTROL # Disable start/stop characters in shell editor. +# +# Variables +# + +# Standard style used by default for 'list-colors' +LS_COLORS="${LS_COLORS:-'di=34:ln=35:so=32:pi=33:ex=31:bd=36;01:cd=33;01:su=31;40;07:sg=36;40;07:tw=32;40;07:ow=33;40;07:'}" + +# +# Initialization +# + # Load and initialize the completion system ignoring insecure directories with a # cache time of 20 hours, so it should almost always regenerate the first time a # shell is opened each day. @@ -56,6 +67,10 @@ unset _comp_path # Styles # +# Defaults. +zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS} +zstyle ':completion:*:default' list-prompt '%S%M matches%s' + # Use caching to make completion for commands such as dpkg and apt usable. zstyle ':completion::complete:*' use-cache on zstyle ':completion::complete:*' cache-path "${XDG_CACHE_HOME:-$HOME/.cache}/prezto/zcompcache" @@ -78,7 +93,6 @@ zstyle ':completion:*:corrections' format ' %F{green}-- %d (errors: %e) --%f' zstyle ':completion:*:descriptions' format ' %F{yellow}-- %d --%f' zstyle ':completion:*:messages' format ' %F{purple} -- %d --%f' zstyle ':completion:*:warnings' format ' %F{red}-- no matches found --%f' -zstyle ':completion:*:default' list-prompt '%S%M matches%s' zstyle ':completion:*' format ' %F{yellow}-- %d --%f' zstyle ':completion:*' group-name '' zstyle ':completion:*' verbose yes @@ -99,7 +113,6 @@ zstyle ':completion:*:functions' ignored-patterns '(_*|pre(cmd|exec))' zstyle ':completion:*:*:-subscript-:*' tag-order indexes parameters # Directories -zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS} zstyle ':completion:*:*:cd:*' tag-order local-directories directory-stack path-directories zstyle ':completion:*:*:cd:*:directory-stack' menu yes select zstyle ':completion:*:-tilde-:*' group-order 'named-directories' 'path-directories' 'users' 'expand' From af46875c5e2c7088b25d7d16e50b6955926b44a4 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Thu, 13 May 2021 15:37:46 -0500 Subject: [PATCH 52/70] node: Revamp and optimize 'node' module Changes: - nodenv and nvm now honors (and prioritizes) `$XDG_CONFIG_HOME` over `$HOME` to lookup local nodenv/nvm installation. - Make `nvm` loading lazy (via `--no-use` argument). - Remove redundant NODENV_ROOT or NVM_DIR, respective script already set them up. - Adhere to more idiomatic Zsh operation and minimize external command usage (like `sed`). --- modules/node/README.md | 7 ++++--- modules/node/functions/node-doc | 2 +- modules/node/init.zsh | 37 ++++++++++++++++++++------------- 3 files changed, 27 insertions(+), 19 deletions(-) diff --git a/modules/node/README.md b/modules/node/README.md index 41130ee..315a7d2 100644 --- a/modules/node/README.md +++ b/modules/node/README.md @@ -9,7 +9,7 @@ enables [_npm_][2] completion. home directory. This will be loaded automatically if nvm is installed in `$NVM_DIR`, -_`~/.nvm`_, or nvm is installed with Homebrew. +_`$XDG_CONFIG_HOME/nvm`_, _`~/.nvm`_, or is installed with homebrew. ## nodenv @@ -18,7 +18,7 @@ Node versions. It is simple and predictable, Just Works, and is rock solid in production. nodenv is forked from the popular [_rbenv_][7]. This will be loaded automatically if nodenv is installed in `$NODENV_ROOT`, -_`~/.nodenv`_, or `nodenv` is on the path. +_`$XDG_CONFIG_HOME/nodenv`_, _`~/.nodenv`_, or `nodenv` is on the path. ## Functions @@ -46,11 +46,12 @@ _The authors of this module should be contacted via the [issue tracker][4]._ - [Sorin Ionescu](https://github.com/sorin-ionescu) - [Zeh Rizzatti](https://github.com/zehrizzatti) +- [Indrajit Raychaudhuri](https://github.com/indrajitr) [1]: http://nodejs.org [2]: http://npmjs.org [3]: http://nodejs.org/api [4]: https://github.com/sorin-ionescu/prezto/issues -[5]: https://github.com/creationix/nvm +[5]: https://github.com/nvm-sh/nvm [6]: https://github.com/nodenv/nodenv [7]: https://github.com/sstephenson/rbenv diff --git a/modules/node/functions/node-doc b/modules/node/functions/node-doc index b1a048b..92ac71d 100644 --- a/modules/node/functions/node-doc +++ b/modules/node/functions/node-doc @@ -13,6 +13,6 @@ if [[ -z "$BROWSER" ]]; then fi # TODO: Make the sections easier to use. -"$BROWSER" "http://nodejs.org/docs/$(node --version | sed 's/-.*//')/api/all.html#${1}" +"$BROWSER" "https://nodejs.org/docs/${$(node --version 2> /dev/null)/%-*}/api/all.html#${1}" # } diff --git a/modules/node/init.zsh b/modules/node/init.zsh index 45a4e8f..e83e888 100644 --- a/modules/node/init.zsh +++ b/modules/node/init.zsh @@ -1,25 +1,32 @@ # -# Loads the Node Version Manager and enables npm completion. +# Configures Node local installation, loads version managers, and defines +# variables and aliases. # # Authors: # Sorin Ionescu # Zeh Rizzatti # +# Possible lookup locations. +local_nvm_paths=({$NVM_DIR,{$XDG_CONFIG_HOME/,$HOME/.}nvm}/nvm.sh(N)) +local_nodenv_paths=({$NODENV_ROOT,{$XDG_CONFIG_HOME/,$HOME/.}nodenv}/bin/nodenv(N)) + # Load manually installed NVM into the shell session. -if [[ -s "${NVM_DIR:=$HOME/.nvm}/nvm.sh" ]]; then - source "${NVM_DIR}/nvm.sh" +if [[ -s ${local_nvm::=$local_nvm_paths[1]} ]]; then + source "$local_nvm --no-use" + unset local_nvm{,_paths} # Load package manager installed NVM into the shell session. -elif (( $+commands[brew] )) && \ - [[ -d "${nvm_prefix::="$(brew --prefix nvm 2> /dev/null)"}" ]]; then - source "${nvm_prefix}/nvm.sh" +elif (( $+commands[brew] )) \ + && [[ -d "${nvm_prefix::="$(brew --prefix nvm 2> /dev/null)"}" ]]; then + source "$nvm_prefix/nvm.sh --no-use" unset nvm_prefix # Load manually installed nodenv into the shell session. -elif [[ -s "${NODENV_ROOT:=$HOME/.nodenv}/bin/nodenv" ]]; then - path=("${NODENV_ROOT}/bin" $path) +elif [[ -s ${local_nodenv::=$local_nodenv_paths[1]} ]]; then + path=("$local_nodenv:h" $path) eval "$(nodenv init - --no-rehash zsh)" + unset local_nodenv{,_paths} # Load package manager installed nodenv into the shell session. elif (( $+commands[nodenv] )); then @@ -31,22 +38,22 @@ elif (( ! $+commands[node] )); then fi # Load NPM and known helper completions. -typeset -A compl_commands=( +typeset -A _compl_commands=( npm 'npm completion' grunt 'grunt --completion=zsh' gulp 'gulp --completion=zsh' ) -for compl_command in "${(k)compl_commands[@]}"; do - if (( $+commands[$compl_command] )); then - cache_file="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/$compl_command-cache.zsh" +for _compl_command in "${(k)_compl_commands[@]}"; do + if (( $+commands[$_compl_command] )); then + cache_file="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/${_compl_command}-cache.zsh" # Completion commands are slow; cache their output if old or missing. - if [[ "$commands[$compl_command]" -nt "$cache_file" \ + if [[ "$commands[$_compl_command]" -nt "$cache_file" \ || "${ZDOTDIR:-$HOME}/.zpreztorc" -nt "$cache_file" \ || ! -s "$cache_file" ]]; then mkdir -p "$cache_file:h" - command ${=compl_commands[$compl_command]} >! "$cache_file" 2> /dev/null + command ${=_compl_commands[$_compl_command]} >! "$cache_file" 2> /dev/null fi source "$cache_file" @@ -55,4 +62,4 @@ for compl_command in "${(k)compl_commands[@]}"; do fi done -unset compl_command{s,} +unset _compl_command{s,} From f84075b8d44a12920d2c1e25a4f8a46e6572eb9b Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Sun, 16 May 2021 20:11:48 -0500 Subject: [PATCH 53/70] node: Prefer nodenv over nvm when available Reverse `nodenv` vs `nvm` selection order, preferring `nodenv` instead. For additional rationale, see: https://github.com/nodenv/nodenv/wiki/Why-nodenv%3F --- modules/node/README.md | 26 +++++++++++++------------- modules/node/functions/node-info | 8 ++++---- modules/node/init.zsh | 24 ++++++++++++------------ 3 files changed, 29 insertions(+), 29 deletions(-) diff --git a/modules/node/README.md b/modules/node/README.md index 315a7d2..2de4faa 100644 --- a/modules/node/README.md +++ b/modules/node/README.md @@ -3,23 +3,23 @@ Provides utility functions for [Node.js][1], loads the Node Version Manager, and enables [_npm_][2] completion. +## nodenv + +[_nodenv_][5] does one thing well - it is concerned solely with switching +Node versions. It is simple and predictable, Just Works, and is rock solid in +production. nodenv is forked from the popular [_rbenv_][6]. + +This will be loaded automatically if nodenv is installed in `$NODENV_ROOT`, +_`$XDG_CONFIG_HOME/nodenv`_, _`~/.nodenv`_, or `nodenv` is on the path. + ## nvm -[_nvm_][5] allows for managing multiple, isolated Node.js installations in the +[_nvm_][7] allows for managing multiple, isolated Node.js installations in the home directory. This will be loaded automatically if nvm is installed in `$NVM_DIR`, _`$XDG_CONFIG_HOME/nvm`_, _`~/.nvm`_, or is installed with homebrew. -## nodenv - -[_nodenv_][6] does one thing well - it is concerned solely with switching -Node versions. It is simple and predictable, Just Works, and is rock solid in -production. nodenv is forked from the popular [_rbenv_][7]. - -This will be loaded automatically if nodenv is installed in `$NODENV_ROOT`, -_`$XDG_CONFIG_HOME/nodenv`_, _`~/.nodenv`_, or `nodenv` is on the path. - ## Functions - `node-doc` opens the Node.js online [API documentation][3] in the default @@ -52,6 +52,6 @@ _The authors of this module should be contacted via the [issue tracker][4]._ [2]: http://npmjs.org [3]: http://nodejs.org/api [4]: https://github.com/sorin-ionescu/prezto/issues -[5]: https://github.com/nvm-sh/nvm -[6]: https://github.com/nodenv/nodenv -[7]: https://github.com/sstephenson/rbenv +[5]: https://github.com/nodenv/nodenv +[6]: https://github.com/sstephenson/rbenv +[7]: https://github.com/nvm-sh/nvm diff --git a/modules/node/functions/node-info b/modules/node/functions/node-info index c43759b..7a59127 100644 --- a/modules/node/functions/node-info +++ b/modules/node/functions/node-info @@ -15,12 +15,12 @@ local version_formatted unset node_info typeset -gA node_info -if (( $+functions[nvm_version] )); then - version="${$(nvm_version)#v}" -elif (( $+commands[nodenv] )); then +if (( $+commands[nodenv] )); then version="${${$(nodenv version)#v}[(w)0]}" +elif (( $+functions[nvm_version] )); then + version="${$(nvm_version)#v}" elif (( $+commands[node] )) ; then - version="${$(node -v)#v}" + version="${$(node -v)#v}" fi if [[ "$version" != (none|system) ]]; then diff --git a/modules/node/init.zsh b/modules/node/init.zsh index e83e888..b436a0d 100644 --- a/modules/node/init.zsh +++ b/modules/node/init.zsh @@ -8,11 +8,21 @@ # # Possible lookup locations. -local_nvm_paths=({$NVM_DIR,{$XDG_CONFIG_HOME/,$HOME/.}nvm}/nvm.sh(N)) local_nodenv_paths=({$NODENV_ROOT,{$XDG_CONFIG_HOME/,$HOME/.}nodenv}/bin/nodenv(N)) +local_nvm_paths=({$NVM_DIR,{$XDG_CONFIG_HOME/,$HOME/.}nvm}/nvm.sh(N)) + +# Load manually installed nodenv into the shell session. +if [[ -s ${local_nodenv::=$local_nodenv_paths[1]} ]]; then + path=("$local_nodenv:h" $path) + eval "$(nodenv init - --no-rehash zsh)" + unset local_nodenv{,_paths} + +# Load package manager installed nodenv into the shell session. +elif (( $+commands[nodenv] )); then + eval "$(nodenv init - --no-rehash zsh)" # Load manually installed NVM into the shell session. -if [[ -s ${local_nvm::=$local_nvm_paths[1]} ]]; then +elif [[ -s ${local_nvm::=$local_nvm_paths[1]} ]]; then source "$local_nvm --no-use" unset local_nvm{,_paths} @@ -22,16 +32,6 @@ elif (( $+commands[brew] )) \ source "$nvm_prefix/nvm.sh --no-use" unset nvm_prefix -# Load manually installed nodenv into the shell session. -elif [[ -s ${local_nodenv::=$local_nodenv_paths[1]} ]]; then - path=("$local_nodenv:h" $path) - eval "$(nodenv init - --no-rehash zsh)" - unset local_nodenv{,_paths} - -# Load package manager installed nodenv into the shell session. -elif (( $+commands[nodenv] )); then - eval "$(nodenv init - --no-rehash zsh)" - # Return if requirements are not found. elif (( ! $+commands[node] )); then return 1 From 9f37fc9841f8cd2eb73966eb9331732f777fa89f Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Sat, 15 May 2021 14:59:31 -0500 Subject: [PATCH 54/70] node: Optimize completions for loading lazily on demand Move `grunt` and `gulp` to separate completion definitions wrapping `grunt --completion=zsh` and `gulp --completion=zsh` respectively. Since the completions are loaded lazily on demand, they avoid the performance overhead during Zsh initialization. Additionally, remove `npm` completion since it is already bundled with Zsh for quite a while. --- modules/node/README.md | 3 +++ modules/node/functions/_grunt | 15 +++++++++++++++ modules/node/functions/_gulp | 15 +++++++++++++++ modules/node/init.zsh | 28 +--------------------------- 4 files changed, 34 insertions(+), 27 deletions(-) create mode 100644 modules/node/functions/_grunt create mode 100644 modules/node/functions/_gulp diff --git a/modules/node/README.md b/modules/node/README.md index 2de4faa..edff6e6 100644 --- a/modules/node/README.md +++ b/modules/node/README.md @@ -3,6 +3,9 @@ Provides utility functions for [Node.js][1], loads the Node Version Manager, and enables [_npm_][2] completion. +This module must be loaded _before_ the _`completion`_ module so that the +provided completion definitions are loaded. + ## nodenv [_nodenv_][5] does one thing well - it is concerned solely with switching diff --git a/modules/node/functions/_grunt b/modules/node/functions/_grunt new file mode 100644 index 0000000..4f1a188 --- /dev/null +++ b/modules/node/functions/_grunt @@ -0,0 +1,15 @@ +#compdef grunt +#autoload + +# +# Grunt completion, delegating to grunt to do all the completion work. +# +# Authors: +# Indrajit Raychaudhuri +# + +if (( $+commands[grunt] )); then + eval "$(grunt --completion=zsh)" + + _grunt_completion "$@" +fi diff --git a/modules/node/functions/_gulp b/modules/node/functions/_gulp new file mode 100644 index 0000000..b06acca --- /dev/null +++ b/modules/node/functions/_gulp @@ -0,0 +1,15 @@ +#compdef gulp +#autoload + +# +# Gulp completion, delegating to gulp to do all the completion work. +# +# Authors: +# Indrajit Raychaudhuri +# + +if (( $+commands[gulp] )); then + eval "$(gulp --completion=zsh)" + + _gulp_completion "$@" +fi diff --git a/modules/node/init.zsh b/modules/node/init.zsh index b436a0d..5051570 100644 --- a/modules/node/init.zsh +++ b/modules/node/init.zsh @@ -5,6 +5,7 @@ # Authors: # Sorin Ionescu # Zeh Rizzatti +# Indrajit Raychaudhuri # # Possible lookup locations. @@ -36,30 +37,3 @@ elif (( $+commands[brew] )) \ elif (( ! $+commands[node] )); then return 1 fi - -# Load NPM and known helper completions. -typeset -A _compl_commands=( - npm 'npm completion' - grunt 'grunt --completion=zsh' - gulp 'gulp --completion=zsh' -) - -for _compl_command in "${(k)_compl_commands[@]}"; do - if (( $+commands[$_compl_command] )); then - cache_file="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/${_compl_command}-cache.zsh" - - # Completion commands are slow; cache their output if old or missing. - if [[ "$commands[$_compl_command]" -nt "$cache_file" \ - || "${ZDOTDIR:-$HOME}/.zpreztorc" -nt "$cache_file" \ - || ! -s "$cache_file" ]]; then - mkdir -p "$cache_file:h" - command ${=_compl_commands[$_compl_command]} >! "$cache_file" 2> /dev/null - fi - - source "$cache_file" - - unset cache_file - fi -done - -unset _compl_command{s,} From 28ec39d9b27a9636af590733028c7b8562175d65 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Sun, 16 May 2021 22:04:27 -0500 Subject: [PATCH 55/70] node: Add environment variable to store 'n' cache See: https://github.com/tj/n#installation for details. --- modules/node/README.md | 5 +++++ modules/node/init.zsh | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/modules/node/README.md b/modules/node/README.md index edff6e6..f72acf6 100644 --- a/modules/node/README.md +++ b/modules/node/README.md @@ -23,6 +23,10 @@ home directory. This will be loaded automatically if nvm is installed in `$NVM_DIR`, _`$XDG_CONFIG_HOME/nvm`_, _`~/.nvm`_, or is installed with homebrew. +## Variables + +- `N_PREFIX` stores the path to [_n_][8] cache. + ## Functions - `node-doc` opens the Node.js online [API documentation][3] in the default @@ -58,3 +62,4 @@ _The authors of this module should be contacted via the [issue tracker][4]._ [5]: https://github.com/nodenv/nodenv [6]: https://github.com/sstephenson/rbenv [7]: https://github.com/nvm-sh/nvm +[8]: https://github.com/tj/n diff --git a/modules/node/init.zsh b/modules/node/init.zsh index 5051570..bc21093 100644 --- a/modules/node/init.zsh +++ b/modules/node/init.zsh @@ -37,3 +37,9 @@ elif (( $+commands[brew] )) \ elif (( ! $+commands[node] )); then return 1 fi + +# +# Variables +# + +N_PREFIX="${XDG_CONFIG_HOME:-$HOME/.config}/n" # The path to 'n' cache. From 9459a716bf672217b8794c82498ba0ffab72caa0 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Sun, 16 May 2021 22:05:27 -0500 Subject: [PATCH 56/70] node: Add handy aliases for 'npm' Add standard `npm` aliases that are used frequently. --- modules/node/README.md | 19 +++++++++++++++++++ modules/node/init.zsh | 20 ++++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/modules/node/README.md b/modules/node/README.md index f72acf6..6ec0b75 100644 --- a/modules/node/README.md +++ b/modules/node/README.md @@ -27,6 +27,25 @@ _`$XDG_CONFIG_HOME/nvm`_, _`~/.nvm`_, or is installed with homebrew. - `N_PREFIX` stores the path to [_n_][8] cache. +## Aliases + +### npm + +- `npmi` install a package. +- `npml` list installed packages. +- `npmo` check for outdated packages. +- `npmp` publish a package. +- `npmP` remove extraneous packages. +- `npmr` run arbitrary package scripts. +- `npms` search for packages. +- `npmt` test a package. +- `npmu` update packages. +- `npmx` uninstalls a package. + +- `npmci` install a project with a clean slate. +- `npmcit` install a project with a clean slate and run tests. +- `npmit` install package(s) and run tests. + ## Functions - `node-doc` opens the Node.js online [API documentation][3] in the default diff --git a/modules/node/init.zsh b/modules/node/init.zsh index bc21093..4f50194 100644 --- a/modules/node/init.zsh +++ b/modules/node/init.zsh @@ -43,3 +43,23 @@ fi # N_PREFIX="${XDG_CONFIG_HOME:-$HOME/.config}/n" # The path to 'n' cache. + +# +# Aliases +# + +# npm +alias npmi='npm install' +alias npml='npm list' +alias npmo='npm outdated' +alias npmp='npm publish' +alias npmP='npm prune' +alias npmr='npm run' +alias npms='npm search' +alias npmt='npm test' +alias npmu='npm update' +alias npmx='npm uninstall' + +alias npmci='npm ci' +alias npmcit='npm cit' +alias npmit='npm it' From efebe3efec375b0a11d6415d2c499cb7955d9c80 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Tue, 11 May 2021 00:35:47 -0500 Subject: [PATCH 57/70] git: Alias and function cleanup and formatting for clarity Changes: - Prefer longer form of git switch for better clarity. - Move `-S` (`--gpg-sign`) in all the alias definitions to the end to allow custom keyid. - Simplify operations in helper functions git native calls. - Apply minor reformatting and rearranging. --- modules/git/README.md | 14 +++--- modules/git/alias.zsh | 53 +++++++++++---------- modules/git/functions/git-info | 62 ++++++++++++++----------- modules/git/functions/git-stash-dropped | 2 +- 4 files changed, 70 insertions(+), 61 deletions(-) diff --git a/modules/git/README.md b/modules/git/README.md index a97cbc0..84fc859 100644 --- a/modules/git/README.md +++ b/modules/git/README.md @@ -66,26 +66,26 @@ zstyle ':prezto:module:git:alias' skip 'yes' ### Commit (c) - `gc` records changes to the repository. -- `gca` stages all modified and deleted files. -- `gcm` records changes to the repository with the given message. - `gcS` records changes to the repository. (Signed) -- `gcSa` stages all modified and deleted files. (Signed) -- `gcSm` records changes to the repository with the given message. (Signed) +- `gca` stages all modified and deleted files. +- `gcaS` stages all modified and deleted files. (Signed) +- `gcm` records changes to the repository with the given message. +- `gcmS` records changes to the repository with the given message. (Signed) - `gcam` stages all modified and deleted files, and records changes to the repository with the given message. - `gco` checks out a branch or paths to work tree. - `gcO` checks out hunks from the index or the tree interactively. - `gcf` amends the tip of the current branch using the same log message as _HEAD_. -- `gcSf` amends the tip of the current branch using the same log message as +- `gcfS` amends the tip of the current branch using the same log message as _HEAD_. (Signed) - `gcF` amends the tip of the current branch. -- `gcSF` amends the tip of the current branch. (Signed) +- `gcFS` amends the tip of the current branch. (Signed) - `gcp` applies changes introduced by existing commits. - `gcP` applies changes introduced by existing commits without committing. - `gcr` reverts existing commits by reverting patches and recording new commits. - `gcR` removes the _HEAD_ commit. -- `gcs` displays various types of objects. +- `gcs` displays commits with various objects. - `gcsS` displays commits with GPG signature. - `gcl` lists lost commits. - `gcy` displays commits yet to be applied to upstream in the short format. diff --git a/modules/git/alias.zsh b/modules/git/alias.zsh index 95b2a0d..f9d4b14 100644 --- a/modules/git/alias.zsh +++ b/modules/git/alias.zsh @@ -8,25 +8,24 @@ # # Settings # -# # Log zstyle -s ':prezto:module:git:log:medium' format '_git_log_medium_format' \ - || _git_log_medium_format='%C(bold)Commit:%C(reset) %C(green)%H%C(red)%d%n%C(bold)Author:%C(reset) %C(cyan)%an <%ae>%n%C(bold)Date:%C(reset) %C(blue)%ai (%ar)%C(reset)%n%+B' + || _git_log_medium_format='%C(bold)Commit:%C(reset) %C(green)%H%C(red)%d%n%C(bold)Author:%C(reset) %C(cyan)%an <%ae>%n%C(bold)Date:%C(reset) %C(blue)%ai (%ar)%C(reset)%n%+B' zstyle -s ':prezto:module:git:log:oneline' format '_git_log_oneline_format' \ - || _git_log_oneline_format='%C(green)%h%C(reset) %s%C(red)%d%C(reset)%n' + || _git_log_oneline_format='%C(green)%h%C(reset) %s%C(red)%d%C(reset)%n' zstyle -s ':prezto:module:git:log:brief' format '_git_log_brief_format' \ - || _git_log_brief_format='%C(green)%h%C(reset) %s%n%C(blue)(%ar by %an)%C(red)%d%C(reset)%n' + || _git_log_brief_format='%C(green)%h%C(reset) %s%n%C(blue)(%ar by %an)%C(red)%d%C(reset)%n' # Status zstyle -s ':prezto:module:git:status:ignore' submodules '_git_status_ignore_submodules' \ - || _git_status_ignore_submodules='none' + || _git_status_ignore_submodules='none' # # Aliases # -if ! zstyle -t ':prezto:module:git:alias' skip 'yes'; then +if ! zstyle -t ':prezto:module:git:alias' skip; then # Git alias g='git' @@ -51,18 +50,18 @@ if ! zstyle -t ':prezto:module:git:alias' skip 'yes'; then # Commit (c) alias gc='git commit --verbose' + alias gcS='git commit --verbose --gpg-sign' alias gca='git commit --verbose --all' + alias gcaS='git commit --verbose --all --gpg-sign' alias gcm='git commit --message' - alias gcS='git commit -S --verbose' - alias gcSa='git commit -S --verbose --all' - alias gcSm='git commit -S --message' + alias gcmS='git commit --message --gpg-sign' alias gcam='git commit --all --message' alias gco='git checkout' alias gcO='git checkout --patch' alias gcf='git commit --amend --reuse-message HEAD' - alias gcSf='git commit -S --amend --reuse-message HEAD' + alias gcfS='git commit --amend --reuse-message HEAD --gpg-sign' alias gcF='git commit --verbose --amend' - alias gcSF='git commit -S --verbose --amend' + alias gcFS='git commit --verbose --amend --gpg-sign' alias gcp='git cherry-pick --ff' alias gcP='git cherry-pick --no-commit' alias gcr='git revert' @@ -70,8 +69,8 @@ if ! zstyle -t ':prezto:module:git:alias' skip 'yes'; then alias gcs='git show' alias gcsS='git show --pretty=short --show-signature' alias gcl='git-commit-lost' - alias gcy='git cherry -v --abbrev' - alias gcY='git cherry -v' + alias gcy='git cherry --verbose --abbrev' + alias gcY='git cherry --verbose' # Conflict (C) alias gCl='git --no-pager diff --name-only --diff-filter=U' @@ -183,15 +182,15 @@ if ! zstyle -t ':prezto:module:git:alias' skip 'yes'; then alias gir='git reset' alias giR='git reset --patch' alias gix='git rm -r --cached' - alias giX='git rm -rf --cached' + alias giX='git rm -r --force --cached' # Log (l) - alias gl='git log --topo-order --pretty=format:"${_git_log_medium_format}"' - alias gls='git log --topo-order --stat --pretty=format:"${_git_log_medium_format}"' - alias gld='git log --topo-order --stat --patch --full-diff --pretty=format:"${_git_log_medium_format}"' - alias glo='git log --topo-order --pretty=format:"${_git_log_oneline_format}"' - alias glg='git log --topo-order --graph --pretty=format:"${_git_log_oneline_format}"' - alias glb='git log --topo-order --pretty=format:"${_git_log_brief_format}"' + alias gl='git log --topo-order --pretty=format:"$_git_log_medium_format"' + alias gls='git log --topo-order --stat --pretty=format:"$_git_log_medium_format"' + alias gld='git log --topo-order --stat --patch --full-diff --pretty=format:"$_git_log_medium_format"' + alias glo='git log --topo-order --pretty=format:"$_git_log_oneline_format"' + alias glg='git log --topo-order --graph --pretty=format:"$_git_log_oneline_format"' + alias glb='git log --topo-order --pretty=format:"$_git_log_brief_format"' alias glc='git shortlog --summary --numbered' alias glS='git log --show-signature' @@ -258,19 +257,19 @@ if ! zstyle -t ':prezto:module:git:alias' skip 'yes'; then # Tag (t) alias gt='git tag' - alias gtl='git tag -l' - alias gts='git tag -s' + alias gtl='git tag --list' + alias gts='git tag --sign' alias gtv='git verify-tag' # Working Copy (w) - alias gws='git status --ignore-submodules=${_git_status_ignore_submodules} --short' - alias gwS='git status --ignore-submodules=${_git_status_ignore_submodules}' + alias gws='git status --ignore-submodules=$_git_status_ignore_submodules --short' + alias gwS='git status --ignore-submodules=$_git_status_ignore_submodules' alias gwd='git diff --no-ext-diff' alias gwD='git diff --no-ext-diff --word-diff' alias gwr='git reset --soft' alias gwR='git reset --hard' - alias gwc='git clean -n' - alias gwC='git clean -f' + alias gwc='git clean --dry-run' + alias gwC='git clean --force' alias gwx='git rm -r' - alias gwX='git rm -rf' + alias gwX='git rm -r --force' fi diff --git a/modules/git/functions/git-info b/modules/git/functions/git-info index 20c284b..af0bea5 100644 --- a/modules/git/functions/git-info +++ b/modules/git/functions/git-info @@ -22,20 +22,22 @@ function _git-action { local revert_sequence_formatted for action_dir in \ - "${git_dir}/rebase-apply" \ - "${git_dir}/rebase" \ - "${git_dir}/../.dotest" + "$git_dir/rebase-apply" \ + "$git_dir/rebase" \ + "$git_dir/../.dotest" do if [[ -d "$action_dir" ]] ; then - zstyle -s ':prezto:module:git:info:action:apply' format 'apply_formatted' || apply_formatted='apply' - zstyle -s ':prezto:module:git:info:action:rebase' format 'rebase_formatted' || rebase_formatted='rebase' + zstyle -s ':prezto:module:git:info:action:apply' format 'apply_formatted' \ + || apply_formatted='apply' + zstyle -s ':prezto:module:git:info:action:rebase' format 'rebase_formatted' \ + || rebase_formatted='rebase' - if [[ -f "${action_dir}/rebasing" ]] ; then + if [[ -f "$action_dir/rebasing" ]] ; then print "$rebase_formatted" - elif [[ -f "${action_dir}/applying" ]] ; then + elif [[ -f "$action_dir/applying" ]] ; then print "$apply_formatted" else - print "${rebase_formatted}/${apply_formatted}" + print "$rebase_formatted/$apply_formatted" fi return 0 @@ -43,59 +45,67 @@ function _git-action { done for action_dir in \ - "${git_dir}/rebase-merge/interactive" \ - "${git_dir}/.dotest-merge/interactive" + "$git_dir/rebase-merge/interactive" \ + "$git_dir/.dotest-merge/interactive" do if [[ -f "$action_dir" ]]; then - zstyle -s ':prezto:module:git:info:action:rebase-interactive' format 'rebase_interactive_formatted' || rebase_interactive_formatted='rebase-interactive' + zstyle -s ':prezto:module:git:info:action:rebase-interactive' format 'rebase_interactive_formatted' \ + || rebase_interactive_formatted='rebase-interactive' print "$rebase_interactive_formatted" return 0 fi done for action_dir in \ - "${git_dir}/rebase-merge" \ - "${git_dir}/.dotest-merge" + "$git_dir/rebase-merge" \ + "$git_dir/.dotest-merge" do if [[ -d "$action_dir" ]]; then - zstyle -s ':prezto:module:git:info:action:rebase-merge' format 'rebase_merge_formatted' || rebase_merge_formatted='rebase-merge' + zstyle -s ':prezto:module:git:info:action:rebase-merge' format 'rebase_merge_formatted' \ + || rebase_merge_formatted='rebase-merge' print "$rebase_merge_formatted" return 0 fi done - if [[ -f "${git_dir}/MERGE_HEAD" ]]; then - zstyle -s ':prezto:module:git:info:action:merge' format 'merge_formatted' || merge_formatted='merge' + if [[ -f "$git_dir/MERGE_HEAD" ]]; then + zstyle -s ':prezto:module:git:info:action:merge' format 'merge_formatted' \ + || merge_formatted='merge' print "$merge_formatted" return 0 fi - if [[ -f "${git_dir}/CHERRY_PICK_HEAD" ]]; then - if [[ -d "${git_dir}/sequencer" ]] ; then - zstyle -s ':prezto:module:git:info:action:cherry-pick-sequence' format 'cherry_pick_sequence_formatted' || cherry_pick_sequence_formatted='cherry-pick-sequence' + if [[ -f "$git_dir/CHERRY_PICK_HEAD" ]]; then + if [[ -d "$git_dir/sequencer" ]] ; then + zstyle -s ':prezto:module:git:info:action:cherry-pick-sequence' format 'cherry_pick_sequence_formatted' \ + || cherry_pick_sequence_formatted='cherry-pick-sequence' print "$cherry_pick_sequence_formatted" else - zstyle -s ':prezto:module:git:info:action:cherry-pick' format 'cherry_pick_formatted' || cherry_pick_formatted='cherry-pick' + zstyle -s ':prezto:module:git:info:action:cherry-pick' format 'cherry_pick_formatted' \ + || cherry_pick_formatted='cherry-pick' print "$cherry_pick_formatted" fi return 0 fi - if [[ -f "${git_dir}/REVERT_HEAD" ]]; then - if [[ -d "${git_dir}/sequencer" ]] ; then - zstyle -s ':prezto:module:git:info:action:revert-sequence' format 'revert_sequence_formatted' || revert_sequence_formatted='revert-sequence' + if [[ -f "$git_dir/REVERT_HEAD" ]]; then + if [[ -d "$git_dir/sequencer" ]] ; then + zstyle -s ':prezto:module:git:info:action:revert-sequence' format 'revert_sequence_formatted' \ + || revert_sequence_formatted='revert-sequence' print "$revert_sequence_formatted" else - zstyle -s ':prezto:module:git:info:action:revert' format 'revert_formatted' || revert_formatted='revert' + zstyle -s ':prezto:module:git:info:action:revert' format 'revert_formatted' \ + || revert_formatted='revert' print "$revert_formatted" fi return 0 fi - if [[ -f "${git_dir}/BISECT_LOG" ]]; then - zstyle -s ':prezto:module:git:info:action:bisect' format 'bisect_formatted' || bisect_formatted='bisect' + if [[ -f "$git_dir/BISECT_LOG" ]]; then + zstyle -s ':prezto:module:git:info:action:bisect' format 'bisect_formatted' \ + || bisect_formatted='bisect' print "$bisect_formatted" return 0 fi diff --git a/modules/git/functions/git-stash-dropped b/modules/git/functions/git-stash-dropped index d9e759e..142a4a7 100644 --- a/modules/git/functions/git-stash-dropped +++ b/modules/git/functions/git-stash-dropped @@ -16,7 +16,7 @@ command git fsck --unreachable 2> /dev/null \ | grep 'commit' \ | awk '{print $3}' \ | command git log \ - --pretty=format:${_git_log_oneline_format} \ + --pretty=format:$_git_log_oneline_format \ --extended-regexp \ --grep="${1:-(WIP )?[Oo]n [^:]+:}" \ --merges \ From a3643f124e91d9ef55da5c0bcf2b3be257e84843 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Wed, 19 May 2021 19:54:57 -0500 Subject: [PATCH 58/70] git: Optimize scripts for git helper functions Optimize git internal calls and adjustment git helper functions to use more idiomatic Zsh conventions avoiding external calls. --- modules/git/functions/git-hub-browse | 12 ++++++------ modules/git/functions/git-hub-shorten-url | 2 +- modules/git/functions/git-info | 4 ++-- modules/git/functions/git-stash-clear-interactive | 2 +- modules/git/functions/git-submodule-move | 2 +- modules/git/functions/git-submodule-remove | 6 +++--- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/modules/git/functions/git-hub-browse b/modules/git/functions/git-hub-browse index cb3fc60..bdeb298 100644 --- a/modules/git/functions/git-hub-browse +++ b/modules/git/functions/git-hub-browse @@ -15,7 +15,7 @@ fi local remotes remote references reference file url remote="${1:-origin}" -remotes=($(command git config --get-regexp 'remote.*.url' | cut -d. -f2)) +remotes=($(command git remote show)) if (( $remotes[(i)$remote] == $#remotes + 1 )); then print "$0: remote not found: $remote" >&2 @@ -23,14 +23,14 @@ if (( $remotes[(i)$remote] == $#remotes + 1 )); then fi url=$( - command git config --get "remote.${remote}.url" \ - | sed -En "s/(git|https?)(@|:\/\/)github.com(:|\/)(.+)\/(.+).git/https:\/\/github.com\/\4\/\5/p" + command git remote get-url "$remote" \ + | sed -En "s#(git@|https?://)(github.com)(:|/)(.+)/(.+)\.git#https://\2/\4/\5#p" ) reference="${${2:-$(git-branch-current)}:-HEAD}" references=( HEAD - ${$(command git ls-remote --heads --tags "$remote" | awk '{print $2}')##refs/(heads|tags)/} + ${${(f)"$(command git ls-remote --heads --tags "$remote")"}##*refs/(heads|tags)/} ) if (( $references[(i)$reference] == $#references + 1 )); then @@ -45,9 +45,9 @@ fi file="$3" if [[ -n "$url" ]]; then - url="${url}/tree/${reference}/${file}" + url="$url/tree/$reference/$file" - if (( $+commands[$BROWSER] )); then + if [[ -z "$BROWSER" ]]; then "$BROWSER" "$url" return 0 else diff --git a/modules/git/functions/git-hub-shorten-url b/modules/git/functions/git-hub-shorten-url index 470c093..b9edd01 100644 --- a/modules/git/functions/git-hub-shorten-url +++ b/modules/git/functions/git-hub-shorten-url @@ -19,7 +19,7 @@ if [[ -z "$url" || ! "$url" =~ ^https?:\/\/.*github.com\/ ]]; then fi if (( $+commands[curl] )); then - curl -s -i 'https://git.io' -F "url=$url" ${(s: :)code:+ -F "code=$code"} | sed -n 's/^Location: //p' + print "${${(@M)${(f)"$(curl -s -i 'https://git.io' -F "url=$url" ${(z)code:+ -F "code=$code"})"}:#Location: *}#Location: }" else print "$0: command not found: curl" >&2 return 1 diff --git a/modules/git/functions/git-info b/modules/git/functions/git-info index af0bea5..07f261d 100644 --- a/modules/git/functions/git-info +++ b/modules/git/functions/git-info @@ -229,8 +229,8 @@ function git-info { [[ "$commondir" =~ ^/ ]] || commondir="$(git-dir)/$commondir" fi if [[ -f "$(git-dir)/refs/stash" || ( -n "$commondir" && -f "$commondir/refs/stash" ) ]]; then - stashed="$(command git stash list 2> /dev/null | wc -l | awk '{print $1}')" - if [[ -n "$stashed" ]]; then + stashed=${#${(f)"$(command git stash list 2> /dev/null)"}} + if (( $stashed > 0 )); then zformat -f stashed_formatted "$stashed_format" "S:$stashed" fi fi diff --git a/modules/git/functions/git-stash-clear-interactive b/modules/git/functions/git-stash-clear-interactive index cc665a1..163deac 100644 --- a/modules/git/functions/git-stash-clear-interactive +++ b/modules/git/functions/git-stash-clear-interactive @@ -15,7 +15,7 @@ fi local stashed if [[ -f "$(git-dir)/refs/stash" ]]; then - stashed="$(command git stash list 2> /dev/null | wc -l | awk '{print $1}')" + stashed=${#${(f)"$(command git stash list 2> /dev/null)"}} if (( $stashed > 0 )); then if read -q "?Clear $stashed stashed state(s) [y/N]? "; then command git stash clear diff --git a/modules/git/functions/git-submodule-move b/modules/git/functions/git-submodule-move index 746f46e..5e162a1 100644 --- a/modules/git/functions/git-submodule-move +++ b/modules/git/functions/git-submodule-move @@ -26,7 +26,7 @@ if [[ -z "$url" ]]; then return 1 fi -mkdir -p "${dst:h}" +mkdir -p "$dst:h" git-submodule-remove "$src" command git submodule add "$url" "$dst" diff --git a/modules/git/functions/git-submodule-remove b/modules/git/functions/git-submodule-remove index c8c11aa..b523314 100644 --- a/modules/git/functions/git-submodule-remove +++ b/modules/git/functions/git-submodule-remove @@ -22,9 +22,9 @@ command git config --file "$(git-dir)/config" --remove-section "submodule.${1}" command git config --file "$(git-root)/.gitmodules" --remove-section "submodule.${1}" &> /dev/null command git add .gitmodules -command git rm --cached -rf "${1}" -rm -rf "${1}" -rm -rf "$(git-dir)/modules/${1}" +command git rm --cached -rf "$1" +rm -rf "$1" +rm -rf "$(git-dir)/modules/$1" return 0 From c4a8f446c6d7d67e675d60c055ae8098dc8af9fe Mon Sep 17 00:00:00 2001 From: hidekuro Date: Mon, 17 May 2021 17:44:02 +0900 Subject: [PATCH 59/70] git: Use `update` instead of `foreach` in alias 'gSu' Modern `git` can use `submodule` option `update` instead of `foreach` to achieve approximately similar outcome. To allows call without assuming that all submodules will have default branch as `master`, the preferred approach would be to call `git submodule update --remote --recursive` after registering the correct branch for submodule in `.gitmodules`: ``` git config -f .gitmodules submodule..branch ``` For more discussion, see: https://stackoverflow.com/a/33835815 Signed-off-by: Indrajit Raychaudhuri --- modules/git/alias.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/git/alias.zsh b/modules/git/alias.zsh index f9d4b14..f14cca5 100644 --- a/modules/git/alias.zsh +++ b/modules/git/alias.zsh @@ -252,7 +252,7 @@ if ! zstyle -t ':prezto:module:git:alias' skip; then alias gSl='git submodule status' alias gSm='git-submodule-move' alias gSs='git submodule sync' - alias gSu='git submodule foreach git pull origin master' + alias gSu='git submodule update --remote --recursive' alias gSx='git-submodule-remove' # Tag (t) From 979144d0e490c3f130f430e99154e3d2ce063d94 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Mon, 17 May 2021 15:07:12 -0500 Subject: [PATCH 60/70] git: Update minimum required git version to 2.11 Git 2.11+ has more versatile `submodule`, `fetch`, `rebase` options for common use-cases. --- modules/git/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/git/README.md b/modules/git/README.md index 84fc859..fad57a1 100644 --- a/modules/git/README.md +++ b/modules/git/README.md @@ -7,7 +7,8 @@ This module must be loaded _before_ the [_`completion`_][13] module so that the provided completion definitions are loaded automatically by _`completion`_ module. -**Note:** Git **1.7.2** is the [minimum required version][7]. +**Note:** Git **2.11** is the minimum required version for better +[git-rev-list][7] and [git-submodule][14] support. ## Settings @@ -460,3 +461,4 @@ _The authors of this module should be contacted via the [issue tracker][6]._ [11]: https://www.manpagez.com/man/1/gm/ [12]: https://github.blog/2011-11-10-git-io-github-url-shortener [13]: ../completion#readme +[14]: https://github.com/sorin-ionescu/prezto/pull/1929 From 7052e2a0024d8d9815ee3284debd10a38a8c134f Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Sun, 23 May 2021 19:35:55 -0500 Subject: [PATCH 61/70] completion: Skip completion lookup for key-only brewed curl Skip lookup for `_curl` completion function to avoid fallback completion having higher priority. --- modules/completion/init.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/completion/init.zsh b/modules/completion/init.zsh index 0c303a8..0500ef8 100644 --- a/modules/completion/init.zsh +++ b/modules/completion/init.zsh @@ -7,7 +7,7 @@ # # Return if requirements are not found. -if [[ "$TERM" == 'dumb' ]]; then +if [[ $TERM == 'dumb' ]]; then return 1 fi @@ -15,7 +15,7 @@ fi fpath=("${0:h}/external/src" $fpath) # Add completion for keg-only brewed curl when available. -if (( $+commands[brew] && ! $+functions[_curl] )) \ +if (( $+commands[brew] )) \ && [[ -d "${curl_prefix::="$(brew --prefix curl 2> /dev/null)"}" ]]; then fpath=("$curl_prefix/share/zsh/site-functions" $fpath) unset curl_prefix From 53033bc5d9b279cc04e6c80eb5aa3070f9db7471 Mon Sep 17 00:00:00 2001 From: Ehren Kret Date: Mon, 24 May 2021 09:04:19 -0500 Subject: [PATCH 62/70] Fix broken source commands in node module Placing `--no-use` inside the quoted string results in source attempting to load a file which literally ends with ` --no-use` instead of passing --no-use as an argument. --- modules/node/init.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/node/init.zsh b/modules/node/init.zsh index 4f50194..55a54f8 100644 --- a/modules/node/init.zsh +++ b/modules/node/init.zsh @@ -24,13 +24,13 @@ elif (( $+commands[nodenv] )); then # Load manually installed NVM into the shell session. elif [[ -s ${local_nvm::=$local_nvm_paths[1]} ]]; then - source "$local_nvm --no-use" + source "$local_nvm" --no-use unset local_nvm{,_paths} # Load package manager installed NVM into the shell session. elif (( $+commands[brew] )) \ && [[ -d "${nvm_prefix::="$(brew --prefix nvm 2> /dev/null)"}" ]]; then - source "$nvm_prefix/nvm.sh --no-use" + source "$nvm_prefix/nvm.sh" --no-use unset nvm_prefix # Return if requirements are not found. From 9037fda36d935830d0b2ec2437978ea7fde23c97 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Tue, 25 May 2021 15:18:54 -0500 Subject: [PATCH 63/70] completion: Avoid double-quoting LS_COLORS for completion Double-quoting `LS_COLORS` prevents it from loading in environment, which isn't what we want. --- modules/completion/init.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/completion/init.zsh b/modules/completion/init.zsh index 0500ef8..0fdf314 100644 --- a/modules/completion/init.zsh +++ b/modules/completion/init.zsh @@ -40,7 +40,7 @@ unsetopt FLOW_CONTROL # Disable start/stop characters in shell editor. # # Standard style used by default for 'list-colors' -LS_COLORS="${LS_COLORS:-'di=34:ln=35:so=32:pi=33:ex=31:bd=36;01:cd=33;01:su=31;40;07:sg=36;40;07:tw=32;40;07:ow=33;40;07:'}" +LS_COLORS=${LS_COLORS:-'di=34:ln=35:so=32:pi=33:ex=31:bd=36;01:cd=33;01:su=31;40;07:sg=36;40;07:tw=32;40;07:ow=33;40;07:'} # # Initialization From d686da3c039a1ed0ae271860d271ec966f59c16a Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Mon, 30 Nov 2020 22:05:27 -0600 Subject: [PATCH 64/70] python: Reformat and apply visual cleanup Changes: - Fallback to `virtualenvwrapper` without `pyenv` wrapper if `python` is available in path, regardless of whether `brew` is available. - Look up for availability of `python2` and `python3`, not just `python`. - Check for existence of path before adding to global `$path` array. - Adhere to more idiomatic Zsh operation and minimize redundant syntaxes. - Prefer looking up `$functions` for fully initialized `pyenv`. --- modules/python/init.zsh | 79 +++++++++++++++++------------------------ 1 file changed, 33 insertions(+), 46 deletions(-) diff --git a/modules/python/init.zsh b/modules/python/init.zsh index b878f04..29fc8dc 100644 --- a/modules/python/init.zsh +++ b/modules/python/init.zsh @@ -7,12 +7,12 @@ # Patrick Bos # -# Load dependencies +# Load dependencies. pmodload 'helper' # Load manually installed pyenv into the path if [[ -s "${PYENV_ROOT:=$HOME/.pyenv}/bin/pyenv" ]]; then - path=("${PYENV_ROOT}/bin" $path) + path=("$PYENV_ROOT/bin" $path) eval "$(pyenv init - --no-rehash zsh)" # Load pyenv into the current python session @@ -24,52 +24,48 @@ elif (( $+commands[pyenv] )); then # path can be overridden using PYTHONUSERBASE. else if [[ -n "$PYTHONUSERBASE" ]]; then - path=($PYTHONUSERBASE/bin $path) + path=($PYTHONUSERBASE/bin(N) $path) elif is-darwin; then path=($HOME/Library/Python/*/bin(N) $path) else # This is subject to change. - path=($HOME/.local/bin $path) + path=($HOME/.local/bin(N) $path) fi fi # Return if requirements are not found. -if (( ! $+commands[python] && ! $+commands[pyenv] )); then +if (( ! $#commands[(i)python[23]#] && ! $+functions[pyenv] )); then return 1 fi function _python-workon-cwd { - # Check if this is a Git repo - local GIT_REPO_ROOT="" - local GIT_TOPLEVEL="$(git rev-parse --show-toplevel 2> /dev/null)" - if [[ $? == 0 ]]; then - GIT_REPO_ROOT="$GIT_TOPLEVEL" - fi - # Get absolute path, resolving symlinks - local PROJECT_ROOT="${PWD:A}" + # Check if this is a Git repo. + local GIT_REPO_ROOT="$(git rev-parse --show-toplevel 2> /dev/null)" + # Get absolute path, resolving symlinks. + local PROJECT_ROOT="$PWD:A" while [[ "$PROJECT_ROOT" != "/" && ! -e "$PROJECT_ROOT/.venv" \ - && ! -d "$PROJECT_ROOT/.git" && "$PROJECT_ROOT" != "$GIT_REPO_ROOT" ]]; do - PROJECT_ROOT="${PROJECT_ROOT:h}" + && ! -d "$PROJECT_ROOT/.git" && "$PROJECT_ROOT" != "$GIT_REPO_ROOT" ]]; do + PROJECT_ROOT="$PROJECT_ROOT:h" done - if [[ "$PROJECT_ROOT" == "/" ]]; then + if [[ $PROJECT_ROOT == "/" ]]; then PROJECT_ROOT="." fi - # Check for virtualenv name override + # Check for virtualenv name override. local ENV_NAME="" if [[ -f "$PROJECT_ROOT/.venv" ]]; then - ENV_NAME="$(cat "$PROJECT_ROOT/.venv")" + ENV_NAME="$(<$PROJECT_ROOT/.venv)" elif [[ -f "$PROJECT_ROOT/.venv/bin/activate" ]]; then ENV_NAME="$PROJECT_ROOT/.venv" - elif [[ "$PROJECT_ROOT" != "." ]]; then - ENV_NAME="${PROJECT_ROOT:t}" + elif [[ $PROJECT_ROOT != "." ]]; then + ENV_NAME="$PROJECT_ROOT:t" fi if [[ -n $CD_VIRTUAL_ENV && "$ENV_NAME" != "$CD_VIRTUAL_ENV" ]]; then - # We've just left the repo, deactivate the environment - # Note: this only happens if the virtualenv was activated automatically + # We've just left the repo, deactivate the environment. + # Note: this only happens if the virtualenv was activated automatically. deactivate && unset CD_VIRTUAL_ENV fi - if [[ "$ENV_NAME" != "" ]]; then - # Activate the environment only if it is not already active + if [[ $ENV_NAME != "" ]]; then + # Activate the environment only if it is not already active. if [[ "$VIRTUAL_ENV" != "$WORKON_HOME/$ENV_NAME" ]]; then if [[ -n "$WORKON_HOME" && -e "$WORKON_HOME/$ENV_NAME/bin/activate" ]]; then workon "$ENV_NAME" && export CD_VIRTUAL_ENV="$ENV_NAME" @@ -80,17 +76,17 @@ function _python-workon-cwd { fi } -# Load auto workon cwd hook -if zstyle -t ':prezto:module:python:virtualenv' auto-switch 'yes'; then - # Auto workon when changing directory +# Load auto workon cwd hook. +if zstyle -t ':prezto:module:python:virtualenv' auto-switch; then + # Auto workon when changing directory. autoload -Uz add-zsh-hook add-zsh-hook chpwd _python-workon-cwd fi # Load virtualenvwrapper into the shell session, if pre-requisites are met # and unless explicitly requested not to -if (( $+VIRTUALENVWRAPPER_VIRTUALENV || $+commands[virtualenv] )) && \ - zstyle -T ':prezto:module:python:virtualenv' initialize ; then +if (( $+VIRTUALENVWRAPPER_VIRTUALENV || $+commands[virtualenv] )) \ + && zstyle -T ':prezto:module:python:virtualenv' initialize ; then # Set the directory where virtual environments are stored. export WORKON_HOME="${WORKON_HOME:-$HOME/.virtualenvs}" @@ -105,7 +101,7 @@ if (( $+VIRTUALENVWRAPPER_VIRTUALENV || $+commands[virtualenv] )) && \ # can exist in 'pyenv' synthesized paths (e.g., '~/.pyenv/plugins') instead. local -a pyenv_plugins if (( $+commands[pyenv] )); then - pyenv_plugins=(${(@oM)${(f)"$(pyenv commands --no-sh 2>/dev/null)"}:#virtualenv*}) + pyenv_plugins=(${(@oM)${(f)"$(pyenv commands --no-sh 2> /dev/null)"}:#virtualenv*}) fi if (( $pyenv_plugins[(i)virtualenv-init] <= $#pyenv_plugins )); then @@ -117,19 +113,10 @@ if (( $+VIRTUALENVWRAPPER_VIRTUALENV || $+commands[virtualenv] )) && \ pyenv "$pyenv_plugins[(R)virtualenvwrapper(_lazy|)]" fi else - # Fallback to 'virtualenvwrapper' without 'pyenv' wrapper if available - # in '$path' or in an alternative location on a Debian based system. - # - # If homebrew is installed and the python location wasn't overridden via - # environment variable we fall back to python3 then python2 in that order. - # This is needed to fix an issue with virtualenvwrapper as homebrew no - # longer shadows the system python. - if [[ -z "$VIRTUALENVWRAPPER_PYTHON" ]] && (( $+commands[brew] )); then - if (( $+commands[python3] )); then - export VIRTUALENVWRAPPER_PYTHON=$commands[python3] - elif (( $+commands[python2] )); then - export VIRTUALENVWRAPPER_PYTHON=$commands[python2] - fi + # Fallback to 'virtualenvwrapper' without 'pyenv' wrapper if 'python' is + # available in '$path'. + if (( ! $+VIRTUALENVWRAPPER_PYTHON )) && (( $#commands[(i)python[23]#] )); then + VIRTUALENVWRAPPER_PYTHON=$commands[(i)python[23]#] fi virtenv_sources=( @@ -137,7 +124,7 @@ if (( $+VIRTUALENVWRAPPER_VIRTUALENV || $+commands[virtualenv] )) && \ /usr/share/virtualenvwrapper/virtualenvwrapper(_lazy|).sh(OnN) ) if (( $#virtenv_sources )); then - source "${virtenv_sources[1]}" + source "$virtenv_sources[1]" fi unset virtenv_sources @@ -150,7 +137,7 @@ fi # Detect and use one available from among 'pip', 'pip2', 'pip3' variants if [[ -n "$PYENV_ROOT" ]]; then for pip in pip{,2,3}; do - pip_command="$(pyenv which "$pip" 2>/dev/null)" + pip_command="$(pyenv which "$pip" 2> /dev/null)" [[ -n "$pip_command" ]] && break done unset pip @@ -177,7 +164,7 @@ if [[ -n "$pip_command" ]]; then fi unset pip_command -# Load conda into the shell session, if requested +# Load conda into the shell session, if requested. zstyle -T ':prezto:module:python' conda-init if (( $? && $+commands[conda] )); then if (( $(conda ..changeps1) )); then From f0942e6dda6c4bc0711a58efce71d4b11eea7b5b Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Mon, 30 Nov 2020 23:55:27 -0600 Subject: [PATCH 65/70] python: Optimize completion for loading lazily on demand Move `pip` to separate completion definition delegating to pip to do all the completion work. Since the completion is loaded lazily on-demand, it avoids the performance overhead during Zsh initialization. Implementation note: The helper function `_pip_completion` implementation is based on the official pip completion function (which can be generated with `pip completion --zsh`) adhering to the newer compsys style. See: 'man zshcompsys' for more details. --- modules/python/README.md | 5 ++++- modules/python/functions/_pip | 19 +++++++++++++++++++ modules/python/init.zsh | 32 +------------------------------- 3 files changed, 24 insertions(+), 32 deletions(-) create mode 100644 modules/python/functions/_pip diff --git a/modules/python/README.md b/modules/python/README.md index fa5140a..3c56612 100644 --- a/modules/python/README.md +++ b/modules/python/README.md @@ -2,6 +2,9 @@ Enables local Python and local Python package installation. +This module must be loaded _before_ the _`completion`_ module so that the +provided completion definitions are loaded. + ## Settings This module supports virtual environments from conda and @@ -143,7 +146,7 @@ Then add `$python_info[virtualenv]` to `$PROMPT` or `$RPROMPT` and call Similarly, you can use `:prezto:module:python:info:version:format` with `%v` for the version and add `$python_info[version]` to your prompt for the current -python version/ +python version. ## Authors diff --git a/modules/python/functions/_pip b/modules/python/functions/_pip new file mode 100644 index 0000000..4e0ffb8 --- /dev/null +++ b/modules/python/functions/_pip @@ -0,0 +1,19 @@ +#compdef -P pip[0-9.]# +#autoload + +# +# Pip completion, delegating to pip to do all the completion work. +# +# Authors: +# Indrajit Raychaudhuri +# + +if (( $+commands[$words[1]] )); then + + function _pip_completion { + compadd -- $( COMP_WORDS="$words[*]" COMP_CWORD=$(( CURRENT - 1 )) \ + PIP_AUTO_COMPLETE=1 $words[1] 2>/dev/null ) + } + _pip_completion "$@" + +fi diff --git a/modules/python/init.zsh b/modules/python/init.zsh index 29fc8dc..0682b43 100644 --- a/modules/python/init.zsh +++ b/modules/python/init.zsh @@ -5,6 +5,7 @@ # Sorin Ionescu # Sebastian Wiesner # Patrick Bos +# Indrajit Raychaudhuri # # Load dependencies. @@ -133,37 +134,6 @@ if (( $+VIRTUALENVWRAPPER_VIRTUALENV || $+commands[virtualenv] )) \ unset pyenv_plugins fi -# Load PIP completion. -# Detect and use one available from among 'pip', 'pip2', 'pip3' variants -if [[ -n "$PYENV_ROOT" ]]; then - for pip in pip{,2,3}; do - pip_command="$(pyenv which "$pip" 2> /dev/null)" - [[ -n "$pip_command" ]] && break - done - unset pip -else - pip_command="$commands[(i)pip(|[23])]" -fi -if [[ -n "$pip_command" ]]; then - cache_file="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/pip-cache.zsh" - - if [[ "$pip_command" -nt "$cache_file" \ - || "${ZDOTDIR:-$HOME}/.zpreztorc" -nt "$cache_file" \ - || ! -s "$cache_file" ]]; then - mkdir -p "$cache_file:h" - # pip is slow; cache its output. And also support 'pip2', 'pip3' variants - "$pip_command" completion --zsh \ - | sed -e "s/\(compctl -K [-_[:alnum:]]* pip\).*/\1{,2,3}{,.{0..9}}/" \ - >! "$cache_file" \ - 2> /dev/null - fi - - source "$cache_file" - - unset cache_file -fi -unset pip_command - # Load conda into the shell session, if requested. zstyle -T ':prezto:module:python' conda-init if (( $? && $+commands[conda] )); then From afe59b293b5d91353f58a4c786a560242bb43415 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Mon, 24 May 2021 17:31:17 -0500 Subject: [PATCH 66/70] python: Update pyenv initialization flow per pyenv 2.0 In pyenv 2.0 onwards, it is not enough anymore to initialize pyenv in shell by just calling `pyenv init -`. We also need to update `path` to include pyenv shims by calling `pyenv init --path`. Also, honor `$PYENV_ROOT` if set but, no need to set it explicitly if not set. Instead, let the initialization script take care of that. --- modules/python/README.md | 4 +++- modules/python/init.zsh | 23 ++++++++++++++++------- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/modules/python/README.md b/modules/python/README.md index 3c56612..1695fa0 100644 --- a/modules/python/README.md +++ b/modules/python/README.md @@ -38,7 +38,9 @@ execution of `pyenv`. Install Python versions with `pyenv install` into _`~/.pyenv/versions`_. This will be loaded automatically if pyenv is installed to `$PYENV_ROOT`, -_`~/.pyenv`_, or if the `pyenv` command is on the path. +_`~/.pyenv`_, or if the `pyenv` command is on the path. By default, `PYENV_ROOT` +is set to _`$HOME/.pyenv`_. You can set it to an alternate location and export +it in [_`${ZDOTDIR:-$HOME}/.zshenv`_][6]. ## Local Package Installation diff --git a/modules/python/init.zsh b/modules/python/init.zsh index 0682b43..ed68990 100644 --- a/modules/python/init.zsh +++ b/modules/python/init.zsh @@ -11,14 +11,21 @@ # Load dependencies. pmodload 'helper' -# Load manually installed pyenv into the path -if [[ -s "${PYENV_ROOT:=$HOME/.pyenv}/bin/pyenv" ]]; then - path=("$PYENV_ROOT/bin" $path) - eval "$(pyenv init - --no-rehash zsh)" +# Load manually installed or package manager installed pyenv into the shell +# session. +if [[ -s "${local_pyenv::=${PYENV_ROOT:-$HOME/.pyenv}/bin/pyenv}" ]] \ + || (( $+commands[pyenv] )); then -# Load pyenv into the current python session -elif (( $+commands[pyenv] )); then - eval "$(pyenv init - --no-rehash zsh)" + # Ensure manually installed pyenv is added to path when present. + [[ -s $local_pyenv ]] && path=($local_pyenv:h $path) + + # pyenv 2+ requires shims to be added to path before being initialized. + autoload -Uz is-at-least + if is-at-least 2 ${"$(pyenv --version 2>&1)"[(w)2]}; then + eval "$(pyenv init --path zsh)" + fi + + eval "$(pyenv init - zsh)" # Prepend PEP 370 per user site packages directory, which defaults to # ~/Library/Python on macOS and ~/.local elsewhere, to PATH. The @@ -34,6 +41,8 @@ else fi fi +unset local_pyenv + # Return if requirements are not found. if (( ! $#commands[(i)python[23]#] && ! $+functions[pyenv] )); then return 1 From 37443368c1db367c29d4b255952186556b7474f5 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Mon, 17 May 2021 01:24:03 -0500 Subject: [PATCH 67/70] ruby: Cleanup and optimize 'ruby' module Changes: - Honor `$RBENV_ROOT` or `RVM_DIR` if set but, no need to set it explicitly if not set. Instead, let the respective initialization scripts take care of that. - Reverse `rbenv` vs `rvm` selection order, preferring `rbenv` instead. - Check for availability of `rbenv` or `rvm` function instead of command to validate requirements. In a properly configured and initialized shell, `rbenv` or `rvm` will be available as function. - Adhere to more idiomatic Zsh operation and minimize redundant syntaxes. For additional rationale, see: https://github.com/rbenv/rbenv/wiki/Why-rbenv%3F --- modules/ruby/README.md | 30 ++++++++++++++--------------- modules/ruby/init.zsh | 43 ++++++++++++++++++++++++------------------ 2 files changed, 40 insertions(+), 33 deletions(-) diff --git a/modules/ruby/README.md b/modules/ruby/README.md index 58a2b11..97a09f0 100644 --- a/modules/ruby/README.md +++ b/modules/ruby/README.md @@ -6,11 +6,22 @@ aliases. ## Local Gem Installation When a Ruby version manager is not detected, local gems are installed in -_`~/.gems`_; otherwise, they are installed according to the manager. +_`~/.gem`_; otherwise, they are installed according to the manager. + +## rbenv + +An alternative RVM is to use [_rbenv_][2], which allows for switching between +multiple, isolated Ruby installations in the home directory. + +While it is not as feature rich as RVM, it is not loaded into the shell and is +not known to cause conflicts with shell scripts. + +This will be loaded automatically if _rbenv_ is installed to `$RBENV_ROOT`, +_`~/.rbenv`_, or if the `rbenv` command is on the path. ## rvm -An alternative to the above is to use [The Ruby Version Manager (_rvm_)][2], +An alternative to the above is to use [The Ruby Version Manager (_rvm_)][3], which allows for managing multiple, isolated Ruby installations and gem sets in the home directory. @@ -20,17 +31,6 @@ may conflict with shell scripts. Load this module as late as possible when using RVM since RVM will complain if it is not first in `$PATH`. -## rbenv - -An alternative RVM is to use [_rbenv_][3], which allows for switching between -multiple, isolated Ruby installations in the home directory. - -While it is not as feature rich as RVM, it is not loaded into the shell and is -not known to cause conflicts with shell scripts. - -This will be loaded automatically if _rbenv_ is installed to `$RBENV_ROOT`, -_`~/.rbenv`_, or if the `rbenv` command is on the path. - ## chruby Yet another alternative is [_chruby_][4], which is simpler than both _rvm_ and @@ -99,8 +99,8 @@ _The authors of this module should be contacted via the [issue tracker][6]._ - [Sorin Ionescu](https://github.com/sorin-ionescu) [1]: https://www.ruby-lang.org -[2]: https://rvm.io -[3]: https://github.com/sstephenson/rbenv +[2]: https://github.com/rbenv/rbenv +[3]: https://rvm.io [4]: https://github.com/postmodern/chruby [5]: https://gembundler.com [6]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/ruby/init.zsh b/modules/ruby/init.zsh index 1c1fb99..cf55bc5 100644 --- a/modules/ruby/init.zsh +++ b/modules/ruby/init.zsh @@ -1,27 +1,32 @@ # -# Configures Ruby local gem installation, loads version managers, and defines +# Configures Ruby local installation, loads version managers, and defines # aliases. # -# Authors: Sorin Ionescu +# Authors: +# Sorin Ionescu +# Indrajit Raychaudhuri # -# Load RVM into the shell session. -if [[ -s "$HOME/.rvm/scripts/rvm" ]]; then +# Possible lookup locations for manually installed rbenv and rvm. +local_rbenv_paths=({$RBENV_ROOT,{$XDG_CONFIG_HOME/,$HOME/.}rbenv}/bin/rbenv(N)) +local_rvm_paths=({$RVM_DIR,{$XDG_CONFIG_HOME/,$HOME/.}rvm}/scripts/rvm(N)) + +# Load manually installed or package manager installed rbenv into the shell +# session. +if (( $#local_rbenv_paths || $+commands[rbenv] )); then + + # Ensure manually installed rbenv is added to path when present. + [[ -s $local_rbenv_paths[1] ]] && path=($local_rbenv_paths[1]:h $path) + + eval "$(rbenv init - zsh)" + +# Load manually installed rvm into the shell session. +elif (( $#local_rvm_paths )); then # Unset AUTO_NAME_DIRS since auto adding variable-stored paths to ~ list - # conflicts with RVM. + # conflicts with rvm. unsetopt AUTO_NAME_DIRS - # Source RVM. - source "$HOME/.rvm/scripts/rvm" - -# Load manually installed rbenv into the shell session. -elif [[ -s "${RBENV_ROOT:=$HOME/.rbenv}/bin/rbenv" ]]; then - path=("${RBENV_ROOT}/bin" $path) - eval "$(rbenv init - --no-rehash zsh)" - -# Load package manager installed rbenv into the shell session. -elif (( $+commands[rbenv] )); then - eval "$(rbenv init - --no-rehash zsh)" + source "$local_rvm_paths[1]" # Load package manager installed chruby into the shell session. elif (( $+commands[chruby-exec] )); then @@ -34,7 +39,7 @@ elif (( $+commands[chruby-exec] )); then source "${commands[chruby-exec]:h:h}/share/chruby/auto.sh" fi - # If a default Ruby is set, switch to it. + # If a default ruby is set, switch to it. chruby_auto fi @@ -43,8 +48,10 @@ else path=($HOME/.gem/ruby/*/bin(N) $path) fi +unset local_rbenv + # Return if requirements are not found. -if (( ! $+commands[ruby] && ! ( $+commands[rvm] || $+commands[rbenv] ) )); then +if (( ! $+commands[ruby] && ! $#functions[(i)r(benv|vm)] )); then return 1 fi From f1e24d3fd8b4203d6c60416bb9a2f3a66f158929 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Thu, 27 May 2021 21:55:52 -0500 Subject: [PATCH 68/70] completion: Unset local variable outside condition block Unset `curl_prefix` outside condition block so that it is always cleared. Also, avoid `brew --prefix ` since it is triggering ruby in fallback flow when `` is not present. Also, apply minor formatting tweaks. --- modules/completion/init.zsh | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/modules/completion/init.zsh b/modules/completion/init.zsh index 0fdf314..fc5cfd4 100644 --- a/modules/completion/init.zsh +++ b/modules/completion/init.zsh @@ -12,28 +12,28 @@ if [[ $TERM == 'dumb' ]]; then fi # Add zsh-completions to $fpath. -fpath=("${0:h}/external/src" $fpath) +fpath=(${0:h}/external/src $fpath) # Add completion for keg-only brewed curl when available. if (( $+commands[brew] )) \ - && [[ -d "${curl_prefix::="$(brew --prefix curl 2> /dev/null)"}" ]]; then - fpath=("$curl_prefix/share/zsh/site-functions" $fpath) - unset curl_prefix + && [[ -d "${curl_prefix::="$(brew --prefix 2> /dev/null)"/opt/curl}" ]]; then + fpath=($curl_prefix/share/zsh/site-functions $fpath) fi +unset curl_prefix # # Options # -setopt COMPLETE_IN_WORD # Complete from both ends of a word. -setopt ALWAYS_TO_END # Move cursor to the end of a completed word. -setopt PATH_DIRS # Perform path search even on command names with slashes. -setopt AUTO_MENU # Show completion menu on a successive tab press. -setopt AUTO_LIST # Automatically list choices on ambiguous completion. -setopt AUTO_PARAM_SLASH # If completed parameter is a directory, add a trailing slash. -setopt EXTENDED_GLOB # Needed for file modification glob modifiers with compinit. -unsetopt MENU_COMPLETE # Do not autoselect the first completion entry. -unsetopt FLOW_CONTROL # Disable start/stop characters in shell editor. +setopt COMPLETE_IN_WORD # Complete from both ends of a word. +setopt ALWAYS_TO_END # Move cursor to the end of a completed word. +setopt PATH_DIRS # Perform path search even on command names with slashes. +setopt AUTO_MENU # Show completion menu on a successive tab press. +setopt AUTO_LIST # Automatically list choices on ambiguous completion. +setopt AUTO_PARAM_SLASH # If completed parameter is a directory, add a trailing slash. +setopt EXTENDED_GLOB # Needed for file modification glob modifiers with compinit. +unsetopt MENU_COMPLETE # Do not autoselect the first completion entry. +unsetopt FLOW_CONTROL # Disable start/stop characters in shell editor. # # Variables From 6833fcd2f2afbc7396ea7a5fa9eb3b49f4678242 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Wed, 26 May 2021 00:21:35 -0500 Subject: [PATCH 69/70] node: Cleanup and optimize 'node' module Changes: - Simplify nodenv and nvm initialization - Check for availability of `nodenv` or `nvm` function instead of command - Unset local variables outside condition block --- modules/node/init.zsh | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/modules/node/init.zsh b/modules/node/init.zsh index 55a54f8..b359104 100644 --- a/modules/node/init.zsh +++ b/modules/node/init.zsh @@ -8,33 +8,33 @@ # Indrajit Raychaudhuri # -# Possible lookup locations. +# Possible lookup locations for manually installed nodenv and nvm. local_nodenv_paths=({$NODENV_ROOT,{$XDG_CONFIG_HOME/,$HOME/.}nodenv}/bin/nodenv(N)) local_nvm_paths=({$NVM_DIR,{$XDG_CONFIG_HOME/,$HOME/.}nvm}/nvm.sh(N)) -# Load manually installed nodenv into the shell session. -if [[ -s ${local_nodenv::=$local_nodenv_paths[1]} ]]; then - path=("$local_nodenv:h" $path) - eval "$(nodenv init - --no-rehash zsh)" - unset local_nodenv{,_paths} +# Load manually installed or package manager installed nodenv into the shell +# session. +if (( $#local_nodenv_paths || $+commands[nodenv] )); then -# Load package manager installed nodenv into the shell session. -elif (( $+commands[nodenv] )); then - eval "$(nodenv init - --no-rehash zsh)" + # Ensure manually installed nodenv is added to path when present. + [[ -s $local_nodenv_paths[1] ]] && path=($local_nodenv_paths[1]:h $path) -# Load manually installed NVM into the shell session. -elif [[ -s ${local_nvm::=$local_nvm_paths[1]} ]]; then - source "$local_nvm" --no-use - unset local_nvm{,_paths} + eval "$(nodenv init - zsh)" -# Load package manager installed NVM into the shell session. +# Load manually installed nvm into the shell session. +elif (( $#local_nvm_paths )); then + source "$local_nvm_paths[1]" --no-use + +# Load package manager installed nvm into the shell session. elif (( $+commands[brew] )) \ - && [[ -d "${nvm_prefix::="$(brew --prefix nvm 2> /dev/null)"}" ]]; then - source "$nvm_prefix/nvm.sh" --no-use - unset nvm_prefix + && [[ -d "${nvm_path::="$(brew --prefix 2> /dev/null)"/opt/nvm}" ]]; then + source "$nvm_path/nvm.sh" --no-use +fi + +unset local_n{odenv,vm}_paths nvm_path # Return if requirements are not found. -elif (( ! $+commands[node] )); then +if (( ! $+commands[node] && ! $#functions[(i)n(odenv|vm)] )); then return 1 fi From 061a7b961c749bc0111d412ca7707caa52f8f7f8 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Thu, 10 Jun 2021 12:02:15 +0200 Subject: [PATCH 70/70] prompt: update powerlevel10k submodule to v1.15.0 Release notes: - https://github.com/romkatv/powerlevel10k/releases/tag/v1.15.0 --- modules/prompt/external/powerlevel10k | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/prompt/external/powerlevel10k b/modules/prompt/external/powerlevel10k index d26bdcd..f5d6184 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit d26bdcd6010cfe82bc7bab07e4363b40be834cc8 +Subproject commit f5d61840ae3a4f8c2765e1a67d94d9a96de71601