From cd7082299467a26d443e597f1fd2f02506a45a6a Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Tue, 26 Jun 2018 13:43:27 -0500 Subject: [PATCH 001/279] completion: Compact path to global ssh known hosts file --- 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 e25a22a409..48202f3724 100644 --- a/modules/completion/init.zsh +++ b/modules/completion/init.zsh @@ -107,7 +107,7 @@ zstyle ':completion::*:(-command-|export):*' fake-parameters ${${${_comps[(I)-va zstyle -a ':prezto:module:completion:*:hosts' etc-host-ignores '_etc_host_ignores' zstyle -e ':completion:*:hosts' hosts 'reply=( - ${=${=${=${${(f)"$(cat {/etc/ssh/ssh_known_hosts,~/.ssh/known_hosts}(|2)(N) 2> /dev/null)"}%%[#| ]*}//\]:[0-9]*/ }//,/ }//\[/ } + ${=${=${=${${(f)"$(cat {/etc/ssh/ssh_,~/.ssh/}known_hosts(|2)(N) 2> /dev/null)"}%%[#| ]*}//\]:[0-9]*/ }//,/ }//\[/ } ${=${(f)"$(cat /etc/hosts(|)(N) <<(ypcat hosts 2> /dev/null))"}%%(\#${_etc_host_ignores:+|${(j:|:)~_etc_host_ignores}})*} ${=${${${${(@M)${(f)"$(cat ~/.ssh/config 2> /dev/null)"}:#Host *}#Host }:#*\**}:#*\?*}} )' From e149367445d2bcb9faa6ada365dfd56efec39de8 Mon Sep 17 00:00:00 2001 From: Colin Hebert Date: Wed, 27 Jun 2018 09:28:04 +1000 Subject: [PATCH 002/279] coreutils: update list of included coreutils (#1592) --- modules/gnu-utility/init.zsh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/gnu-utility/init.zsh b/modules/gnu-utility/init.zsh index cbf9a4baa8..4675a3ca56 100644 --- a/modules/gnu-utility/init.zsh +++ b/modules/gnu-utility/init.zsh @@ -15,16 +15,16 @@ fi _gnu_utility_cmds=( # Coreutils - '[' 'base64' 'basename' 'cat' 'chcon' 'chgrp' 'chmod' 'chown' + '[' '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' - 'od' 'paste' 'pathchk' 'pinee' 'pr' 'printenv' 'printf' 'ptx' + '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' 'stty' 'sum' 'sync' 'tac' 'tail' + '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' 'wc' 'who' 'whoami' 'yes' From 152b4a1b5d61905b60134869d9ba854465ea53d9 Mon Sep 17 00:00:00 2001 From: Tharre Date: Sat, 28 Jul 2018 18:33:24 +0200 Subject: [PATCH 003/279] Fix broken gitref link in README.md gitref.org points to services.github.com, and has been for some time[0]. [0] https://github.com/git/git-reference/issues/112 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 18bcfcce4e..2f94cd6ccd 100644 --- a/README.md +++ b/README.md @@ -126,6 +126,6 @@ This project is licensed under the MIT License. [3]: http://git-scm.com [4]: https://github.com [5]: http://gitimmersion.com -[6]: http://gitref.org +[6]: https://git.github.io/git-reference/ [7]: http://www.bash2zsh.com/zsh_refcard/refcard.pdf [8]: http://grml.org/zsh/zsh-lovers.html From e064d5c65f49b5eae3c083c14b57b58dfe996a14 Mon Sep 17 00:00:00 2001 From: Michael Kohl Date: Wed, 18 Jul 2018 15:08:21 +0700 Subject: [PATCH 004/279] Make node-info work without nvm/nodenv --- modules/node/functions/node-info | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/node/functions/node-info b/modules/node/functions/node-info index 22ac31bd5c..9feca3e16e 100644 --- a/modules/node/functions/node-info +++ b/modules/node/functions/node-info @@ -19,6 +19,8 @@ if (( $+functions[nvm_version] )); then version="${$(nvm_version)#v}" elif (( $+commands[nodenv] )); then version="${${$(nodenv version)#v}[(w)0]}" +elif (( $+commands[node] )) ; then + version="${$(node -v)#v}" fi if [[ "$version" != (none|) ]]; then From dacef142144aaddd886a2a6898cba506a9ea01b9 Mon Sep 17 00:00:00 2001 From: Steven Loria Date: Sat, 14 Jul 2018 09:40:39 -0400 Subject: [PATCH 005/279] Improve startup time by skipping pyenv rehash After profiling startup time, I found that "pyenv rehash" is by far the slowest piece. This change skips rehashing on init. See https://github.com/pyenv/pyenv/issues/784#issuecomment-404850327 Also pass the shell explicitly, as suggested in https://github.com/pyenv/pyenv/issues/784#issuecomment-404944318, which provides a modest improvement. In total, this improves startup time from 1s to 0.3s on my machine. Using the following command: python -m timeit "__import__('subprocess').Popen(['zsh', '-i', '-c', 'echo']).communicate()" Result before this change: 10 loops, best of 3: 1 sec per loop Result after this change: 10 loops, best of 3: 334 msec per loop --- modules/python/init.zsh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/python/init.zsh b/modules/python/init.zsh index 45e9b8dd6b..28f671e0cf 100644 --- a/modules/python/init.zsh +++ b/modules/python/init.zsh @@ -11,12 +11,12 @@ if [[ -s "$HOME/.pyenv/bin/pyenv" ]]; then path=("$HOME/.pyenv/bin" $path) export PYENV_ROOT=$(pyenv root) - eval "$(pyenv init -)" + eval "$(pyenv init - --no-rehash zsh)" # Load package manager installed pyenv into the shell session. elif (( $+commands[pyenv] )); then export PYENV_ROOT=$(pyenv root) - eval "$(pyenv init -)" + eval "$(pyenv init - --no-rehash zsh)" # Prepend PEP 370 per user site packages directory, which defaults to # ~/Library/Python on macOS and ~/.local elsewhere, to PATH. The @@ -106,7 +106,7 @@ if (( $+VIRTUALENVWRAPPER_VIRTUALENV || $+commands[virtualenv] )) && \ if (( $pyenv_plugins[(i)virtualenv-init] <= $#pyenv_plugins )); then # Enable 'virtualenv' with 'pyenv'. - eval "$(pyenv virtualenv-init -)" + eval "$(pyenv virtualenv-init - zsh)" # Optionally activate 'virtualenvwrapper' plugin when available. if (( $pyenv_plugins[(i)virtualenvwrapper(_lazy|)] <= $#pyenv_plugins )); then From f2042a29cc7613e8f797044948b0238916b2a234 Mon Sep 17 00:00:00 2001 From: Diego Rabatone Oliveira Date: Thu, 9 Aug 2018 15:25:30 -0300 Subject: [PATCH 006/279] Update submodules (#1615) This updates the submodules for autosuggestions, completion, syntax-highlighting and the prompts async, powerlevel9k and pure. All submodules that have TAGs/Releases were updated to their latest TAG/release, except for syntax-highlighting because it's latest release/TAG is from more than one year ago, and the project seems to be well maintained but without releases. --- modules/autosuggestions/external | 2 +- modules/completion/external | 2 +- modules/prompt/external/async | 2 +- modules/prompt/external/powerlevel9k | 2 +- modules/prompt/external/pure | 2 +- modules/syntax-highlighting/external | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/autosuggestions/external b/modules/autosuggestions/external index 15931f04ff..d7c796719e 160000 --- a/modules/autosuggestions/external +++ b/modules/autosuggestions/external @@ -1 +1 @@ -Subproject commit 15931f04ffac91a2f9a1a044b6b3ee4050751064 +Subproject commit d7c796719e6352666f7a9c94da9ddaed10f3217d diff --git a/modules/completion/external b/modules/completion/external index 2a30b05a5c..7ec52769d3 160000 --- a/modules/completion/external +++ b/modules/completion/external @@ -1 +1 @@ -Subproject commit 2a30b05a5cf724a2d1c4c140c302dbf93f6aa6f6 +Subproject commit 7ec52769d3a0dd505d33d857511866d2b90d0eec diff --git a/modules/prompt/external/async b/modules/prompt/external/async index b001fa529a..da48ccb0e2 160000 --- a/modules/prompt/external/async +++ b/modules/prompt/external/async @@ -1 +1 @@ -Subproject commit b001fa529a874fbe8bd22a9d4526153138645289 +Subproject commit da48ccb0e2ade777a10decfe214b5433d990d0d9 diff --git a/modules/prompt/external/powerlevel9k b/modules/prompt/external/powerlevel9k index 17c069d25a..d031b3e035 160000 --- a/modules/prompt/external/powerlevel9k +++ b/modules/prompt/external/powerlevel9k @@ -1 +1 @@ -Subproject commit 17c069d25ac7b24af6b5dc7ecb9597cef881f582 +Subproject commit d031b3e03522d47607173ebda89e7558b622a322 diff --git a/modules/prompt/external/pure b/modules/prompt/external/pure index a95d55cc7d..fa9137ecec 160000 --- a/modules/prompt/external/pure +++ b/modules/prompt/external/pure @@ -1 +1 @@ -Subproject commit a95d55cc7d3a73fc562ac11e23c26113ed6d58cf +Subproject commit fa9137ecec76d23fe76fd6fabe9c2f8ae0de9cf5 diff --git a/modules/syntax-highlighting/external b/modules/syntax-highlighting/external index 434af7b11d..db6cac391b 160000 --- a/modules/syntax-highlighting/external +++ b/modules/syntax-highlighting/external @@ -1 +1 @@ -Subproject commit 434af7b11dd33641231f1b48b8432e68eb472e46 +Subproject commit db6cac391bee957c20ff3175b2f03c4817253e60 From 66487c95329874019d17920390c3101faa9dead7 Mon Sep 17 00:00:00 2001 From: newtonne Date: Mon, 13 Aug 2018 02:56:21 +0100 Subject: [PATCH 007/279] Correct alphabetical order in zprestorc --- runcoms/zpreztorc | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/runcoms/zpreztorc b/runcoms/zpreztorc index 28b6005467..a54907344c 100644 --- a/runcoms/zpreztorc +++ b/runcoms/zpreztorc @@ -124,13 +124,6 @@ zstyle ':prezto:module:prompt' theme 'sorin' # return codes. This is not supported by all prompts. # zstyle ':prezto:module:prompt' show-return-val 'yes' -# -# Ruby -# - -# Auto switch the Ruby version on directory change. -# zstyle ':prezto:module:ruby:chruby' auto-switch 'yes' - # # Python # @@ -141,6 +134,13 @@ zstyle ':prezto:module:prompt' theme 'sorin' # Automatically initialize virtualenvwrapper if pre-requisites are met. # zstyle ':prezto:module:python:virtualenv' initialize 'yes' +# +# Ruby +# + +# Auto switch the Ruby version on directory change. +# zstyle ':prezto:module:ruby:chruby' auto-switch 'yes' + # # Screen # From 7bb7a7cb6fe02cce77ad31e91796f84b1a8f1011 Mon Sep 17 00:00:00 2001 From: Bruce Clounie Date: Sat, 21 Jul 2018 01:06:31 -0600 Subject: [PATCH 008/279] Add explanation for extra git theme symbols in README.md Helps with #1589 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2f94cd6ccd..bcbe15914e 100644 --- a/README.md +++ b/README.md @@ -88,8 +88,8 @@ accompanying README files to learn of what is available. 3. Load the theme you like in *~/.zpreztorc* then open a new Zsh terminal window or tab. - ![sorin theme][2] - + ![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 list under `zstyle ':prezto:load' pmodule \ ` in your `.zpreztorc` to enable this module. ### External Modules 1. By default modules will be loaded from */modules* and */contrib*. From dd7a26e219b3340567aeeececcf383cfdb371fa0 Mon Sep 17 00:00:00 2001 From: Yutian Li Date: Sat, 15 Sep 2018 12:35:48 -0400 Subject: [PATCH 009/279] [git] Also check "commondir" when looking for a stash (#1620) --- modules/git/functions/git-info | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/modules/git/functions/git-info b/modules/git/functions/git-info index a173c20f14..fe8ca2acd9 100644 --- a/modules/git/functions/git-info +++ b/modules/git/functions/git-info @@ -212,10 +212,17 @@ function git-info { # Format stashed. zstyle -s ':prezto:module:git:info:stashed' format 'stashed_format' - if [[ -n "$stashed_format" && -f "$(git-dir)/refs/stash" ]]; then - stashed="$(command git stash list 2> /dev/null | wc -l | awk '{print $1}')" - if [[ -n "$stashed" ]]; then - zformat -f stashed_formatted "$stashed_format" "S:$stashed" + if [[ -n "$stashed_format" ]]; then + commondir="" + if [[ -f "$(git-dir)/commondir" ]]; then + commondir="$(<$(git-dir)/commondir)" + [[ "$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 + zformat -f stashed_formatted "$stashed_format" "S:$stashed" + fi fi fi From 2bbf5d0687bf754fff8ab6fcaec70669907aa29b Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Fri, 14 Sep 2018 23:40:08 -0500 Subject: [PATCH 010/279] homebrew: Load standard Homebrew environment variables into shell session. However, guard for legacy Homebrew as `brew shellenv` is relatively new. --- modules/homebrew/README.md | 11 ++++++++++- modules/homebrew/init.zsh | 10 ++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/modules/homebrew/README.md b/modules/homebrew/README.md index 98a3444c19..1a6df51c6e 100644 --- a/modules/homebrew/README.md +++ b/modules/homebrew/README.md @@ -1,7 +1,16 @@ Homebrew ======== -Defines Homebrew aliases. +Defines Homebrew specific shell environment variables and aliases. + +Environment Variables +--------------------- + +Execute the following to list the environment variables loaded in the shell: + +```sh +brew shellenv +``` Aliases ------- diff --git a/modules/homebrew/init.zsh b/modules/homebrew/init.zsh index e517c0a5e0..12acf595ac 100644 --- a/modules/homebrew/init.zsh +++ b/modules/homebrew/init.zsh @@ -10,6 +10,16 @@ if [[ "$OSTYPE" != (darwin|linux)* ]]; then return 1 fi +# +# Environmental Variables +# + +# Load standard Homebrew shellenv into the shell session. +# `brew shellenv` is relatively new, guard for legacy Homebrew. +if (( $+commands[brew] )); then + eval "$(brew shellenv 2> /dev/null)" +fi + # # Aliases # From ad861d3b45190053deba73392b128805f37b06d1 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Sat, 15 Sep 2018 01:45:57 -0500 Subject: [PATCH 011/279] homebrew: Replace deprecated casks with their brew counterpart Homebrew has deprecated `brew cask cleanup` and `brew cask search` in favor of `brew cleanup` and `brew search` respectively. They will stop working on 2018-09-30. Further, `--outdated` has been removed. We should eventually remove the related aliases, but for a while we keep supporting them gracefully with deprecation warning. The documentation has been removed from README.md, however. --- modules/homebrew/README.md | 3 --- modules/homebrew/init.zsh | 17 ++++++++++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/modules/homebrew/README.md b/modules/homebrew/README.md index 1a6df51c6e..3046f98ebe 100644 --- a/modules/homebrew/README.md +++ b/modules/homebrew/README.md @@ -29,12 +29,9 @@ Aliases ### Homebrew Cask - `cask` is aliased to `brew cask`. - - `caskc` cleans up old cached downloads. - - `caskC` cleans up all cached downloads. - `caski` installs a cask. - `caskl` lists installed casks. - `casko` lists casks which have an update available. - - `casks` searches for a cask. - `caskx` uninstalls a cask. Authors diff --git a/modules/homebrew/init.zsh b/modules/homebrew/init.zsh index 12acf595ac..013344735a 100644 --- a/modules/homebrew/init.zsh +++ b/modules/homebrew/init.zsh @@ -36,10 +36,21 @@ alias brewx='brew remove' # Homebrew Cask alias cask='brew cask' -alias caskc='brew cask cleanup --outdated' -alias caskC='brew cask cleanup' +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='brew cask search' +alias casks='hb_deprecated brew cask search' alias caskx='brew cask uninstall' + +function hb_deprecated { + local cmd="${argv[3]}" + local cmd_args=( ${(@)argv:4} ) + + printf "'brew cask %s' has been deprecated, " "${cmd}" + printf "using 'brew %s' instead\n" "${cmd}" + + cmd_args=( ${(@)argv:4} ) + command brew "${cmd}" ${(@)cmd_args} +} From f366e49c32727d658160ca4ff2ec6d515ace7aa6 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Sat, 15 Sep 2018 01:55:46 -0500 Subject: [PATCH 012/279] homebrew: Cleanup homebrew aliases - 'brew upgrade' does 'brew update' by default, no need for explicit call - replace 'brew remove' with 'brew uninstall' for consistency --- modules/homebrew/init.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/homebrew/init.zsh b/modules/homebrew/init.zsh index 013344735a..cd1e5f72ce 100644 --- a/modules/homebrew/init.zsh +++ b/modules/homebrew/init.zsh @@ -31,8 +31,8 @@ alias brewi='brew install' alias brewl='brew list' alias brewo='brew outdated' alias brews='brew search' -alias brewu='brew update && brew upgrade' -alias brewx='brew remove' +alias brewu='brew upgrade' +alias brewx='brew uninstall' # Homebrew Cask alias cask='brew cask' From fbcae356d30928802e8150f4beca7e43f39513e1 Mon Sep 17 00:00:00 2001 From: Diego Rabatone Oliveira Date: Mon, 17 Sep 2018 17:28:15 -0300 Subject: [PATCH 013/279] Updating submodules For the submodules that have some kind of release (tags), they were updated up to the most recent release. Otherwise, the submodule was updated to the latest commit. --- modules/completion/external | 2 +- modules/prompt/external/async | 2 +- modules/prompt/external/powerlevel9k | 2 +- modules/prompt/external/pure | 2 +- modules/syntax-highlighting/external | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/completion/external b/modules/completion/external index 7ec52769d3..955645c22b 160000 --- a/modules/completion/external +++ b/modules/completion/external @@ -1 +1 @@ -Subproject commit 7ec52769d3a0dd505d33d857511866d2b90d0eec +Subproject commit 955645c22b29434caefadcb7d541d570d40ae932 diff --git a/modules/prompt/external/async b/modules/prompt/external/async index da48ccb0e2..5248bd85bf 160000 --- a/modules/prompt/external/async +++ b/modules/prompt/external/async @@ -1 +1 @@ -Subproject commit da48ccb0e2ade777a10decfe214b5433d990d0d9 +Subproject commit 5248bd85bf2c522ebfa2b8d18ee7bc736d10c791 diff --git a/modules/prompt/external/powerlevel9k b/modules/prompt/external/powerlevel9k index d031b3e035..358c105de7 160000 --- a/modules/prompt/external/powerlevel9k +++ b/modules/prompt/external/powerlevel9k @@ -1 +1 @@ -Subproject commit d031b3e03522d47607173ebda89e7558b622a322 +Subproject commit 358c105de7aa5e8109788adf65c08c44e368d418 diff --git a/modules/prompt/external/pure b/modules/prompt/external/pure index fa9137ecec..7aade5fca2 160000 --- a/modules/prompt/external/pure +++ b/modules/prompt/external/pure @@ -1 +1 @@ -Subproject commit fa9137ecec76d23fe76fd6fabe9c2f8ae0de9cf5 +Subproject commit 7aade5fca2acae3f10e260d0c076af6356da9dc6 diff --git a/modules/syntax-highlighting/external b/modules/syntax-highlighting/external index db6cac391b..42d396d819 160000 --- a/modules/syntax-highlighting/external +++ b/modules/syntax-highlighting/external @@ -1 +1 @@ -Subproject commit db6cac391bee957c20ff3175b2f03c4817253e60 +Subproject commit 42d396d8190b93ae0bb45ed22039589b4840ab82 From ee885d42decf58ba90ddff250bb9c05f66009397 Mon Sep 17 00:00:00 2001 From: Kaleb Elwert Date: Fri, 28 Sep 2018 14:04:20 -0700 Subject: [PATCH 014/279] python: use pure's magic value for VIRTUAL_ENV_DISABLE_PROMPT Fixes #1627 --- modules/python/init.zsh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/modules/python/init.zsh b/modules/python/init.zsh index 28f671e0cf..f90156fd2d 100644 --- a/modules/python/init.zsh +++ b/modules/python/init.zsh @@ -93,8 +93,11 @@ if (( $+VIRTUALENVWRAPPER_VIRTUALENV || $+commands[virtualenv] )) && \ # Set the directory where virtual environments are stored. export WORKON_HOME="${WORKON_HOME:-$HOME/.virtualenvs}" - # Disable the virtualenv prompt. - export VIRTUAL_ENV_DISABLE_PROMPT=1 + # Disable the virtualenv prompt. Note that we use the magic value used by the + # pure prompt because there's some additional logic in that prompt which tries + # to figure out if a user set this variable and disable the python portion of + # that prompt based on it which is the exact opposite of what we want to do. + export VIRTUAL_ENV_DISABLE_PROMPT=12 # Create a sorted array of available virtualenv related 'pyenv' commands to # look for plugins of interest. Scanning shell '$path' isn't enough as they From e9387a177e04b05dcf4f82e622615ddd32c558db Mon Sep 17 00:00:00 2001 From: Kaleb Elwert Date: Fri, 28 Sep 2018 14:24:25 -0700 Subject: [PATCH 015/279] python: respect PYENV_ROOT if already set Fixes #1578 --- modules/python/init.zsh | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/modules/python/init.zsh b/modules/python/init.zsh index f90156fd2d..9796294ccf 100644 --- a/modules/python/init.zsh +++ b/modules/python/init.zsh @@ -7,15 +7,18 @@ # Patrick Bos # -# Load manually installed pyenv into the shell session. -if [[ -s "$HOME/.pyenv/bin/pyenv" ]]; then +# Load manually installed pyenv into the path +if [[ -n "$PYENV_ROOT" && -s "$PYENV_ROOT/bin/pyenv" ]]; then + path=("$PYENV_ROOT/bin" $path) +elif [[ -s "$HOME/.pyenv/bin/pyenv" ]]; then path=("$HOME/.pyenv/bin" $path) - export PYENV_ROOT=$(pyenv root) - eval "$(pyenv init - --no-rehash zsh)" +fi -# Load package manager installed pyenv into the shell session. -elif (( $+commands[pyenv] )); then - export PYENV_ROOT=$(pyenv root) +# Load pyenv into the current python session +if (( $+commands[pyenv] )); then + if [[ -z "$PYENV_ROOT" ]]; then + export PYENV_ROOT=$(pyenv root) + fi eval "$(pyenv init - --no-rehash zsh)" # Prepend PEP 370 per user site packages directory, which defaults to @@ -57,7 +60,7 @@ function _python-workon-cwd { local ENV_NAME="" if [[ -f "$PROJECT_ROOT/.venv" ]]; then ENV_NAME="$(cat "$PROJECT_ROOT/.venv")" - elif [[ -f "$PROJECT_ROOT/.venv/bin/activate" ]];then + elif [[ -f "$PROJECT_ROOT/.venv/bin/activate" ]]; then ENV_NAME="$PROJECT_ROOT/.venv" elif [[ "$PROJECT_ROOT" != "." ]]; then ENV_NAME="${PROJECT_ROOT:t}" From 6c46804f418effb65442c6d92f63950f831c281e Mon Sep 17 00:00:00 2001 From: Kaleb Elwert Date: Fri, 28 Sep 2018 14:51:59 -0700 Subject: [PATCH 016/279] environment: only enable bracketed paste on non-dumb terminals Fixes #1552 --- modules/environment/init.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/environment/init.zsh b/modules/environment/init.zsh index 4f3bbfe35a..7ae8c4f6a6 100644 --- a/modules/environment/init.zsh +++ b/modules/environment/init.zsh @@ -14,7 +14,7 @@ # paste had a regression. Additionally, 5.2 added bracketed-paste-url-magic # which is generally better than url-quote-magic so we load that when possible. autoload -Uz is-at-least -if [[ ${ZSH_VERSION} != 5.1.1 ]]; then +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 From df4c61861d298880edac1413f386704950fb9f76 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Thu, 11 Oct 2018 17:10:35 -0500 Subject: [PATCH 017/279] doc: Bit of copyediting and formatting for consistency and clarification --- README.md | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index bcbe15914e..552784bae7 100644 --- a/README.md +++ b/README.md @@ -33,10 +33,11 @@ version is 4.3.11. done ``` - Note: If you already have any of the given config files, ln will error. In - simple cases you can add `source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"` to - the bottom of your `.zshrc` to load prezto but keep your config intact. For - more complicated setups, it is recommended that you back up your original + 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. 4. Set Zsh as your default shell: @@ -88,8 +89,12 @@ accompanying README files to learn of what is available. 3. Load the theme you like in *~/.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 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 *~/.zpreztorc*) to + enable this module. + ### External Modules 1. By default modules will be loaded from */modules* and */contrib*. @@ -99,7 +104,7 @@ accompanying README files to learn of what is available. 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 ``` From ff5bd9306e99c5286d4eb85be5ceb1deba5a3c22 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Thu, 11 Oct 2018 17:26:38 -0500 Subject: [PATCH 018/279] submodule: Updating submodules 'modules/prompt/external/async' updated to 'v1.7.1' 'modules/syntax-highlighting/external' updated to latest 'master' --- modules/prompt/external/async | 2 +- modules/syntax-highlighting/external | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/prompt/external/async b/modules/prompt/external/async index 5248bd85bf..58f7ba70f0 160000 --- a/modules/prompt/external/async +++ b/modules/prompt/external/async @@ -1 +1 @@ -Subproject commit 5248bd85bf2c522ebfa2b8d18ee7bc736d10c791 +Subproject commit 58f7ba70f05e75802299848e7e31c7d7a7fd0c97 diff --git a/modules/syntax-highlighting/external b/modules/syntax-highlighting/external index 42d396d819..d6586e2a4f 160000 --- a/modules/syntax-highlighting/external +++ b/modules/syntax-highlighting/external @@ -1 +1 @@ -Subproject commit 42d396d8190b93ae0bb45ed22039589b4840ab82 +Subproject commit d6586e2a4f54a66808aba3c325a614d5166342f8 From 6f603df7a641fb136b8b168d75e905fef60a00cf Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Fri, 12 Oct 2018 03:55:55 -0500 Subject: [PATCH 019/279] general: Miscellaneous documentation updates - Add missing documentation for options and environment variables - Rearrange definition and documentation of 'Options', 'Variables' and 'Aliases' in a consistent order --- modules/completion/README.md | 13 +++++++++++++ modules/completion/init.zsh | 2 +- modules/editor/README.md | 12 +++++++++++- modules/environment/README.md | 34 ++++++++++++++++++++++++++++++++-- modules/history/README.md | 14 +++++++------- modules/history/init.zsh | 16 ++++++++-------- modules/homebrew/README.md | 6 +++--- modules/homebrew/init.zsh | 2 +- modules/rsync/init.zsh | 3 ++- runcoms/README.md | 2 +- 10 files changed, 79 insertions(+), 25 deletions(-) diff --git a/modules/completion/README.md b/modules/completion/README.md index 7efb3d96a8..dc2b9b837a 100644 --- a/modules/completion/README.md +++ b/modules/completion/README.md @@ -6,6 +6,19 @@ the [zsh-completions][1] project. This module must be loaded **after** the *utility* module. +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. + Settings -------- diff --git a/modules/completion/init.zsh b/modules/completion/init.zsh index 48202f3724..07acf13bf3 100644 --- a/modules/completion/init.zsh +++ b/modules/completion/init.zsh @@ -99,7 +99,7 @@ zstyle ':completion:*:history-words' remove-all-dups yes zstyle ':completion:*:history-words' list false zstyle ':completion:*:history-words' menu yes -# Environmental Variables +# Environment Variables zstyle ':completion::*:(-command-|export):*' fake-parameters ${${${_comps[(I)-value-*]#*,}%%,*}:#-*-} # Populate hostname completion. But allow ignoring custom entries from static diff --git a/modules/editor/README.md b/modules/editor/README.md index c27e8642c0..d5280c45f5 100644 --- a/modules/editor/README.md +++ b/modules/editor/README.md @@ -1,7 +1,17 @@ Editor ====== -Sets key bindings. +Sets editor specific key bindings options and variables. + +Options +------- + + - `BEEP` beep on error in line editor. + +Variables +--------- + + - `WORDCHARS` treat a given set of characters as part of a word. Settings -------- diff --git a/modules/environment/README.md b/modules/environment/README.md index b0d579bb45..6a5e582c0e 100644 --- a/modules/environment/README.md +++ b/modules/environment/README.md @@ -5,8 +5,38 @@ Sets general shell options and defines environment variables. This module must be loaded first. -Environment Variables ---------------------- +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. + +### 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. + +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. Contributors ------------ diff --git a/modules/history/README.md b/modules/history/README.md index 3dc9a26423..d020688a56 100644 --- a/modules/history/README.md +++ b/modules/history/README.md @@ -3,13 +3,6 @@ History Sets [history][1] options and defines history aliases. -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. - Options ------- @@ -26,6 +19,13 @@ Options - `HIST_VERIFY` does not execute immediately upon history expansion. - `HIST_BEEP` beeps when accessing non-existent history. +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. + Aliases ------- diff --git a/modules/history/init.zsh b/modules/history/init.zsh index 31db4c5b3a..db357b0259 100644 --- a/modules/history/init.zsh +++ b/modules/history/init.zsh @@ -6,14 +6,6 @@ # Sorin Ionescu # -# -# Variables -# - -HISTFILE="${ZDOTDIR:-$HOME}/.zhistory" # 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. - # # Options # @@ -31,6 +23,14 @@ setopt HIST_SAVE_NO_DUPS # Do not write a duplicate event to the history setopt HIST_VERIFY # Do not execute immediately upon history expansion. setopt HIST_BEEP # Beep when accessing non-existent history. +# +# Variables +# + +HISTFILE="${ZDOTDIR:-$HOME}/.zhistory" # 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. + # # Aliases # diff --git a/modules/homebrew/README.md b/modules/homebrew/README.md index 3046f98ebe..2a37553d15 100644 --- a/modules/homebrew/README.md +++ b/modules/homebrew/README.md @@ -1,10 +1,10 @@ Homebrew ======== -Defines Homebrew specific shell environment variables and aliases. +Defines Homebrew specific environment variables and aliases. -Environment Variables ---------------------- +Variables +--------- Execute the following to list the environment variables loaded in the shell: diff --git a/modules/homebrew/init.zsh b/modules/homebrew/init.zsh index cd1e5f72ce..d078b7ae08 100644 --- a/modules/homebrew/init.zsh +++ b/modules/homebrew/init.zsh @@ -11,7 +11,7 @@ if [[ "$OSTYPE" != (darwin|linux)* ]]; then fi # -# Environmental Variables +# Variables # # Load standard Homebrew shellenv into the shell session. diff --git a/modules/rsync/init.zsh b/modules/rsync/init.zsh index a802222fac..3618812fa2 100644 --- a/modules/rsync/init.zsh +++ b/modules/rsync/init.zsh @@ -14,7 +14,8 @@ fi # Aliases # -_rsync_cmd='rsync --verbose --progress --human-readable --compress --archive --hard-links --one-file-system' +_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" diff --git a/runcoms/README.md b/runcoms/README.md index 9df890e51a..29d9f8a98d 100644 --- a/runcoms/README.md +++ b/runcoms/README.md @@ -10,7 +10,7 @@ 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` environmental variable. However, if said variable is +stored in the `$ZDOTDIR` environment variable. However, if said variable is not defined, Zsh will use the user's home directory. File Descriptions From 992b9de5050f38cdefee26dc020175506c8469a2 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Fri, 12 Oct 2018 10:52:24 -0500 Subject: [PATCH 020/279] doc: More copyediting and formatting for consistency --- modules/archive/README.md | 6 +++--- modules/autosuggestions/README.md | 5 ----- modules/command-not-found/README.md | 7 ++++--- modules/environment/README.md | 14 +++++++------- modules/python/README.md | 8 +++++--- modules/utility/README.md | 7 ++++--- 6 files changed, 23 insertions(+), 24 deletions(-) diff --git a/modules/archive/README.md b/modules/archive/README.md index 600ff15d0e..c9806ea591 100644 --- a/modules/archive/README.md +++ b/modules/archive/README.md @@ -31,9 +31,9 @@ installed: - *.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. +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 ------------ diff --git a/modules/autosuggestions/README.md b/modules/autosuggestions/README.md index c3e90a4916..48f9852887 100644 --- a/modules/autosuggestions/README.md +++ b/modules/autosuggestions/README.md @@ -1,8 +1,3 @@ -Autosuggestions ---------------- - -Integrates zsh-autosuggestions into Prezto. - Autosuggestions =============== diff --git a/modules/command-not-found/README.md b/modules/command-not-found/README.md index 7775c92621..ee5a94d6d5 100644 --- a/modules/command-not-found/README.md +++ b/modules/command-not-found/README.md @@ -3,11 +3,12 @@ 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. +the proper install command. -Debian-based and Arch Linux-based distributions use the [`command-not-found`][1] tool. +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 to tap the `command-not-found` homebrew repository][3]. +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. Authors diff --git a/modules/environment/README.md b/modules/environment/README.md index 6a5e582c0e..15ee95922c 100644 --- a/modules/environment/README.md +++ b/modules/environment/README.md @@ -5,6 +5,13 @@ Sets general shell options and defines environment variables. This module must be loaded first. +Contributors +------------ + +This module **MUST NOT** rely on any command not built in Zsh. + +Non-interactive environment variables should be defined in [`zshenv`][1]. + Options ------- @@ -38,13 +45,6 @@ Variables - `LESS_TERMCAP_ue` ends underline. - `LESS_TERMCAP_us` begins underline. -Contributors ------------- - -This module **MUST NOT** rely on any command not built in Zsh. - -Non-interactive environment variables should be defined in [`zshenv`][1]. - Authors ------- diff --git a/modules/python/README.md b/modules/python/README.md index e7b72c480b..121ea37395 100644 --- a/modules/python/README.md +++ b/modules/python/README.md @@ -6,7 +6,9 @@ Enables local Python and local Python package installation. 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. By +default, only virtualenvwrapper is enabled. To disable virtualenvwrapper, add +the following to *zpreztorc*. ```sh zstyle ':prezto:module:python' skip-virtualenvwrapper-init 'on' @@ -52,8 +54,8 @@ virtualenvwrapper [`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. +`virtualenv` creates isolated Python environments and `virtualenvwrapper` +provides convenient shell functions to create, switch, and manage them. ### Usage diff --git a/modules/utility/README.md b/modules/utility/README.md index 84e81f5c28..9ace1ebace 100644 --- a/modules/utility/README.md +++ b/modules/utility/README.md @@ -8,8 +8,8 @@ Settings ### Highlighting -If you have enabled color globally in *zpreztorc*, you may disable it for certain -commands. +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. @@ -109,7 +109,8 @@ Aliases ### Resource Usage - - `df` displays free disk space using human readable units (aliases to `pydf`, if installed). + - `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. From 58809b2d21274cf462ca3d597c41e1e4ec509034 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Fri, 12 Oct 2018 16:53:46 -0500 Subject: [PATCH 021/279] Update submodule 'history-substring-search' history-substring-search doesn't tag releases anymore and just maintains the master branch -- switching to tracking master instead. --- 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 aae3388491..47a7d416c6 160000 --- a/modules/history-substring-search/external +++ b/modules/history-substring-search/external @@ -1 +1 @@ -Subproject commit aae3388491c2312c4efb2e86bcb999927bb2900e +Subproject commit 47a7d416c652a109f6e8856081abc042b50125f4 From a3753d8f3b09911d064293bdd3c87d98b9ddfc3b Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Sat, 13 Oct 2018 23:09:14 -0500 Subject: [PATCH 022/279] prompt/steeef: Add basic support for editor_info and preview --- modules/prompt/functions/prompt_steeef_setup | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/modules/prompt/functions/prompt_steeef_setup b/modules/prompt/functions/prompt_steeef_setup index b241f9aa35..ca39f9321d 100644 --- a/modules/prompt/functions/prompt_steeef_setup +++ b/modules/prompt/functions/prompt_steeef_setup @@ -72,6 +72,9 @@ function prompt_steeef_setup { local unstaged_format="${_prompt_steeef_colors[2]}●%f" local staged_format="${_prompt_steeef_colors[5]}●%f" + # Set editor-info parameters. + zstyle ':prezto:module:editor:info:keymap:primary' format '$' + # Set vcs_info parameters. zstyle ':vcs_info:*' enable bzr git hg svn zstyle ':vcs_info:*:prompt:*' check-for-changes true @@ -87,8 +90,17 @@ function prompt_steeef_setup { # Define prompts. PROMPT=" ${_prompt_steeef_colors[3]}%n%f at ${_prompt_steeef_colors[2]}%m%f in ${_prompt_steeef_colors[5]}%~%f "'${vcs_info_msg_0_}'" -"'$python_info[virtualenv]'"$ " +"'$python_info[virtualenv]${editor_info[keymap]} ' RPROMPT='' } +function prompt_steeef_preview { + local +h PROMPT='' + local +h RPROMPT='' + local +h SPROMPT='' + + editor-info 2> /dev/null + prompt_preview_theme 'steeef' +} + prompt_steeef_setup "$@" From a43093119e8d0e7ebb49e45b9fda069c3c4998fd Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Sat, 13 Oct 2018 23:13:16 -0500 Subject: [PATCH 023/279] prompt/minimal: Add support for preview --- modules/prompt/functions/prompt_minimal_setup | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules/prompt/functions/prompt_minimal_setup b/modules/prompt/functions/prompt_minimal_setup index 7456ffdb1d..b600768bd0 100644 --- a/modules/prompt/functions/prompt_minimal_setup +++ b/modules/prompt/functions/prompt_minimal_setup @@ -47,4 +47,13 @@ function prompt_minimal_setup { RPROMPT='' } +function prompt_minimal_preview { + local +h PROMPT='' + local +h RPROMPT='' + local +h SPROMPT='' + + editor-info 2> /dev/null + prompt_preview_theme 'minimal' +} + prompt_minimal_setup "$@" From bfe1815cbfb9044cdfc341383ad2d930781d7db8 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Sat, 13 Oct 2018 23:16:20 -0500 Subject: [PATCH 024/279] prompt/sorin: Minor cleanup and reordering --- modules/prompt/functions/prompt_sorin_setup | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/prompt/functions/prompt_sorin_setup b/modules/prompt/functions/prompt_sorin_setup index 30e71a9285..14f8858c1c 100644 --- a/modules/prompt/functions/prompt_sorin_setup +++ b/modules/prompt/functions/prompt_sorin_setup @@ -144,16 +144,17 @@ function prompt_sorin_setup { zstyle ':prezto:module:git:info:keys' format \ 'status' '%b %p %c:%s%A%B%S%a%d%m%r%U%u' + # Set python-info parameters. + zstyle ':prezto:module:python:info:virtualenv' format '%f%F{3}(%v)%F{7} ' + # Set up non-zero return value display local show_return="✘ " # Default is to show the return value if zstyle -T ':prezto:module:prompt' show-return-val; then show_return+='%? ' fi - # Set python-info format - zstyle ':prezto:module:python:info:virtualenv' format '%f%F{3}(%v)%F{7} ' - # Get the async worker set up + # Get the async worker set up. _sorin_cur_git_root='' _prompt_sorin_git='' From 1ed5331e84421241c58e9f15795650f9608bf186 Mon Sep 17 00:00:00 2001 From: Tercio Gaudencio Filho Date: Mon, 15 Oct 2018 09:56:41 -0300 Subject: [PATCH 025/279] Fix issue #1635. Option to disable GNU ls to group directories first. --- modules/utility/README.md | 6 ++++++ modules/utility/init.zsh | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/modules/utility/README.md b/modules/utility/README.md index 9ace1ebace..3b25b3a75b 100644 --- a/modules/utility/README.md +++ b/modules/utility/README.md @@ -18,6 +18,12 @@ disabled, type indicators (\*, /, =>, @, =, |, %) will be appended to entries. zstyle ':prezto:module:utility:ls' color 'no' ``` +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*: ```sh diff --git a/modules/utility/init.zsh b/modules/utility/init.zsh index 942090d777..6b07bf0f9e 100644 --- a/modules/utility/init.zsh +++ b/modules/utility/init.zsh @@ -73,7 +73,10 @@ fi # ls if is-callable 'dircolors'; then # GNU Core Utilities - alias ls='ls --group-directories-first' + + if zstyle -T ':prezto:module:utility:ls' dirs-first; then + alias ls="${aliases[ls]:-ls} --group-directories-first" + fi if zstyle -t ':prezto:module:utility:ls' color; then # Call dircolors to define colors if they're missing From e6eea17b12d18775cb26df7f0eddcf4d9b5cc59d Mon Sep 17 00:00:00 2001 From: Diego Rabatone Oliveira Date: Thu, 8 Nov 2018 13:02:10 -0200 Subject: [PATCH 026/279] Update submodules Updating to the latest released tags for modules: completetion syntax-highlighting And for agnoster prompt --- modules/completion/external | 2 +- modules/prompt/external/agnoster | 2 +- modules/syntax-highlighting/external | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/completion/external b/modules/completion/external index 955645c22b..8ec8c8c5c6 160000 --- a/modules/completion/external +++ b/modules/completion/external @@ -1 +1 @@ -Subproject commit 955645c22b29434caefadcb7d541d570d40ae932 +Subproject commit 8ec8c8c5c662c3cb77231b7458ce1975d2f8c967 diff --git a/modules/prompt/external/agnoster b/modules/prompt/external/agnoster index 3ad94b6599..6bba672c78 160000 --- a/modules/prompt/external/agnoster +++ b/modules/prompt/external/agnoster @@ -1 +1 @@ -Subproject commit 3ad94b659910c775a6560c45b1524d23d8c83b09 +Subproject commit 6bba672c7812a76defc3efed9b6369eeee2425dc diff --git a/modules/syntax-highlighting/external b/modules/syntax-highlighting/external index d6586e2a4f..e900ad8bad 160000 --- a/modules/syntax-highlighting/external +++ b/modules/syntax-highlighting/external @@ -1 +1 @@ -Subproject commit d6586e2a4f54a66808aba3c325a614d5166342f8 +Subproject commit e900ad8bad53501689afcb050456400d7a8466e5 From 8bfed017737d69cf3a62813c586467c3aee16bc9 Mon Sep 17 00:00:00 2001 From: "John P. Neumann" Date: Thu, 29 Nov 2018 17:13:23 -0600 Subject: [PATCH 027/279] Resolves #1641 - Roll the pure prompt back from 1.8.0 to 1.7.0 --- modules/prompt/external/pure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/prompt/external/pure b/modules/prompt/external/pure index 7aade5fca2..fa9137ecec 160000 --- a/modules/prompt/external/pure +++ b/modules/prompt/external/pure @@ -1 +1 @@ -Subproject commit 7aade5fca2acae3f10e260d0c076af6356da9dc6 +Subproject commit fa9137ecec76d23fe76fd6fabe9c2f8ae0de9cf5 From 3de1e24965ae42337287160b155b16b1f054cff2 Mon Sep 17 00:00:00 2001 From: Diego Rabatone Oliveira Date: Wed, 5 Dec 2018 09:38:07 -0200 Subject: [PATCH 028/279] Update submodules versions --- modules/autosuggestions/external | 2 +- modules/prompt/external/powerlevel9k | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/autosuggestions/external b/modules/autosuggestions/external index d7c796719e..a7f0106b31 160000 --- a/modules/autosuggestions/external +++ b/modules/autosuggestions/external @@ -1 +1 @@ -Subproject commit d7c796719e6352666f7a9c94da9ddaed10f3217d +Subproject commit a7f0106b31c2538a36cab30428e6ca65d9a2ae60 diff --git a/modules/prompt/external/powerlevel9k b/modules/prompt/external/powerlevel9k index 358c105de7..2f4b15041f 160000 --- a/modules/prompt/external/powerlevel9k +++ b/modules/prompt/external/powerlevel9k @@ -1 +1 @@ -Subproject commit 358c105de7aa5e8109788adf65c08c44e368d418 +Subproject commit 2f4b15041fe31d85dc9ef705b818c3a0e6985da3 From 2286662b807d0edc4436df6277c863ddddb66ce0 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Tue, 31 Jul 2018 20:29:01 -0500 Subject: [PATCH 029/279] command-not-found: Restore idiomatic homebrewed handler loading on MacOS As is the convention in prezto, we cache the command-not-found handler to avoid incurring the performance penalty of loading ruby interpreter on every call. This restores the 'Homebrew way' of loading command-not-found handler. Further, the formally recommended command lookup mechanism in Homebrew (viz., `brew command command-not-found-init`) is ruby based and is super slow. To avoid performance penalty, we `find` it ourselves from `TAP_DIRECTORY` defined internally in Homebrew. This also reinstates support for custom taps or non-standard Homebrew location. --- modules/command-not-found/init.zsh | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/modules/command-not-found/init.zsh b/modules/command-not-found/init.zsh index 2c59a4b31d..dc3c2b4ca2 100644 --- a/modules/command-not-found/init.zsh +++ b/modules/command-not-found/init.zsh @@ -12,9 +12,28 @@ if [[ -s '/etc/zsh_command_not_found' ]]; then # Load command-not-found on Arch Linux-based distributions. 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. -elif [[ -s '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-command-not-found/handler.sh' ]]; then - source '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-command-not-found/handler.sh' +# 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/homebrew/homebrew-command-not-found/cmd/brew-command-not-found-init.rb + if [[ -s "$cnf_command" ]]; then + cache_file="${TMPDIR:-/tmp}/prezto-brew-command-not-found-cache.$UID.zsh" + + if [[ "$cnf_command" -nt "$cache_file" \ + || "${ZDOTDIR:-$HOME}/.zpreztorc" -nt "$cache_file" \ + || ! -s "$cache_file" ]]; then + # 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 # Return if requirements are not found. else return 1 From 53286ebbdb18e9744182734082713d569ee0880b Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Fri, 7 Dec 2018 15:45:06 -0600 Subject: [PATCH 030/279] python: Make cached completion file mangling more reliable While mangling cached completion file, we cannot just assume that `$pip_command` would resolve to `pip` -- it might be `pip2` or `pip3` depending on the relative position in zsh `$commands` array. Thus replace the whole of 'pip*' with 'pip pip2 pip3' for compctl assignment. --- modules/python/init.zsh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/python/init.zsh b/modules/python/init.zsh index 9796294ccf..d78c0dca41 100644 --- a/modules/python/init.zsh +++ b/modules/python/init.zsh @@ -160,10 +160,11 @@ if (( $#commands[(i)pip(|[23])] )); then || ! -s "$cache_file" ]]; then # pip is slow; cache its output. And also support 'pip2', 'pip3' variants $pip_command completion --zsh \ - | sed -e "s|compctl -K [-_[:alnum:]]* pip|& pip2 pip3|" >! "$cache_file" 2> /dev/null + | sed -e "s|\(compctl -K [-_[:alnum:]]*\) pip|\1 pip pip2 pip3|" >! "$cache_file" 2> /dev/null fi source "$cache_file" + unset cache_file pip_command fi From e7fea3343f57461d8f3fa50d1a22b2c8490f9ecd Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Sun, 9 Dec 2018 17:16:21 -0600 Subject: [PATCH 031/279] python: Use more apropriate filename for pip completion --- modules/python/init.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/python/init.zsh b/modules/python/init.zsh index d78c0dca41..302aff4b66 100644 --- a/modules/python/init.zsh +++ b/modules/python/init.zsh @@ -150,7 +150,7 @@ fi # Load PIP completion. if (( $#commands[(i)pip(|[23])] )); then - cache_file="${TMPDIR:-/tmp}/prezto-python-cache.$UID.zsh" + cache_file="${TMPDIR:-/tmp}/prezto-pip-cache.$UID.zsh" # Detect and use one available from among 'pip', 'pip2', 'pip3' variants pip_command="$commands[(i)pip(|[23])]" From a2398fc0454a641b020ee2d96489524bead8f3f9 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Fri, 7 Dec 2018 17:08:12 -0600 Subject: [PATCH 032/279] node: Cache completion for additional helpers Add support for npm and additional well-known helper commands --- modules/node/init.zsh | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/modules/node/init.zsh b/modules/node/init.zsh index 0a516f0dfb..75a7ebb499 100644 --- a/modules/node/init.zsh +++ b/modules/node/init.zsh @@ -28,18 +28,28 @@ elif (( ! $+commands[node] )); then return 1 fi -# Load NPM completion. -if (( $+commands[npm] )); then - cache_file="${TMPDIR:-/tmp}/prezto-node-cache.$UID.zsh" - - if [[ "$commands[npm]" -nt "$cache_file" \ - || "${ZDOTDIR:-$HOME}/.zpreztorc" -nt "$cache_file" \ - || ! -s "$cache_file" ]]; then - # npm is slow; cache its output. - npm completion >! "$cache_file" 2> /dev/null +# Load NPM and known helper completions. +typeset -A compl_commands=( + npm 'npm completion' + grunt 'grunt --completion=zsh' + gupl 'gulp --completion=zsh' +) + +for compl_command in "${(k)compl_commands[@]}"; do + if (( $+commands[$compl_command] )); then + cache_file="${TMPDIR:-/tmp}/prezto-$compl_command-cache.$UID.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 + command ${=compl_commands[$compl_command]} >! "$cache_file" 2> /dev/null + fi + + source "$cache_file" + + unset cache_file fi +done - source "$cache_file" - - unset cache_file -fi +unset compl_command{s,} From f7456453428a48cbb6d45829711a1fcbb908613e Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Tue, 11 Dec 2018 11:02:37 -0600 Subject: [PATCH 033/279] command-not-found: Support custom Homebrew tap on MacOS Added support for homebrew-command-not-found from a non-default tap --- modules/command-not-found/init.zsh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/command-not-found/init.zsh b/modules/command-not-found/init.zsh index dc3c2b4ca2..bcb0dead16 100644 --- a/modules/command-not-found/init.zsh +++ b/modules/command-not-found/init.zsh @@ -17,11 +17,11 @@ elif [[ -s '/usr/share/doc/pkgfile/command-not-found.zsh' ]]; then # 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/homebrew/homebrew-command-not-found/cmd/brew-command-not-found-init.rb - if [[ -s "$cnf_command" ]]; then + cnf_command=("$(brew --repository 2> /dev/null)"/Library/Taps/*/*/cmd/brew-command-not-found-init(|.rb)(.NL+0)) + if (( $#cnf_command )); then cache_file="${TMPDIR:-/tmp}/prezto-brew-command-not-found-cache.$UID.zsh" - if [[ "$cnf_command" -nt "$cache_file" \ + if [[ "${${(@o)cnf_command}[1]}" -nt "$cache_file" \ || "${ZDOTDIR:-$HOME}/.zpreztorc" -nt "$cache_file" \ || ! -s "$cache_file" ]]; then # brew command-not-found-init is slow; cache its output. From a987c8bc8a142d2792c4d067998959971dbc91fa Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Wed, 12 Dec 2018 16:18:58 -0600 Subject: [PATCH 034/279] python: Fix pip compctl file match pattern Make `sed` match more reliable while replacing the whole of 'pip*' with 'pip pip2 pip3' for `compctl` assignment --- modules/python/init.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/python/init.zsh b/modules/python/init.zsh index 302aff4b66..d61488ed9a 100644 --- a/modules/python/init.zsh +++ b/modules/python/init.zsh @@ -160,7 +160,7 @@ if (( $#commands[(i)pip(|[23])] )); then || ! -s "$cache_file" ]]; then # pip is slow; cache its output. And also support 'pip2', 'pip3' variants $pip_command completion --zsh \ - | sed -e "s|\(compctl -K [-_[:alnum:]]*\) pip|\1 pip pip2 pip3|" >! "$cache_file" 2> /dev/null + | sed -e "s|\(compctl -K [-_[:alnum:]]*\) pip.*|\1 pip pip2 pip3|" >! "$cache_file" 2> /dev/null fi source "$cache_file" From d45d87b08feb3a0361e0564678e6d7e3a18e3751 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Wed, 12 Dec 2018 22:17:16 -0600 Subject: [PATCH 035/279] node: Make nvm lookup mechanism more efficient in homebrewed environment In homebrewed environment, avoid using `brew --prefix nvm` which is ruby based and is super slow. Instead, rely on homebrew standard behavior wherein all installed packages are available in canonical path $(brew --prefix)/opt/ (for nvm it would obviously be `$(brew --prefix)/opt/nvm`). NB: `$(brew --prefix)` (without additional argument) is a simple shell shortcut and doesn't have the same performance impact. --- modules/node/init.zsh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/node/init.zsh b/modules/node/init.zsh index 75a7ebb499..f452ec5a53 100644 --- a/modules/node/init.zsh +++ b/modules/node/init.zsh @@ -11,8 +11,10 @@ if [[ -s "$HOME/.nvm/nvm.sh" ]]; then source "$HOME/.nvm/nvm.sh" # Load package manager installed NVM into the shell session. -elif (( $+commands[brew] )) && [[ -d "$(brew --prefix nvm 2> /dev/null)" ]]; then +elif (( $+commands[brew] )) && \ + [[ -d "${nvm_prefix::="$(brew --prefix 2> /dev/null)"/opt/nvm}" ]]; then source "$(brew --prefix nvm)/nvm.sh" + unset nvm_prefix # Load manually installed nodenv into the shell session. elif [[ -s "$HOME/.nodenv/bin/nodenv" ]]; then From 6a2cc2e14611e7ea5742a49759180772b3fda2a4 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Wed, 12 Dec 2018 22:42:02 -0600 Subject: [PATCH 036/279] rsync: Update link to Bombich rsync page again --- modules/rsync/init.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/rsync/init.zsh b/modules/rsync/init.zsh index 3618812fa2..b3010ede32 100644 --- a/modules/rsync/init.zsh +++ b/modules/rsync/init.zsh @@ -22,7 +22,7 @@ if grep -q 'xattrs' <(rsync --help 2>&1); then fi # macOS and HFS+ Enhancements -# http://help.bombich.com/kb/overview/credits#opensource +# https://bombich.com/kb/ccc5/credits if [[ "$OSTYPE" == darwin* ]] && grep -q 'file-flags' <(rsync --help 2>&1); then _rsync_cmd="${_rsync_cmd} --crtimes --fileflags --protect-decmpfs --force-change" fi From d275f316ffdd0bbd075afbff677c3e00791fba16 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Wed, 12 Dec 2018 23:02:59 -0600 Subject: [PATCH 037/279] syntax-highlighting: Further clarify relative module ordering --- modules/syntax-highlighting/README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/syntax-highlighting/README.md b/modules/syntax-highlighting/README.md index 7a28892a46..7a5a30c356 100644 --- a/modules/syntax-highlighting/README.md +++ b/modules/syntax-highlighting/README.md @@ -9,6 +9,9 @@ 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 +'syntax-highlighting', 'history-substring-search' and 'prompt'. + Contributors ------------ From 39e1a633494e5ba492fe826e0ceb104ad5318ada Mon Sep 17 00:00:00 2001 From: Bruno Oliveira da Silva Date: Thu, 13 Dec 2018 16:43:23 -0200 Subject: [PATCH 038/279] Aliases to digital sign/verify commits and tags (#651) --- modules/git/alias.zsh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/git/alias.zsh b/modules/git/alias.zsh index dde5b351c1..4e4f482815 100644 --- a/modules/git/alias.zsh +++ b/modules/git/alias.zsh @@ -68,10 +68,11 @@ if ! zstyle -t ':prezto:module:git:alias' skip 'yes'; then alias gcr='git revert' alias gcR='git reset "HEAD^"' alias gcs='git show' + alias gpS='git show --pretty=short --show-signature' alias gcl='git-commit-lost' alias gcy='git cherry -v --abbrev' alias gcY='git cherry -v' - + # Conflict (C) alias gCl='git --no-pager diff --name-only --diff-filter=U' alias gCa='git add $(gCl)' @@ -190,6 +191,7 @@ if ! zstyle -t ':prezto:module:git:alias' skip 'yes'; then alias glg='git log --topo-order --all --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' # Merge (m) alias gm='git merge' @@ -255,6 +257,8 @@ 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 gtv='git verify-tag' # Working Copy (w) alias gws='git status --ignore-submodules=${_git_status_ignore_submodules} --short' From eee3c9c1662914cd2a7f30139396bf96d0200521 Mon Sep 17 00:00:00 2001 From: Kaleb Elwert Date: Thu, 13 Dec 2018 10:51:56 -0800 Subject: [PATCH 039/279] git: add documentation for new aliases --- modules/git/README.md | 4 ++++ modules/git/alias.zsh | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/modules/git/README.md b/modules/git/README.md index a497826267..b5de9f6fbe 100644 --- a/modules/git/README.md +++ b/modules/git/README.md @@ -81,6 +81,7 @@ zstyle ':prezto:module:git:alias' skip 'yes' 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. @@ -220,6 +221,7 @@ zstyle ':prezto:module:git:alias' skip 'yes' - `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 @@ -295,6 +297,8 @@ zstyle ':prezto:module:git:alias' skip 'yes' - `gt` lists tags or creates tag. - `gtl` lists tags matching pattern. + - `gts` creates a signed tag. + - `gtv` validate a signed tag. ### Working directory diff --git a/modules/git/alias.zsh b/modules/git/alias.zsh index 4e4f482815..89ba558733 100644 --- a/modules/git/alias.zsh +++ b/modules/git/alias.zsh @@ -68,11 +68,11 @@ if ! zstyle -t ':prezto:module:git:alias' skip 'yes'; then alias gcr='git revert' alias gcR='git reset "HEAD^"' alias gcs='git show' - alias gpS='git show --pretty=short --show-signature' + alias gcsS='git show --pretty=short --show-signature' alias gcl='git-commit-lost' alias gcy='git cherry -v --abbrev' alias gcY='git cherry -v' - + # Conflict (C) alias gCl='git --no-pager diff --name-only --diff-filter=U' alias gCa='git add $(gCl)' From 54dff31b63ea04705cc95200e53dd4e7a67232d6 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Thu, 13 Dec 2018 01:14:59 -0600 Subject: [PATCH 040/279] archive: Enhance 'archive' helper to support multi file archive We now allow multiple paths (files/directories) to be archived in one shot. Validation of the target path(s) is now delegated to the actual archive helper. --- modules/archive/functions/archive | 32 +++++++++++++------------------ 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/modules/archive/functions/archive b/modules/archive/functions/archive index 0e3bb616bf..fab409e2c0 100644 --- a/modules/archive/functions/archive +++ b/modules/archive/functions/archive @@ -8,11 +8,11 @@ # function archive { -local archive_name dir_to_archive _gzip_bin _bzip2_bin +local archive_name path_to_archive _gzip_bin _bzip2_bin -if (( $# != 2 )); then +if (( $# < 2 )); then cat >&2 <&2 - return 1 -fi +# let paths be handled by actual archive helper +path_to_archive="${@:2}" # here, we check for dropin/multi-threaded replacements # this should eventually be moved to modules/archive/init.zsh @@ -53,14 +47,14 @@ else fi case "${archive_name}" in - (*.tar.gz|*.tgz) tar -cvf "${archive_name}" --use-compress-program="${_gzip_bin}" "${dir_to_archive}" ;; - (*.tar.bz2|*.tbz|*.tbz2) tar -cvf "${archive_name}" --use-compress-program="${_bzip2_bin}" "${dir_to_archive}" ;; - (*.tar.xz|*.txz) tar -cvJf "${archive_name}" "${dir_to_archive}" ;; - (*.tar.lzma|*.tlz) tar -cvf "${archive_name}" --lzma "${dir_to_archive}" ;; - (*.tar) tar -cvf "${archive_name}" "${dir_to_archive}" ;; - (*.zip|*.jar) zip -r "${archive_name}" "${dir_to_archive}" ;; - (*.rar) rar a "${archive_name}" "${dir_to_archive}" ;; - (*.7z) 7za a "${archive_name}" "${dir_to_archive}" ;; + (*.tar.gz|*.tgz) tar -cvf "${archive_name}" --use-compress-program="${_gzip_bin}" "${=path_to_archive}" ;; + (*.tar.bz2|*.tbz|*.tbz2) tar -cvf "${archive_name}" --use-compress-program="${_bzip2_bin}" "${=path_to_archive}" ;; + (*.tar.xz|*.txz) tar -cvJf "${archive_name}" "${=path_to_archive}" ;; + (*.tar.lzma|*.tlz) tar -cvf "${archive_name}" --lzma "${=path_to_archive}" ;; + (*.tar) tar -cvf "${archive_name}" "${=path_to_archive}" ;; + (*.zip|*.jar) zip -r "${archive_name}" "${=path_to_archive}" ;; + (*.rar) rar a "${archive_name}" "${=path_to_archive}" ;; + (*.7z) 7za a "${archive_name}" "${=path_to_archive}" ;; (*.gz) print "\n.gz is only useful for single files, and does not capture permissions. Use .tar.gz" ;; (*.bz2) print "\n.bzip2 is only useful for single files, and does not capture permissions. Use .tar.bz2" ;; (*.xz) print "\n.xz is only useful for single files, and does not capture permissions. Use .tar.xz" ;; From 11184084bcd0d67838c420bdd18f3c7922ad4993 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Fri, 14 Dec 2018 15:34:42 -0600 Subject: [PATCH 041/279] homebrew: Simplify array assignment No need for nesting array assignment only to flatten it later. --- modules/homebrew/init.zsh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/modules/homebrew/init.zsh b/modules/homebrew/init.zsh index d078b7ae08..b449bac52b 100644 --- a/modules/homebrew/init.zsh +++ b/modules/homebrew/init.zsh @@ -45,12 +45,11 @@ alias casks='hb_deprecated brew cask search' alias caskx='brew cask uninstall' function hb_deprecated { - local cmd="${argv[3]}" - local cmd_args=( ${(@)argv:4} ) + local cmd="${@[3]}" + local cmd_args="${@:4}" printf "'brew cask %s' has been deprecated, " "${cmd}" printf "using 'brew %s' instead\n" "${cmd}" - cmd_args=( ${(@)argv:4} ) - command brew "${cmd}" ${(@)cmd_args} + command brew "${cmd}" "${=cmd_args}" } From 3093f1b966985c834fb698dabbe9a0af805ef940 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Fri, 14 Dec 2018 15:40:59 -0600 Subject: [PATCH 042/279] homebrew: Load 'HOMEBREW_' prefixed variables only Load 'HOMEBREW_' prefixed variables only. Avoid loading 'PATH' related variables as they are already handled in standard zsh configuration. --- modules/homebrew/init.zsh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/homebrew/init.zsh b/modules/homebrew/init.zsh index b449bac52b..056f1fb5db 100644 --- a/modules/homebrew/init.zsh +++ b/modules/homebrew/init.zsh @@ -14,10 +14,11 @@ fi # Variables # -# Load standard Homebrew shellenv into the shell session. -# `brew shellenv` is relatively new, guard for legacy Homebrew. +# Load standard Homebrew shellenv into the shell session. +# Load 'HOMEBREW_' prefixed variables only. Avoid loading 'PATH' related +# variables as they are already handled in standard zsh configuration. if (( $+commands[brew] )); then - eval "$(brew shellenv 2> /dev/null)" + eval "${(@M)${(f)"$(brew shellenv 2> /dev/null)"}:#export HOMEBREW*}" fi # From dc8e168d5fab038bc2bd39f97984c111abf5258c Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Fri, 14 Dec 2018 20:57:10 -0600 Subject: [PATCH 043/279] command-not-found: Minor reformatting --- modules/command-not-found/init.zsh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/command-not-found/init.zsh b/modules/command-not-found/init.zsh index bcb0dead16..f3d7ea6287 100644 --- a/modules/command-not-found/init.zsh +++ b/modules/command-not-found/init.zsh @@ -17,7 +17,9 @@ elif [[ -s '/usr/share/doc/pkgfile/command-not-found.zsh' ]]; then # 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)(.NL+0)) + cnf_command=( + "$(brew --repository 2> /dev/null)"/Library/Taps/*/*/cmd/brew-command-not-found-init(|.rb)(.N) + ) if (( $#cnf_command )); then cache_file="${TMPDIR:-/tmp}/prezto-brew-command-not-found-cache.$UID.zsh" From 9d3e2f0204f2de5a0f04da1e0cdcf63e8afe5add Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Fri, 14 Dec 2018 21:32:10 -0600 Subject: [PATCH 044/279] python: Expand compctl matches for pip variants Expand `sed` match for more variants of 'pip*' (pip, pip2, pip3, pip2.7, pip3.7 etc.) for `compctl` assignment --- modules/python/init.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/python/init.zsh b/modules/python/init.zsh index d61488ed9a..a8e00b39b8 100644 --- a/modules/python/init.zsh +++ b/modules/python/init.zsh @@ -160,7 +160,7 @@ if (( $#commands[(i)pip(|[23])] )); then || ! -s "$cache_file" ]]; then # pip is slow; cache its output. And also support 'pip2', 'pip3' variants $pip_command completion --zsh \ - | sed -e "s|\(compctl -K [-_[:alnum:]]*\) pip.*|\1 pip pip2 pip3|" >! "$cache_file" 2> /dev/null + | sed -e "s/\(compctl -K [-_[:alnum:]]*\) pip.*/\1 pip(|[23](|.[0-9]))/" >! "$cache_file" 2> /dev/null fi source "$cache_file" From 0e6429da97876c7ce0868966e8a812c29bcba0b3 Mon Sep 17 00:00:00 2001 From: Diego Rabatone Oliveira Date: Mon, 17 Dec 2018 16:22:33 -0200 Subject: [PATCH 045/279] Remove duplicated information from git module README (#1657) --- modules/git/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/git/README.md b/modules/git/README.md index b5de9f6fbe..e4425fab22 100644 --- a/modules/git/README.md +++ b/modules/git/README.md @@ -67,7 +67,7 @@ zstyle ':prezto:module:git:alias' skip 'yes' - `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) - `gco` checks out a branch or paths to work tree. + - `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. From a338cba805f63f770e9078925bc5c46129e28bde Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Mon, 17 Dec 2018 14:10:51 -0600 Subject: [PATCH 046/279] python: Use brace expansion for pip compctl match Just use brace expansion only (and not a mix of brace expansion and path expansion) to expand `sed` match for more variants of 'pip*' (pip, pip2, pip3, pip2.7, pip3.7 etc.) in `compctl` assignment --- modules/python/init.zsh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/python/init.zsh b/modules/python/init.zsh index a8e00b39b8..44043f1c35 100644 --- a/modules/python/init.zsh +++ b/modules/python/init.zsh @@ -160,7 +160,9 @@ if (( $#commands[(i)pip(|[23])] )); then || ! -s "$cache_file" ]]; then # pip is slow; cache its output. And also support 'pip2', 'pip3' variants $pip_command completion --zsh \ - | sed -e "s/\(compctl -K [-_[:alnum:]]*\) pip.*/\1 pip(|[23](|.[0-9]))/" >! "$cache_file" 2> /dev/null + | sed -e "s/\(compctl -K [-_[:alnum:]]* pip\).*/\1{,2,3}{,.{0..9}}/" \ + >! "$cache_file" \ + 2> /dev/null fi source "$cache_file" From 4a16d3fa50f6596fe13affd90107d25710c88e43 Mon Sep 17 00:00:00 2001 From: Jeff Widman Date: Wed, 2 Jan 2019 18:04:07 -0800 Subject: [PATCH 047/279] Fix typo: gupl --> gulp (#1668) --- modules/node/init.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/node/init.zsh b/modules/node/init.zsh index f452ec5a53..d8eea1459e 100644 --- a/modules/node/init.zsh +++ b/modules/node/init.zsh @@ -34,7 +34,7 @@ fi typeset -A compl_commands=( npm 'npm completion' grunt 'grunt --completion=zsh' - gupl 'gulp --completion=zsh' + gulp 'gulp --completion=zsh' ) for compl_command in "${(k)compl_commands[@]}"; do From 88456ec9b6c0ef4eb18381bca1942474e27336a4 Mon Sep 17 00:00:00 2001 From: Diego Rabatone Oliveira Date: Mon, 7 Jan 2019 10:41:23 -0200 Subject: [PATCH 048/279] Updating submodules to lastest tags/master commits --- modules/completion/external | 2 +- modules/fasd/external | 2 +- modules/history-substring-search/external | 2 +- modules/prompt/external/pure | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/completion/external b/modules/completion/external index 8ec8c8c5c6..cf565254e2 160000 --- a/modules/completion/external +++ b/modules/completion/external @@ -1 +1 @@ -Subproject commit 8ec8c8c5c662c3cb77231b7458ce1975d2f8c967 +Subproject commit cf565254e26bb7ce03f51889e9a29953b955b1fb diff --git a/modules/fasd/external b/modules/fasd/external index 90b531a5da..48220241e7 160000 --- a/modules/fasd/external +++ b/modules/fasd/external @@ -1 +1 @@ -Subproject commit 90b531a5daaa545c74c7d98974b54cbdb92659fc +Subproject commit 48220241e764fdf46b075cd7fe723468aaadde58 diff --git a/modules/history-substring-search/external b/modules/history-substring-search/external index 47a7d416c6..aae3388491 160000 --- a/modules/history-substring-search/external +++ b/modules/history-substring-search/external @@ -1 +1 @@ -Subproject commit 47a7d416c652a109f6e8856081abc042b50125f4 +Subproject commit aae3388491c2312c4efb2e86bcb999927bb2900e diff --git a/modules/prompt/external/pure b/modules/prompt/external/pure index fa9137ecec..7aade5fca2 160000 --- a/modules/prompt/external/pure +++ b/modules/prompt/external/pure @@ -1 +1 @@ -Subproject commit fa9137ecec76d23fe76fd6fabe9c2f8ae0de9cf5 +Subproject commit 7aade5fca2acae3f10e260d0c076af6356da9dc6 From ba4063f99e0b2d531a55b375ca92314e3a9a178b Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Sun, 6 Jan 2019 11:24:34 +0100 Subject: [PATCH 049/279] Remove old prompt tempfile and pid variable This is a leftover of #1385, the temp file and the PID variable is not needed any more. --- modules/prompt/functions/prompt_sorin_setup | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/prompt/functions/prompt_sorin_setup b/modules/prompt/functions/prompt_sorin_setup index 14f8858c1c..2df92122d0 100644 --- a/modules/prompt/functions/prompt_sorin_setup +++ b/modules/prompt/functions/prompt_sorin_setup @@ -110,8 +110,6 @@ function prompt_sorin_setup { setopt LOCAL_OPTIONS unsetopt XTRACE KSH_ARRAYS prompt_opts=(cr percent sp subst) - _prompt_sorin_precmd_async_pid=0 - _prompt_sorin_precmd_async_data=$(mktemp "${TMPDIR:-/tmp}/sorin-prompt-async-XXXXXXXXXX") # Load required functions. autoload -Uz add-zsh-hook From 777674e07e4f2fd465b273341c639263f379394d Mon Sep 17 00:00:00 2001 From: Diego Rabatone Oliveira Date: Mon, 7 Jan 2019 10:42:34 -0200 Subject: [PATCH 050/279] Update syntax-highlighting submodule --- modules/syntax-highlighting/external | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/syntax-highlighting/external b/modules/syntax-highlighting/external index e900ad8bad..1e34c4aa0b 160000 --- a/modules/syntax-highlighting/external +++ b/modules/syntax-highlighting/external @@ -1 +1 @@ -Subproject commit e900ad8bad53501689afcb050456400d7a8466e5 +Subproject commit 1e34c4aa0bcbdde5173aab15600784edf0a212fd From 4abbc5572149baa6a5e7e38393a4b2006f01024f Mon Sep 17 00:00:00 2001 From: Yutian Li Date: Fri, 4 Jan 2019 13:05:37 -0500 Subject: [PATCH 051/279] remove mutually exclusive option --- modules/history/README.md | 5 +++-- modules/history/init.zsh | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/history/README.md b/modules/history/README.md index d020688a56..a5a4acb125 100644 --- a/modules/history/README.md +++ b/modules/history/README.md @@ -8,8 +8,9 @@ Options - `BANG_HIST` treats the **!** character specially during expansion. - `EXTENDED_HISTORY` writes the history file in the *:start:elapsed;command* format. - - `INC_APPEND_HISTORY` writes to the history file immediately, not when the shell exits. - - `SHARE_HISTORY` shares history between all sessions. + - `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. diff --git a/modules/history/init.zsh b/modules/history/init.zsh index db357b0259..a26f3c9f42 100644 --- a/modules/history/init.zsh +++ b/modules/history/init.zsh @@ -12,7 +12,6 @@ setopt BANG_HIST # Treat the '!' character specially during expansion. setopt EXTENDED_HISTORY # Write the history file in the ':start:elapsed;command' format. -setopt INC_APPEND_HISTORY # Write to the history file immediately, not when the shell exits. setopt SHARE_HISTORY # Share history between all sessions. setopt HIST_EXPIRE_DUPS_FIRST # Expire a duplicate event first when trimming history. setopt HIST_IGNORE_DUPS # Do not record an event that was just recorded again. From d22effbf856427b281b455a7419edfdd67aab3ce Mon Sep 17 00:00:00 2001 From: Yutian Li Date: Mon, 11 Feb 2019 19:21:38 -0500 Subject: [PATCH 052/279] editor: allow alt+arrow keys for word movement (#1688) --- modules/editor/init.zsh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/editor/init.zsh b/modules/editor/init.zsh index 085947ef61..3a7d66e6f3 100644 --- a/modules/editor/init.zsh +++ b/modules/editor/init.zsh @@ -269,9 +269,11 @@ bindkey -d # Emacs Key Bindings # -for key in "$key_info[Escape]"{B,b} "${(s: :)key_info[ControlLeft]}" +for key in "$key_info[Escape]"{B,b} "${(s: :)key_info[ControlLeft]}" \ + "${key_info[Escape]}${key_info[Left]}" bindkey -M emacs "$key" emacs-backward-word -for key in "$key_info[Escape]"{F,f} "${(s: :)key_info[ControlRight]}" +for key in "$key_info[Escape]"{F,f} "${(s: :)key_info[ControlRight]}" \ + "${key_info[Escape]}${key_info[Right]}" bindkey -M emacs "$key" emacs-forward-word # Kill to the beginning of the line. From 5d7c990eec21e83c0735f6b8e7d1d669102cbb4f Mon Sep 17 00:00:00 2001 From: Maxim Baz Date: Sun, 17 Feb 2019 00:31:54 +0100 Subject: [PATCH 053/279] archive: enhance parallel operations --- modules/archive/functions/archive | 14 ++++++++--- modules/archive/functions/unarchive | 36 +++++++++++++++++++++++------ 2 files changed, 40 insertions(+), 10 deletions(-) diff --git a/modules/archive/functions/archive b/modules/archive/functions/archive index fab409e2c0..10bbad3985 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 +local archive_name path_to_archive _gzip_bin _bzip2_bin _xz_bin if (( $# < 2 )); then cat >&2 <&2 < 0 )); do if [[ ! -s "$1" ]]; then print "$0: file not valid: $1" >&2 @@ -42,15 +66,13 @@ while (( $# > 0 )); do file_path="${1:A}" extract_dir="${file_name:r}" case "$1:l" in - (*.tar.gz|*.tgz) tar xvzf "$1" ;; - (*.tar.bz2|*.tbz|*.tbz2) tar xvjf "$1" ;; - (*.tar.xz|*.txz) tar --xz --help &> /dev/null \ - && tar --xz -xvf "$1" \ - || xzcat "$1" | tar xvf - ;; + (*.tar.gz|*.tgz) tar -xvf "$1" --use-compress-program="${_gzip_bin}" ;; + (*.tar.bz2|*.tbz|*.tbz2) tar -xvf "$1" --use-compress-program="${_bzip2_bin}" ;; + (*.tar.xz|*.txz) tar -xvf "$1" --use-compress-program="${_xz_bin}" ;; (*.tar.zma|*.tlz) tar --lzma --help &> /dev/null \ && tar --lzma -xvf "$1" \ - || lzcat "$1" | tar xvf - ;; - (*.tar) tar xvf "$1" ;; + || lzcat "$1" | tar -xvf - ;; + (*.tar) tar -xvf "$1" ;; (*.gz) gunzip "$1" ;; (*.bz2) bunzip2 "$1" ;; (*.xz) unxz "$1" ;; From b8d7e2cad863959323a4c6452d58cad0af0b84e8 Mon Sep 17 00:00:00 2001 From: monai Date: Sat, 19 Jan 2019 12:54:49 +0200 Subject: [PATCH 054/279] Add zstyle option to disable zsh option CORRECT --- modules/utility/README.md | 6 ++++++ modules/utility/init.zsh | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/modules/utility/README.md b/modules/utility/README.md index 3b25b3a75b..1179478703 100644 --- a/modules/utility/README.md +++ b/modules/utility/README.md @@ -62,6 +62,12 @@ Aliases - `mysql` - `rm` +To disable all spelling corrections, add the following line to *zpreztorc*: + +```sh +zstyle ':prezto:module:utility' correct 'no' +``` + ### Disabled File Globbing - `bower` diff --git a/modules/utility/init.zsh b/modules/utility/init.zsh index 6b07bf0f9e..59a04f93f7 100644 --- a/modules/utility/init.zsh +++ b/modules/utility/init.zsh @@ -11,7 +11,9 @@ pmodload 'helper' 'spectrum' # Correct commands. -setopt CORRECT +if zstyle -T ':prezto:module:utility' correct; then + setopt CORRECT +fi # # Aliases From 1f4601e44c989b90dc7314b151891fa60a101251 Mon Sep 17 00:00:00 2001 From: Chris Ewald Date: Sun, 17 Mar 2019 21:27:13 -0400 Subject: [PATCH 055/279] Disable node-info output when value is system. This makes the behavior consistent with rbenv and pyenv. --- modules/node/functions/node-info | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/node/functions/node-info b/modules/node/functions/node-info index 9feca3e16e..c43759b760 100644 --- a/modules/node/functions/node-info +++ b/modules/node/functions/node-info @@ -23,7 +23,7 @@ elif (( $+commands[node] )) ; then version="${$(node -v)#v}" fi -if [[ "$version" != (none|) ]]; then +if [[ "$version" != (none|system) ]]; then zstyle -s ':prezto:module:node:info:version' format 'version_format' zformat -f version_formatted "$version_format" "v:$version" node_info[version]="$version_formatted" From bb901dfb7ebd1df7d68e2ca2d6e75b627d270dff Mon Sep 17 00:00:00 2001 From: Toshiki Murayama Date: Tue, 21 May 2019 09:42:03 +0900 Subject: [PATCH 056/279] Update zsh-autosuggestions submodule --- modules/autosuggestions/external | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/autosuggestions/external b/modules/autosuggestions/external index a7f0106b31..733abd4af0 160000 --- a/modules/autosuggestions/external +++ b/modules/autosuggestions/external @@ -1 +1 @@ -Subproject commit a7f0106b31c2538a36cab30428e6ca65d9a2ae60 +Subproject commit 733abd4af0f23f217caa2a303fbef66382d19d6f From ac65e8eb18bed5964508e76719ecb7a66f5c358a Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Wed, 29 May 2019 22:40:47 +0200 Subject: [PATCH 057/279] Add powerlevel10k theme (#1695) --- .gitmodules | 3 +++ modules/prompt/external/powerlevel10k | 1 + modules/prompt/functions/prompt_powerlevel10k_setup | 1 + 3 files changed, 5 insertions(+) create mode 160000 modules/prompt/external/powerlevel10k create mode 120000 modules/prompt/functions/prompt_powerlevel10k_setup diff --git a/.gitmodules b/.gitmodules index 051f2633f0..fcc482621e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -28,3 +28,6 @@ [submodule "modules/prompt/external/powerlevel9k"] path = modules/prompt/external/powerlevel9k url = https://github.com/bhilburn/powerlevel9k.git +[submodule "modules/prompt/external/powerlevel10k"] + path = modules/prompt/external/powerlevel10k + url = https://github.com/romkatv/powerlevel10k.git diff --git a/modules/prompt/external/powerlevel10k b/modules/prompt/external/powerlevel10k new file mode 160000 index 0000000000..45588cc28a --- /dev/null +++ b/modules/prompt/external/powerlevel10k @@ -0,0 +1 @@ +Subproject commit 45588cc28a132602e334c6ebb8bb876bd85903c4 diff --git a/modules/prompt/functions/prompt_powerlevel10k_setup b/modules/prompt/functions/prompt_powerlevel10k_setup new file mode 120000 index 0000000000..8c66c69696 --- /dev/null +++ b/modules/prompt/functions/prompt_powerlevel10k_setup @@ -0,0 +1 @@ +../external/powerlevel10k/powerlevel10k.zsh-theme \ No newline at end of file From 1d58546406bc8f13b910141265f67dbe2f08bd5f Mon Sep 17 00:00:00 2001 From: Kaleb Elwert Date: Wed, 29 May 2019 13:42:17 -0700 Subject: [PATCH 058/279] prompt: update powerlevel10k to latest commit --- 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 45588cc28a..a4b0fd6114 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit 45588cc28a132602e334c6ebb8bb876bd85903c4 +Subproject commit a4b0fd6114541c688552305112a9ab9a534e8abf From 09e83ed2829d13b8102af1bf660efbf99e0f896b Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Mon, 17 Jun 2019 19:49:02 +0200 Subject: [PATCH 059/279] prompt: update powerlevel10k submodule (#1715) --- 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 a4b0fd6114..31fdb6797e 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit a4b0fd6114541c688552305112a9ab9a534e8abf +Subproject commit 31fdb6797ed19f008f25e26e452e297981295410 From e94b6b2078ccd0b289293dc4b996983a96a34681 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Tue, 2 Jul 2019 18:23:12 +0200 Subject: [PATCH 060/279] prompt: update powerlevel10k submodule to the latest commit (#1717) A bunch of bug fixes. Most notably romkatv/powerlevel10k#89. --- 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 31fdb6797e..613ffec4b6 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit 31fdb6797ed19f008f25e26e452e297981295410 +Subproject commit 613ffec4b61fc8c97427a99bcca72808a980645e From 6dd97d15e0303f648ad0a29303a7fe56f43a2c7c Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Tue, 23 Jul 2019 19:04:45 +0200 Subject: [PATCH 061/279] prompt: update powerlevel10k submodule to the latest commit (#1726) Changes include a few bug fixes and a score of new features. --- 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 613ffec4b6..5ef0ec415e 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit 613ffec4b61fc8c97427a99bcca72808a980645e +Subproject commit 5ef0ec415eefbc8b4431a6e4b8e2a5e0d299176a From 3ae422a0da0c675f1a53d7a1c079baa6cd87e73f Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Wed, 24 Jul 2019 20:13:32 +0200 Subject: [PATCH 062/279] prompt: update powerlevel10k submodule to the latest commit (#1727) The last update has picked up a nasty bug in gitstatus that disables all user aliases. This commit fixes it. --- 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 5ef0ec415e..f14497918f 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit 5ef0ec415eefbc8b4431a6e4b8e2a5e0d299176a +Subproject commit f14497918f0a70955f6d227d1e002ad2a3f94cc8 From 5566a9c7927ed1ee166e92f8ecb72aa7a2d0ce09 Mon Sep 17 00:00:00 2001 From: "John P. Neumann" Date: Thu, 25 Jul 2019 17:14:43 -0500 Subject: [PATCH 063/279] Resolves 1641 - Checks whether the prompt is set to be managed or not. (#1723) This is a new variable that will need to be set on all new prompts and is not backwards compatible with custom prompts that are not prezto managed, but use prezto's editor-info functionality. Updated the README.md with additional information for themes. --- modules/editor/init.zsh | 42 ++++++++++--------- modules/prompt/README.md | 16 +++++++ modules/prompt/functions/prompt-pwd | 1 + modules/prompt/functions/prompt_cloud_setup | 4 ++ .../prompt/functions/prompt_damoekri_setup | 4 ++ modules/prompt/functions/prompt_giddie_setup | 4 ++ .../prompt/functions/prompt_kylewest_setup | 4 ++ modules/prompt/functions/prompt_minimal_setup | 4 ++ .../prompt/functions/prompt_nicoulaj_setup | 4 ++ modules/prompt/functions/prompt_paradox_setup | 4 ++ .../prompt/functions/prompt_peepcode_setup | 4 ++ modules/prompt/functions/prompt_skwp_setup | 4 ++ modules/prompt/functions/prompt_smiley_setup | 4 ++ modules/prompt/functions/prompt_sorin_setup | 4 ++ modules/prompt/functions/prompt_steeef_setup | 4 ++ 15 files changed, 88 insertions(+), 19 deletions(-) diff --git a/modules/editor/init.zsh b/modules/editor/init.zsh index 3a7d66e6f3..28a2fb24a0 100644 --- a/modules/editor/init.zsh +++ b/modules/editor/init.zsh @@ -91,28 +91,32 @@ function bindkey-all { # Exposes information about the Zsh Line Editor via the $editor_info associative # array. function editor-info { - # Clean up previous $editor_info. - unset editor_info - typeset -gA editor_info - - if [[ "$KEYMAP" == 'vicmd' ]]; then - zstyle -s ':prezto:module:editor:info:keymap:alternate' format 'REPLY' - editor_info[keymap]="$REPLY" - else - zstyle -s ':prezto:module:editor:info:keymap:primary' format 'REPLY' - editor_info[keymap]="$REPLY" - - if [[ "$ZLE_STATE" == *overwrite* ]]; then - zstyle -s ':prezto:module:editor:info:keymap:primary:overwrite' format 'REPLY' - editor_info[overwrite]="$REPLY" + # Ensure that we're going to set the editor-info for prompts that + # are prezto managed and/or compatible. + if zstyle -t ':prezto:module:prompt' managed; then + # Clean up previous $editor_info. + unset editor_info + typeset -gA editor_info + + if [[ "$KEYMAP" == 'vicmd' ]]; then + zstyle -s ':prezto:module:editor:info:keymap:alternate' format 'REPLY' + editor_info[keymap]="$REPLY" else - zstyle -s ':prezto:module:editor:info:keymap:primary:insert' format 'REPLY' - editor_info[overwrite]="$REPLY" + zstyle -s ':prezto:module:editor:info:keymap:primary' format 'REPLY' + editor_info[keymap]="$REPLY" + + if [[ "$ZLE_STATE" == *overwrite* ]]; then + zstyle -s ':prezto:module:editor:info:keymap:primary:overwrite' format 'REPLY' + editor_info[overwrite]="$REPLY" + else + zstyle -s ':prezto:module:editor:info:keymap:primary:insert' format 'REPLY' + editor_info[overwrite]="$REPLY" + fi fi - fi - unset REPLY - zle zle-reset-prompt + unset REPLY + zle zle-reset-prompt + fi } zle -N editor-info diff --git a/modules/prompt/README.md b/modules/prompt/README.md index 523c83e929..ef32770b20 100644 --- a/modules/prompt/README.md +++ b/modules/prompt/README.md @@ -43,6 +43,22 @@ A prompt theme is an autoloadable function file with a special name, 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: + +``` + # Tell prezto we can manage this prompt + zstyle ':prezto:module:prompt' managed 'yes' +``` + +This is to ensure compatibility with outside prompts, while allowing prezto +and prezto-compatible prompts to take full advantage of the editor module. +This should be set in the `prompt_name_setup` function after you've added +any additional hooks with `add-zsh-hook precmd prompt_name_precmd`. See below +for additional information about functions and hooks. + ### Theme Functions There are three theme functions, a setup function, a help function, and diff --git a/modules/prompt/functions/prompt-pwd b/modules/prompt/functions/prompt-pwd index 53613e7292..d2d1788fdf 100644 --- a/modules/prompt/functions/prompt-pwd +++ b/modules/prompt/functions/prompt-pwd @@ -28,3 +28,4 @@ unset current_pwd print "$ret_directory" # } +# vim: ft=zsh diff --git a/modules/prompt/functions/prompt_cloud_setup b/modules/prompt/functions/prompt_cloud_setup index 0637208b4e..be2a33a495 100644 --- a/modules/prompt/functions/prompt_cloud_setup +++ b/modules/prompt/functions/prompt_cloud_setup @@ -104,6 +104,9 @@ function prompt_cloud_setup { # Add hook for calling git-info before each command. add-zsh-hook precmd prompt_cloud_precmd + # Tell prezto we can manage this prompt + zstyle ':prezto:module:prompt' managed 'yes' + # Set git-info parameters. zstyle ':prezto:module:git:info' verbose 'yes' zstyle ':prezto:module:git:info:dirty' format "%%B%F{$secondary_color}]%f%%b %F{yellow}⚡%f" @@ -119,3 +122,4 @@ function prompt_cloud_setup { } prompt_cloud_setup "$@" +# vim: ft=zsh diff --git a/modules/prompt/functions/prompt_damoekri_setup b/modules/prompt/functions/prompt_damoekri_setup index 4fe132d6e1..1fbaedfb03 100644 --- a/modules/prompt/functions/prompt_damoekri_setup +++ b/modules/prompt/functions/prompt_damoekri_setup @@ -40,6 +40,9 @@ function prompt_damoekri_setup { # Add hook for calling git-info and ruby-info before each command. add-zsh-hook precmd prompt_damoekri_precmd + # Tell prezto we can manage this prompt + zstyle ':prezto:module:prompt' managed 'yes' + # Set editor-info parameters. zstyle ':prezto:module:editor:info:keymap:primary' format ' %F{green}»%f' @@ -63,3 +66,4 @@ function prompt_damoekri_setup { } prompt_damoekri_setup "$@" +# vim: ft=zsh diff --git a/modules/prompt/functions/prompt_giddie_setup b/modules/prompt/functions/prompt_giddie_setup index 3c194fb9a0..2b36ccc72a 100644 --- a/modules/prompt/functions/prompt_giddie_setup +++ b/modules/prompt/functions/prompt_giddie_setup @@ -47,6 +47,9 @@ function prompt_giddie_setup { # Add hook to set up prompt parameters before each command. add-zsh-hook precmd prompt_giddie_precmd + # Tell prezto we can manage this prompt + zstyle ':prezto:module:prompt' managed 'yes' + # Set editor-info parameters. zstyle ':prezto:module:editor:info:completing' format '%F{green}...%f' zstyle ':prezto:module:editor:info:keymap:alternate' format '%F{yellow}--- COMMAND ---%f' @@ -74,3 +77,4 @@ function prompt_giddie_setup { } prompt_giddie_setup "$@" +# vim: ft=zsh diff --git a/modules/prompt/functions/prompt_kylewest_setup b/modules/prompt/functions/prompt_kylewest_setup index 70b6a54afe..d3b33a9548 100644 --- a/modules/prompt/functions/prompt_kylewest_setup +++ b/modules/prompt/functions/prompt_kylewest_setup @@ -40,6 +40,9 @@ function prompt_kylewest_setup { # Add hook for calling git-info before each command. add-zsh-hook precmd prompt_kylewest_precmd + # Tell prezto we can manage this prompt + zstyle ':prezto:module:prompt' managed 'yes' + # Set editor-info parameters. zstyle ':prezto:module:editor:info:completing' format '%B%F{red}...%f%b' zstyle ':prezto:module:editor:info:keymap:primary' format "%B%F{green}❯%f%b" @@ -63,3 +66,4 @@ function prompt_kylewest_setup { } prompt_kylewest_setup "$@" +# vim: ft=zsh diff --git a/modules/prompt/functions/prompt_minimal_setup b/modules/prompt/functions/prompt_minimal_setup index b600768bd0..e57aac57c1 100644 --- a/modules/prompt/functions/prompt_minimal_setup +++ b/modules/prompt/functions/prompt_minimal_setup @@ -32,6 +32,9 @@ function prompt_minimal_setup { # Add hook for calling vcs_info before each command. add-zsh-hook precmd prompt_minimal_precmd + # Tell prezto we can manage this prompt + zstyle ':prezto:module:prompt' managed 'yes' + # Set vcs_info parameters. zstyle ':vcs_info:*' enable bzr git hg svn zstyle ':vcs_info:*' check-for-changes true @@ -57,3 +60,4 @@ function prompt_minimal_preview { } prompt_minimal_setup "$@" +# vim: ft=zsh diff --git a/modules/prompt/functions/prompt_nicoulaj_setup b/modules/prompt/functions/prompt_nicoulaj_setup index 447ba1f40a..4b40bac8b1 100644 --- a/modules/prompt/functions/prompt_nicoulaj_setup +++ b/modules/prompt/functions/prompt_nicoulaj_setup @@ -35,6 +35,9 @@ function prompt_nicoulaj_setup { # Add hook for calling vcs_info before each command. add-zsh-hook precmd prompt_nicoulaj_precmd + # Tell prezto we can manage this prompt + zstyle ':prezto:module:prompt' managed 'yes' + # Customizable parameters. local max_path_chars=30 local user_char='❯' @@ -58,3 +61,4 @@ function prompt_nicoulaj_setup { } prompt_nicoulaj_setup "$@" +# vim: ft=zsh diff --git a/modules/prompt/functions/prompt_paradox_setup b/modules/prompt/functions/prompt_paradox_setup index 4f19989daf..9286967f9a 100644 --- a/modules/prompt/functions/prompt_paradox_setup +++ b/modules/prompt/functions/prompt_paradox_setup @@ -116,6 +116,9 @@ function prompt_paradox_setup { add-zsh-hook preexec prompt_paradox_preexec add-zsh-hook precmd prompt_paradox_precmd + # Tell prezto we can manage this prompt + zstyle ':prezto:module:prompt' managed 'yes' + # Set editor-info parameters. zstyle ':prezto:module:editor:info:completing' format '%B%F{red}...%f%b' zstyle ':prezto:module:editor:info:keymap:primary' format '%B%F{blue}❯%f%b' @@ -154,3 +157,4 @@ ${(e)$(prompt_paradox_build_prompt)} } prompt_paradox_setup "$@" +# vim: ft=zsh diff --git a/modules/prompt/functions/prompt_peepcode_setup b/modules/prompt/functions/prompt_peepcode_setup index 2081961ca4..3a108df4a6 100644 --- a/modules/prompt/functions/prompt_peepcode_setup +++ b/modules/prompt/functions/prompt_peepcode_setup @@ -34,6 +34,9 @@ function prompt_peepcode_setup { # Add a hook for calling info functions before each command. add-zsh-hook precmd prompt_peepcode_precmd + # Tell prezto we can manage this prompt + zstyle ':prezto:module:prompt' managed 'yes' + # Set git-info parameters. zstyle ':prezto:module:git:info' verbose 'no' zstyle ':prezto:module:git:info:action' format ' +%s' @@ -83,3 +86,4 @@ function prompt_peepcode_preview { } prompt_peepcode_setup "$@" +# vim: ft=zsh diff --git a/modules/prompt/functions/prompt_skwp_setup b/modules/prompt/functions/prompt_skwp_setup index f69dcddfe7..b84011fe53 100644 --- a/modules/prompt/functions/prompt_skwp_setup +++ b/modules/prompt/functions/prompt_skwp_setup @@ -36,6 +36,9 @@ function prompt_skwp_setup { # Add hook to set up prompt parameters before each command. add-zsh-hook precmd prompt_skwp_precmd + # Tell prezto we can manage this prompt + zstyle ':prezto:module:prompt' managed 'yes' + # Use extended color pallete if available. if [[ $TERM = *256color* || $TERM = *rxvt* ]]; then _prompt_skwp_colors=( @@ -73,3 +76,4 @@ function prompt_skwp_setup { } prompt_skwp_setup "$@" +# vim: ft=zsh diff --git a/modules/prompt/functions/prompt_smiley_setup b/modules/prompt/functions/prompt_smiley_setup index 3d41b3af46..cd1725bd05 100644 --- a/modules/prompt/functions/prompt_smiley_setup +++ b/modules/prompt/functions/prompt_smiley_setup @@ -41,6 +41,9 @@ function prompt_smiley_setup { # Add hook for calling git-info before each command. add-zsh-hook precmd prompt_smiley_precmd + # Tell prezto we can manage this prompt + zstyle ':prezto:module:prompt' managed 'yes' + # Set editor-info parameters. zstyle ':prezto:module:editor:info:completing' format '%B%F{red}...%f%b' @@ -63,3 +66,4 @@ function prompt_smiley_setup { } prompt_smiley_setup "$@" +# vim: ft=zsh diff --git a/modules/prompt/functions/prompt_sorin_setup b/modules/prompt/functions/prompt_sorin_setup index 2df92122d0..41ac7d0175 100644 --- a/modules/prompt/functions/prompt_sorin_setup +++ b/modules/prompt/functions/prompt_sorin_setup @@ -118,6 +118,9 @@ function prompt_sorin_setup { # Add hook for calling git-info before each command. add-zsh-hook precmd prompt_sorin_precmd + # Tell prezto we can manage this prompt + zstyle ':prezto:module:prompt' managed 'yes' + # Set editor-info parameters. zstyle ':prezto:module:editor:info:completing' format '%B%F{7}...%f%b' zstyle ':prezto:module:editor:info:keymap:primary' format ' %B%F{1}❯%F{3}❯%F{2}❯%f%b' @@ -176,3 +179,4 @@ function prompt_sorin_preview { } prompt_sorin_setup "$@" +# vim: ft=zsh diff --git a/modules/prompt/functions/prompt_steeef_setup b/modules/prompt/functions/prompt_steeef_setup index ca39f9321d..d32bd343f0 100644 --- a/modules/prompt/functions/prompt_steeef_setup +++ b/modules/prompt/functions/prompt_steeef_setup @@ -41,6 +41,9 @@ function prompt_steeef_setup { # Add hook for calling vcs_info before each command. add-zsh-hook precmd prompt_steeef_precmd + # Tell prezto we can manage this prompt + zstyle ':prezto:module:prompt' managed 'yes' + # Use extended color pallete if available. if [[ $TERM = *256color* || $TERM = *rxvt* ]]; then _prompt_steeef_colors=( @@ -104,3 +107,4 @@ function prompt_steeef_preview { } prompt_steeef_setup "$@" +# vim: ft=zsh From b01f02aa5c6714430647a4ee854149e9a336270a Mon Sep 17 00:00:00 2001 From: romkatv Date: Wed, 31 Jul 2019 15:10:06 +0200 Subject: [PATCH 064/279] prompt: update powerlevel10k submodule to the latest commit New feature: Configuration Wizard. Type `p10k configure` to explore the unique styles and features Powerlevel10k has to offer. --- 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 f14497918f..3fe113f91d 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit f14497918f0a70955f6d227d1e002ad2a3f94cc8 +Subproject commit 3fe113f91d0f819ad33c90608c3f293a1559324a From abb0c7ecb4b4c4a83ee952681cd9de30a11f9058 Mon Sep 17 00:00:00 2001 From: romkatv Date: Fri, 2 Aug 2019 07:11:27 +0200 Subject: [PATCH 065/279] prompt: update powerlevel10k submodule to the latest commit A dozen bug fixes. Most important: - rbenv and a few other segments didn't work if IFS was set to something unusual. - vcs segment couldn't properly apply subsegment style if color overrides used mnemonic names. - the check for .p10k.zsh already being sourced was too strict. --- 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 3fe113f91d..635b0d7c99 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit 3fe113f91d0f819ad33c90608c3f293a1559324a +Subproject commit 635b0d7c99a22d996b5ca43efb56e9ec6b1ebdb4 From a8087e01fbe2eff895ca6c85eddda76ff2ebd883 Mon Sep 17 00:00:00 2001 From: romkatv Date: Mon, 19 Aug 2019 11:30:16 +0200 Subject: [PATCH 066/279] prompt: update powerlevel10k submodule to the latest commit - Several bug fixes. Most notable: - Don't hide command execution time on reset-prompt. - Support prezto with zsh 5.1. - Don't hide nvm prompt when there is no nvm command. - New prompt: ranger. - Add an option to hide rust version when outside of rust project tree. - Add an option to show rvm gemset. --- 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 635b0d7c99..3090ae6633 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit 635b0d7c99a22d996b5ca43efb56e9ec6b1ebdb4 +Subproject commit 3090ae6633aedc50b43524e6c2ce1482b0a15772 From 34948690d575e9bfc9a3836b2f5a8a87c69a4a26 Mon Sep 17 00:00:00 2001 From: Julien Brochet Date: Tue, 13 Aug 2019 16:02:41 +0200 Subject: [PATCH 067/279] syntax-highlighting: update external dependency --- modules/syntax-highlighting/external | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/syntax-highlighting/external b/modules/syntax-highlighting/external index 1e34c4aa0b..35c8690c00 160000 --- a/modules/syntax-highlighting/external +++ b/modules/syntax-highlighting/external @@ -1 +1 @@ -Subproject commit 1e34c4aa0bcbdde5173aab15600784edf0a212fd +Subproject commit 35c8690c0025ceef9584f64da86ced3a72ee32b6 From 8914274ca9f7b997d4a1663e0f290c691772db7f Mon Sep 17 00:00:00 2001 From: pedrosland Date: Mon, 19 Aug 2019 18:30:33 +0100 Subject: [PATCH 068/279] prompt: update zsh-async to fix an infinite loop (#1734) --- 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 58f7ba70f0..95c2b1577f 160000 --- a/modules/prompt/external/async +++ b/modules/prompt/external/async @@ -1 +1 @@ -Subproject commit 58f7ba70f05e75802299848e7e31c7d7a7fd0c97 +Subproject commit 95c2b1577f455728ec01cec001a86c216d0af2bd From 8b1a7afd81a97014eb0ac2d3e357e962d5b7625d Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Fri, 6 Sep 2019 19:08:26 +0200 Subject: [PATCH 069/279] prompt: update powerlevel10k submodule to the latest commit (#1738) - New prompt segment: terraform. - Configuration wizard: - Offer to install Meslo Nerd Font (only on iTerm2 and Termux). - Offer to enable `time` prompt segment. - New style options: round separators, heads and tails. - Reduce the minimum required terminal width to 55 columns. - Several bug fixes. Most notable: - Fix network interface and ip parsing on Linux and WSL. - Disregard auto_name_dirs if it's set. --- 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 3090ae6633..5886154bb1 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit 3090ae6633aedc50b43524e6c2ce1482b0a15772 +Subproject commit 5886154bb14965f59d26f349b97e2c5e9104bf93 From 43214f1aed1723ab5b18cd73ce0019b5c6bb9848 Mon Sep 17 00:00:00 2001 From: Shane O'Grady Date: Mon, 9 Sep 2019 17:49:48 -0700 Subject: [PATCH 070/279] history: Permit use of previously set HISTFILE Honor the use of the HISTFILE environment variable, if it's already set. --- 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 a26f3c9f42..d1d3373a98 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="${ZDOTDIR:-$HOME}/.zhistory" # The path to the history file. +HISTFILE="${HISTFILE:-${ZDOTDIR:-$HOME}/.zhistory}" # 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. From 75940e8ee97fe7fe8b690ca98b76f95f4148a960 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Tue, 10 Sep 2019 17:57:42 +0200 Subject: [PATCH 071/279] directory: update docs to clarify it doesn't really set AUTO_NAME_DIRS (#1740) Module `directory` used to set AUTO_NAME_DIRS. This was changed in 73e94b84 but README.md hasn't been updated. This looks like an accidental omission that this commit fixes. --- modules/directory/README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/directory/README.md b/modules/directory/README.md index 47c1bc201b..ce806eea12 100644 --- a/modules/directory/README.md +++ b/modules/directory/README.md @@ -12,7 +12,6 @@ Options - `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. - - `AUTO_NAME_DIRS` auto adds variable-stored paths to `~` list. - `MULTIOS` writes to multiple descriptors. - `EXTENDED_GLOB` uses extended globbing syntax. - `CLOBBER` does not overwrite existing files with `>` and `>>`. Use `>!` and From 6ae2f39cc12d7102ca207e3bd33e986acce3eac8 Mon Sep 17 00:00:00 2001 From: laggardkernel Date: Thu, 25 Apr 2019 15:59:49 +0800 Subject: [PATCH 072/279] ruby: support environment variable RBENV_ROOT --- modules/ruby/init.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/ruby/init.zsh b/modules/ruby/init.zsh index 4ede36675f..1c1fb999e1 100644 --- a/modules/ruby/init.zsh +++ b/modules/ruby/init.zsh @@ -15,8 +15,8 @@ if [[ -s "$HOME/.rvm/scripts/rvm" ]]; then source "$HOME/.rvm/scripts/rvm" # Load manually installed rbenv into the shell session. -elif [[ -s "$HOME/.rbenv/bin/rbenv" ]]; then - path=("$HOME/.rbenv/bin" $path) +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. From 61de4d199d145ac35c21d8144942bb533533f51f Mon Sep 17 00:00:00 2001 From: laggardkernel Date: Thu, 25 Apr 2019 16:00:34 +0800 Subject: [PATCH 073/279] node: support environment variables NVM_DIR and NODENV_ROOT --- modules/node/init.zsh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/node/init.zsh b/modules/node/init.zsh index d8eea1459e..1ea66f9c6c 100644 --- a/modules/node/init.zsh +++ b/modules/node/init.zsh @@ -7,8 +7,8 @@ # # Load manually installed NVM into the shell session. -if [[ -s "$HOME/.nvm/nvm.sh" ]]; then - source "$HOME/.nvm/nvm.sh" +if [[ -s "${NVM_DIR:=$HOME/.nvm}/nvm.sh" ]]; then + source "${NVM_DIR}/nvm.sh" # Load package manager installed NVM into the shell session. elif (( $+commands[brew] )) && \ @@ -17,8 +17,8 @@ elif (( $+commands[brew] )) && \ unset nvm_prefix # Load manually installed nodenv into the shell session. -elif [[ -s "$HOME/.nodenv/bin/nodenv" ]]; then - path=("$HOME/.nodenv/bin" $path) +elif [[ -s "${NODENV_ROOT:=$HOME/.nodenv}/bin/nodenv" ]]; then + path=("${NODENV_ROOT}/bin" $path) eval "$(nodenv init - --no-rehash zsh)" # Load package manager installed nodenv into the shell session. From f596d5d1d6f7ff4edefd03749e847fdfd0505654 Mon Sep 17 00:00:00 2001 From: laggardkernel Date: Thu, 25 Apr 2019 16:02:05 +0800 Subject: [PATCH 074/279] python: improve PYENV_ROOT detection --- modules/python/init.zsh | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/modules/python/init.zsh b/modules/python/init.zsh index 44043f1c35..e5967f7aa8 100644 --- a/modules/python/init.zsh +++ b/modules/python/init.zsh @@ -8,17 +8,12 @@ # # Load manually installed pyenv into the path -if [[ -n "$PYENV_ROOT" && -s "$PYENV_ROOT/bin/pyenv" ]]; then - path=("$PYENV_ROOT/bin" $path) -elif [[ -s "$HOME/.pyenv/bin/pyenv" ]]; then - path=("$HOME/.pyenv/bin" $path) -fi +if [[ -s "${PYENV_ROOT:=$HOME/.pyenv}/bin/pyenv" ]]; then + path=("${PYENV_ROOT}/bin" $path) + eval "$(pyenv init - --no-rehash zsh)" # Load pyenv into the current python session -if (( $+commands[pyenv] )); then - if [[ -z "$PYENV_ROOT" ]]; then - export PYENV_ROOT=$(pyenv root) - fi +elif (( $+commands[pyenv] )); then eval "$(pyenv init - --no-rehash zsh)" # Prepend PEP 370 per user site packages directory, which defaults to From 75b112bcd0ba3a85e1848d25db571aee6da75995 Mon Sep 17 00:00:00 2001 From: Kaleb Elwert Date: Tue, 10 Sep 2019 09:10:31 -0700 Subject: [PATCH 075/279] node, python, ruby: update docs about new envars --- modules/node/README.md | 6 ++++++ modules/python/README.md | 3 +++ modules/ruby/README.md | 3 +++ 3 files changed, 12 insertions(+) diff --git a/modules/node/README.md b/modules/node/README.md index 951f2a7447..af447c1421 100644 --- a/modules/node/README.md +++ b/modules/node/README.md @@ -10,6 +10,9 @@ nvm [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. + nodenv ------ @@ -17,6 +20,9 @@ nodenv Node versions. It's 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. + Functions --------- diff --git a/modules/python/README.md b/modules/python/README.md index 121ea37395..91dc87feae 100644 --- a/modules/python/README.md +++ b/modules/python/README.md @@ -35,6 +35,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. + Local Package Installation -------------------------- diff --git a/modules/ruby/README.md b/modules/ruby/README.md index 12848d8649..feaa3016a5 100644 --- a/modules/ruby/README.md +++ b/modules/ruby/README.md @@ -32,6 +32,9 @@ 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 ------ From 9507a0e881ae71528c9a4182e53c62f2896c8d31 Mon Sep 17 00:00:00 2001 From: Robson Roberto Souza Peixoto <124390+robsonpeixoto@users.noreply.github.com> Date: Tue, 10 Sep 2019 13:18:09 -0300 Subject: [PATCH 076/279] tmux: ignore tmux autostart in vscode terminal (#1718) In certain situations VSCODE_PID isn't set any more, so we just need to check TERM_PROGRAM which has existed for a few years already. --- modules/tmux/init.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/tmux/init.zsh b/modules/tmux/init.zsh index fb56d07603..5c51855f2a 100644 --- a/modules/tmux/init.zsh +++ b/modules/tmux/init.zsh @@ -23,7 +23,7 @@ if ([[ "$TERM_PROGRAM" = 'iTerm.app' ]] && \ _tmux_iterm_integration='-CC' fi -if [[ -z "$TMUX" && -z "$EMACS" && -z "$VIM" && -z "$INSIDE_EMACS" && -z "$VSCODE_PID" ]] && ( \ +if [[ -z "$TMUX" && -z "$EMACS" && -z "$VIM" && -z "$INSIDE_EMACS" && "$TERM_PROGRAM" != "vscode" ]] && ( \ ( [[ -n "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' remote ) || ( [[ -z "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' local ) \ ); then From 2873885d37e362ae9be8ff4cb93ae36739ac0067 Mon Sep 17 00:00:00 2001 From: Kaleb Elwert Date: Sat, 21 Sep 2019 17:29:18 -0700 Subject: [PATCH 077/279] utility: fix safe-ops commands Fixes #1699 --- modules/utility/init.zsh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/utility/init.zsh b/modules/utility/init.zsh index 59a04f93f7..a2e5c2bdfe 100644 --- a/modules/utility/init.zsh +++ b/modules/utility/init.zsh @@ -66,10 +66,10 @@ alias mvi="${aliases[mv]:-mv} -i" alias cpi="${aliases[cp]:-cp} -i" alias lni="${aliases[ln]:-ln} -i" if zstyle -T ':prezto:module:utility' safe-ops; then - alias rm='rmi' - alias mv='mvi' - alias cp='cpi' - alias ln='lni' + alias rm="${aliases[rm]:-rm} -i" + alias mv="${aliases[mv]:-mv} -i" + alias cp="${aliases[cp]:-cp} -i" + alias ln="${aliases[ln]:-ln} -i" fi # ls From 55eb406515ba9add9c5d77a50ca04386d4f02613 Mon Sep 17 00:00:00 2001 From: lambdanerd Date: Fri, 11 Oct 2019 15:15:21 -0500 Subject: [PATCH 078/279] Remove alias for invalid `brew cleanup --force` `brew cleanup --force` produces the following error message: `Error: invalid option: --force`. I can't seem to find any record of this being a valid option for the cleanup command, so either it was deprecated in the stone age or it was a simple mistake. However, there is a `--force` option available for `brew uninstall`, but that's a dicey thing to alias. --- modules/homebrew/init.zsh | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/homebrew/init.zsh b/modules/homebrew/init.zsh index 056f1fb5db..283bb1234f 100644 --- a/modules/homebrew/init.zsh +++ b/modules/homebrew/init.zsh @@ -27,7 +27,6 @@ fi # Homebrew alias brewc='brew cleanup' -alias brewC='brew cleanup --force' alias brewi='brew install' alias brewl='brew list' alias brewo='brew outdated' From 1bc0da5f489b1f7084e5ac1c4606e89614dfacc4 Mon Sep 17 00:00:00 2001 From: Wouter Overmeire Date: Mon, 14 Oct 2019 16:27:01 +0200 Subject: [PATCH 079/279] Init submodules when using zprezto-update (#1713) --- init.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/init.zsh b/init.zsh index 99254bdb58..87f095e595 100644 --- a/init.zsh +++ b/init.zsh @@ -44,7 +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 update --recursive + git submodule update --init --recursive return $? else cannot-fast-forward From 6d65cb4176c75d3ce143393b3ae12356b644c092 Mon Sep 17 00:00:00 2001 From: lambdanerd Date: Thu, 17 Oct 2019 01:44:17 -0500 Subject: [PATCH 080/279] Remove documentation for obsolete `brewC` alias --- modules/homebrew/README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/homebrew/README.md b/modules/homebrew/README.md index 2a37553d15..3e27013f6c 100644 --- a/modules/homebrew/README.md +++ b/modules/homebrew/README.md @@ -18,7 +18,6 @@ Aliases ### Homebrew - `brewc` cleans outdated brews and their cached archives. - - `brewC` cleans outdated brews, including keg-only, and their cached archives. - `brewi` installs a formula. - `brewl` lists installed formulae. - `brewo` lists brews which have an update available. From ed6303c34048fbe0b40de23a648e397e50efeb62 Mon Sep 17 00:00:00 2001 From: lambdanerd Date: Thu, 17 Oct 2019 01:55:40 -0500 Subject: [PATCH 081/279] homebrew: add alias `brewL` --- modules/homebrew/README.md | 1 + modules/homebrew/init.zsh | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/homebrew/README.md b/modules/homebrew/README.md index 3e27013f6c..1d29871e51 100644 --- a/modules/homebrew/README.md +++ b/modules/homebrew/README.md @@ -19,6 +19,7 @@ Aliases - `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. diff --git a/modules/homebrew/init.zsh b/modules/homebrew/init.zsh index 283bb1234f..9f7e0b4646 100644 --- a/modules/homebrew/init.zsh +++ b/modules/homebrew/init.zsh @@ -14,7 +14,7 @@ fi # Variables # -# Load standard Homebrew shellenv into the shell session. +# Load standard Homebrew shellenv into the shell session. # Load 'HOMEBREW_' prefixed variables only. Avoid loading 'PATH' related # variables as they are already handled in standard zsh configuration. if (( $+commands[brew] )); then @@ -28,6 +28,7 @@ fi # Homebrew alias brewc='brew cleanup' alias brewi='brew install' +alias brewL='brew leaves' alias brewl='brew list' alias brewo='brew outdated' alias brews='brew search' From 0af28e758b953d1f6925e34e3664e4ad23719641 Mon Sep 17 00:00:00 2001 From: romkatv Date: Tue, 5 Nov 2019 10:56:58 +0100 Subject: [PATCH 082/279] prompt: update powerlevel10k submodule to the latest commit (#1757) - New feature: Instant Prompt. - Zsh starts instantly even if zshrc loads dozens of plugins. - Must be explicitly enabled via `p10k configure`. - New prompt segment: azure. - New styles: Pure and Rainbow. - 6 times faster loading (independent of instant prompt). --- 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 5886154bb1..4586e8d54c 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit 5886154bb14965f59d26f349b97e2c5e9104bf93 +Subproject commit 4586e8d54c40fb6bd688128101ea5c853e34773b From 2d6205e71404704eecc4f402e5b09d7cbd19bab7 Mon Sep 17 00:00:00 2001 From: romkatv Date: Sun, 10 Nov 2019 09:30:35 +0100 Subject: [PATCH 083/279] prompt: update powerlevel10k submodule to the latest commit (#1761) New feature: Transient Prompt. Demo: https://raw.githubusercontent.com/romkatv/powerlevel10k-media/master/transient-prompt.gif Announcement post: https://www.reddit.com/r/zsh/comments/dsh1g3/new_powerlevel10k_feature_transient_prompt --- 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 4586e8d54c..e753f4152c 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit 4586e8d54c40fb6bd688128101ea5c853e34773b +Subproject commit e753f4152c950ab6ea368f3da526b7b49180c847 From a5ebde1b171abfc57eeb434c13935ea8dc0e2a22 Mon Sep 17 00:00:00 2001 From: romkatv Date: Fri, 6 Dec 2019 15:52:54 +0100 Subject: [PATCH 084/279] prompt: update powerlevel10k submodule to the latest commit (#1768) - New prompt segments: - gcloud - fvm - vim_shell - midnight_commander - goenv - Many bug fixes and new minor features. --- 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 e753f4152c..345d0644a9 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit e753f4152c950ab6ea368f3da526b7b49180c847 +Subproject commit 345d0644a9c1a242ff131bde915bbe234c3dd745 From e86200e7aad9d4ccbabd34222ffcded3f52c6f65 Mon Sep 17 00:00:00 2001 From: Maxim Baz Date: Thu, 19 Dec 2019 00:37:51 +0100 Subject: [PATCH 085/279] Allow mapping Ctrl+S and Ctrl+Q shortcuts (#1750) --- modules/environment/init.zsh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/environment/init.zsh b/modules/environment/init.zsh index 7ae8c4f6a6..b01a7ad593 100644 --- a/modules/environment/init.zsh +++ b/modules/environment/init.zsh @@ -38,6 +38,9 @@ setopt INTERACTIVE_COMMENTS # Enable comments in interactive shell. setopt RC_QUOTES # Allow 'Henry''s Garage' instead of 'Henry'\''s Garage'. unsetopt MAIL_WARNING # Don't print a warning message if a mail file has been accessed. +# Allow mapping Ctrl+S and Ctrl+Q shortcuts +(( $+commands[stty] )) && stty -ixon + # # Jobs # From 7c94154dda2dfcf02515f1caf1e9dfe6d80b0350 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Sat, 28 Dec 2019 00:22:15 +0100 Subject: [PATCH 086/279] environment: apply `stty -ixon` only to tty (#1771) --- modules/environment/init.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/environment/init.zsh b/modules/environment/init.zsh index b01a7ad593..ac762780df 100644 --- a/modules/environment/init.zsh +++ b/modules/environment/init.zsh @@ -39,7 +39,7 @@ setopt RC_QUOTES # Allow 'Henry''s Garage' instead of 'Henry'\''s Gar unsetopt MAIL_WARNING # Don't print a warning message if a mail file has been accessed. # Allow mapping Ctrl+S and Ctrl+Q shortcuts -(( $+commands[stty] )) && stty -ixon +[[ -n ${TTY:-} && $+commands[stty] == 1 ]] && stty -ixon <$TTY >$TTY # # Jobs From c6efe8015224fe6dbc10d8f4b1aa52ce5afc9432 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Sat, 11 Jan 2020 09:48:45 +0100 Subject: [PATCH 087/279] runcoms: don't raise an error in zlogin when stderr is not a TTY (#1775) The existing code in runcoms/zlogin results in `$?` being equal to `1` when starting a login shell if stderr is not a TTY. For example: zsh -l 2>/dev/null When using a theme that displays error/success status of the last command, the first prompt will show an error. This commit fixes it so that error code is zero after sourcing zlogin (unless something unexpected and bad happens). --- runcoms/zlogin | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runcoms/zlogin b/runcoms/zlogin index 16fae45e0f..9ea97929c2 100644 --- a/runcoms/zlogin +++ b/runcoms/zlogin @@ -15,7 +15,7 @@ } &! # Execute code only if STDERR is bound to a TTY. -[[ -o INTERACTIVE && -t 2 ]] && { +if [[ -o INTERACTIVE && -t 2 ]]; then # Print a random, hopefully interesting, adage. if (( $+commands[fortune] )); then @@ -23,4 +23,4 @@ print fi -} >&2 +fi >&2 From a3a51bdf6c485ff60153e80b66915626fcbacd4f Mon Sep 17 00:00:00 2001 From: mattmc3 Date: Mon, 13 Jan 2020 18:49:37 -0500 Subject: [PATCH 088/279] Support pmodule-allow-overrides feature (#1780) --- init.zsh | 8 +++++--- runcoms/zpreztorc | 3 +++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/init.zsh b/init.zsh index 87f095e595..254ae52cc2 100644 --- a/init.zsh +++ b/init.zsh @@ -98,15 +98,17 @@ function pmodload { else locations=(${pmodule_dirs:+${^pmodule_dirs}/$pmodule(-/FN)}) if (( ${#locations} > 1 )); then - print "$0: conflicting module locations: $locations" - continue + if ! zstyle -t ':prezto:load' pmodule-allow-overrides 'yes'; then + print "$0: conflicting module locations: $locations" + continue + fi elif (( ${#locations} < 1 )); then print "$0: no such module: $pmodule" continue fi # Grab the full path to this module - pmodule_location=${locations[1]} + pmodule_location=${locations[-1]} # Add functions to $fpath. fpath=(${pmodule_location}/functions(/FN) $fpath) diff --git a/runcoms/zpreztorc b/runcoms/zpreztorc index a54907344c..9a3c19ae3f 100644 --- a/runcoms/zpreztorc +++ b/runcoms/zpreztorc @@ -18,6 +18,9 @@ zstyle ':prezto:*:*' color 'yes' # Add additional directories to load prezto modules from # zstyle ':prezto:load' pmodule-dirs $HOME/.zprezto-contrib +# Allow module overrides when pmodule-dirs causes module name collisions +# zstyle ':prezto:load' pmodule-allow-overrides 'yes' + # Set the Zsh modules to load (man zshmodules). # zstyle ':prezto:load' zmodule 'attr' 'stat' From 2acaec814fe85e45a59ba9a7c7ce9b9b39a73d3c Mon Sep 17 00:00:00 2001 From: Ivan Smirnov Date: Tue, 14 Jan 2020 09:08:47 -0800 Subject: [PATCH 089/279] autosuggestions: update to v0.6.4 --- modules/autosuggestions/external | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/autosuggestions/external b/modules/autosuggestions/external index 733abd4af0..ae315ded4d 160000 --- a/modules/autosuggestions/external +++ b/modules/autosuggestions/external @@ -1 +1 @@ -Subproject commit 733abd4af0f23f217caa2a303fbef66382d19d6f +Subproject commit ae315ded4dba10685dbbafbfa2ff3c1aefeb490d From 9ae279e25ad4afed2c069cf537b9984474afe5a4 Mon Sep 17 00:00:00 2001 From: Joost Cassee Date: Wed, 8 Jan 2020 16:26:10 +0100 Subject: [PATCH 090/279] Allow module functions directory to be a symlink The link must still point to a full directory. --- init.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/init.zsh b/init.zsh index 254ae52cc2..ebae912bc9 100644 --- a/init.zsh +++ b/init.zsh @@ -111,7 +111,7 @@ function pmodload { pmodule_location=${locations[-1]} # Add functions to $fpath. - fpath=(${pmodule_location}/functions(/FN) $fpath) + fpath=(${pmodule_location}/functions(-/FN) $fpath) function { local pfunction From 1f52b03a4569eaf82a78ed9d0b76a9e21aa6dfee Mon Sep 17 00:00:00 2001 From: romkatv Date: Thu, 16 Jan 2020 16:45:12 +0100 Subject: [PATCH 091/279] prompt: update powerlevel10k submodule to the latest commit (#1784) - New features: - Show On Command -- Display prompt segments conditional on the command being typed. Demo: https://raw.githubusercontent.com/romkatv/powerlevel10k-media/master/show-on-command.gif - `p10k display` -- Quickly hide or show different parts of prompt. - `p10k-on-*` hooks -- Get notified about prompt-related events. - New prompt segments: - google_app_cred -- Google Application Credentials. - luaenv -- Lua version from https://github.com/cehoffman/luaen. - jenv -- Java version from https://github.com/jenv/jenv. - plenv -- Perl version from https://github.com/tokuhirom/plenv. - nnn -- Shell indicator for https://github.com/jarun/nnn. - Important fixes: - Ctrl-C no longer shortens prompt when used to terminate a zle widget with transient prompt enabled. - Don't print warnings in instant prompt when OMZ is updating. - rust_version now properly recognized rustup overrides. - Smoother rendering when using transient prompt. - New style in `p10k configure`: Lean restricted to 8 colors. --- 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 345d0644a9..c21961b53c 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit 345d0644a9c1a242ff131bde915bbe234c3dd745 +Subproject commit c21961b53c137253020aeffca2b132fdd6bcb116 From 4a32e9d68b95ed3b6554d662fc774c5f5efb391d Mon Sep 17 00:00:00 2001 From: Jongwook Choi Date: Mon, 20 Jan 2020 07:25:07 -0800 Subject: [PATCH 092/279] node: suppress node-info when nvm points system-wide node (#802) On modern versions of nvm, when virtual environment is not activated (i.e. node comes from system-wide and `nvm version` == 'system'), redundant node-info could be suppressed from showing. From 7cad349a5aac43d4a7779e9d51bab43007af5902 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Mon, 20 Jan 2020 16:29:34 +0100 Subject: [PATCH 093/279] environment: improve the TTY check (#1785) Bug report from @qosmio: https://github.com/sorin-ionescu/prezto/pull/1771#issuecomment-575596417 I'm unable to reproduce it and @qosmio hasn't yet confirmed or disconfirmed whether this fix works. It's a good idea to change the code this way in either case. (As I mentioned in #1771, this `stty -ixon` call may have been added by mistake. It doesn't do what the comment suggest and is at least as likely to be harming users as helping them.) --- modules/environment/init.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/environment/init.zsh b/modules/environment/init.zsh index ac762780df..836a6cd443 100644 --- a/modules/environment/init.zsh +++ b/modules/environment/init.zsh @@ -39,7 +39,7 @@ setopt RC_QUOTES # Allow 'Henry''s Garage' instead of 'Henry'\''s Gar unsetopt MAIL_WARNING # Don't print a warning message if a mail file has been accessed. # Allow mapping Ctrl+S and Ctrl+Q shortcuts -[[ -n ${TTY:-} && $+commands[stty] == 1 ]] && stty -ixon <$TTY >$TTY +[[ -r ${TTY:-} && -w ${TTY:-} && $+commands[stty] == 1 ]] && stty -ixon <$TTY >$TTY # # Jobs From 66b9ea7d44740be0d8185b4623398f27fed8104d Mon Sep 17 00:00:00 2001 From: Kaleb Elwert Date: Mon, 20 Jan 2020 07:50:42 -0800 Subject: [PATCH 094/279] Update documentation - Fix an old link to the wrong issue tracker - Add documentation to the history module about migration from oh-my-zsh Closes #1766 --- modules/editor/README.md | 2 +- modules/history/README.md | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/editor/README.md b/modules/editor/README.md index d5280c45f5..7035635b2c 100644 --- a/modules/editor/README.md +++ b/modules/editor/README.md @@ -106,4 +106,4 @@ Authors - [Sorin Ionescu](https://github.com/sorin-ionescu) -[1]: https://github.com/sorin-ionescu/oh-my-zsh/issues +[1]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/history/README.md b/modules/history/README.md index a5a4acb125..1a03bd95e1 100644 --- a/modules/history/README.md +++ b/modules/history/README.md @@ -3,6 +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`. + Options ------- From 4bcbe2ee68f6e9c969efea3e6b8dc013876482ed Mon Sep 17 00:00:00 2001 From: romkatv Date: Sun, 2 Feb 2020 17:29:08 +0100 Subject: [PATCH 095/279] prompt: update powerlevel10k submodule to v1.1 ==[ Changes since the last release ]== - Complete documentation overhaul. Powerlevel10k documentation is no longer embarrassing (still no reference though; coming "soon"). - Worker pool and recursive globber have been rewritten for better performance and simpler code. Performance improvements (large speedup means an improvement in big-O and at least 2x in typical configurations): - +15% prompt speedup across the board. - Large prompt speedup for several rarely used prompt segments (disk_usage, ram, etc.). - Large prompt speedup for a few prompt segments on macOS (battery, swap, etc.). - Large prompt speedup when many prompt segments are active simultaneously. - Large prompt speedup when filesystem is slow. - New prompt segments: nix_shell and timewarrior. Both enabled by default. - Configuration wizard: - Many new options for Pure style (color scheme, number of lines, etc.) - Several new options for 8-color version of Pure style. - Better support for terminals with less than 256 colors. - Lean, Classic and Rainbow style configs now have disk_usage and swap prompt segments (disabled by default). - POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER now contains 'oc'. - New parameters: - POWERLEVEL9K_LEGACY_ICON_SPACING=true makes spaces around icons appear just like in powerlevel9k. - When in a vcs repo, POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER=true removes directory prefix that precedes repo root. - P9K_KUBECONTEXT_USER can now be used in kubecontext format. - POWERLEVEL9K_GOENV_SOURCES -- the same as POWERLEVEL9K_RBENV_SOURCES but or go. - POWERLEVEL9K_TERRAFORM_CLASSES -- the same as POWERLEVEL9K_AWS_CLASSES but for terraform. - Bug fixes: - Configuration wizard now correctly follows symlinks when modifying ~/.zshrc and ~/.p10k.zsh. - ram prompt segment now works on WSL. - Powerlevel10k now correctly works with zsh-you-should-use in hardcore mode. - POWERLEVEL9K_PUBLIC_IP_HOST now points to a host that actually works. - Instant prompt no longer prints nonsensical "entry=" in rare circumstances. - Misc: - Config templates no longer work with POWERLEVEL9K_VISUAL_IDENTIFIER='' defined after them. - Powerlevel10k now detects when Antigen corrupts its source and emits an appropriate error message. - Command line parser now understands 'tabbed'. - Remove all references to romkatv/dotfiles-public. Fonts are now hosted in romkatv/powerlevel10k-media together with all images and animations. ==[ Build time dependencies ]== - https://github.com/romkatv/gitstatus/tree/edb99aa7b86d10ad0a1cfe25135b57c8031d82ad - https://github.com/romkatv/libgit2/tree/75be63625a0de418ec3551306362ee1e21034039 - https://opensource.apple.com/tarballs/libiconv/libiconv-51.200.6.tar.gz --- 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 c21961b53c..9d9c50611d 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit c21961b53c137253020aeffca2b132fdd6bcb116 +Subproject commit 9d9c50611da19044370ee759e593ccadbad32a6a From e9f281cd6f62983f44faaae0816866d13bc1474e Mon Sep 17 00:00:00 2001 From: Federico Frenguelli Date: Tue, 11 Feb 2020 08:48:26 +0100 Subject: [PATCH 096/279] Updated prompt pure to version 1.11.0 --- modules/prompt/external/pure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/prompt/external/pure b/modules/prompt/external/pure index 7aade5fca2..2e354b80de 160000 --- a/modules/prompt/external/pure +++ b/modules/prompt/external/pure @@ -1 +1 @@ -Subproject commit 7aade5fca2acae3f10e260d0c076af6356da9dc6 +Subproject commit 2e354b80deae105ea246699c49e65dcd4fe8b759 From 92e6b37f73c221ebf0d8ba7a7d5bd7c2ef63e67f Mon Sep 17 00:00:00 2001 From: romkatv Date: Wed, 26 Feb 2020 18:19:53 +0100 Subject: [PATCH 097/279] prompt: update powerlevel10k submodule to v1.2.0 Release notes: https://github.com/romkatv/powerlevel10k/releases/tag/v1.2.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 9d9c50611d..cb3f58d21f 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit 9d9c50611da19044370ee759e593ccadbad32a6a +Subproject commit cb3f58d21f643d26d71f520d61a592816cca3edf From 94f9e44f3f970357d47e669410ed444db3074360 Mon Sep 17 00:00:00 2001 From: romkatv Date: Mon, 2 Mar 2020 09:27:40 +0100 Subject: [PATCH 098/279] use $TTY instead of $(tty); it's faster and more reliable `tty` command infers the current TTY from file descriptor 0. `$TTY` gives current TTY directly. The latter works even when file descriptor 0 is redirected. It's also over 1000 times faster. --- modules/gpg/init.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/gpg/init.zsh b/modules/gpg/init.zsh index 7976fd7da4..4498b7b066 100644 --- a/modules/gpg/init.zsh +++ b/modules/gpg/init.zsh @@ -26,7 +26,7 @@ if [[ -z "$GPG_AGENT_INFO" && ! -S "${GNUPGHOME:-$HOME/.gnupg}/S.gpg-agent" ]]; fi # Inform gpg-agent of the current TTY for user prompts. -export GPG_TTY="$(tty)" +export GPG_TTY=$TTY # Integrate with the SSH module. if grep '^enable-ssh-support' "$_gpg_agent_conf" &> /dev/null; then From d955fbdeb729ed038ffa7af16c1cf82dd68aff1e Mon Sep 17 00:00:00 2001 From: romkatv Date: Fri, 6 Mar 2020 17:40:32 +0100 Subject: [PATCH 099/279] prompt: update powerlevel10k submodule to v1.3.0 Release notes: https://github.com/romkatv/powerlevel10k/releases/tag/v1.3.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 cb3f58d21f..7306efb94b 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit cb3f58d21f643d26d71f520d61a592816cca3edf +Subproject commit 7306efb94ba739f714972038ad74c48d2bebfdd6 From cfeb8cd6c9f60c2a928f4c706d0137c7de2ef106 Mon Sep 17 00:00:00 2001 From: romkatv Date: Mon, 16 Mar 2020 08:34:02 +0100 Subject: [PATCH 100/279] prompt: update powerlevel10k submodule to v1.4.0 Release notes: https://github.com/romkatv/powerlevel10k/releases/tag/v1.4.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 7306efb94b..d53355cd30 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit 7306efb94ba739f714972038ad74c48d2bebfdd6 +Subproject commit d53355cd30acf8888bc1cf5caccea52f486c5584 From 1b99be879c84be12364ca9d1db553de61fd5586e Mon Sep 17 00:00:00 2001 From: Kaleb Elwert Date: Thu, 19 Mar 2020 11:19:25 -0700 Subject: [PATCH 101/279] Update syntax-highlighting module --- modules/syntax-highlighting/external | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/syntax-highlighting/external b/modules/syntax-highlighting/external index 35c8690c00..932e29a0c7 160000 --- a/modules/syntax-highlighting/external +++ b/modules/syntax-highlighting/external @@ -1 +1 @@ -Subproject commit 35c8690c0025ceef9584f64da86ced3a72ee32b6 +Subproject commit 932e29a0c75411cb618f02995b66c0a4a25699bc From f4ca9ebfc913453f98ba6912a8c42684fd742cc1 Mon Sep 17 00:00:00 2001 From: Kaspar Vollenweider Date: Thu, 13 Feb 2020 09:56:29 +0100 Subject: [PATCH 102/279] feat(helper): add os-type helper functions Add the following functions: - is-darwin - is-linux - is-bsd - is-cygwin And apply them everywhere I found code doing that what these functions do. --- modules/haskell/init.zsh | 2 +- modules/helper/init.zsh | 20 ++++++++++++++++++++ modules/homebrew/init.zsh | 2 +- modules/macports/init.zsh | 2 +- modules/osx/init.zsh | 2 +- modules/perl/init.zsh | 2 +- modules/python/init.zsh | 2 +- modules/rsync/init.zsh | 2 +- modules/utility/init.zsh | 6 +++--- 9 files changed, 30 insertions(+), 10 deletions(-) diff --git a/modules/haskell/init.zsh b/modules/haskell/init.zsh index c1c78ca2a0..7863528a72 100644 --- a/modules/haskell/init.zsh +++ b/modules/haskell/init.zsh @@ -11,7 +11,7 @@ if (( ! $+commands[ghc] )); then fi # Prepend Cabal per user directories to PATH. -if [[ "$OSTYPE" == darwin* && -d $HOME/Library/Haskell ]]; then +if is-darwin && [[ -d $HOME/Library/Haskell ]]; then path=($HOME/Library/Haskell/bin(/N) $path) else path=($HOME/.cabal/bin(/N) $path) diff --git a/modules/helper/init.zsh b/modules/helper/init.zsh index 328bed4f71..6e83f89a18 100644 --- a/modules/helper/init.zsh +++ b/modules/helper/init.zsh @@ -29,3 +29,23 @@ function coalesce { done return 1 } + +# is true on MacOS Darwin +function is-darwin { + [[ "$OSTYPE" == darwin* ]] +} + +# is true on Linux's +function is-linux { + [[ "$OSTYPE" == linux* ]] +} + +# is true on BSD's +function is-bsd { + [[ "$OSTYPE" == *bsd* ]] +} + +# is true on Cygwin (Windows) +function is-cygwin { + [[ "$OSTYPE" == cygwin* ]] +} diff --git a/modules/homebrew/init.zsh b/modules/homebrew/init.zsh index 9f7e0b4646..6605426f4f 100644 --- a/modules/homebrew/init.zsh +++ b/modules/homebrew/init.zsh @@ -6,7 +6,7 @@ # # Return if requirements are not found. -if [[ "$OSTYPE" != (darwin|linux)* ]]; then +if ! is-darwin || ! is-linux; then return 1 fi diff --git a/modules/macports/init.zsh b/modules/macports/init.zsh index d55744a875..943ff5bad6 100644 --- a/modules/macports/init.zsh +++ b/modules/macports/init.zsh @@ -7,7 +7,7 @@ # # Return if requirements are not found. -if [[ "$OSTYPE" != darwin* ]]; then +if ! is-darwin; then return 1 fi diff --git a/modules/osx/init.zsh b/modules/osx/init.zsh index f7871ca718..2b74d3ad11 100644 --- a/modules/osx/init.zsh +++ b/modules/osx/init.zsh @@ -6,7 +6,7 @@ # # Return if requirements are not found. -if [[ "$OSTYPE" != darwin* ]]; then +if ! is-darwin; then return 1 fi diff --git a/modules/perl/init.zsh b/modules/perl/init.zsh index b7a794797a..50e9b64ff2 100644 --- a/modules/perl/init.zsh +++ b/modules/perl/init.zsh @@ -37,7 +37,7 @@ fi # Local Module Installation # -if [[ "$OSTYPE" == darwin* ]]; then +if is-darwin; then # Perl is slow; cache its output. cache_file="${TMPDIR:-/tmp}/prezto-perl-cache.$UID.zsh" perl_path="$HOME/Library/Perl/5.12" diff --git a/modules/python/init.zsh b/modules/python/init.zsh index e5967f7aa8..a7e8b6e8af 100644 --- a/modules/python/init.zsh +++ b/modules/python/init.zsh @@ -22,7 +22,7 @@ elif (( $+commands[pyenv] )); then else if [[ -n "$PYTHONUSERBASE" ]]; then path=($PYTHONUSERBASE/bin $path) - elif [[ "$OSTYPE" == darwin* ]]; then + elif is-darwin; then path=($HOME/Library/Python/*/bin(N) $path) else # This is subject to change. diff --git a/modules/rsync/init.zsh b/modules/rsync/init.zsh index b3010ede32..f2eb89132f 100644 --- a/modules/rsync/init.zsh +++ b/modules/rsync/init.zsh @@ -23,7 +23,7 @@ fi # macOS and HFS+ Enhancements # https://bombich.com/kb/ccc5/credits -if [[ "$OSTYPE" == darwin* ]] && grep -q 'file-flags' <(rsync --help 2>&1); then +if is-darwin && grep -q 'file-flags' <(rsync --help 2>&1); then _rsync_cmd="${_rsync_cmd} --crtimes --fileflags --protect-decmpfs --force-change" fi diff --git a/modules/utility/init.zsh b/modules/utility/init.zsh index a2e5c2bdfe..caa0ec8d41 100644 --- a/modules/utility/init.zsh +++ b/modules/utility/init.zsh @@ -134,9 +134,9 @@ if zstyle -t ':prezto:module:utility:grep' color; then fi # macOS Everywhere -if [[ "$OSTYPE" == darwin* ]]; then +if is-darwin; then alias o='open' -elif [[ "$OSTYPE" == cygwin* ]]; then +elif is-cygwin; then alias o='cygstart' alias pbcopy='tee > /dev/clipboard' alias pbpaste='cat /dev/clipboard' @@ -166,7 +166,7 @@ fi alias df='df -kh' alias du='du -kh' -if [[ "$OSTYPE" == (darwin*|*bsd*) ]]; then +if is-darwin || is-bsd; then alias topc='top -o cpu' alias topm='top -o vsize' else From f479f37ead5476c1c5029ed7476375cb7eed562f Mon Sep 17 00:00:00 2001 From: romkatv Date: Sun, 22 Mar 2020 17:31:35 +0100 Subject: [PATCH 103/279] prompt: update powerlevel10k submodule to v1.5.0 Release notes: https://github.com/romkatv/powerlevel10k/releases/tag/v1.5.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 d53355cd30..6a0e7523b2 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit d53355cd30acf8888bc1cf5caccea52f486c5584 +Subproject commit 6a0e7523b232d02854008405a3645031c848922b From d5bef142d44138e18865199df0e4e81aa8bdd792 Mon Sep 17 00:00:00 2001 From: Charith Amarasinghe <995136+char8@users.noreply.github.com> Date: Sun, 29 Mar 2020 20:49:35 +0100 Subject: [PATCH 104/279] Fix missing dependency on helper module for helpers added in #1793 (#1811) PR #1793 introduced helper functions for OS detection in some modules. These helpers require a module dependency on the 'helper' module. --- modules/haskell/init.zsh | 3 +++ modules/macports/init.zsh | 3 +++ modules/osx/init.zsh | 3 +++ modules/perl/init.zsh | 3 +++ modules/python/init.zsh | 3 +++ modules/rsync/init.zsh | 3 +++ 6 files changed, 18 insertions(+) diff --git a/modules/haskell/init.zsh b/modules/haskell/init.zsh index 7863528a72..cb76864122 100644 --- a/modules/haskell/init.zsh +++ b/modules/haskell/init.zsh @@ -10,6 +10,9 @@ if (( ! $+commands[ghc] )); then return 1 fi +# Load dependencies. +pmodload 'helper' + # Prepend Cabal per user directories to PATH. if is-darwin && [[ -d $HOME/Library/Haskell ]]; then path=($HOME/Library/Haskell/bin(/N) $path) diff --git a/modules/macports/init.zsh b/modules/macports/init.zsh index 943ff5bad6..7bf4ab2940 100644 --- a/modules/macports/init.zsh +++ b/modules/macports/init.zsh @@ -6,6 +6,9 @@ # Sorin Ionescu # +# Load dependencies. +pmodload 'helper' + # Return if requirements are not found. if ! is-darwin; then return 1 diff --git a/modules/osx/init.zsh b/modules/osx/init.zsh index 2b74d3ad11..62f219437b 100644 --- a/modules/osx/init.zsh +++ b/modules/osx/init.zsh @@ -5,6 +5,9 @@ # Sorin Ionescu # +# Load dependencies. +pmodload 'helper' + # Return if requirements are not found. if ! is-darwin; then return 1 diff --git a/modules/perl/init.zsh b/modules/perl/init.zsh index 50e9b64ff2..8f097f6cac 100644 --- a/modules/perl/init.zsh +++ b/modules/perl/init.zsh @@ -10,6 +10,9 @@ if (( ! $+commands[perl] )); then return 1 fi +# Load dependencies. +pmodload 'helper' + # # Load Perlbrew or plenv # diff --git a/modules/python/init.zsh b/modules/python/init.zsh index a7e8b6e8af..809ab406e9 100644 --- a/modules/python/init.zsh +++ b/modules/python/init.zsh @@ -7,6 +7,9 @@ # Patrick Bos # +# 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) diff --git a/modules/rsync/init.zsh b/modules/rsync/init.zsh index f2eb89132f..79432c1251 100644 --- a/modules/rsync/init.zsh +++ b/modules/rsync/init.zsh @@ -10,6 +10,9 @@ if (( ! $+commands[rsync] )); then return 1 fi +# Load dependencies. +pmodload 'helper' + # # Aliases # From 5b03d7fa32cae51cee7903d3338f87c2d7d89657 Mon Sep 17 00:00:00 2001 From: Ackerley Tng Date: Mon, 30 Mar 2020 03:51:11 +0800 Subject: [PATCH 105/279] prompt: fix usage of zsh-async in sorin prompt (#1810) --- modules/prompt/functions/prompt_sorin_setup | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/prompt/functions/prompt_sorin_setup b/modules/prompt/functions/prompt_sorin_setup index 41ac7d0175..a7d341ee8d 100644 --- a/modules/prompt/functions/prompt_sorin_setup +++ b/modules/prompt/functions/prompt_sorin_setup @@ -54,6 +54,13 @@ function prompt_sorin_async_callback { zle && zle reset-prompt fi ;; + "[async]") + # Code is 1 for corrupted worker output and 2 for dead worker. + if [[ $2 -eq 2 ]]; then + # Our worker died unexpectedly. + typeset -g prompt_prezto_async_init=0 + fi + ;; esac } From 95ff0360aeef951111c5ca6a80939e9329ddb434 Mon Sep 17 00:00:00 2001 From: Srijan R Shetty Date: Mon, 6 Apr 2020 15:25:01 +0530 Subject: [PATCH 106/279] fix: regression in homebrew module (#1816) --- modules/homebrew/init.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/homebrew/init.zsh b/modules/homebrew/init.zsh index 6605426f4f..fb05042509 100644 --- a/modules/homebrew/init.zsh +++ b/modules/homebrew/init.zsh @@ -6,7 +6,7 @@ # # Return if requirements are not found. -if ! is-darwin || ! is-linux; then +if ! is-darwin && ! is-linux; then return 1 fi From de7b3b7fdc99f8a67320dc64085dea44914969c7 Mon Sep 17 00:00:00 2001 From: Vladimir Bauer Date: Thu, 9 Apr 2020 01:15:23 +0500 Subject: [PATCH 107/279] Use shallow clone for powerlevel9k and powerlevel10k submodules (#1819) --- .gitmodules | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitmodules b/.gitmodules index fcc482621e..547effa3e7 100644 --- a/.gitmodules +++ b/.gitmodules @@ -28,6 +28,8 @@ [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 + shallow = true From 342385618cad9d4ecbce74cc492f60a22b7c5fa3 Mon Sep 17 00:00:00 2001 From: Zac Bergquist Date: Wed, 22 Apr 2020 17:43:57 -0600 Subject: [PATCH 108/279] homebrew: load helper dependency Updates #1815 --- modules/homebrew/init.zsh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/homebrew/init.zsh b/modules/homebrew/init.zsh index fb05042509..bfa667c0bc 100644 --- a/modules/homebrew/init.zsh +++ b/modules/homebrew/init.zsh @@ -5,6 +5,9 @@ # Sorin Ionescu # +# Load dependencies. +pmodload 'helper' + # Return if requirements are not found. if ! is-darwin && ! is-linux; then return 1 From 530ea10126119e28b457a96e6c7325e6111c92fd Mon Sep 17 00:00:00 2001 From: romkatv Date: Mon, 27 Apr 2020 11:36:54 +0200 Subject: [PATCH 109/279] prompt: update powerlevel10k submodule to v1.7.0 Release notes: - https://github.com/romkatv/powerlevel10k/releases/tag/v1.6.0 - https://github.com/romkatv/powerlevel10k/releases/tag/v1.6.1 - https://github.com/romkatv/powerlevel10k/releases/tag/v1.7.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 6a0e7523b2..7c4b0f36c0 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit 6a0e7523b232d02854008405a3645031c848922b +Subproject commit 7c4b0f36c0b5d3dc1049115ecca192463c19278d From 13c61bae30c3a8cf610623c094f2aa0a95fbf035 Mon Sep 17 00:00:00 2001 From: Amyn Date: Sat, 2 May 2020 19:21:27 +0100 Subject: [PATCH 110/279] Do not source history-substring-search if already loaded (#1830) --- modules/history-substring-search/init.zsh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/history-substring-search/init.zsh b/modules/history-substring-search/init.zsh index d3ee3a1131..0de78918dc 100644 --- a/modules/history-substring-search/init.zsh +++ b/modules/history-substring-search/init.zsh @@ -10,7 +10,9 @@ pmodload 'editor' # Source module files. -source "${0:h}/external/zsh-history-substring-search.zsh" || return 1 +if (( ! $+functions[history-substring-search-up] )); then + source "${0:h}/external/zsh-history-substring-search.zsh" || return 1 +fi # # Search From 649c0e4561dc2acb599a464a750bfad426173aff Mon Sep 17 00:00:00 2001 From: Diego Rabatone Oliveira Date: Thu, 14 May 2020 15:19:03 -0300 Subject: [PATCH 111/279] [git] Add git pull autostash alias Adds the gfma and gfra aliases with the `--autostash` flag. --- modules/git/alias.zsh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/git/alias.zsh b/modules/git/alias.zsh index 89ba558733..3076708996 100644 --- a/modules/git/alias.zsh +++ b/modules/git/alias.zsh @@ -97,7 +97,9 @@ if ! zstyle -t ':prezto:module:git:alias' skip 'yes'; then alias gfc='git clone' alias gfcr='git clone --recurse-submodules' alias gfm='git pull' + alias gfma='git pull --autostash' alias gfr='git pull --rebase' + alias gfra='git pull --rebase --autostash' # Flow (F) alias gFi='git flow init' From 793f239a5e38ef2c4b76a4955bb734520303e8c4 Mon Sep 17 00:00:00 2001 From: romkatv Date: Wed, 20 May 2020 12:16:06 +0200 Subject: [PATCH 112/279] prompt: update powerlevel10k submodule to v1.10.0 Release notes: - https://github.com/romkatv/powerlevel10k/releases/tag/v1.8.0 - https://github.com/romkatv/powerlevel10k/releases/tag/v1.8.1 - https://github.com/romkatv/powerlevel10k/releases/tag/v1.8.2 - https://github.com/romkatv/powerlevel10k/releases/tag/v1.9.0 - https://github.com/romkatv/powerlevel10k/releases/tag/v1.9.1 - https://github.com/romkatv/powerlevel10k/releases/tag/v1.10.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 7c4b0f36c0..c713ded9e7 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit 7c4b0f36c0b5d3dc1049115ecca192463c19278d +Subproject commit c713ded9e76032f90014bc6829165d0dd69d28b3 From b8f5b31573968f03a91a3f197d8759333901f159 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Sun, 31 May 2020 20:07:49 +0200 Subject: [PATCH 113/279] prompt: update powerlevel10k submodule to v1.11.0 Release notes: https://github.com/romkatv/powerlevel10k/releases/tag/v1.11.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 c713ded9e7..801bfbb294 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit c713ded9e76032f90014bc6829165d0dd69d28b3 +Subproject commit 801bfbb2946b10527e75e77838a3657d78cb92e5 From ff91c8d410df3e6141248474389051c7ddcaf80a Mon Sep 17 00:00:00 2001 From: Texas Toland Date: Fri, 5 Jun 2020 05:53:44 +0900 Subject: [PATCH 114/279] Make .zcomp* location configurable (#1842) --- modules/command-not-found/init.zsh | 3 ++- modules/completion/init.zsh | 15 +++++++++------ modules/fasd/init.zsh | 3 ++- modules/gpg/init.zsh | 3 ++- modules/node/init.zsh | 3 ++- modules/pacman/functions/pacman-list-disowned | 4 ++-- modules/perl/init.zsh | 3 ++- modules/python/init.zsh | 3 ++- modules/ssh/init.zsh | 6 ++++-- runcoms/zlogin | 2 +- 10 files changed, 28 insertions(+), 17 deletions(-) diff --git a/modules/command-not-found/init.zsh b/modules/command-not-found/init.zsh index f3d7ea6287..35884ce6e0 100644 --- a/modules/command-not-found/init.zsh +++ b/modules/command-not-found/init.zsh @@ -21,11 +21,12 @@ elif (( $+commands[brew] )); then "$(brew --repository 2> /dev/null)"/Library/Taps/*/*/cmd/brew-command-not-found-init(|.rb)(.N) ) if (( $#cnf_command )); then - cache_file="${TMPDIR:-/tmp}/prezto-brew-command-not-found-cache.$UID.zsh" + 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 diff --git a/modules/completion/init.zsh b/modules/completion/init.zsh index 07acf13bf3..4cf46fa95d 100644 --- a/modules/completion/init.zsh +++ b/modules/completion/init.zsh @@ -32,13 +32,16 @@ unsetopt FLOW_CONTROL # Disable start/stop characters in shell editor. # cache time of 20 hours, so it should almost always regenerate the first time a # shell is opened each day. autoload -Uz compinit -_comp_files=(${ZDOTDIR:-$HOME}/.zcompdump(Nm-20)) -if (( $#_comp_files )); then - compinit -i -C +_comp_path="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/zcompdump" +# #q expands globs in conditional expressions +if [[ $_comp_path(#qNmh-20) ]]; then + # -C (skip function check) implies -i (skip security check). + compinit -C -d "$_comp_path" else - compinit -i + mkdir -p "$_comp_path:h" + compinit -i -d "$_comp_path" fi -unset _comp_files +unset _comp_path # # Styles @@ -46,7 +49,7 @@ unset _comp_files # Use caching to make completion for commands such as dpkg and apt usable. zstyle ':completion::complete:*' use-cache on -zstyle ':completion::complete:*' cache-path "${ZDOTDIR:-$HOME}/.zcompcache" +zstyle ':completion::complete:*' cache-path "${XDG_CACHE_HOME:-$HOME/.cache}/prezto/zcompcache" # Case-insensitive (all), partial-word, and then substring completion. if zstyle -t ':prezto:module:completion:*' case-sensitive; then diff --git a/modules/fasd/init.zsh b/modules/fasd/init.zsh index 37babd8e3e..f948789ec8 100644 --- a/modules/fasd/init.zsh +++ b/modules/fasd/init.zsh @@ -19,7 +19,7 @@ fi # Initialization # -cache_file="${TMPDIR:-/tmp}/prezto-fasd-cache.$UID.zsh" +cache_file="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/fasd-cache.zsh" if [[ "${commands[fasd]}" -nt "$cache_file" \ || "${ZDOTDIR:-$HOME}/.zpreztorc" -nt "$cache_file" \ || ! -s "$cache_file" ]]; then @@ -31,6 +31,7 @@ if [[ "${commands[fasd]}" -nt "$cache_file" \ init_args+=(zsh-ccomp zsh-ccomp-install zsh-wcomp zsh-wcomp-install) fi + mkdir -p "$cache_file:h" # Cache init code. fasd --init "$init_args[@]" >! "$cache_file" 2> /dev/null fi diff --git a/modules/gpg/init.zsh b/modules/gpg/init.zsh index 4498b7b066..a3b37ba3bc 100644 --- a/modules/gpg/init.zsh +++ b/modules/gpg/init.zsh @@ -12,7 +12,7 @@ fi # Set the default paths to gpg-agent files. _gpg_agent_conf="${GNUPGHOME:-$HOME/.gnupg}/gpg-agent.conf" -_gpg_agent_env="${TMPDIR:-/tmp}/gpg-agent.env.$UID" +_gpg_agent_env="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/gpg-agent.env" # Load environment variables from previous run source "$_gpg_agent_env" 2> /dev/null @@ -21,6 +21,7 @@ source "$_gpg_agent_env" 2> /dev/null if [[ -z "$GPG_AGENT_INFO" && ! -S "${GNUPGHOME:-$HOME/.gnupg}/S.gpg-agent" ]]; then # Start gpg-agent if not started. if ! ps -U "$LOGNAME" -o pid,ucomm | grep -q -- "${${${(s.:.)GPG_AGENT_INFO}[2]}:--1} gpg-agent"; then + mkdir -p "$_gpg_agent_env:h" eval "$(gpg-agent --daemon | tee "$_gpg_agent_env")" fi fi diff --git a/modules/node/init.zsh b/modules/node/init.zsh index 1ea66f9c6c..6fb68f307d 100644 --- a/modules/node/init.zsh +++ b/modules/node/init.zsh @@ -39,12 +39,13 @@ typeset -A compl_commands=( for compl_command in "${(k)compl_commands[@]}"; do if (( $+commands[$compl_command] )); then - cache_file="${TMPDIR:-/tmp}/prezto-$compl_command-cache.$UID.zsh" + 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 diff --git a/modules/pacman/functions/pacman-list-disowned b/modules/pacman/functions/pacman-list-disowned index 9c8f56a0e9..c5e84fcf67 100644 --- a/modules/pacman/functions/pacman-list-disowned +++ b/modules/pacman/functions/pacman-list-disowned @@ -8,11 +8,11 @@ # function pacman-list-disowned { -local tmp="${TMPDIR:-/tmp}/pacman-disowned-$UID-$$" +local tmp="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/pacman-disowned-$$" local db="$tmp/db" local fs="$tmp/fs" -mkdir "$tmp" +mkdir -p "$tmp" trap 'rm -rf "$tmp"' EXIT pacman --quiet --query --list | sort --unique > "$db" diff --git a/modules/perl/init.zsh b/modules/perl/init.zsh index 8f097f6cac..1b5e665761 100644 --- a/modules/perl/init.zsh +++ b/modules/perl/init.zsh @@ -42,11 +42,12 @@ fi if is-darwin; then # Perl is slow; cache its output. - cache_file="${TMPDIR:-/tmp}/prezto-perl-cache.$UID.zsh" + cache_file="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/perl-cache.zsh" perl_path="$HOME/Library/Perl/5.12" if [[ -f "$perl_path/lib/perl5/local/lib.pm" ]]; then if [[ "${ZDOTDIR:-$HOME}/.zpreztorc" -nt "$cache_file" || ! -s "$cache_file" ]]; then + mkdir -p "$cache_file:h" perl -I$perl_path/lib/perl5 -Mlocal::lib=$perl_path >! "$cache_file" fi diff --git a/modules/python/init.zsh b/modules/python/init.zsh index 809ab406e9..8193fd34ac 100644 --- a/modules/python/init.zsh +++ b/modules/python/init.zsh @@ -148,7 +148,7 @@ fi # Load PIP completion. if (( $#commands[(i)pip(|[23])] )); then - cache_file="${TMPDIR:-/tmp}/prezto-pip-cache.$UID.zsh" + cache_file="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/pip-cache.zsh" # Detect and use one available from among 'pip', 'pip2', 'pip3' variants pip_command="$commands[(i)pip(|[23])]" @@ -156,6 +156,7 @@ if (( $#commands[(i)pip(|[23])] )); then 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}}/" \ diff --git a/modules/ssh/init.zsh b/modules/ssh/init.zsh index 08edce5772..b9567d4635 100644 --- a/modules/ssh/init.zsh +++ b/modules/ssh/init.zsh @@ -14,10 +14,10 @@ fi _ssh_dir="$HOME/.ssh" # Set the path to the environment file if not set by another module. -_ssh_agent_env="${_ssh_agent_env:-${TMPDIR:-/tmp}/ssh-agent.env.$UID}" +_ssh_agent_env="${_ssh_agent_env:-${XDG_CACHE_HOME:-$HOME/.cache}/prezto/ssh-agent.env}" # Set the path to the persistent authentication socket. -_ssh_agent_sock="${TMPDIR:-/tmp}/ssh-agent.sock.$UID" +_ssh_agent_sock="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/ssh-agent.sock" # Start ssh-agent if not started. if [[ ! -S "$SSH_AUTH_SOCK" ]]; then @@ -26,12 +26,14 @@ if [[ ! -S "$SSH_AUTH_SOCK" ]]; then # Start ssh-agent if not started. if ! ps -U "$LOGNAME" -o pid,ucomm | grep -q -- "${SSH_AGENT_PID:--1} ssh-agent"; then + mkdir -p "$_ssh_agent_env:h" eval "$(ssh-agent | sed '/^echo /d' | tee "$_ssh_agent_env")" fi fi # Create a persistent SSH authentication socket. if [[ -S "$SSH_AUTH_SOCK" && "$SSH_AUTH_SOCK" != "$_ssh_agent_sock" ]]; then + mkdir -p "$_ssh_agent_sock:h" ln -sf "$SSH_AUTH_SOCK" "$_ssh_agent_sock" export SSH_AUTH_SOCK="$_ssh_agent_sock" fi diff --git a/runcoms/zlogin b/runcoms/zlogin index 9ea97929c2..ac4d3422a2 100644 --- a/runcoms/zlogin +++ b/runcoms/zlogin @@ -8,7 +8,7 @@ # Execute code that does not affect the current session in the background. { # Compile the completion dump to increase startup speed. - zcompdump="${ZDOTDIR:-$HOME}/.zcompdump" + zcompdump="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/zcompdump" if [[ -s "$zcompdump" && (! -s "${zcompdump}.zwc" || "$zcompdump" -nt "${zcompdump}.zwc") ]]; then zcompile "$zcompdump" fi From 20a78c04e5e07d61f6b96443ebbb8cb75fe2464d Mon Sep 17 00:00:00 2001 From: hidekuro Date: Tue, 30 Jun 2020 02:23:08 +0900 Subject: [PATCH 115/279] Remove `--all` from git alias `glg` (#1853) --- 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 3076708996..95b2a0d475 100644 --- a/modules/git/alias.zsh +++ b/modules/git/alias.zsh @@ -190,7 +190,7 @@ if ! zstyle -t ':prezto:module:git:alias' skip 'yes'; then 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 --all --graph --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' From 2d3763380c180ee961a6486bff62ac76a727e7e3 Mon Sep 17 00:00:00 2001 From: Joost Cassee Date: Mon, 29 Jun 2020 19:25:15 +0200 Subject: [PATCH 116/279] Ask pyenv whether pip exists if installed (#1848) Pyenv will install shims for commands that exist in any interpreter, even if it is not the current one. This means that a command may technically exist, but when executed will tell the user to try a different interpreter. The original check for pip in the Python module can fail for this reason, in particular on Ubuntu 20.04. This change checks with pyenv whether pip really exists in the current interpreter to work around this problem and fixes a bug in pip command detection. --- modules/python/init.zsh | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/modules/python/init.zsh b/modules/python/init.zsh index 8193fd34ac..33248bae74 100644 --- a/modules/python/init.zsh +++ b/modules/python/init.zsh @@ -147,18 +147,25 @@ if (( $+VIRTUALENVWRAPPER_VIRTUALENV || $+commands[virtualenv] )) && \ fi # Load PIP completion. -if (( $#commands[(i)pip(|[23])] )); then - cache_file="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/pip-cache.zsh" - - # Detect and use one available from among 'pip', 'pip2', 'pip3' variants +# 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 \ + "$pip_command" completion --zsh \ | sed -e "s/\(compctl -K [-_[:alnum:]]* pip\).*/\1{,2,3}{,.{0..9}}/" \ >! "$cache_file" \ 2> /dev/null @@ -166,8 +173,9 @@ if (( $#commands[(i)pip(|[23])] )); then source "$cache_file" - unset cache_file pip_command + unset cache_file fi +unset pip_command # Load conda into the shell session, if requested zstyle -T ':prezto:module:python' conda-init From a132c1007a8aa602218383c7a9952f9c6b9c2e0d Mon Sep 17 00:00:00 2001 From: Zhiming Wang Date: Tue, 30 Jun 2020 01:26:36 +0800 Subject: [PATCH 117/279] git-info: use tab as separator for splitting ahead_and_behind (#902) The current implementation is not tamper-proof against a modified IFS. See discussion in https://github.com/sorin-ionescu/prezto/pull/902 for details. --- modules/git/functions/git-info | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/git/functions/git-info b/modules/git/functions/git-info index fe8ca2acd9..20c284b08c 100644 --- a/modules/git/functions/git-info +++ b/modules/git/functions/git-info @@ -275,7 +275,7 @@ function git-info { # Format ahead. if [[ -n "$ahead_format" ]]; then - ahead="$ahead_and_behind[(w)1]" + ahead="$ahead_and_behind[(pws:\t:)1]" if (( ahead > 0 )); then zformat -f ahead_formatted "$ahead_format" "A:$ahead" fi @@ -283,7 +283,7 @@ function git-info { # Format behind. if [[ -n "$behind_format" ]]; then - behind="$ahead_and_behind[(w)2]" + behind="$ahead_and_behind[(pws:\t:)2]" if (( behind > 0 )); then zformat -f behind_formatted "$behind_format" "B:$behind" fi From c21295b27f5f3e549a0fc64c53b15ebdf7becbe1 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Mon, 6 Jul 2020 17:41:42 +0200 Subject: [PATCH 118/279] prompt: update powerlevel10k submodule to v1.12.0 Release notes: https://github.com/romkatv/powerlevel10k/releases/tag/v1.12.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 801bfbb294..0c341b6702 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit 801bfbb2946b10527e75e77838a3657d78cb92e5 +Subproject commit 0c341b67024642b8f1741920d1ae5d760bc488b0 From 4e7ab4b8b79c9009991f2552b5ee5d7e73abbcba Mon Sep 17 00:00:00 2001 From: Austin Sloane Date: Mon, 20 Jul 2020 16:07:53 -0700 Subject: [PATCH 119/279] utility, helper: add aliases to use with termux terminal emulator (android) (#1859) --- modules/helper/init.zsh | 5 +++++ modules/utility/init.zsh | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/modules/helper/init.zsh b/modules/helper/init.zsh index 6e83f89a18..0553556a49 100644 --- a/modules/helper/init.zsh +++ b/modules/helper/init.zsh @@ -49,3 +49,8 @@ function is-bsd { function is-cygwin { [[ "$OSTYPE" == cygwin* ]] } + +# is true on termux (Android) +function is-termux { + [[ "$OSTYPE" == linux-android ]] +} diff --git a/modules/utility/init.zsh b/modules/utility/init.zsh index caa0ec8d41..7bb753249e 100644 --- a/modules/utility/init.zsh +++ b/modules/utility/init.zsh @@ -140,6 +140,10 @@ elif is-cygwin; then alias o='cygstart' alias pbcopy='tee > /dev/clipboard' alias pbpaste='cat /dev/clipboard' +elif is-termux; then + alias o='termux-open' + alias pbcopy='termux-clipboard-set' + alias pbpaste='termux-clipboard-get' else alias o='xdg-open' From cb8b9ca7462e923e187da46e9ac3f45f55d8bf07 Mon Sep 17 00:00:00 2001 From: kwgchi Date: Tue, 21 Jul 2020 08:08:54 +0900 Subject: [PATCH 120/279] README: fix small grammatical error (#1857) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 552784bae7..45ef61ce40 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ 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 instructed to go into +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: From 685da200d72bd574c7e1ca82bb102f3e717e4580 Mon Sep 17 00:00:00 2001 From: Yasuharu Iida Date: Thu, 23 Jul 2020 02:28:53 +0900 Subject: [PATCH 121/279] completion: bump version to tags/0.32.0 (#1856) --- modules/completion/external | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/completion/external b/modules/completion/external index cf565254e2..ed4ff5384b 160000 --- a/modules/completion/external +++ b/modules/completion/external @@ -1 +1 @@ -Subproject commit cf565254e26bb7ce03f51889e9a29953b955b1fb +Subproject commit ed4ff5384b03aa775a57d4c9588c88850026b0b3 From e9197234cfd051effa75fa98344f845e1d818972 Mon Sep 17 00:00:00 2001 From: Olaf Conradi Date: Mon, 27 Jul 2020 21:49:40 +0200 Subject: [PATCH 122/279] Add check for empty WORKON_HOME (#1861) When $WORKON_HOME is not set and $ENV_NAME is equal to $PROJECT_ROOT/.venv which contains bin/activate then the code wrongly assumes workon is available. It should execute the second branch to source bin/activate. --- modules/python/init.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/python/init.zsh b/modules/python/init.zsh index 33248bae74..b878f04978 100644 --- a/modules/python/init.zsh +++ b/modules/python/init.zsh @@ -71,7 +71,7 @@ function _python-workon-cwd { if [[ "$ENV_NAME" != "" ]]; then # Activate the environment only if it is not already active if [[ "$VIRTUAL_ENV" != "$WORKON_HOME/$ENV_NAME" ]]; then - if [[ -e "$WORKON_HOME/$ENV_NAME/bin/activate" ]]; then + if [[ -n "$WORKON_HOME" && -e "$WORKON_HOME/$ENV_NAME/bin/activate" ]]; then workon "$ENV_NAME" && export CD_VIRTUAL_ENV="$ENV_NAME" elif [[ -e "$ENV_NAME/bin/activate" ]]; then source $ENV_NAME/bin/activate && export CD_VIRTUAL_ENV="$ENV_NAME" From 38882275b8936218aabec7a7c760514187dd7fe9 Mon Sep 17 00:00:00 2001 From: Matthieu PETIOT Date: Thu, 30 Jul 2020 22:29:59 +0200 Subject: [PATCH 123/279] Add ^_ mapping to undo in viins mode (#1860) This allows to cancel a tab completion, as ^_ in emacs mode. --- modules/editor/init.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/editor/init.zsh b/modules/editor/init.zsh index 28a2fb24a0..5b411f58a9 100644 --- a/modules/editor/init.zsh +++ b/modules/editor/init.zsh @@ -318,6 +318,7 @@ bindkey -M vicmd "$key_info[Control]X$key_info[Control]E" edit-command-line # Undo/Redo bindkey -M vicmd "u" undo +bindkey -M viins "$key_info[Control]_" undo bindkey -M vicmd "$key_info[Control]R" redo if (( $+widgets[history-incremental-pattern-search-backward] )); then From 0a405494cae54e208ff550c1ba83380ed115410a Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Tue, 1 Sep 2020 12:09:12 +0200 Subject: [PATCH 124/279] prompt: update powerlevel10k submodule to v1.13.0 Release notes: https://github.com/romkatv/powerlevel10k/releases/tag/v1.13.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 0c341b6702..47c842fe8e 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit 0c341b67024642b8f1741920d1ae5d760bc488b0 +Subproject commit 47c842fe8e666e718c8ea805586fe30d0038c262 From e915c34507d3e47b8de320475f55c066d414ada2 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Thu, 26 Nov 2020 08:30:17 +0100 Subject: [PATCH 125/279] prompt: update powerlevel10k submodule to v1.14.3 Release notes: - https://github.com/romkatv/powerlevel10k/releases/tag/v1.14.0 - https://github.com/romkatv/powerlevel10k/releases/tag/v1.14.1 - https://github.com/romkatv/powerlevel10k/releases/tag/v1.14.2 - https://github.com/romkatv/powerlevel10k/releases/tag/v1.14.3 --- 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 47c842fe8e..ff79e502ad 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit 47c842fe8e666e718c8ea805586fe30d0038c262 +Subproject commit ff79e502adf8eeec0fa775087f42d9679b10c5eb From b7a80d99a84e718f30a076b27b090d3e998ad135 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Fri, 18 Dec 2020 16:38:31 +0100 Subject: [PATCH 126/279] prompt: update powerlevel10k submodule to v1.14.4 Release notes: - https://github.com/romkatv/powerlevel10k/releases/tag/v1.14.4 --- 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 ff79e502ad..b9b3399b35 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit ff79e502adf8eeec0fa775087f42d9679b10c5eb +Subproject commit b9b3399b354e64bac631eb700cc4570d91fdb0da From c43d483d47bd9ce8255a51a7fc72e485803c5eba Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Mon, 21 Dec 2020 16:31:22 +0100 Subject: [PATCH 127/279] prompt: update powerlevel10k submodule to v1.14.5 Release notes: - https://github.com/romkatv/powerlevel10k/releases/tag/v1.14.5 --- 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 b9b3399b35..9c3ecab81e 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit b9b3399b354e64bac631eb700cc4570d91fdb0da +Subproject commit 9c3ecab81e7a8080d4f11b966d705d51f29198b0 From 704fc46c3f83ca1055becce65fb513a533f48982 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Tue, 19 Jan 2021 20:08:48 +0100 Subject: [PATCH 128/279] prompt: update powerlevel10k submodule to v1.14.6 Release notes: - https://github.com/romkatv/powerlevel10k/releases/tag/v1.14.6 --- 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 9c3ecab81e..d26bdcd601 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit 9c3ecab81e7a8080d4f11b966d705d51f29198b0 +Subproject commit d26bdcd6010cfe82bc7bab07e4363b40be834cc8 From b8a3d90a1361017efc2c4b8bda5ae008e8b8ddb6 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Sun, 4 Apr 2021 02:42:28 +0900 Subject: [PATCH 129/279] 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 66abcb2679..b64925d175 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 61e2262ff6..78beaed482 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 130/279] 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 aae3388491..0f80b8eb33 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 131/279] 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 9a3c19ae3f..cf13a2d4e6 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 132/279] 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 2902c76be7..b62fab33e2 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 133/279] 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 1a03bd95e1..75bf751de6 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 134/279] 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 75bf751de6..8733cc806c 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 135/279] 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 547effa3e7..b2337aeac9 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 2f4b15041f..0000000000 --- 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 0ec007c490..677a470bf7 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 136/279] 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 677a470bf7..80f465e58f 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 137/279] 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 f2cee88125..bcbfbd69d8 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 90e32f1a38..6a940b1166 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 10bbad3985..75084daa4f 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 9e38a80cf8..66c7e35a3d 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 138/279] 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 ebae912bc9..41737fddd8 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 139/279] 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 7bb753249e..3c2b158566 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 140/279] 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 ba54082855..ac7ef7538a 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 141/279] 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 35884ce6e0..d81692d8ca 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 142/279] 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 80f465e58f..002f9639c9 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 143/279] 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 ee5a94d6d5..f059c70019 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 144/279] 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 002f9639c9..2f30cacd37 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 145/279] 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 4cf46fa95d..ab0bf7d172 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 146/279] 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 ab0bf7d172..a216238531 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 147/279] 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 f692e0ae77..0000000000 --- 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 148/279] 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 41737fddd8..08bd3ab034 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 149/279] 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 9f10d6eedf..cfe5c03a3f 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 0553556a49..0a33d7c8c0 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 150/279] 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 75084daa4f..b6f95231dc 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 151/279] 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 bfa667c0bc..f655d0b925 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 152/279] 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 f655d0b925..57ea9225c6 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 153/279] 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 57ea9225c6..4b0fb86aa4 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 154/279] 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 1d29871e51..9a51725875 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 155/279] 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 8733cc806c..f777590fd5 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 d1d3373a98..39b08c90d6 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 156/279] 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 a216238531..691a3e5d26 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 157/279] 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 6fb68f307d..45a4e8f369 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 158/279] 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 79432c1251..e73e6dbcf4 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 159/279] 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 | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/modules/rsync/init.zsh b/modules/rsync/init.zsh index e73e6dbcf4..47eabfe88c 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 - -# 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" +autoload -Uz is-at-least +if is-at-least 3.1 ${"$(rsync --version 2>&1)"[(w)3]}; then + + # 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 160/279] 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 77d78ea54c..f4f33fa433 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 161/279] 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 836a6cd443..3011f59015 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 162/279] 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 | 624 ++++++++++----------- 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 | 116 ++-- modules/prompt/README.md | 49 +- modules/python/README.md | 75 ++- modules/rails/README.md | 45 +- modules/rsync/README.md | 21 +- modules/ruby/README.md | 107 ++-- 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 | 203 ++++--- modules/wakeonlan/README.md | 23 +- modules/yum/README.md | 33 +- runcoms/README.md | 57 +- 44 files changed, 1245 insertions(+), 1453 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f4dc0d6160..6bcb36ba30 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 45ef61ce40..ecce7dd2e7 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 1ff4e61225..974b33b447 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 c9806ea591..447d583322 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 48f9852887..0b15393b98 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 f059c70019..5dfac7d3f2 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 dc2b9b837a..377cc46da2 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 ce806eea12..a9b90632e5 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 bbf1c923b6..dea73bc4d5 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 335f77ad6a..c029cfa6f9 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 6290c05afc..739a6c9b23 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 7035635b2c..84c86c1326 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 fa9a514b39..c07ac869bb 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 15ee95922c..71f18a6905 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 cb3fc20b01..4d2c904c44 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 e4425fab22..caac66a622 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`. - -### Branch - - - `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 - - - `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 - - - `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 - - - `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 - - - `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 - - - `gFi` is short for `git flow init` - -#### 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` - -#### 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` - -#### 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` - -#### 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` - -#### 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` - -### 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. - -### 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). - -### 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. - -### 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. - -### 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. - -### 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. - -### 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. - -### 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. - -### 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 - - - `gt` lists tags or creates tag. - - `gtl` lists tags matching pattern. - - `gts` creates a signed tag. - - `gtv` validate a signed tag. - -### 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. +- `g` is short for `git`. + +### 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`) + +### 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) +- `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) + +- `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) + +- `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) + +- `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) + +- `gFi` is short for `git flow init` + +#### Feature (Ff) + +- `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) + +- `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) + +- `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) + +- `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) + +- `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) + +- `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) + +- `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) + +- `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) + +- `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) + +- `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) + +- `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) + +- `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) + +- `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) + +- `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) + +- `gt` lists tags or creates tag. +- `gtl` lists tags matching pattern. +- `gts` creates a signed tag. +- `gtv` validate a signed tag. + +### Working directory (w) + +- `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 ---------- - - - `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 -------- +## 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. + +## 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 7e62a176c2..cb77159947 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 be3c1a925c..6aa2eb5aca 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 dcf144c6bc..6f48f340db 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 cfe5c03a3f..aa6e417c7d 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 050a5c2e80..d7dc33765e 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 f777590fd5..5a06de698b 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 9a51725875..545ffc9193 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 70e4b8b942..9834dd2347 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 af447c1421..4341357818 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 e1701586b0..516e911255 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 1f93a2c332..a9e7b14b2c 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 a619a74777..ebdf95cfef 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 67f2a17798..ed3e1e5fbf 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`). - -### Perlbrew - - - `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 - - - `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 ---------- - - - `perl-info` exposes information about the Perl environment via the - `$perl_info` associative array. - -Theming -------- +- `pl` is short for `perl`. +- `pld` looks up Perl documentation (`perldoc`). +- `ple` executes a one line program in a loop (`perl -wlne`). + +### 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. + +### 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. + +## Functions + +- `perl-info` exposes information about the Perl environment via the + `$perl_info` associative array. + +## 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 ef32770b20..f69184a073 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 91dc87feae..bb85a46f27 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 19bea1d800..5919dc5c45 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 f4f33fa433..ba342bb21d 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 feaa3016a5..ad21c42dab 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. - -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. - -Theming -------- +- `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 + +- `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 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 0a9ff07c8a..01a2dd44a2 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 b64925d175..a3d4263a6a 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 a1727b9a15..dbaf809c32 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 7a5a30c356..1dfc0fac1f 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 41a08855ee..c19a35761c 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 0738d7cfad..fe47cc56d8 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 1179478703..73cda4632d 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` - -To disable all spelling corrections, add the following line to *zpreztorc*: +- `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*: ```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 dacfa52da4..162b56c035 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 fa944da8d8..bd172c6fb7 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 29d9f8a98d..ce60d1f73b 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 163/279] 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 39b08c90d6..3f815c026e 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 164/279] 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 b2337aeac9..301ae41f09 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 165/279] 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 ecce7dd2e7..b5fde17500 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 08bd3ab034..5d7996afe0 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 166/279] 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 ed4ff5384b..11ad0a45ff 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 167/279] 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 95c2b1577f..bbbc92bd01 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 168/279] 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 73cda4632d..fccfe68a89 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 3c2b158566..1daf8a5779 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 169/279] 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 | 41 +++--- runcoms/zpreztorc | 2 +- 46 files changed, 435 insertions(+), 338 deletions(-) diff --git a/README.md b/README.md index b5fde17500..f46e378c08 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 974b33b447..cc9dfb1502 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 447d583322..be637880bb 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 0b15393b98..a3e86c2b32 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 5dfac7d3f2..c433380d4e 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 377cc46da2..5563c8517b 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 a9b90632e5..86953a4795 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 dea73bc4d5..91a35e813f 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 c029cfa6f9..f193dc62aa 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 739a6c9b23..4df9230c7f 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 84c86c1326..9aef6ef13f 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 c07ac869bb..f93304aab8 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 71f18a6905..5243f26678 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 4d2c904c44..1958a73950 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 caac66a622..a97cbc0af7 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 cb77159947..747c72fb13 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 6aa2eb5aca..08730ebdbb 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 6f48f340db..db7bfae069 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 aa6e417c7d..5c90a63c17 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 d7dc33765e..5e8eeb0a78 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 5a06de698b..3806096a90 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 545ffc9193..1875e08dff 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 9834dd2347..ba6143b5d1 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 4341357818..41130ee14c 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 516e911255..75aed54006 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 a9e7b14b2c..893d3af325 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 ebdf95cfef..4e6ad8bcd0 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 ed3e1e5fbf..772d068069 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 f69184a073..2279b55991 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 be2a33a495..908e3c9318 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 2f30cacd37..31808837a7 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 bb85a46f27..fa5140ad3e 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 5919dc5c45..129627a099 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 ba342bb21d..ca0627f889 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 ad21c42dab..58a2b11cb4 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 01a2dd44a2..a1775f7e6b 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 a3d4263a6a..de393a755e 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 dbaf809c32..5b81409290 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 1dfc0fac1f..2f6ea523fa 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 c19a35761c..be4e3a16b2 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 fe47cc56d8..e7ae929dda 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 fccfe68a89..ef2db25354 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 162b56c035..ca4095ae96 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 bd172c6fb7..850b1c1eca 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 ce60d1f73b..277e833274 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: - -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* +The [configuration files][1] are read in the following order: + +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 cf13a2d4e6..cc6ebb4b74 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 170/279] 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 1daf8a5779..a06eff8518 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 171/279] 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 a06eff8518..3757e40170 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 172/279] 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 acd774254c..1cf48bfbd5 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 173/279] 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 ebfad0b82f..f1de659842 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 174/279] 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 d614b28bda..4e08494fab 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 175/279] 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 659228052a..14741978dc 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 176/279] 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 5ebab05715..7cda8a6293 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 177/279] 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 4675a3ca56..85e860503c 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 178/279] 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 ef2db25354..142b1eae49 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 3757e40170..c6dc3c033b 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 179/279] 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 5563c8517b..cdce9e518c 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 691a3e5d26..0c303a85d3 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 180/279] 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 41130ee14c..315a7d2009 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 b1a048bd24..92ac71d0ff 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 45a4e8f369..e83e888f56 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 181/279] 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 315a7d2009..2de4faab26 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. -## nvm - -[_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`, -_`$XDG_CONFIG_HOME/nvm`_, _`~/.nvm`_, or is installed with homebrew. - ## nodenv -[_nodenv_][6] does one thing well - it is concerned solely with switching +[_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_][7]. +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_][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. + ## 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 c43759b760..7a591279f5 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 e83e888f56..b436a0df49 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 182/279] 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 2de4faab26..edff6e6e32 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 0000000000..4f1a1888ea --- /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 0000000000..b06acca74a --- /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 b436a0df49..5051570d22 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 183/279] 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 edff6e6e32..f72acf6501 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 5051570d22..bc2109348d 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 184/279] 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 f72acf6501..6ec0b75c8d 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 bc2109348d..4f50194ef2 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 185/279] 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 | 12 ++--- modules/git/alias.zsh | 53 +++++++++++---------- modules/git/functions/git-info | 62 ++++++++++++++----------- modules/git/functions/git-stash-dropped | 2 +- 4 files changed, 69 insertions(+), 60 deletions(-) diff --git a/modules/git/README.md b/modules/git/README.md index a97cbc0af7..84fc8593fd 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. +- `gcS` records changes to the repository. (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. -- `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) +- `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 95b2a0d475..f9d4b14d1a 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 20c284b08c..af0bea51d3 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 d9e759e872..142a4a754f 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 186/279] 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 cb3fc60de8..bdeb298b86 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 470c093f1c..b9edd01ca1 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 af0bea51d3..07f261d424 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 cc665a1829..163deac8c4 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 746f46e512..5e162a13ab 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 c8c11aa8c3..b523314181 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 187/279] 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 f9d4b14d1a..f14cca59fe 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 188/279] 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 84fc8593fd..fad57a117d 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 189/279] 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 0c303a85d3..0500ef8681 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 190/279] 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 4f50194ef2..55a54f8de5 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 191/279] 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 0500ef8681..0fdf31482a 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 192/279] 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 b878f04978..29fc8dc7a7 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 193/279] 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 fa5140ad3e..3c56612076 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 0000000000..4e0ffb8088 --- /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 29fc8dc7a7..0682b43e8a 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 194/279] 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 3c56612076..1695fa0559 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 0682b43e8a..ed68990f54 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 + + # 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 -# Load pyenv into the current python session -elif (( $+commands[pyenv] )); then - eval "$(pyenv init - --no-rehash zsh)" + 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 195/279] 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 58a2b11cb4..97a09f07b7 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 1c1fb999e1..cf55bc5044 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 - # Unset AUTO_NAME_DIRS since auto adding variable-stored paths to ~ list - # conflicts with RVM. - unsetopt AUTO_NAME_DIRS +# 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)) - # Source RVM. - source "$HOME/.rvm/scripts/rvm" +# Load manually installed or package manager installed rbenv into the shell +# session. +if (( $#local_rbenv_paths || $+commands[rbenv] )); then -# 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)" + # Ensure manually installed rbenv is added to path when present. + [[ -s $local_rbenv_paths[1] ]] && path=($local_rbenv_paths[1]:h $path) -# Load package manager installed rbenv into the shell session. -elif (( $+commands[rbenv] )); then - eval "$(rbenv init - --no-rehash zsh)" + 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. + unsetopt AUTO_NAME_DIRS + + 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 196/279] 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 0fdf31482a..fc5cfd45fc 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 197/279] 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 55a54f8de5..b359104962 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 198/279] 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 d26bdcd601..f5d61840ae 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit d26bdcd6010cfe82bc7bab07e4363b40be834cc8 +Subproject commit f5d61840ae3a4f8c2765e1a67d94d9a96de71601 From 866d5dfccd90114ee431f144f9a62122d2768b82 Mon Sep 17 00:00:00 2001 From: Thomas Blaschke Date: Wed, 23 Jun 2021 16:20:11 +0200 Subject: [PATCH 199/279] Add conda to the list of requirements If conda is not in the list of requirements, the scripts exit too early in case pyenv is not installed and the module is configured with: zstyle ':prezto:module:python' skip-virtualenvwrapper-init 'on' zstyle ':prezto:module:python' conda-init 'on' Tested on Amazon EC2 Linux for Deeplearning AMI 47.0 and MacOS 11.4 --- modules/python/init.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/python/init.zsh b/modules/python/init.zsh index ed68990f54..91aa6d0ad7 100644 --- a/modules/python/init.zsh +++ b/modules/python/init.zsh @@ -44,7 +44,7 @@ fi unset local_pyenv # Return if requirements are not found. -if (( ! $#commands[(i)python[23]#] && ! $+functions[pyenv] )); then +if (( ! $#commands[(i)python[23]#] && ! $+functions[pyenv] && ! $+commands[conda] )); then return 1 fi From f3c92ffeb3a09acf67bc4c07f56a721a827ac38e Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Tue, 22 Jun 2021 22:17:29 -0500 Subject: [PATCH 200/279] utility: Pipe diff output through colordiff Instead of aliasing `colordiff` behaves better as `stdin` filter. This is useful in retaining color escape sequences when used with `less`. --- modules/utility/functions/diff | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/utility/functions/diff b/modules/utility/functions/diff index 4e08494fab..2e812f2f44 100644 --- a/modules/utility/functions/diff +++ b/modules/utility/functions/diff @@ -9,7 +9,7 @@ if zstyle -t ':prezto:module:utility:diff' color \ && (( $+commands[colordiff] )); then - command colordiff "$@" + command diff "$@" | colordiff else command diff "$@" fi From 2451239713e64f7272c8aadbdd15685e1b23355b Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Sat, 3 Jul 2021 12:26:46 -0500 Subject: [PATCH 201/279] general: Clarify relative ordering of modules in docs --- modules/autosuggestions/README.md | 8 ++++---- modules/history-substring-search/README.md | 12 ++++++++++-- modules/syntax-highlighting/README.md | 20 +++++++++++++------- 3 files changed, 27 insertions(+), 13 deletions(-) diff --git a/modules/autosuggestions/README.md b/modules/autosuggestions/README.md index a3e86c2b32..8aedb31b0e 100644 --- a/modules/autosuggestions/README.md +++ b/modules/autosuggestions/README.md @@ -8,12 +8,12 @@ history and completions. 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`_][4] -module, this module must be loaded _after_ the _`history-substring-search`_ -module. +Additionally, 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 as well. To elaborate, the relative order of loading the modules would be -_`autosuggestions`_, _`syntax-highlighting`_ and _`history-substring-search`_. +_`syntax-highlighting`_, _`history-substring-search`_ and _`autosuggestions`_. ## Contributors diff --git a/modules/history-substring-search/README.md b/modules/history-substring-search/README.md index 5e8eeb0a78..3a109c556f 100644 --- a/modules/history-substring-search/README.md +++ b/modules/history-substring-search/README.md @@ -8,6 +8,13 @@ commands. If this module is used in conjunction with the [_`syntax-highlighting`_][3] module, this module must be loaded _after_ the _`syntax-highlighting`_ module. +Additionally, if this module is used in conjunction with the +[_`autosuggestions`_][4] module, this module must be loaded _before_ the +_`autosuggestions`_ module. + +To elaborate, the relative order of loading the modules would be +_`syntax-highlighting`_, _`history-substring-search`_ and _`autosuggestions`_. + ## Contributors New features and bug fixes should be submitted to the @@ -60,7 +67,7 @@ zstyle ':prezto:module:history-substring-search' globbing-flags '' ## 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]._ - [Suraj N. Kurapati](https://github.com/sunaku) - [Sorin Ionescu](https://github.com/sorin-ionescu) @@ -68,4 +75,5 @@ _The authors of this module should be contacted via the [issue tracker][4]._ [1]: https://github.com/zsh-users/zsh-history-substring-search [2]: https://fishshell.com [3]: ../syntax-highlighting#readme -[4]: https://github.com/sorin-ionescu/prezto/issues +[4]: ../autosuggestions#readme +[5]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/syntax-highlighting/README.md b/modules/syntax-highlighting/README.md index 2f6ea523fa..3debb6779a 100644 --- a/modules/syntax-highlighting/README.md +++ b/modules/syntax-highlighting/README.md @@ -4,12 +4,17 @@ Integrates [zsh-syntax-highlighting][1] into Prezto. This module must be loaded _before_ the _`prompt`_ module. +If this module is used in conjunction with the [_`history-substring-search`_][2] +module, this module must be loaded _before_ the _`history-substring-search`_ +module. + Additionally, if this module is used in conjunction with the -[_`history-substring-search`_][2] module, this module must be loaded _before_ -the _`history-substring-search`_ module. +[_`autosuggestions`_][3] module, this module must be loaded _before_ the +_`autosuggestions`_ module as well. To elaborate, the relative order of loading the modules would be -_`syntax-highlighting`_, _`history-substring-search`_ and _`prompt`_. +_`syntax-highlighting`_, _`history-substring-search`_, _`autosuggestions`_ and +_`prompt`_. ## Contributors @@ -30,7 +35,7 @@ zstyle ':prezto:module:syntax-highlighting' color 'yes' ### Highlighters -Syntax highlighting is accomplished by pluggable [highlighters][3]. This module +Syntax highlighting is accomplished by pluggable [highlighters][4]. This module only enables the _main_ highlighter by default. To enable all highlighters, add the following to @@ -62,11 +67,12 @@ zstyle ':prezto:module:syntax-highlighting' styles \ ## 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://github.com/zsh-users/zsh-syntax-highlighting [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 +[3]: ../autosuggestions#readme +[4]: https://github.com/zsh-users/zsh-syntax-highlighting/tree/master/highlighters +[5]: https://github.com/sorin-ionescu/prezto/issues From 48291f68e811b9939cec1b782210a398ca363896 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Sun, 4 Jul 2021 21:07:48 -0500 Subject: [PATCH 202/279] general: Reformat runcom documentation --- runcoms/README.md | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/runcoms/README.md b/runcoms/README.md index 277e833274..39feb7d8d7 100644 --- a/runcoms/README.md +++ b/runcoms/README.md @@ -2,10 +2,10 @@ Zsh has several system-wide and user-local configuration files. -Prezto has one user-local configuration file. +Additionally, 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 @@ -16,17 +16,17 @@ not defined, Zsh will use the user's home directory. The [configuration files][1] are read in the following order: -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`* +1. _`/etc/zshenv`_ +2. _`${ZDOTDIR:-$HOME}/.zshenv`_ +3. _`/etc/zprofile`_ +4. _`${ZDOTDIR:-$HOME}/.zprofile`_ +5. _`/etc/zshrc`_ +6. _`${ZDOTDIR:-$HOME}/.zshrc`_ +7. _`${ZDOTDIR:-$HOME}/.zpreztorc`_ +8. _`/etc/zlogin`_ +9. _`${ZDOTDIR:-$HOME}/.zlogin`_ +10. _`${ZDOTDIR:-$HOME}/.zlogout`_ +11. _`/etc/zlogout`_ ### zshenv @@ -35,11 +35,11 @@ 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][2] 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][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. +_zprofile_ and _zlogin_ are not meant to be used together but can be done so. ### zshrc @@ -52,9 +52,9 @@ This file configures Prezto. ### zlogin -This file is sourced by login shells after *zshrc*. 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*][3], [*msgs*][4], 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,7 +66,7 @@ displaying messages and for deletion of files. ## Authors -*The authors of these files should be contacted via the [issue tracker][5].* +_The authors of these files should be contacted via the [issue tracker][5]._ - [Sorin Ionescu](https://github.com/sorin-ionescu) From 166cbe2fca25319db2551f0cc74a86c93259017d Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Sat, 3 Jul 2021 21:19:16 -0500 Subject: [PATCH 203/279] autosuggestions: Update zsh-autosuggestions to 0.7.0 --- modules/autosuggestions/external | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/autosuggestions/external b/modules/autosuggestions/external index ae315ded4d..a411ef3e09 160000 --- a/modules/autosuggestions/external +++ b/modules/autosuggestions/external @@ -1 +1 @@ -Subproject commit ae315ded4dba10685dbbafbfa2ff3c1aefeb490d +Subproject commit a411ef3e0992d4839f0732ebeb9823024afaaaa8 From 7f8b9b829a34900193daf9c46463910b9fb5ccf0 Mon Sep 17 00:00:00 2001 From: Andrew Kvalheim Date: Fri, 12 Nov 2021 08:07:53 -0800 Subject: [PATCH 204/279] general: Correct typo in installation instructions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Resolves “zsh: bad substitution” --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f46e378c08..5479721f2f 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ version is **4.3.11**. 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`_: + - Configure `$XDG_CONFIG_HOME` and `$ZDOTDIR` in _`$HOME/.zshenv`_: ```sh export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:=$HOME/.config}" From ecaed1cfa7591d2304d7eb5d69b42b54961a7145 Mon Sep 17 00:00:00 2001 From: David Crook Date: Tue, 16 Nov 2021 10:49:33 -0700 Subject: [PATCH 205/279] change polarity of test for BROWSER --- modules/git/functions/git-hub-browse | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/git/functions/git-hub-browse b/modules/git/functions/git-hub-browse index bdeb298b86..3451198c0d 100644 --- a/modules/git/functions/git-hub-browse +++ b/modules/git/functions/git-hub-browse @@ -47,7 +47,7 @@ file="$3" if [[ -n "$url" ]]; then url="$url/tree/$reference/$file" - if [[ -z "$BROWSER" ]]; then + if [[ -n "$BROWSER" ]]; then "$BROWSER" "$url" return 0 else From 7884fb2271d131bb492fafc4eba1c537a821092b Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Tue, 11 Jan 2022 10:17:21 +0100 Subject: [PATCH 206/279] prompt: update powerlevel10k submodule to v1.16.0 Release notes: - https://github.com/romkatv/powerlevel10k/releases/tag/v1.16.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 f5d61840ae..683a485232 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit f5d61840ae3a4f8c2765e1a67d94d9a96de71601 +Subproject commit 683a485232d75978a79199a305c4fc4843772a77 From d6e1ef5fcf22664dbf47a5be2709e05f1f6f21a1 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Wed, 2 Feb 2022 13:54:45 +0100 Subject: [PATCH 207/279] prompt: update powerlevel10k submodule to v1.16.1 Release notes: - https://github.com/romkatv/powerlevel10k/releases/tag/v1.16.1 --- 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 683a485232..8a676a9157 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit 683a485232d75978a79199a305c4fc4843772a77 +Subproject commit 8a676a9157d2b0e00e88d06456ac7317f11c0317 From d840f0fc7bb9e604fedef40eff4ed53f4c3c60f6 Mon Sep 17 00:00:00 2001 From: zbirenbaum Date: Thu, 3 Feb 2022 22:08:36 -0500 Subject: [PATCH 208/279] Fix crash on open caused by incorrect conditional in python module --- modules/python/init.zsh | 43 +++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/modules/python/init.zsh b/modules/python/init.zsh index 91aa6d0ad7..22b61c3ed5 100644 --- a/modules/python/init.zsh +++ b/modules/python/init.zsh @@ -114,33 +114,34 @@ if (( $+VIRTUALENVWRAPPER_VIRTUALENV || $+commands[virtualenv] )) \ pyenv_plugins=(${(@oM)${(f)"$(pyenv commands --no-sh 2> /dev/null)"}:#virtualenv*}) fi + # Optionally activate 'virtualenv' plugin when available. if (( $pyenv_plugins[(i)virtualenv-init] <= $#pyenv_plugins )); then - # Enable 'virtualenv' with 'pyenv'. eval "$(pyenv virtualenv-init - zsh)" + fi - # Optionally activate 'virtualenvwrapper' plugin when available. - if (( $pyenv_plugins[(i)virtualenvwrapper(_lazy|)] <= $#pyenv_plugins )); then - pyenv "$pyenv_plugins[(R)virtualenvwrapper(_lazy|)]" - fi - else - # 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=( - ${(@Ov)commands[(I)virtualenvwrapper(_lazy|).sh]} - /usr/share/virtualenvwrapper/virtualenvwrapper(_lazy|).sh(OnN) - ) - if (( $#virtenv_sources )); then - source "$virtenv_sources[1]" - fi + # Optionally activate 'virtualenvwrapper' plugin when available. + if (( $pyenv_plugins[(i)virtualenvwrapper(_lazy|)] <= $#pyenv_plugins )); then + pyenv "$pyenv_plugins[(R)virtualenvwrapper(_lazy|)]" + fi + + unset pyenv_plugins + +else + # 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 - unset virtenv_sources + virtenv_sources=( + ${(@Ov)commands[(I)virtualenvwrapper(_lazy|).sh]} + /usr/share/virtualenvwrapper/virtualenvwrapper(_lazy|).sh(OnN) + ) + if (( $#virtenv_sources )); then + source "$virtenv_sources[1]" fi - unset pyenv_plugins + unset virtenv_sources fi # Load conda into the shell session, if requested. From bf3dfe8c02d074fbf6e29238ce4277287e0d876f Mon Sep 17 00:00:00 2001 From: mattmc3 Date: Mon, 14 Feb 2022 20:55:40 -0500 Subject: [PATCH 209/279] Update Pure prompt to 1.20.0 --- modules/prompt/external/pure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/prompt/external/pure b/modules/prompt/external/pure index 2e354b80de..c25ab93eca 160000 --- a/modules/prompt/external/pure +++ b/modules/prompt/external/pure @@ -1 +1 @@ -Subproject commit 2e354b80deae105ea246699c49e65dcd4fe8b759 +Subproject commit c25ab93eca8275144ad1ee9c2167668e550a82f5 From 7ec1ecde3a2b5f195432259bb32934cfd16dd5bc Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Sat, 26 Feb 2022 13:26:30 -0600 Subject: [PATCH 210/279] prompt: Update pure submodule to 1.20.1 --- modules/prompt/external/pure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/prompt/external/pure b/modules/prompt/external/pure index c25ab93eca..5b458ba5b7 160000 --- a/modules/prompt/external/pure +++ b/modules/prompt/external/pure @@ -1 +1 @@ -Subproject commit c25ab93eca8275144ad1ee9c2167668e550a82f5 +Subproject commit 5b458ba5b75f49a8071d53c343f1a23631f7bced From 15150085e6ffc0e46b00cb0809914e41ea08bab4 Mon Sep 17 00:00:00 2001 From: Aaron Kanter Date: Sat, 12 Mar 2022 19:16:35 -0800 Subject: [PATCH 211/279] Only export env variables in zprofile if unset As per [zsh documentation](https://zsh.sourceforge.io/Intro/intro_3.html) environment variables should be expected to be in `.zshenv` and not be overridden in `.zprofile`. This change modifies BROWSER (on darwin systems only), EDITOR, VISUAL, PAGER, LESS, and LESSOPEN to only use zprezto defaults if they were not previously set in the loading order. See: https://github.com/nix-community/home-manager/issues/2739 https://github.com/nix-community/home-manager/issues/2751 --- runcoms/zprofile | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/runcoms/zprofile b/runcoms/zprofile index 1cf48bfbd5..b12367ac18 100644 --- a/runcoms/zprofile +++ b/runcoms/zprofile @@ -9,7 +9,7 @@ # Browser # -if [[ "$OSTYPE" == darwin* ]]; then +if [[ -z "$BROWSER" && "$OSTYPE" == darwin* ]]; then export BROWSER='open' fi @@ -17,9 +17,15 @@ fi # Editors # -export EDITOR='nano' -export VISUAL='nano' -export PAGER='less' +if [[ -z "$EDITOR" ]]; then + export EDITOR='nano' +fi +if [[ -z "$VISUAL" ]]; then + export VISUAL='nano' +fi +if [[ -z "$PAGER" ]]; then + export PAGER='less' +fi # # Language @@ -54,10 +60,12 @@ path=( # Set the default Less options. # Mouse-wheel scrolling has been disabled by -X (disable screen clearing). # Remove -X to enable it. -export LESS='-g -i -M -R -S -w -X -z-4' +if [[ -z "$LESS" ]]; then + export LESS='-g -i -M -R -S -w -X -z-4' +fi # Set the Less input preprocessor. # Try both `lesspipe` and `lesspipe.sh` as either might exist on a system. -if (( $#commands[(i)lesspipe(|.sh)] )); then +if [[ -z "$LESSOPEN" && (( $#commands[(i)lesspipe(|.sh)] )) ]]; then export LESSOPEN="| /usr/bin/env $commands[(i)lesspipe(|.sh)] %s 2>&-" fi From 98d69fc91fac21195601d914c8aee6071aa005e1 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Tue, 29 Mar 2022 18:50:35 -0500 Subject: [PATCH 212/279] zprofile: adjust condition for `LESSOPEN` export Split tests for condition for `export LESSOPEN` separate per convention --- runcoms/zprofile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runcoms/zprofile b/runcoms/zprofile index b12367ac18..5b8b638c44 100644 --- a/runcoms/zprofile +++ b/runcoms/zprofile @@ -66,6 +66,6 @@ fi # Set the Less input preprocessor. # Try both `lesspipe` and `lesspipe.sh` as either might exist on a system. -if [[ -z "$LESSOPEN" && (( $#commands[(i)lesspipe(|.sh)] )) ]]; then +if [[ -z "$LESSOPEN" ]] && (( $#commands[(i)lesspipe(|.sh)] )); then export LESSOPEN="| /usr/bin/env $commands[(i)lesspipe(|.sh)] %s 2>&-" fi From 1ff1099d0588d32511b2ab0cd24e1cf30ebc5236 Mon Sep 17 00:00:00 2001 From: Jim Boulter Date: Sun, 6 Mar 2022 13:23:55 -0800 Subject: [PATCH 213/279] Allow users to set a dirty-branch format --- modules/git/functions/git-info | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/git/functions/git-info b/modules/git/functions/git-info index 07f261d424..eca50462e2 100644 --- a/modules/git/functions/git-info +++ b/modules/git/functions/git-info @@ -417,6 +417,11 @@ function git-info { if (( dirty > 0 )); then zstyle -s ':prezto:module:git:info:dirty' format 'dirty_format' zformat -f dirty_formatted "$dirty_format" "D:$dirty" + # Overwrite branch format to use dirty-branch format + zstyle -s ':prezto:module:git:info:dirty-branch' format 'branch_format' + if [[ -n "$branch" && -n "$branch_format" ]]; then + zformat -f branch_formatted "$branch_format" "b:$branch" + fi else zstyle -s ':prezto:module:git:info:clean' format 'clean_formatted' fi From 3da67271b95a55daca55adec0a624c9113687dce Mon Sep 17 00:00:00 2001 From: Eugen Blattner Date: Fri, 18 Mar 2022 11:43:05 +0100 Subject: [PATCH 214/279] fix: use inflating binaries instead of deflating in unarchive function --- modules/archive/functions/unarchive | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/modules/archive/functions/unarchive b/modules/archive/functions/unarchive index 66c7e35a3d..d66fef83f9 100644 --- a/modules/archive/functions/unarchive +++ b/modules/archive/functions/unarchive @@ -34,10 +34,10 @@ fi # here, we check for dropin/multi-threaded replacements # this should eventually be moved to modules/archive/init.zsh # as a global alias -if (( $+commands[pigz] )); then - _gzip_bin='pigz' +if (( $+commands[unpigz] )); then + _gzip_bin='unpigz' else - _gzip_bin='gzip' + _gzip_bin='gunzip' fi if (( $+commands[pixz] )); then @@ -46,12 +46,12 @@ else _xz_bin='xz' fi -if (( $+commands[lbzip2] )); then - _bzip2_bin='lbzip2' -elif (( $+commands[pbzip2] )); then - _bzip2_bin='pbzip2' +if (( $+commands[lbunzip2] )); then + _bzip2_bin='lbunzip2' +elif (( $+commands[pbunzip2] )); then + _bzip2_bin='pbunzip2' else - _bzip2_bin='bzip2' + _bzip2_bin='bunzip2' fi _zstd_bin='zstd' From 2c663313168490d28f607738e962aa45ada0e26b Mon Sep 17 00:00:00 2001 From: Eugen Blattner Date: Tue, 5 Apr 2022 20:48:58 +0200 Subject: [PATCH 215/279] fix: use deflating flag for pixz in unarchive function --- modules/archive/functions/unarchive | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/archive/functions/unarchive b/modules/archive/functions/unarchive index d66fef83f9..3e58b86759 100644 --- a/modules/archive/functions/unarchive +++ b/modules/archive/functions/unarchive @@ -41,7 +41,7 @@ else fi if (( $+commands[pixz] )); then - _xz_bin='pixz' + _xz_bin='pixz -d' else _xz_bin='xz' fi From ac1c39d2e1c730f76b0430915e05d349763ba2e1 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Wed, 30 Mar 2022 12:22:54 -0500 Subject: [PATCH 216/279] completion: Detect Homebrew prefix internally, not idiomatically For performance reasons, we prefer detecting Homebrew prefix internally instead of the more idiomatic form `brew --prefix`. We attempt looking up $HOMEBREW_PREFIX or $HOMEBREW_REPOSITORY first (in case `brew shellenv` has been sourced-in earlier). Else, we look it up by resolving absolute path of $HOMEBREW_REPOSITORY. $HOMEBREW_PREFIX is same as $HOMEBREW_REPOSITORY except when Homebrew is installed in '/usr/local' ($HOMEBREW_REPOSITORY == '/usr/local/Homebrew'). This is usually the case for Intel Macs. This should work for most standard (and officially documented) Homebrew installations. For implementation details in Homebrew, see: https://github.com/Homebrew/brew/blob/2a850e02d8f2dedcad7164c2f4b95d340a7200bb/bin/brew#L62-L70 Co-authored-by: mattmc3 --- modules/completion/init.zsh | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/modules/completion/init.zsh b/modules/completion/init.zsh index fc5cfd45fc..9ba9563461 100644 --- a/modules/completion/init.zsh +++ b/modules/completion/init.zsh @@ -14,12 +14,16 @@ fi # Add zsh-completions to $fpath. fpath=(${0:h}/external/src $fpath) -# Add completion for keg-only brewed curl when available. -if (( $+commands[brew] )) \ - && [[ -d "${curl_prefix::="$(brew --prefix 2> /dev/null)"/opt/curl}" ]]; then - fpath=($curl_prefix/share/zsh/site-functions $fpath) +# Add completion for keg-only brewed curl on macOS when available. +if (( $+commands[brew] )); then + brew_prefix=${HOMEBREW_PREFIX:-${HOMEBREW_REPOSITORY:-$commands[brew]:A:h:h}} + # $HOMEBREW_PREFIX defaults to $HOMEBREW_REPOSITORY but is explicitly set to + # /usr/local when $HOMEBREW_REPOSITORY is /usr/local/Homebrew. + # https://github.com/Homebrew/brew/blob/2a850e02d8f2dedcad7164c2f4b95d340a7200bb/bin/brew#L66-L69 + [[ $brew_prefix == '/usr/local/Homebrew' ]] && brew_prefix=$brew_prefix:h + fpath=($brew_prefix/opt/curl/share/zsh/site-functions(/N) $fpath) + unset brew_prefix fi -unset curl_prefix # # Options From c857e809c3aca796ec1dc35a01d5b2c0ae535b90 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Fri, 1 Apr 2022 10:51:37 -0500 Subject: [PATCH 217/279] command-not-found: Detect Homebrew repo internally, not idiomatically For performance reasons, we prefer detecting Homebrew prefix internally instead of the more idiomatic form `brew --repository`. We attempt looking up $HOMEBREW_REPOSITORY first (in case `brew shellenv` has been sourced-in earlier). Else, we look it up by resolving absolute path of $HOMEBREW_REPOSITORY. This should work for most standard (and officially documented) Homebrew installations. --- modules/command-not-found/init.zsh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/command-not-found/init.zsh b/modules/command-not-found/init.zsh index d81692d8ca..cf8f64eaf0 100644 --- a/modules/command-not-found/init.zsh +++ b/modules/command-not-found/init.zsh @@ -7,14 +7,14 @@ # # Load command-not-found on Debian-based distributions. -if [[ -s '/etc/zsh_command_not_found' ]]; then - source '/etc/zsh_command_not_found' +if [[ -s /etc/zsh_command_not_found ]]; then + source /etc/zsh_command_not_found # Load command-not-found on Arch Linux-based distributions. -elif [[ -s '/usr/share/doc/pkgfile/command-not-found.zsh' ]]; then - source '/usr/share/doc/pkgfile/command-not-found.zsh' +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. elif (( $+commands[brew] )) \ - && [[ -s "${hb_cnf_handler::="$(brew --repository 2> /dev/null)"/Library/Taps/homebrew/homebrew-command-not-found/handler.sh}" ]]; then + && [[ -s ${hb_cnf_handler::="${HOMEBREW_REPOSITORY:-$commands[brew]:A:h:h}/Library/Taps/homebrew/homebrew-command-not-found/handler.sh"} ]]; then source "$hb_cnf_handler" unset hb_cnf_handler # Return if requirements are not found. From 3dc3fa7f8c484569a721724fa13c77cecd1dd923 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Fri, 1 Apr 2022 15:40:01 -0500 Subject: [PATCH 218/279] zprofile: Expand the default list of well known paths Two additional sets of paths are now added to the default list of well known paths: '$HOME/{bin,sbin}' and '/opt/{homebrew,local}/{bin,sbin}'. - '$HOME/{bin,sbin}': Most users have custom scripts in '$HOME/bin' anyway, we might as well honor those. '$HOME/sbin' is not really common, but we can keep it for consistency. - '/opt/{homebrew,local}/{bin,sbin}': With Homebrew changing default installation location in macOS on Apple Silicon which will eventually become ubiquitous, we have a good reason to add these paths by default. While at it, we also honor MacPorts installation. In all cases, we add them _iff_ the paths actually exist, not otherwise. This has the side effect of a newly installed program not available immediately in the '$path' in a mint fresh system (because of the fact that '/opt/{homebrew,local}/{bin,sbin}' won't exist initially) until the shell is reloaded. But that's a minor inconvenience to keep the '$path' from getting unnecessarily bloated. --- runcoms/zprofile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/runcoms/zprofile b/runcoms/zprofile index 5b8b638c44..d2acd31145 100644 --- a/runcoms/zprofile +++ b/runcoms/zprofile @@ -49,7 +49,9 @@ typeset -gU cdpath fpath mailpath path # Set the list of directories that Zsh searches for programs. path=( - /usr/local/{bin,sbin} + $HOME/{,s}bin(N) + /opt/{homebrew,local}/{,s}bin(N) + /usr/local/{,s}bin(N) $path ) From dea85a0740253c0e17fa7eadb067694e11f5451c Mon Sep 17 00:00:00 2001 From: Shea690901 Date: Tue, 5 Apr 2022 20:46:49 +0200 Subject: [PATCH 219/279] feat(module/history): add full configurability While previusly configurable, it was inconsistent with other configuration options and it was missing configurability of in memory / on disc history size. Signed-off-by: Shea690901 --- modules/history/README.md | 29 +++++++++++++++++++++++++++++ modules/history/init.zsh | 10 +++++++--- runcoms/zpreztorc | 13 +++++++++++++ 3 files changed, 49 insertions(+), 3 deletions(-) diff --git a/modules/history/README.md b/modules/history/README.md index 3806096a90..25e429d1d0 100644 --- a/modules/history/README.md +++ b/modules/history/README.md @@ -38,6 +38,35 @@ Alternately, you can set `HISTFILE` manually to _`${ZDOTDIR:-$HOME}/.zhistory`_. - `history-stat` lists the ten most used commands +## Settings + +### histfile + +Can be configured either by setting HISTFILE manually before loading this +module or by using zstyle: + +```sh +zstyle ':prezto:module:history' histfile "" +``` + +defaults to "${ZDOTDIR:-$HOME}/.zsh_history". + +## histsize + +```sh +zstyle ':prezto:module:history' histsize +``` + +defaults to 10000. + +## savehist + +```sh +zstyle ':prezto:module:history' savehist +``` + +defaults to histsize + ## Authors _The authors of this module should be contacted via the [issue tracker][2]._ diff --git a/modules/history/init.zsh b/modules/history/init.zsh index 3f815c026e..1f9a09b40e 100644 --- a/modules/history/init.zsh +++ b/modules/history/init.zsh @@ -26,9 +26,13 @@ setopt HIST_BEEP # Beep when accessing non-existent history. # Variables # -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. +zstyle -s ':prezto:module:history' histfile '_pmh_histfile' || _pmh_histfile="${HISTFILE:-${ZDOTDIR:-$HOME}/.zsh_history}" +zstyle -s ':prezto:module:history' histsize '_pmh_histsize' || _pmh_histsize=10000 +zstyle -s ':prezto:module:history' savehist '_pmh_savehist' || _pmh_savehist=${_pmh_histsize} +HISTFILE="${_pmh_histfile}" # The path to the history file. +HISTSIZE="${_pmh_histsize}" # The maximum number of events to save in the internal history. +SAVEHIST="${_pmh_savehist}" # The maximum number of events to save in the history file. +unset _pmh_{hist{file,size},savehist} # # Aliases diff --git a/runcoms/zpreztorc b/runcoms/zpreztorc index cc6ebb4b74..ae68a8936a 100644 --- a/runcoms/zpreztorc +++ b/runcoms/zpreztorc @@ -83,6 +83,19 @@ zstyle ':prezto:module:editor' key-bindings 'emacs' # Set the command prefix on non-GNU systems. # zstyle ':prezto:module:gnu-utility' prefix 'g' +# +# History +# + +# Set the file to save the history in when an interactive shell exits. +# zstyle ':prezto:module:history' histfile "${ZDOTDIR:-$HOME}/.zsh_history" + +# Set the maximum number of events stored in the internal history list. +# zstyle ':prezto:module:history' histsize 10000 + +# Set the maximum number of history events to save in the history file. +# zstyle ':prezto:module:history' savehist 10000 + # # History Substring Search # From 12df1363cec395526d26c6f2be34e3013413da1e Mon Sep 17 00:00:00 2001 From: Eugen Blattner Date: Mon, 11 Apr 2022 14:21:25 +0200 Subject: [PATCH 220/279] fix: heading level for new hist file settings --- 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 25e429d1d0..11c6d9474d 100644 --- a/modules/history/README.md +++ b/modules/history/README.md @@ -51,7 +51,7 @@ zstyle ':prezto:module:history' histfile "" defaults to "${ZDOTDIR:-$HOME}/.zsh_history". -## histsize +### histsize ```sh zstyle ':prezto:module:history' histsize @@ -59,7 +59,7 @@ zstyle ':prezto:module:history' histsize defaults to 10000. -## savehist +### savehist ```sh zstyle ':prezto:module:history' savehist From 3a471a05f99d53a159197d4c47f77d19c9bb4ca9 Mon Sep 17 00:00:00 2001 From: Ben Date: Wed, 8 Jun 2022 17:17:49 +1000 Subject: [PATCH 221/279] Update docker compose references MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Docker For Mac has broken support for `docker-compose`. Since `docker compose` is a drop in replacement and it Just Works™, this PR converts `docker-compose` to `docker compose` --- modules/docker/alias.zsh | 46 ++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/modules/docker/alias.zsh b/modules/docker/alias.zsh index cdd9f7c825..12eb2542ba 100644 --- a/modules/docker/alias.zsh +++ b/modules/docker/alias.zsh @@ -152,26 +152,26 @@ alias dkmv='docker-machine version' alias dkmx='docker-machine stop' # Docker Compose (c) -alias dkc='docker-compose' -alias dkcb='docker-compose build' -alias dkcB='docker-compose build --no-cache' -alias dkcd='docker-compose down' -alias dkce='docker-compose exec' -alias dkck='docker-compose kill' -alias dkcl='docker-compose logs' -alias dkcls='docker-compose ps' -alias dkcp='docker-compose pause' -alias dkcP='docker-compose unpause' -alias dkcpl='docker-compose pull' -alias dkcph='docker-compose push' -alias dkcps='docker-compose ps' -alias dkcr='docker-compose run' -alias dkcR='docker-compose run --rm' -alias dkcrm='docker-compose rm' -alias dkcs='docker-compose start' -alias dkcsc='docker-compose scale' -alias dkcS='docker-compose restart' -alias dkcu='docker-compose up' -alias dkcU='docker-compose up -d' -alias dkcv='docker-compose version' -alias dkcx='docker-compose stop' +alias dkc='docker compose' +alias dkcb='docker compose build' +alias dkcB='docker compose build --no-cache' +alias dkcd='docker compose down' +alias dkce='docker compose exec' +alias dkck='docker compose kill' +alias dkcl='docker compose logs' +alias dkcls='docker compose ps' +alias dkcp='docker compose pause' +alias dkcP='docker compose unpause' +alias dkcpl='docker compose pull' +alias dkcph='docker compose push' +alias dkcps='docker compose ps' +alias dkcr='docker compose run' +alias dkcR='docker compose run --rm' +alias dkcrm='docker compose rm' +alias dkcs='docker compose start' +alias dkcsc='docker compose scale' +alias dkcS='docker compose restart' +alias dkcu='docker compose up' +alias dkcU='docker compose up -d' +alias dkcv='docker compose version' +alias dkcx='docker compose stop' From b2bc66ce9de358cb31c323f8e383d3d303839992 Mon Sep 17 00:00:00 2001 From: Ilkin Bayramli <43158991+ibayramli2001@users.noreply.github.com> Date: Wed, 15 Jun 2022 10:42:21 -0700 Subject: [PATCH 222/279] Add Fig as an installation method to the README --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index 5479721f2f..7b2efb1de5 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,8 @@ and prompt themes. ## Installation +### Manual + Prezto will work with any recent release of Zsh, but the minimum required version is **4.3.11**. @@ -71,6 +73,14 @@ version is **4.3.11**. 05. Open a new Zsh terminal window or tab. +### [Fig](https://fig.io) + +Fig adds apps, shortcuts, and autocomplete to your existing terminal. + +Install `prezto` in just one click. + + + ### Troubleshooting If you are not able to find certain commands after switching to Prezto, modify From 0aef8086b5deeda4681ce12b90df621d53d16b3c Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Thu, 21 Jul 2022 12:14:01 -0500 Subject: [PATCH 223/279] completion: Update completion submodule to 0.34.0 --- modules/completion/external | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/completion/external b/modules/completion/external index 11ad0a45ff..0331b2908f 160000 --- a/modules/completion/external +++ b/modules/completion/external @@ -1 +1 @@ -Subproject commit 11ad0a45ff1695cac00e86c687cce6fa1fd1cdbd +Subproject commit 0331b2908f93556453e45fa5a899aa21e0a7f64d From 3ea20cfbe8d55259016e37a69e4fae7356e322e0 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Wed, 3 Aug 2022 15:37:00 -0500 Subject: [PATCH 224/279] utility: Make 'http-serve' handler faster for well known cases In most systems, python2 or python3 command/soft-link would almost always exist. In such cases, we don't need to invoke `python` to detect the version. This should speed things up a bit as well. --- modules/utility/init.zsh | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/modules/utility/init.zsh b/modules/utility/init.zsh index c6dc3c033b..c901591592 100644 --- a/modules/utility/init.zsh +++ b/modules/utility/init.zsh @@ -196,12 +196,14 @@ fi # Serves a directory via HTTP. 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 + if (( $+commands[python3] )); then alias http-serve='python3 -m http.server' + elif (( $+commands[python2] )); then + alias http-serve='python2 -m SimpleHTTPServer' + elif is-at-least 3 ${"$(python --version 2>&1)"[(w)2]}; then + alias http-serve='python -m http.server' else - alias http-serve='$commands[(i)python(|2)] -m SimpleHTTPServer' + alias http-serve='python -m SimpleHTTPServer' fi fi From 51c4ff6de4e2d1afd30e52ba19b21b1128fd1ed5 Mon Sep 17 00:00:00 2001 From: Shea690901 Date: Thu, 7 Apr 2022 21:40:04 +0200 Subject: [PATCH 225/279] feat(module/ssh): add globbing for ssh-add param fixes #2000 Signed-off-by: Shea690901 --- modules/ssh/init.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/ssh/init.zsh b/modules/ssh/init.zsh index b9567d4635..f870997905 100644 --- a/modules/ssh/init.zsh +++ b/modules/ssh/init.zsh @@ -52,9 +52,9 @@ if ssh-add -l 2>&1 | grep -q 'The agent has no identities'; then # program specified by SSH_ASKPASS and open an X11 window to read the # passphrase. if [[ -n "$DISPLAY" && -x "$SSH_ASKPASS" ]]; then - ssh-add ${_ssh_identities:+$_ssh_dir/${^_ssh_identities[@]}} < /dev/null 2> /dev/null + ssh-add ${_ssh_identities:+$_ssh_dir/${^~_ssh_identities[@]}} < /dev/null 2> /dev/null else - ssh-add ${_ssh_identities:+$_ssh_dir/${^_ssh_identities[@]}} 2> /dev/null + ssh-add ${_ssh_identities:+$_ssh_dir/${^~_ssh_identities[@]}} 2> /dev/null fi fi From 357ce2ebbf9e6449ea75e6d5f4c7806749e3cfd0 Mon Sep 17 00:00:00 2001 From: Thomas Blaschke Date: Sat, 2 Oct 2021 18:10:02 +0200 Subject: [PATCH 226/279] Add exception for PyCharm terminal emulation Do not autostart tmux if we start a terminal inside PyCharm. Should also work for other JetBrains products. --- modules/tmux/init.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/tmux/init.zsh b/modules/tmux/init.zsh index 5c51855f2a..2075daa355 100644 --- a/modules/tmux/init.zsh +++ b/modules/tmux/init.zsh @@ -23,7 +23,7 @@ if ([[ "$TERM_PROGRAM" = 'iTerm.app' ]] && \ _tmux_iterm_integration='-CC' fi -if [[ -z "$TMUX" && -z "$EMACS" && -z "$VIM" && -z "$INSIDE_EMACS" && "$TERM_PROGRAM" != "vscode" ]] && ( \ +if [[ -z "$TMUX" && -z "$EMACS" && -z "$VIM" && -z "$INSIDE_EMACS" && "$TERM_PROGRAM" != "vscode" && "$TERMINAL_EMULATOR" != "JetBrains-JediTerm" ]] && ( \ ( [[ -n "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' remote ) || ( [[ -z "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' local ) \ ); then From 97f36e9402f6f85820779cc43126b80fbad2c80a Mon Sep 17 00:00:00 2001 From: Michael Hoang Date: Sat, 5 Feb 2022 11:22:29 +1100 Subject: [PATCH 227/279] Add `-` alias for `cd -` Taken with love from `oh-my-zsh` --- modules/directory/init.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/directory/init.zsh b/modules/directory/init.zsh index 8abc1e2407..c5a01f1d84 100644 --- a/modules/directory/init.zsh +++ b/modules/directory/init.zsh @@ -25,5 +25,6 @@ unsetopt CLOBBER # Do not overwrite existing files with > and >>. # Aliases # +alias -- -='cd -' alias d='dirs -v' for index ({1..9}) alias "$index"="cd +${index}"; unset index From ca9012c7763e6372124465e14e8b0dc1d7db4e65 Mon Sep 17 00:00:00 2001 From: Jeff Widman Date: Tue, 25 Oct 2022 15:49:51 -0700 Subject: [PATCH 228/279] Set `EXTENDED_GLOB` in the python module This is needed to find python. It is often already set because a user has the directory or completion module loaded before this, but that's not always true. See extensive debugging / further explanation here: https://github.com/sorin-ionescu/prezto/issues/1949 This does not fully resolve that issue, as there's another enhancement that I'll put up as a separate PR. --- modules/python/init.zsh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/python/init.zsh b/modules/python/init.zsh index 22b61c3ed5..1c7a9a4ecd 100644 --- a/modules/python/init.zsh +++ b/modules/python/init.zsh @@ -8,6 +8,12 @@ # Indrajit Raychaudhuri # +# +# Options +# + +setopt EXTENDED_GLOB + # Load dependencies. pmodload 'helper' From e3a9583f3370e11a0da1414d3f335eac40c1e922 Mon Sep 17 00:00:00 2001 From: Jeff Widman Date: Tue, 25 Oct 2022 21:24:51 -0700 Subject: [PATCH 229/279] Support `virtualenvwrapper` with / without `pyenv` `virtualenv-init` or `virtualenvwrapper` plugins The desired logic is: For the `pyenv` plugins `virtualenv-init` and `virtualenvwrapper`: 1. If either plugin is present, activate it 2. If `virtualenvwrapper` plugin is not present, then [fallback to standard `virtualenvwrapper`](https://github.com/sorin-ionescu/prezto/pull/1414#issuecomment-320306421). 3. If `virtualenvwrapper` plugin is present, then [don't fallback to standard `virtualenvwrapper`, regardless of whether `virtualenv-init` is present](https://github.com/sorin-ionescu/prezto/pull/1981#issue-1123766676). Previously, if the `virtualenv` command was present but `pyenv` was missing, then the fallback wouldn't be hit. This bug was introduced by https://github.com/sorin-ionescu/prezto/pull/1981/ which ensured that the `pyenv` `virtualenvwrapper` plugin was activated if present, regardless of the presence of the `virtualenv-init` plugin. As an optimization, the check for the `pyenv` plugins are skipped if `pyenv` itself isn't found. Since we only want to fallback if the `pyenv` `virtualenvwrapper` plugin is missing, but that's buried within the `pyenv` logic and we also need to handle when `pyenv` itself is missing, this switches to using a flag variable. I also renamed the `virtualenv_sources` var to `virtualenvwrapper_sources` as `virtualenv` is distinct from `virtualenvwrapper`, so using one name for a var that is really about the other is confusing. Looking at `git blame`, there's a _lot_ of prior art here around trying to support all the permutations of `pyenv` and various plugins: * https://github.com/sorin-ionescu/prezto/issues/1413 * https://github.com/sorin-ionescu/prezto/pull/1414 * https://github.com/sorin-ionescu/prezto/pull/1433 * https://github.com/sorin-ionescu/prezto/pull/1434 So we need to be extremely careful to continue to support all these permutations. Fix https://github.com/sorin-ionescu/prezto/issues/2022 --- modules/python/init.zsh | 52 ++++++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 24 deletions(-) diff --git a/modules/python/init.zsh b/modules/python/init.zsh index 1c7a9a4ecd..a80a9c47aa 100644 --- a/modules/python/init.zsh +++ b/modules/python/init.zsh @@ -116,38 +116,42 @@ if (( $+VIRTUALENVWRAPPER_VIRTUALENV || $+commands[virtualenv] )) \ # look for plugins of interest. Scanning shell '$path' isn't enough as they # can exist in 'pyenv' synthesized paths (e.g., '~/.pyenv/plugins') instead. local -a pyenv_plugins + local pyenv_virtualenvwrapper_plugin_found if (( $+commands[pyenv] )); then pyenv_plugins=(${(@oM)${(f)"$(pyenv commands --no-sh 2> /dev/null)"}:#virtualenv*}) - fi - # Optionally activate 'virtualenv' plugin when available. - if (( $pyenv_plugins[(i)virtualenv-init] <= $#pyenv_plugins )); then - eval "$(pyenv virtualenv-init - zsh)" - fi + # Optionally activate 'virtualenv-init' plugin when available. + if (( $pyenv_plugins[(i)virtualenv-init] <= $#pyenv_plugins )); then + eval "$(pyenv virtualenv-init - zsh)" + fi - # Optionally activate 'virtualenvwrapper' plugin when available. - if (( $pyenv_plugins[(i)virtualenvwrapper(_lazy|)] <= $#pyenv_plugins )); then - pyenv "$pyenv_plugins[(R)virtualenvwrapper(_lazy|)]" - fi - - unset pyenv_plugins - -else - # 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]#] + # Optionally activate 'virtualenvwrapper' plugin when available. + if (( $pyenv_plugins[(i)virtualenvwrapper(_lazy|)] <= $#pyenv_plugins )); then + pyenv "$pyenv_plugins[(R)virtualenvwrapper(_lazy|)]" + pyenv_virtualenvwrapper_plugin_found="true" + fi + + unset pyenv_plugins fi - virtenv_sources=( - ${(@Ov)commands[(I)virtualenvwrapper(_lazy|).sh]} - /usr/share/virtualenvwrapper/virtualenvwrapper(_lazy|).sh(OnN) - ) - if (( $#virtenv_sources )); then - source "$virtenv_sources[1]" + if [[ $pyenv_virtualenvwrapper_plugin_found != "true" ]]; then + # Fallback to standard 'virtualenvwrapper' if 'python' is available in '$path'. + if (( ! $+VIRTUALENVWRAPPER_PYTHON )) && (( $#commands[(i)python[23]#] )); then + VIRTUALENVWRAPPER_PYTHON=$commands[(i)python[23]#] + fi + + virtualenvwrapper_sources=( + ${(@Ov)commands[(I)virtualenvwrapper(_lazy|).sh]} + /usr/share/virtualenvwrapper/virtualenvwrapper(_lazy|).sh(OnN) + ) + if (( $#virtualenvwrapper_sources )); then + source "$virtualenvwrapper_sources[1]" + fi + + unset virtualenvwrapper_sources fi - unset virtenv_sources + unset pyenv_virtualenvwrapper_plugin_found fi # Load conda into the shell session, if requested. From e50b93ca882aa58b0119b2e90818c4157e30c794 Mon Sep 17 00:00:00 2001 From: huyz Date: Fri, 23 Dec 2022 00:31:55 -0800 Subject: [PATCH 230/279] Fix zcompile race condition sorin-ionescu/prezto#2028 --- runcoms/zlogin | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/runcoms/zlogin b/runcoms/zlogin index ac4d3422a2..2f834353f2 100644 --- a/runcoms/zlogin +++ b/runcoms/zlogin @@ -10,7 +10,10 @@ # Compile the completion dump to increase startup speed. zcompdump="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/zcompdump" if [[ -s "$zcompdump" && (! -s "${zcompdump}.zwc" || "$zcompdump" -nt "${zcompdump}.zwc") ]]; then - zcompile "$zcompdump" + if command mkdir "${zcompdump}.zwc.lock" 2>/dev/null; then + zcompile "$zcompdump" + command rmdir "${zcompdump}.zwc.lock" 2>/dev/null + fi fi } &! From a4ca9243109a2a03a844afc93a1d4d3212752f15 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Sat, 14 Jan 2023 15:18:03 +0100 Subject: [PATCH 231/279] prompt: update powerlevel10k submodule to v1.17.0 Release notes: - https://github.com/romkatv/powerlevel10k/releases/tag/v1.17.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 8a676a9157..a066b55f85 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit 8a676a9157d2b0e00e88d06456ac7317f11c0317 +Subproject commit a066b55f855c8e488d3ea9e26e861bdd5ecd4fe8 From 8be95c9c7e816cb1277f127eb281d5b5408ed22d Mon Sep 17 00:00:00 2001 From: mattmc3 Date: Sat, 28 Jan 2023 21:29:09 -0500 Subject: [PATCH 232/279] Fix osx module manp function --- modules/osx/functions/manp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/osx/functions/manp b/modules/osx/functions/manp index fcb2a02669..d31bbc409e 100644 --- a/modules/osx/functions/manp +++ b/modules/osx/functions/manp @@ -9,7 +9,7 @@ function manp { local page if (( $# > 0 )); then for page in "$@"; do - man -t "$page" | open -f -a Preview + mandoc -T pdf "$(/usr/bin/man -w $page)" | open -fa Preview done else print 'What manual page do you want?' >&2 From fc444f57e11131b2cad68f474bcf1201cba062a4 Mon Sep 17 00:00:00 2001 From: Julio Batista Silva Date: Tue, 31 Jan 2023 18:02:09 +0100 Subject: [PATCH 233/279] gnu-utility: add awk https://www.gnu.org/software/gawk/ https://formulae.brew.sh/formula/gawk --- modules/gnu-utility/init.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/gnu-utility/init.zsh b/modules/gnu-utility/init.zsh index 85e860503c..a8521f0c01 100644 --- a/modules/gnu-utility/init.zsh +++ b/modules/gnu-utility/init.zsh @@ -44,8 +44,8 @@ _gnu_utility_cmds=( 'libtool' 'libtoolize' # Miscellaneous - 'egrep' 'fgrep' 'getopt' 'grep' 'indent' 'make' 'sed' 'tar' 'time' 'units' - 'which' + 'awk' 'egrep' 'fgrep' 'getopt' 'grep' 'indent' 'make' 'sed' 'tar' 'time' + 'units' 'which' ) # Wrap GNU utilities in functions. From da87c79b3a35f5a4a504ea331e9ec52b4f786976 Mon Sep 17 00:00:00 2001 From: mattmc3 Date: Wed, 12 Apr 2023 22:02:41 -0400 Subject: [PATCH 234/279] Add zstyle to skip aliases for additional modules --- modules/directory/init.zsh | 8 +++-- modules/emacs/init.zsh | 10 +++--- modules/fasd/init.zsh | 6 ++-- modules/history/init.zsh | 6 ++-- modules/homebrew/init.zsh | 32 +++++++++--------- modules/macports/init.zsh | 16 +++++---- modules/node/init.zsh | 30 +++++++++-------- modules/perl/init.zsh | 68 ++++++++++++++++++++------------------ modules/python/init.zsh | 8 +++-- modules/rails/init.zsh | 30 +++++++++-------- modules/ruby/init.zsh | 38 +++++++++++---------- modules/screen/init.zsh | 10 +++--- modules/tmux/init.zsh | 6 ++-- 13 files changed, 147 insertions(+), 121 deletions(-) diff --git a/modules/directory/init.zsh b/modules/directory/init.zsh index c5a01f1d84..caf08d2ab0 100644 --- a/modules/directory/init.zsh +++ b/modules/directory/init.zsh @@ -25,6 +25,8 @@ unsetopt CLOBBER # Do not overwrite existing files with > and >>. # Aliases # -alias -- -='cd -' -alias d='dirs -v' -for index ({1..9}) alias "$index"="cd +${index}"; unset index +if ! zstyle -t ':prezto:module:directory:alias' skip; then + alias -- -='cd -' + alias d='dirs -v' + for index ({1..9}) alias "$index"="cd +${index}"; unset index +fi diff --git a/modules/emacs/init.zsh b/modules/emacs/init.zsh index 3acc965c27..a53285ab1f 100644 --- a/modules/emacs/init.zsh +++ b/modules/emacs/init.zsh @@ -19,7 +19,9 @@ source "$HOME/.cask/etc/cask_completion.zsh" 2> /dev/null # Aliases # -alias cai='cask install' -alias cau='cask update' -alias caI='cask init' -alias cae='cask exec' +if ! zstyle -t ':prezto:module:emacs:alias' skip; then + alias cai='cask install' + alias cau='cask update' + alias caI='cask init' + alias cae='cask exec' +fi diff --git a/modules/fasd/init.zsh b/modules/fasd/init.zsh index f948789ec8..bd142f80ce 100644 --- a/modules/fasd/init.zsh +++ b/modules/fasd/init.zsh @@ -53,5 +53,7 @@ function fasd_cd { # Aliases # -# Changes the current working directory interactively. -alias j='fasd_cd -i' +if ! zstyle -t ':prezto:module:fasd:alias' skip; then + # Changes the current working directory interactively. + alias j='fasd_cd -i' +fi diff --git a/modules/history/init.zsh b/modules/history/init.zsh index 1f9a09b40e..3ef52ea4bf 100644 --- a/modules/history/init.zsh +++ b/modules/history/init.zsh @@ -38,8 +38,10 @@ unset _pmh_{hist{file,size},savehist} # Aliases # -# Lists the ten most used commands. -alias history-stat="history 0 | awk '{print \$2}' | sort | uniq -c | sort -n -r | head" +if ! zstyle -t ':prezto:module:history:alias' skip; then + # Lists the ten most used commands. + alias history-stat="history 0 | awk '{print \$2}' | sort | uniq -c | sort -n -r | head" +fi if [[ -s "${OLD_HISTFILE::=${HISTFILE:h}/.zhistory}" ]]; then diff --git a/modules/homebrew/init.zsh b/modules/homebrew/init.zsh index 4b0fb86aa4..7899258735 100644 --- a/modules/homebrew/init.zsh +++ b/modules/homebrew/init.zsh @@ -29,19 +29,21 @@ fi # # Homebrew -alias brewc='brew cleanup' -alias brewi='brew install' -alias brewL='brew leaves' -alias brewl='brew list' -alias brewo='brew outdated' -alias brews='brew search' -alias brewu='brew upgrade' -alias brewx='brew uninstall' +if ! zstyle -t ':prezto:module:homebrew:alias' skip; then + alias brewc='brew cleanup' + alias brewi='brew install' + alias brewL='brew leaves' + alias brewl='brew list' + alias brewo='brew outdated' + alias brews='brew search' + alias brewu='brew upgrade' + alias brewx='brew uninstall' -# Homebrew Cask -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' + # Homebrew Cask + 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' +fi diff --git a/modules/macports/init.zsh b/modules/macports/init.zsh index 7bf4ab2940..1ac3c53101 100644 --- a/modules/macports/init.zsh +++ b/modules/macports/init.zsh @@ -28,10 +28,12 @@ path=( # Aliases # -alias portc='sudo port clean --all installed' -alias porti='sudo port install' -alias ports='port search' -alias portU='sudo port selfupdate && sudo port upgrade outdated' -alias portu='sudo port upgrade' -alias portX='sudo port -u uninstall' -alias portx='sudo port uninstall' +if ! zstyle -t ':prezto:module:macports:alias' skip; then + alias portc='sudo port clean --all installed' + alias porti='sudo port install' + alias ports='port search' + alias portU='sudo port selfupdate && sudo port upgrade outdated' + alias portu='sudo port upgrade' + alias portX='sudo port -u uninstall' + alias portx='sudo port uninstall' +fi diff --git a/modules/node/init.zsh b/modules/node/init.zsh index b359104962..0c27764de7 100644 --- a/modules/node/init.zsh +++ b/modules/node/init.zsh @@ -48,18 +48,20 @@ 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' +if ! zstyle -t ':prezto:module:node:alias' skip; then + # 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' + alias npmci='npm ci' + alias npmcit='npm cit' + alias npmit='npm it' +fi diff --git a/modules/perl/init.zsh b/modules/perl/init.zsh index 1b5e665761..efadd9ea58 100644 --- a/modules/perl/init.zsh +++ b/modules/perl/init.zsh @@ -61,37 +61,39 @@ fi # Aliases # -# General -alias pl='perl' -alias pld='perldoc' -alias ple='perl -wlne' - -# Perlbrew -if (( $+commands[perlbrew] )); then - alias plb='perlbrew' - alias plba='perlbrew available' - alias plbi='perlbrew install' - alias plbl='perlbrew list' - alias plbo='perlbrew off' - alias plbO='perlbrew switch-off' - alias plbs='perlbrew switch' - alias plbu='perlbrew use' - alias plbx='perlbrew uninstall' - -elif (( $+commands[plenv] )); then - alias plv='plenv' - alias plvc='plenv commands' - alias plvl='plenv local' - alias plvg='plenv global' - alias plvs='plenv shell' - alias plvi='plenv install' - alias plvu='plenv uninstall' - alias plvr='plenv rehash' - alias plvv='plenv version' - alias plvV='plenv versions' - alias plvw='plenv which' - alias plvW='plenv whence' - alias plvm='plenv list-modules' - alias plvM='plenv migrate-modules' - alias plvI='plenv install-cpanm' +if ! zstyle -t ':prezto:module:perl:alias' skip; then + # General + alias pl='perl' + alias pld='perldoc' + alias ple='perl -wlne' + + # Perlbrew + if (( $+commands[perlbrew] )); then + alias plb='perlbrew' + alias plba='perlbrew available' + alias plbi='perlbrew install' + alias plbl='perlbrew list' + alias plbo='perlbrew off' + alias plbO='perlbrew switch-off' + alias plbs='perlbrew switch' + alias plbu='perlbrew use' + alias plbx='perlbrew uninstall' + + elif (( $+commands[plenv] )); then + alias plv='plenv' + alias plvc='plenv commands' + alias plvl='plenv local' + alias plvg='plenv global' + alias plvs='plenv shell' + alias plvi='plenv install' + alias plvu='plenv uninstall' + alias plvr='plenv rehash' + alias plvv='plenv version' + alias plvV='plenv versions' + alias plvw='plenv which' + alias plvW='plenv whence' + alias plvm='plenv list-modules' + alias plvM='plenv migrate-modules' + alias plvI='plenv install-cpanm' + fi fi diff --git a/modules/python/init.zsh b/modules/python/init.zsh index a80a9c47aa..02eb52d7a6 100644 --- a/modules/python/init.zsh +++ b/modules/python/init.zsh @@ -171,6 +171,8 @@ fi # Aliases # -alias py='python' -alias py2='python2' -alias py3='python3' +if ! zstyle -t ':prezto:module:python:alias' skip; then + alias py='python' + alias py2='python2' + alias py3='python3' +fi diff --git a/modules/rails/init.zsh b/modules/rails/init.zsh index 44b53e90a0..ed86372b03 100644 --- a/modules/rails/init.zsh +++ b/modules/rails/init.zsh @@ -19,17 +19,19 @@ fi # Aliases # -alias ror='bundle exec rails' -alias rorc='bundle exec rails console' -alias rordc='bundle exec rails dbconsole' -alias rordm='bundle exec rake db:migrate' -alias rordM='bundle exec rake db:migrate db:test:clone' -alias rordr='bundle exec rake db:rollback' -alias rorg='bundle exec rails generate' -alias rorl='tail -f "$(ruby-app-root)/log/development.log"' -alias rorlc='bundle exec rake log:clear' -alias rorp='bundle exec rails plugin' -alias rorr='bundle exec rails runner' -alias rors='bundle exec rails server' -alias rorsd='bundle exec rails server --debugger' -alias rorx='bundle exec rails destroy' +if ! zstyle -t ':prezto:module:rails:alias' skip; then + alias ror='bundle exec rails' + alias rorc='bundle exec rails console' + alias rordc='bundle exec rails dbconsole' + alias rordm='bundle exec rake db:migrate' + alias rordM='bundle exec rake db:migrate db:test:clone' + alias rordr='bundle exec rake db:rollback' + alias rorg='bundle exec rails generate' + alias rorl='tail -f "$(ruby-app-root)/log/development.log"' + alias rorlc='bundle exec rake log:clear' + alias rorp='bundle exec rails plugin' + alias rorr='bundle exec rails runner' + alias rors='bundle exec rails server' + alias rorsd='bundle exec rails server --debugger' + alias rorx='bundle exec rails destroy' +fi diff --git a/modules/ruby/init.zsh b/modules/ruby/init.zsh index cf55bc5044..86ab43ce21 100644 --- a/modules/ruby/init.zsh +++ b/modules/ruby/init.zsh @@ -59,23 +59,25 @@ fi # Aliases # -# General -alias rb='ruby' +if ! zstyle -t ':prezto:module:ruby:alias' skip; then + # General + alias rb='ruby' -# Bundler -if (( $+commands[bundle] )); then - alias rbb='bundle' - alias rbbc='bundle clean' - alias rbbe='bundle exec' - alias rbbi='bundle install --path vendor/bundle' - alias rbbl='bundle list' - alias rbbo='bundle open' - alias rbbp='bundle package' - alias rbbu='bundle update' - alias rbbI='rbbi \ - && bundle package \ - && print .bundle >>! .gitignore \ - && print vendor/assets >>! .gitignore \ - && print vendor/bundle >>! .gitignore \ - && print vendor/cache >>! .gitignore' + # Bundler + if (( $+commands[bundle] )); then + alias rbb='bundle' + alias rbbc='bundle clean' + alias rbbe='bundle exec' + alias rbbi='bundle install --path vendor/bundle' + alias rbbl='bundle list' + alias rbbo='bundle open' + alias rbbp='bundle package' + alias rbbu='bundle update' + alias rbbI='rbbi \ + && bundle package \ + && print .bundle >>! .gitignore \ + && print vendor/assets >>! .gitignore \ + && print vendor/bundle >>! .gitignore \ + && print vendor/cache >>! .gitignore' + fi fi diff --git a/modules/screen/init.zsh b/modules/screen/init.zsh index 0dee1c96d6..4dea5661b7 100644 --- a/modules/screen/init.zsh +++ b/modules/screen/init.zsh @@ -36,7 +36,9 @@ fi # Aliases # -alias scr='screen' -alias scrl='screen -list' -alias scrn='screen -U -S' -alias scrr='screen -a -A -U -D -R' +if ! zstyle -t ':prezto:module:screen:alias' skip; then + alias scr='screen' + alias scrl='screen -list' + alias scrn='screen -U -S' + alias scrr='screen -a -A -U -D -R' +fi diff --git a/modules/tmux/init.zsh b/modules/tmux/init.zsh index 2075daa355..17006c82ce 100644 --- a/modules/tmux/init.zsh +++ b/modules/tmux/init.zsh @@ -45,5 +45,7 @@ fi # Aliases # -alias tmuxa="tmux $_tmux_iterm_integration new-session -A" -alias tmuxl='tmux list-sessions' +if ! zstyle -t ':prezto:module:tmux:alias' skip; then + alias tmuxa="tmux $_tmux_iterm_integration new-session -A" + alias tmuxl='tmux list-sessions' +fi From 0c364cdd5eae97438d7615259d09af5b6d2f4e65 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Wed, 26 Apr 2023 19:25:39 -0500 Subject: [PATCH 235/279] prompt: Update async submodule to 1.8.6 --- 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 bbbc92bd01..a66d76f840 160000 --- a/modules/prompt/external/async +++ b/modules/prompt/external/async @@ -1 +1 @@ -Subproject commit bbbc92bd01592513a6b7739a45b7911af18acaef +Subproject commit a66d76f8404bd9e7a26037640e6c892cf5871ff4 From f5dff4fe2237def19d392d5ffa9b719b51b47166 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Wed, 26 Apr 2023 19:26:09 -0500 Subject: [PATCH 236/279] prompt: Update pure submodule to 1.21.0 --- modules/prompt/external/pure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/prompt/external/pure b/modules/prompt/external/pure index 5b458ba5b7..2f13dea466 160000 --- a/modules/prompt/external/pure +++ b/modules/prompt/external/pure @@ -1 +1 @@ -Subproject commit 5b458ba5b75f49a8071d53c343f1a23631f7bced +Subproject commit 2f13dea466466dde1ba844ba5211e7556f4ae2db From e7f75d20bc11093da934fce7e7a722155e1dc018 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Wed, 26 Apr 2023 19:40:59 -0500 Subject: [PATCH 237/279] prompt: Remove 'powerlevel9k' deprecation warning 'powerlevel9k' is unsupported and deprecated for 2 years now. It's time to cleanu the deprecation warning message. --- modules/prompt/init.zsh | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/modules/prompt/init.zsh b/modules/prompt/init.zsh index 31808837a7..37bff328fa 100644 --- a/modules/prompt/init.zsh +++ b/modules/prompt/init.zsh @@ -10,18 +10,8 @@ autoload -Uz promptinit && promptinit # Load the prompt theme. zstyle -a ':prezto:module:prompt' theme 'prompt_argv' -if [[ "$TERM" == (dumb|linux|*bsd*) ]] || (( $#prompt_argv < 1 )); then +if [[ $TERM == (dumb|linux|*bsd*) ]] || (( $#prompt_argv < 1 )); then prompt 'off' -elif [[ "$prompt_argv[1]" == 'powerlevel9k' ]] ; then - < Date: Wed, 26 Apr 2023 19:55:33 -0500 Subject: [PATCH 238/279] history: Remove 'HISTFILE' path relocation warning 'HISTFILE' path relocation was done 2 years ago. It's time to cleanup the warning message. --- modules/history/init.zsh | 25 ------------------------- 1 file changed, 25 deletions(-) diff --git a/modules/history/init.zsh b/modules/history/init.zsh index 3ef52ea4bf..084a7ed508 100644 --- a/modules/history/init.zsh +++ b/modules/history/init.zsh @@ -42,28 +42,3 @@ if ! zstyle -t ':prezto:module:history:alias' skip; then # Lists the ten most used commands. alias history-stat="history 0 | awk '{print \$2}' | sort | uniq -c | sort -n -r | head" fi - -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: Wed, 26 Apr 2023 21:11:09 -0500 Subject: [PATCH 239/279] python: Expand Python command pattern per convention Use `(i)python[0-9.]#` as subscript for commands associative array, following the convention [1] of detection python more exhaustively. [1] https://github.com/zsh-users/zsh/blob/858b8de3d70fe76a3637c281bc2c8e3a6d961a2c/Completion/Unix/Command/_python#L1 --- modules/python/init.zsh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/python/init.zsh b/modules/python/init.zsh index 02eb52d7a6..ce2fc69310 100644 --- a/modules/python/init.zsh +++ b/modules/python/init.zsh @@ -50,7 +50,7 @@ fi unset local_pyenv # Return if requirements are not found. -if (( ! $#commands[(i)python[23]#] && ! $+functions[pyenv] && ! $+commands[conda] )); then +if (( ! $+commands[(i)python[0-9.]#] && ! $+functions[pyenv] && ! $+commands[conda] )); then return 1 fi @@ -136,8 +136,8 @@ if (( $+VIRTUALENVWRAPPER_VIRTUALENV || $+commands[virtualenv] )) \ if [[ $pyenv_virtualenvwrapper_plugin_found != "true" ]]; then # Fallback to standard 'virtualenvwrapper' if 'python' is available in '$path'. - if (( ! $+VIRTUALENVWRAPPER_PYTHON )) && (( $#commands[(i)python[23]#] )); then - VIRTUALENVWRAPPER_PYTHON=$commands[(i)python[23]#] + if (( ! $+VIRTUALENVWRAPPER_PYTHON )) && (( $+commands[(i)python[0-9.]#] )); then + VIRTUALENVWRAPPER_PYTHON=$commands[(i)python[0-9.]#] fi virtualenvwrapper_sources=( From f7cb1fee1b5d45df07d141c1f10d9286f98fb8de Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Thu, 27 Apr 2023 13:21:16 -0500 Subject: [PATCH 240/279] gnu-utility: Remove now obsolete egrep and fgrep These were marked deprecated for a while and has now been marked obsolete since gnu-grep 3.8 [1]. They have been removed from POSIX as well [2]. [1] https://lists.gnu.org/archive/html/info-gnu/2022-09/msg00001.html [2] https://pubs.opengroup.org/onlinepubs/9699919799/utilities/grep.html#tag_20_55_18 --- modules/gnu-utility/init.zsh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/modules/gnu-utility/init.zsh b/modules/gnu-utility/init.zsh index a8521f0c01..2cfbf2fad5 100644 --- a/modules/gnu-utility/init.zsh +++ b/modules/gnu-utility/init.zsh @@ -44,8 +44,7 @@ _gnu_utility_cmds=( 'libtool' 'libtoolize' # Miscellaneous - 'awk' 'egrep' 'fgrep' 'getopt' 'grep' 'indent' 'make' 'sed' 'tar' 'time' - 'units' 'which' + 'awk' 'getopt' 'grep' 'indent' 'make' 'sed' 'tar' 'time' 'units' 'which' ) # Wrap GNU utilities in functions. From 3c002f772ef4ba8bd247d695b0429e5c9df6f331 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Thu, 4 May 2023 12:08:42 +0200 Subject: [PATCH 241/279] prompt: update powerlevel10k submodule to v1.18.0 Release notes: - https://github.com/romkatv/powerlevel10k/releases/tag/v1.18.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 a066b55f85..0af598cbed 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit a066b55f855c8e488d3ea9e26e861bdd5ecd4fe8 +Subproject commit 0af598cbed78660066f8a8f4465844501ba5695b From e14fdff4cbce3fb70dd641d2234465a5dae44561 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Thu, 4 May 2023 20:48:55 -0500 Subject: [PATCH 242/279] history: Remove interim zstyle variables --- modules/history/init.zsh | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/modules/history/init.zsh b/modules/history/init.zsh index 084a7ed508..3912c19e96 100644 --- a/modules/history/init.zsh +++ b/modules/history/init.zsh @@ -26,13 +26,12 @@ setopt HIST_BEEP # Beep when accessing non-existent history. # Variables # -zstyle -s ':prezto:module:history' histfile '_pmh_histfile' || _pmh_histfile="${HISTFILE:-${ZDOTDIR:-$HOME}/.zsh_history}" -zstyle -s ':prezto:module:history' histsize '_pmh_histsize' || _pmh_histsize=10000 -zstyle -s ':prezto:module:history' savehist '_pmh_savehist' || _pmh_savehist=${_pmh_histsize} -HISTFILE="${_pmh_histfile}" # The path to the history file. -HISTSIZE="${_pmh_histsize}" # The maximum number of events to save in the internal history. -SAVEHIST="${_pmh_savehist}" # The maximum number of events to save in the history file. -unset _pmh_{hist{file,size},savehist} +zstyle -s ':prezto:module:history' histfile 'HISTFILE' \ + || HISTFILE="${HISTFILE:-${ZDOTDIR:-$HOME}/.zsh_history}" # The path to the history file. +zstyle -s ':prezto:module:history' histsize 'HISTSIZE' \ + || HISTSIZE=10000 # The maximum number of events to save in the internal history. +zstyle -s ':prezto:module:history' savehist 'SAVEHIST' \ + || SAVEHIST=$HISTSIZE # The maximum number of events to save in the history file. # # Aliases From 5ca892d6af50bedb1dd930e03bbe6b3511e976d3 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Thu, 4 May 2023 22:02:29 -0500 Subject: [PATCH 243/279] history: Reformat inline comments --- modules/history/init.zsh | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/modules/history/init.zsh b/modules/history/init.zsh index 3912c19e96..069dc2f16d 100644 --- a/modules/history/init.zsh +++ b/modules/history/init.zsh @@ -10,17 +10,17 @@ # Options # -setopt BANG_HIST # Treat the '!' character specially during expansion. -setopt EXTENDED_HISTORY # Write the history file in the ':start:elapsed;command' format. -setopt SHARE_HISTORY # Share history between all sessions. -setopt HIST_EXPIRE_DUPS_FIRST # Expire a duplicate event first when trimming history. -setopt HIST_IGNORE_DUPS # Do not record an event that was just recorded again. -setopt HIST_IGNORE_ALL_DUPS # Delete an old recorded event if a new event is a duplicate. -setopt HIST_FIND_NO_DUPS # Do not display a previously found event. -setopt HIST_IGNORE_SPACE # Do not record an event starting with a space. -setopt HIST_SAVE_NO_DUPS # Do not write a duplicate event to the history file. -setopt HIST_VERIFY # Do not execute immediately upon history expansion. -setopt HIST_BEEP # Beep when accessing non-existent history. +setopt BANG_HIST # Treat the '!' character specially during expansion. +setopt EXTENDED_HISTORY # Write the history file in the ':start:elapsed;command' format. +setopt SHARE_HISTORY # Share history between all sessions. +setopt HIST_EXPIRE_DUPS_FIRST # Expire a duplicate event first when trimming history. +setopt HIST_IGNORE_DUPS # Do not record an event that was just recorded again. +setopt HIST_IGNORE_ALL_DUPS # Delete an old recorded event if a new event is a duplicate. +setopt HIST_FIND_NO_DUPS # Do not display a previously found event. +setopt HIST_IGNORE_SPACE # Do not record an event starting with a space. +setopt HIST_SAVE_NO_DUPS # Do not write a duplicate event to the history file. +setopt HIST_VERIFY # Do not execute immediately upon history expansion. +setopt HIST_BEEP # Beep when accessing non-existent history. # # Variables From 8ee9d1bbfe3b82d73a611fd01d7a3a53b1a97bb6 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Thu, 4 May 2023 22:21:48 -0500 Subject: [PATCH 244/279] general: Documentation update for zstyle based alias skipping support Add documentation to surface the `zstyle` based alias skipping. --- modules/directory/README.md | 7 +++++++ modules/emacs/README.md | 7 +++++++ modules/fasd/README.md | 7 +++++++ modules/history/README.md | 7 +++++++ modules/homebrew/README.md | 7 +++++++ modules/macports/README.md | 7 +++++++ modules/node/README.md | 7 +++++++ modules/perl/README.md | 7 +++++++ modules/python/README.md | 7 +++++++ modules/rails/README.md | 7 +++++++ modules/ruby/README.md | 7 +++++++ modules/screen/README.md | 7 +++++++ modules/tmux/README.md | 7 +++++++ 13 files changed, 91 insertions(+) diff --git a/modules/directory/README.md b/modules/directory/README.md index 86953a4795..8603d9f62e 100644 --- a/modules/directory/README.md +++ b/modules/directory/README.md @@ -17,6 +17,13 @@ Sets directory options and defines directory aliases. ## Aliases +Aliases are enabled by default. To disable them, add the following to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_. + +```sh +zstyle ':prezto:module:directory:alias' skip 'yes' +``` + - `d` prints the contents of the directory stack. - `1 ... 9` changes the directory to the **n** previous one. diff --git a/modules/emacs/README.md b/modules/emacs/README.md index f93304aab8..8cf7bfc84f 100644 --- a/modules/emacs/README.md +++ b/modules/emacs/README.md @@ -12,6 +12,13 @@ execution of `carton`. ## Aliases +Aliases are enabled by default. To disable them, add the following to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_. + +```sh +zstyle ':prezto:module:emacs:alias' skip 'yes' +``` + ### Carton - `cai` installs dependencies. diff --git a/modules/fasd/README.md b/modules/fasd/README.md index 1958a73950..04f9693a0b 100644 --- a/modules/fasd/README.md +++ b/modules/fasd/README.md @@ -19,6 +19,13 @@ instead of the bundled version. ## Aliases +Aliases are enabled by default. To disable them, add the following to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_. + +```sh +zstyle ':prezto:module:fasd:alias' skip 'yes' +``` + - `j` changes the current working directory interactively. ## Completion diff --git a/modules/history/README.md b/modules/history/README.md index 11c6d9474d..51e6e8caac 100644 --- a/modules/history/README.md +++ b/modules/history/README.md @@ -36,6 +36,13 @@ Alternately, you can set `HISTFILE` manually to _`${ZDOTDIR:-$HOME}/.zhistory`_. ## Aliases +Aliases are enabled by default. To disable them, add the following to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_. + +```sh +zstyle ':prezto:module:history:alias' skip 'yes' +``` + - `history-stat` lists the ten most used commands ## Settings diff --git a/modules/homebrew/README.md b/modules/homebrew/README.md index 1875e08dff..77d8f3775c 100644 --- a/modules/homebrew/README.md +++ b/modules/homebrew/README.md @@ -12,6 +12,13 @@ brew shellenv ## Aliases +Aliases are enabled by default. To disable them, add the following to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_. + +```sh +zstyle ':prezto:module:homebrew:alias' skip 'yes' +``` + ### Homebrew Core - `brewc` cleans outdated brews and their cached archives. diff --git a/modules/macports/README.md b/modules/macports/README.md index ba6143b5d1..15963b3307 100644 --- a/modules/macports/README.md +++ b/modules/macports/README.md @@ -4,6 +4,13 @@ Defines MacPorts aliases and adds MacPorts directories to path variables. ## Aliases +Aliases are enabled by default. To disable them, add the following to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_. + +```sh +zstyle ':prezto:module:macports:alias' skip 'yes' +``` + - `portc` cleans the files used to build ports. - `porti` installs a port. - `ports` searches for a port. diff --git a/modules/node/README.md b/modules/node/README.md index 6ec0b75c8d..bc262151ef 100644 --- a/modules/node/README.md +++ b/modules/node/README.md @@ -29,6 +29,13 @@ _`$XDG_CONFIG_HOME/nvm`_, _`~/.nvm`_, or is installed with homebrew. ## Aliases +Aliases are enabled by default. To disable them, add the following to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_. + +```sh +zstyle ':prezto:module:node:alias' skip 'yes' +``` + ### npm - `npmi` install a package. diff --git a/modules/perl/README.md b/modules/perl/README.md index 772d068069..dd594491fe 100644 --- a/modules/perl/README.md +++ b/modules/perl/README.md @@ -40,6 +40,13 @@ The subcommands of _plenv_ is similar with _rbenv_. ## Aliases +Aliases are enabled by default. To disable them, add the following to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_. + +```sh +zstyle ':prezto:module:perl:alias' skip 'yes' +``` + ### General - `pl` is short for `perl`. diff --git a/modules/python/README.md b/modules/python/README.md index 1695fa0559..2e3b2eec35 100644 --- a/modules/python/README.md +++ b/modules/python/README.md @@ -124,6 +124,13 @@ zstyle ':prezto:module:python:virtualenv' initialize 'no' ## Aliases +Aliases are enabled by default. To disable them, add the following to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_. + +```sh +zstyle ':prezto:module:python:alias' skip 'yes' +``` + - `py` is short for `python`. - `py2` is short for `python2`. - `py3` is short for `python3`. diff --git a/modules/rails/README.md b/modules/rails/README.md index 129627a099..5e230e0ed1 100644 --- a/modules/rails/README.md +++ b/modules/rails/README.md @@ -4,6 +4,13 @@ Defines [Ruby on Rails][1] aliases. ## Aliases +Aliases are enabled by default. To disable them, add the following to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_. + +```sh +zstyle ':prezto:module:rails:alias' skip 'yes' +``` + - `ror` is short for `rails`. - `rorc` starts the Rails console. - `rordc` starts the Rails console connected to the database. diff --git a/modules/ruby/README.md b/modules/ruby/README.md index 97a09f07b7..fa3d106484 100644 --- a/modules/ruby/README.md +++ b/modules/ruby/README.md @@ -54,6 +54,13 @@ dependencies, with [Bundler][5]. ## Aliases +Aliases are enabled by default. To disable them, add the following to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_. + +```sh +zstyle ':prezto:module:ruby:alias' skip 'yes' +``` + ### General - `rb` is short for `ruby`. diff --git a/modules/screen/README.md b/modules/screen/README.md index a1775f7e6b..b5549510f9 100644 --- a/modules/screen/README.md +++ b/modules/screen/README.md @@ -24,6 +24,13 @@ zstyle ':prezto:module:screen:auto-start' remote 'yes' ## Aliases +Aliases are enabled by default. To disable them, add the following to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_. + +```sh +zstyle ':prezto:module:screen:alias' skip 'yes' +``` + - `scr` is short for `screen`. - `scrl` lists sessions/socket directory. - `scrn` starts a new session. diff --git a/modules/tmux/README.md b/modules/tmux/README.md index e7ae929dda..f6d375b0e5 100644 --- a/modules/tmux/README.md +++ b/modules/tmux/README.md @@ -53,6 +53,13 @@ Read [iTerm2 and tmux Integration][7] for more information. ## Aliases +Aliases are enabled by default. To disable them, add the following to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_. + +```sh +zstyle ':prezto:module:tmux:alias' skip 'yes' +``` + - `tmuxa` attaches or switches to a tmux session. - `tmuxl` lists sessions managed by the tmux server. From 8d00c51900dfce3b2bc1e5bd99bd58f238c5668a Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Thu, 4 May 2023 21:36:08 -0500 Subject: [PATCH 245/279] python: Remove pip completion from prezto local pip completion is bundled with Zsh 5.9. Remove it from prezto local to avoid shadowing the bundled completion. --- modules/python/functions/_pip | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 modules/python/functions/_pip diff --git a/modules/python/functions/_pip b/modules/python/functions/_pip deleted file mode 100644 index 4e0ffb8088..0000000000 --- a/modules/python/functions/_pip +++ /dev/null @@ -1,19 +0,0 @@ -#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 From c9c716e9c11938a1aff2f30230d4dc1da38dc564 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Fri, 23 Jun 2023 07:49:15 +0200 Subject: [PATCH 246/279] prompt: update powerlevel10k submodule to v1.19.0 Release notes: - https://github.com/romkatv/powerlevel10k/releases/tag/v1.19.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 0af598cbed..017395a266 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit 0af598cbed78660066f8a8f4465844501ba5695b +Subproject commit 017395a266aa15011c09e64e44a1c98ed91c478c From d80e4aa86c83290e91172745cb046846df5d274b Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Mon, 11 Sep 2023 21:28:26 -0500 Subject: [PATCH 247/279] prompt: Update pure submodule to 1.22.0 --- modules/prompt/external/pure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/prompt/external/pure b/modules/prompt/external/pure index 2f13dea466..87e6f5dd4c 160000 --- a/modules/prompt/external/pure +++ b/modules/prompt/external/pure @@ -1 +1 @@ -Subproject commit 2f13dea466466dde1ba844ba5211e7556f4ae2db +Subproject commit 87e6f5dd4c793f6d980532205aaefe196780606f From 5ac0777191b3c72a8af4f5af1631365a9ad81e9a Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Mon, 11 Sep 2023 21:30:42 -0500 Subject: [PATCH 248/279] history-substring-search: Update history-substring-search submodule to 1.1.0 --- 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 0f80b8eb33..400e58a87f 160000 --- a/modules/history-substring-search/external +++ b/modules/history-substring-search/external @@ -1 +1 @@ -Subproject commit 0f80b8eb3368b46e5e573c1d91ae69eb095db3fb +Subproject commit 400e58a87f72ecec14f783fbd29bc6be4ff1641c From 64d46c407a57ead7e2c0e442b9e1815c6d54d9b5 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Mon, 11 Sep 2023 21:34:28 -0500 Subject: [PATCH 249/279] completion: Update completion submodule to 0.35.0 --- modules/completion/external | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/completion/external b/modules/completion/external index 0331b2908f..67921bc125 160000 --- a/modules/completion/external +++ b/modules/completion/external @@ -1 +1 @@ -Subproject commit 0331b2908f93556453e45fa5a899aa21e0a7f64d +Subproject commit 67921bc12502c1e7b0f156533fbac2cb51f6943d From 1b0cc0a219875eb16b75221167e9916820a2956a Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Mon, 11 Sep 2023 21:51:45 -0500 Subject: [PATCH 250/279] utility: Detect lsd and honor its GNU ls compatibility lsd (LSDeluxe) is a modern GNU compatibile alternative to ls. Detect if it is aliased to ls and honor its GNU ls compatibility. --- modules/utility/init.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/utility/init.zsh b/modules/utility/init.zsh index c901591592..7e2e14edfa 100644 --- a/modules/utility/init.zsh +++ b/modules/utility/init.zsh @@ -76,7 +76,7 @@ if zstyle -T ':prezto:module:utility' safe-ops; then fi # ls -if [[ ${(@M)${(f)"$(ls --version 2>&1)"}:#*GNU *} ]]; then +if [[ ${(@M)${(f)"$(ls --version 2>&1)"}:#*(GNU|lsd) *} ]]; then # GNU Core Utilities if zstyle -T ':prezto:module:utility:ls' dirs-first; then From bd180eec72c3ef28de3e794ebf08a05c640b4eda Mon Sep 17 00:00:00 2001 From: dllud Date: Fri, 19 May 2023 16:41:29 +0100 Subject: [PATCH 251/279] history-substring-search: add fuzzy and unique --- modules/history-substring-search/README.md | 18 ++++++++++++++++++ modules/history-substring-search/init.zsh | 8 ++++++++ runcoms/zpreztorc | 6 ++++++ 3 files changed, 32 insertions(+) diff --git a/modules/history-substring-search/README.md b/modules/history-substring-search/README.md index 3a109c556f..42919e0c40 100644 --- a/modules/history-substring-search/README.md +++ b/modules/history-substring-search/README.md @@ -65,6 +65,24 @@ _`${ZDOTDIR:-$HOME}/.zpreztorc`_: zstyle ':prezto:module:history-substring-search' globbing-flags '' ``` +### Fuzzy search + +To enable fuzzy search add the following line to +`${ZDOTDIR:-$HOME}/.zpreztorc`_: + +```sh +zstyle ':prezto:module:history-substring-search' fuzzy 'yes' +``` + +### Unique results + +To retrieve only unique results (remove duplicates) add the following line to +`${ZDOTDIR:-$HOME}/.zpreztorc`_: + +```sh +zstyle ':prezto:module:history-substring-search' ensure-unique 'yes' +``` + ## Authors _The authors of this module should be contacted via the [issue tracker][5]._ diff --git a/modules/history-substring-search/init.zsh b/modules/history-substring-search/init.zsh index 0de78918dc..d287ae4dd5 100644 --- a/modules/history-substring-search/init.zsh +++ b/modules/history-substring-search/init.zsh @@ -38,6 +38,14 @@ if ! zstyle -t ':prezto:module:history-substring-search' color; then unset HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_{FOUND,NOT_FOUND} fi +if zstyle -t ':prezto:module:history-substring-search' fuzzy; then + HISTORY_SUBSTRING_SEARCH_FUZZY=1 +fi + +if zstyle -t ':prezto:module:history-substring-search' ensure-unique; then + HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE=1 +fi + # # Key Bindings # diff --git a/runcoms/zpreztorc b/runcoms/zpreztorc index ae68a8936a..2d863c98ce 100644 --- a/runcoms/zpreztorc +++ b/runcoms/zpreztorc @@ -109,6 +109,12 @@ zstyle ':prezto:module:editor' key-bindings 'emacs' # Set the search globbing flags. # zstyle ':prezto:module:history-substring-search' globbing-flags '' +# Enable fuzzy search +# zstyle ':prezto:module:history-substring-search' fuzzy 'yes' + +# Retrieve only unique results (removes duplicates) +# zstyle ':prezto:module:history-substring-search' ensure-unique 'yes' + # # macOS # From 9bf1ae66bc94d246daf9537f8f1ade6b36619775 Mon Sep 17 00:00:00 2001 From: mritd Date: Sun, 19 Sep 2021 18:59:54 +0800 Subject: [PATCH 252/279] feat(history-substring-search): add `prefixed` setting support zsh-history-substring-search `HISTORY_SUBSTRING_SEARCH_PREFIXED` env Signed-off-by: mritd --- modules/history-substring-search/README.md | 6 ++++++ modules/history-substring-search/init.zsh | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/modules/history-substring-search/README.md b/modules/history-substring-search/README.md index 42919e0c40..3284110657 100644 --- a/modules/history-substring-search/README.md +++ b/modules/history-substring-search/README.md @@ -63,6 +63,12 @@ _`${ZDOTDIR:-$HOME}/.zpreztorc`_: ```sh zstyle ':prezto:module:history-substring-search' globbing-flags '' + +To set the search matched against the start of each history entry, add the following line to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_: + +```sh +zstyle ':prezto:module:history-substring-search' prefixed 'yes' ``` ### Fuzzy search diff --git a/modules/history-substring-search/init.zsh b/modules/history-substring-search/init.zsh index d287ae4dd5..3748325563 100644 --- a/modules/history-substring-search/init.zsh +++ b/modules/history-substring-search/init.zsh @@ -34,6 +34,10 @@ if zstyle -t ':prezto:module:history-substring-search' case-sensitive; then HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS="${HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS//i}" fi +if zstyle -t ':prezto:module:history-substring-search' prefixed; then + HISTORY_SUBSTRING_SEARCH_PREFIXED='true' +fi + if ! zstyle -t ':prezto:module:history-substring-search' color; then unset HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_{FOUND,NOT_FOUND} fi From 74a19fb665a41093f6e587ab80f6849a840acb90 Mon Sep 17 00:00:00 2001 From: mritd Date: Mon, 20 Sep 2021 11:14:46 +0800 Subject: [PATCH 253/279] docs(history-substring-search): add `prefixed` setting example comment add `prefixed` setting example comment Signed-off-by: mritd --- runcoms/zpreztorc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/runcoms/zpreztorc b/runcoms/zpreztorc index 2d863c98ce..2df7c73eee 100644 --- a/runcoms/zpreztorc +++ b/runcoms/zpreztorc @@ -115,6 +115,9 @@ zstyle ':prezto:module:editor' key-bindings 'emacs' # Retrieve only unique results (removes duplicates) # zstyle ':prezto:module:history-substring-search' ensure-unique 'yes' +# Set the search prefixed. +# zstyle ':prezto:module:history-substring-search' prefixed 'yes' + # # macOS # From 5ac930d96be3a51730f7d9d7330f28d9c9c36e0a Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Mon, 11 Sep 2023 23:28:38 -0500 Subject: [PATCH 254/279] history-substring-search: Tweak documentation and cleanup --- modules/history-substring-search/README.md | 26 ++++++++++++++++------ modules/history-substring-search/init.zsh | 10 ++++----- runcoms/zpreztorc | 11 +++++---- 3 files changed, 31 insertions(+), 16 deletions(-) diff --git a/modules/history-substring-search/README.md b/modules/history-substring-search/README.md index 3284110657..e7c55c5366 100644 --- a/modules/history-substring-search/README.md +++ b/modules/history-substring-search/README.md @@ -63,18 +63,21 @@ _`${ZDOTDIR:-$HOME}/.zpreztorc`_: ```sh zstyle ':prezto:module:history-substring-search' globbing-flags '' +``` + +### Case sensitive search -To set the search matched against the start of each history entry, add the following line to +To set the search case-sensitivity, add the following line to _`${ZDOTDIR:-$HOME}/.zpreztorc`_: ```sh -zstyle ':prezto:module:history-substring-search' prefixed 'yes' +zstyle ':prezto:module:history-substring-search' case-sensitive 'yes' ``` ### Fuzzy search -To enable fuzzy search add the following line to -`${ZDOTDIR:-$HOME}/.zpreztorc`_: +To enable search for fuzzy matches, add the following line to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_: ```sh zstyle ':prezto:module:history-substring-search' fuzzy 'yes' @@ -82,11 +85,20 @@ zstyle ':prezto:module:history-substring-search' fuzzy 'yes' ### Unique results -To retrieve only unique results (remove duplicates) add the following line to -`${ZDOTDIR:-$HOME}/.zpreztorc`_: +To enable unique results, add the following line to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_: ```sh -zstyle ':prezto:module:history-substring-search' ensure-unique 'yes' +zstyle ':prezto:module:history-substring-search' unique 'yes' +``` + +### Prefixed search + +To enable prefixed search matches, add the following line to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_: + +```sh +zstyle ':prezto:module:history-substring-search' prefixed 'yes' ``` ## Authors diff --git a/modules/history-substring-search/init.zsh b/modules/history-substring-search/init.zsh index 3748325563..54e8b00e5e 100644 --- a/modules/history-substring-search/init.zsh +++ b/modules/history-substring-search/init.zsh @@ -34,10 +34,6 @@ if zstyle -t ':prezto:module:history-substring-search' case-sensitive; then HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS="${HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS//i}" fi -if zstyle -t ':prezto:module:history-substring-search' prefixed; then - HISTORY_SUBSTRING_SEARCH_PREFIXED='true' -fi - if ! zstyle -t ':prezto:module:history-substring-search' color; then unset HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_{FOUND,NOT_FOUND} fi @@ -46,10 +42,14 @@ if zstyle -t ':prezto:module:history-substring-search' fuzzy; then HISTORY_SUBSTRING_SEARCH_FUZZY=1 fi -if zstyle -t ':prezto:module:history-substring-search' ensure-unique; then +if zstyle -t ':prezto:module:history-substring-search' unique; then HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE=1 fi +if zstyle -t ':prezto:module:history-substring-search' prefixed; then + HISTORY_SUBSTRING_SEARCH_PREFIXED=1 +fi + # # Key Bindings # diff --git a/runcoms/zpreztorc b/runcoms/zpreztorc index 2df7c73eee..b37c431326 100644 --- a/runcoms/zpreztorc +++ b/runcoms/zpreztorc @@ -109,13 +109,16 @@ zstyle ':prezto:module:editor' key-bindings 'emacs' # Set the search globbing flags. # zstyle ':prezto:module:history-substring-search' globbing-flags '' -# Enable fuzzy search +# Enable search case-sensitivity. +# zstyle ':prezto:module:history-substring-search' case-sensitive 'yes' + +# Enable search for fuzzy matches. # zstyle ':prezto:module:history-substring-search' fuzzy 'yes' -# Retrieve only unique results (removes duplicates) -# zstyle ':prezto:module:history-substring-search' ensure-unique 'yes' +# Enable search uniqueness. +# zstyle ':prezto:module:history-substring-search' unique 'yes' -# Set the search prefixed. +# Enable prefixed search. # zstyle ':prezto:module:history-substring-search' prefixed 'yes' # From 457ade4f014285d47fec229c5210af752f5be7e4 Mon Sep 17 00:00:00 2001 From: John Britton Date: Thu, 5 Oct 2023 14:45:56 -0400 Subject: [PATCH 255/279] python: Remove pyenv init woraround for pyenv >= 2.3.0 The startup logic and instructions have been updated for simplicity in pyenv 2.3.0. The workaround for pyenv init is no longer necessary. Signed-off-by: Indrajit Raychaudhuri --- modules/python/init.zsh | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/modules/python/init.zsh b/modules/python/init.zsh index ce2fc69310..c303cad1cc 100644 --- a/modules/python/init.zsh +++ b/modules/python/init.zsh @@ -25,12 +25,7 @@ if [[ -s "${local_pyenv::=${PYENV_ROOT:-$HOME/.pyenv}/bin/pyenv}" ]] \ # 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 - + # Load pyenv into the shell session. eval "$(pyenv init - zsh)" # Prepend PEP 370 per user site packages directory, which defaults to From 347441abdf9ea16cf4ea9306ea78f38af41e6667 Mon Sep 17 00:00:00 2001 From: Abizer Lokhandwala Date: Mon, 6 Nov 2023 12:35:24 -0800 Subject: [PATCH 256/279] remove alias sl='ls' --- modules/utility/README.md | 1 - modules/utility/init.zsh | 1 - 2 files changed, 2 deletions(-) diff --git a/modules/utility/README.md b/modules/utility/README.md index 142b1eae49..78a75556c5 100644 --- a/modules/utility/README.md +++ b/modules/utility/README.md @@ -140,7 +140,6 @@ 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 (correction for `ls`). ### macOS Everywhere diff --git a/modules/utility/init.zsh b/modules/utility/init.zsh index 7e2e14edfa..e10c4fea9e 100644 --- a/modules/utility/init.zsh +++ b/modules/utility/init.zsh @@ -122,7 +122,6 @@ 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' # Correction for common spelling error. if [[ ${(@M)${(f)"$(ls --version 2>&1)"}:#*GNU *} ]]; then alias lx='ll -XB' # Lists sorted by extension (GNU only). From f04191aa8ae475cf71f491830d424226d84501c9 Mon Sep 17 00:00:00 2001 From: Nobuhiro Takaichi Date: Sat, 23 Sep 2023 22:48:41 +0900 Subject: [PATCH 257/279] feat: Update submodules to avoid error with using zsh 5.9 --- modules/autosuggestions/external | 2 +- modules/completion/external | 2 +- modules/fasd/external | 2 +- modules/prompt/external/async | 2 +- modules/prompt/external/powerlevel10k | 2 +- modules/syntax-highlighting/external | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/autosuggestions/external b/modules/autosuggestions/external index a411ef3e09..c3d4e576c9 160000 --- a/modules/autosuggestions/external +++ b/modules/autosuggestions/external @@ -1 +1 @@ -Subproject commit a411ef3e0992d4839f0732ebeb9823024afaaaa8 +Subproject commit c3d4e576c9c86eac62884bd47c01f6faed043fc5 diff --git a/modules/completion/external b/modules/completion/external index 67921bc125..c0fe16fdad 160000 --- a/modules/completion/external +++ b/modules/completion/external @@ -1 +1 @@ -Subproject commit 67921bc12502c1e7b0f156533fbac2cb51f6943d +Subproject commit c0fe16fdadfc8fa8e26247e467bf09aeb7f3b4ca diff --git a/modules/fasd/external b/modules/fasd/external index 48220241e7..90b531a5da 160000 --- a/modules/fasd/external +++ b/modules/fasd/external @@ -1 +1 @@ -Subproject commit 48220241e764fdf46b075cd7fe723468aaadde58 +Subproject commit 90b531a5daaa545c74c7d98974b54cbdb92659fc diff --git a/modules/prompt/external/async b/modules/prompt/external/async index a66d76f840..ee1d11b68c 160000 --- a/modules/prompt/external/async +++ b/modules/prompt/external/async @@ -1 +1 @@ -Subproject commit a66d76f8404bd9e7a26037640e6c892cf5871ff4 +Subproject commit ee1d11b68c38dec24c22b1c51a45e8a815a79756 diff --git a/modules/prompt/external/powerlevel10k b/modules/prompt/external/powerlevel10k index 017395a266..873c4ff09c 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit 017395a266aa15011c09e64e44a1c98ed91c478c +Subproject commit 873c4ff09c559a507d33e528df7e27a8a48705d7 diff --git a/modules/syntax-highlighting/external b/modules/syntax-highlighting/external index 932e29a0c7..143b25eb98 160000 --- a/modules/syntax-highlighting/external +++ b/modules/syntax-highlighting/external @@ -1 +1 @@ -Subproject commit 932e29a0c75411cb618f02995b66c0a4a25699bc +Subproject commit 143b25eb98aa3227af63bd7f04413e1b3e7888ec From 380b96a218ef33d1ff4a641850822f583e11131a Mon Sep 17 00:00:00 2001 From: Kuruyia <8174691+Kuruyia@users.noreply.github.com> Date: Sun, 26 Nov 2023 20:34:16 +0100 Subject: [PATCH 258/279] feat(editor): add zstyle configuration for WORDCHARS --- modules/editor/README.md | 11 +++++++++++ modules/editor/init.zsh | 3 ++- runcoms/zpreztorc | 3 +++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/modules/editor/README.md b/modules/editor/README.md index 9aef6ef13f..9c6b410af4 100644 --- a/modules/editor/README.md +++ b/modules/editor/README.md @@ -12,6 +12,17 @@ Sets editor specific key bindings options and variables. ## Settings +## Wordchars + +To change what characters are considered part of a word, add the following to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_. + +```sh +zstyle ':prezto:module:editor' wordchars +``` + +Defaults to `*?_-.[]~&;!#$%^(){}<>`. + ### Key bindings To enable key bindings, add the following to _`${ZDOTDIR:-$HOME}/.zpreztorc`_, diff --git a/modules/editor/init.zsh b/modules/editor/init.zsh index 5b411f58a9..5798bc80dc 100644 --- a/modules/editor/init.zsh +++ b/modules/editor/init.zsh @@ -21,7 +21,8 @@ setopt BEEP # Beep on error in line editor. # # Treat these characters as part of a word. -WORDCHARS='*?_-.[]~&;!#$%^(){}<>' +zstyle -s ':prezto:module:editor' wordchars 'WORDCHARS' \ + || WORDCHARS='*?_-.[]~&;!#$%^(){}<>' # Use human-friendly identifiers. zmodload zsh/terminfo diff --git a/runcoms/zpreztorc b/runcoms/zpreztorc index b37c431326..f0046377e5 100644 --- a/runcoms/zpreztorc +++ b/runcoms/zpreztorc @@ -60,6 +60,9 @@ zstyle ':prezto:load' pmodule \ # Editor # +# Set the characters that are considered to be part of a word. +# zstyle ':prezto:module:editor' wordchars '*?_-.[]~&;!#$%^(){}<>' + # Set the key mapping style to 'emacs' or 'vi'. zstyle ':prezto:module:editor' key-bindings 'emacs' From c0cdc12708803c4503cb1b3d7d42e5c1b8ba6e86 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Thu, 30 Nov 2023 14:12:57 -0600 Subject: [PATCH 259/279] editor: Adjust subheading level in documentation --- modules/editor/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/editor/README.md b/modules/editor/README.md index 9c6b410af4..a1c1852020 100644 --- a/modules/editor/README.md +++ b/modules/editor/README.md @@ -12,7 +12,7 @@ Sets editor specific key bindings options and variables. ## Settings -## Wordchars +### Wordchars To change what characters are considered part of a word, add the following to _`${ZDOTDIR:-$HOME}/.zpreztorc`_. From ac356c8cf6af51f276483ae8bb8c9c4954183eb9 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Thu, 18 Jan 2024 19:13:22 -0600 Subject: [PATCH 260/279] Adjust instruction for setting custom $ZDOTDIR Adjust instruction for setting custom `$ZDOTDIR`. This addresses 2 potential issues: - Check for the presence of `$XDG_CONFIG_HOME/zsh` before assigning it to `$ZDOTDIR` instead of blindly assigning - Avoid recursion in zsh variable assignment stack that might occasionally result in messages like: ``` zsh: job table full or recursion limit exceeded ``` --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7b2efb1de5..ead6af6b29 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ version is **4.3.11**. ```sh export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:=$HOME/.config}" - export ZDOTDIR="${ZDOTDIR:=$XDG_CONFIG_HOME/zsh}" + [[ -d $XDG_CONFIG_HOME/zsh ]] && export ZDOTDIR="$XDG_CONFIG_HOME/zsh" source "$ZDOTDIR/.zshenv" ``` From d03bc03fddbd80ead45986b68880001ccbbb98c1 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Fri, 26 Jan 2024 09:10:40 +0100 Subject: [PATCH 261/279] prompt: update powerlevel10k submodule to v1.20.0 Release notes: - https://github.com/romkatv/powerlevel10k/releases/tag/v1.20.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 873c4ff09c..35833ea15f 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit 873c4ff09c559a507d33e528df7e27a8a48705d7 +Subproject commit 35833ea15f14b71dbcebc7e54c104d8d56ca5268 From c667dd3ea62b62b111102f0da58d33b5b20847a6 Mon Sep 17 00:00:00 2001 From: Cameron Wong Date: Tue, 12 Mar 2024 19:38:59 -0400 Subject: [PATCH 262/279] fix zstyle case-insensitive completion Signed-off-by: Cameron Wong --- 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 9ba9563461..12cb3336ce 100644 --- a/modules/completion/init.zsh +++ b/modules/completion/init.zsh @@ -84,7 +84,7 @@ if zstyle -t ':prezto:module:completion:*' case-sensitive; then zstyle ':completion:*' matcher-list 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' setopt CASE_GLOB else - zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' + zstyle ':completion:*' matcher-list 'm:{[:lower:]}={[:upper:]}' 'm:{[:upper:]}={[:lower:]}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' unsetopt CASE_GLOB fi From cc3b6e092ec78c3da21e89b3885eec73a526e765 Mon Sep 17 00:00:00 2001 From: Yutian Li Date: Mon, 1 Apr 2024 23:33:48 -0400 Subject: [PATCH 263/279] Allow .dir_colors to be a symlink --- modules/utility/init.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/utility/init.zsh b/modules/utility/init.zsh index e10c4fea9e..5b4bf80e48 100644 --- a/modules/utility/init.zsh +++ b/modules/utility/init.zsh @@ -88,7 +88,7 @@ if [[ ${(@M)${(f)"$(ls --version 2>&1)"}:#*(GNU|lsd) *} ]]; then if (( ! $+LS_COLORS )); then # Try dircolors when available if is-callable 'dircolors'; then - eval "$(dircolors --sh $HOME/.dir_colors(.N))" + eval "$(dircolors --sh $HOME/.dir_colors(N))" else 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 From 5ff938dff57a8f44a896a12260a73955fbec75e0 Mon Sep 17 00:00:00 2001 From: Yutian Li Date: Sun, 31 Mar 2024 15:38:21 -0400 Subject: [PATCH 264/279] Update Python virtualenvwrapper documentation --- modules/python/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/python/README.md b/modules/python/README.md index 2e3b2eec35..821209af72 100644 --- a/modules/python/README.md +++ b/modules/python/README.md @@ -13,7 +13,7 @@ disable _virtualenvwrapper_, add the following to _`${ZDOTDIR:-$HOME}/.zpreztorc`_. ```sh -zstyle ':prezto:module:python' skip-virtualenvwrapper-init 'on' +zstyle ':prezto:module:python:virtualenv' initialize 'no' ``` Conda support can be enabled by adding the following to From 185733aa63cae2ce0f2ff4bb914c2c16f7ed3502 Mon Sep 17 00:00:00 2001 From: Yutian Li Date: Sun, 31 Mar 2024 15:32:56 -0400 Subject: [PATCH 265/279] Update history-substring-search --- 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 400e58a87f..8dd05bfcc1 160000 --- a/modules/history-substring-search/external +++ b/modules/history-substring-search/external @@ -1 +1 @@ -Subproject commit 400e58a87f72ecec14f783fbd29bc6be4ff1641c +Subproject commit 8dd05bfcc12b0cd1ee9ea64be725b3d9f713cf64 From 6bf4505b334d0d19a574789f279e91e4eacc285c Mon Sep 17 00:00:00 2001 From: Yutian Li Date: Thu, 4 Apr 2024 00:42:17 -0400 Subject: [PATCH 266/279] Allow overriding _ssh_agent_sock for symmetry to _ssh_agent_env --- modules/ssh/init.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/ssh/init.zsh b/modules/ssh/init.zsh index f870997905..6bf237c541 100644 --- a/modules/ssh/init.zsh +++ b/modules/ssh/init.zsh @@ -16,8 +16,8 @@ _ssh_dir="$HOME/.ssh" # Set the path to the environment file if not set by another module. _ssh_agent_env="${_ssh_agent_env:-${XDG_CACHE_HOME:-$HOME/.cache}/prezto/ssh-agent.env}" -# Set the path to the persistent authentication socket. -_ssh_agent_sock="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/ssh-agent.sock" +# Set the path to the persistent authentication socket if not set by another module. +_ssh_agent_sock="${_ssh_agent_sock:-${XDG_CACHE_HOME:-$HOME/.cache}/prezto/ssh-agent.sock}" # Start ssh-agent if not started. if [[ ! -S "$SSH_AUTH_SOCK" ]]; then From 085ab11646f375b312fe10fbcfddca9b14985d8d Mon Sep 17 00:00:00 2001 From: mattmc3 Date: Tue, 12 Dec 2023 11:59:16 -0500 Subject: [PATCH 267/279] osx: Add trash function --- modules/osx/functions/trash | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 modules/osx/functions/trash diff --git a/modules/osx/functions/trash b/modules/osx/functions/trash new file mode 100644 index 0000000000..0efa2154eb --- /dev/null +++ b/modules/osx/functions/trash @@ -0,0 +1,31 @@ +# +# Moves files to the macOS trash. +# + +# function trash { + +emulate -L zsh +setopt LOCAL_OPTIONS EXTENDED_GLOB + +local file +local -a files=() +for file in $@; do + if [[ -e $file ]]; then + # ':a' gets the full path (do not use ':A', which would resolve symlinks) + files+=("the POSIX file \"${file:a}\"") + else + print "trash: No such file or directory '$file'." >&2 + return 1 + fi +done + +if (( $#files == 0 )); then + print 'usage: trash ' >&2 + return 64 # Match rm's return code. +fi + +# Join file list with commas, and tell Finder to trash that list. +local file_list="${(pj., .)files}" +osascript 2>&1 > /dev/null -e "tell app \"Finder\" to move { "${file_list}" } to trash" + +# } From f055c5070c3cb7521d0660f578e595f9ea087e1d Mon Sep 17 00:00:00 2001 From: Preston Hunt Date: Wed, 6 Dec 2023 16:40:24 -0800 Subject: [PATCH 268/279] screen module: don't try to attach to dead screens Removes dead screens from the list of candidate screens. Fixes issue 1253, "screen:auto-start problem with dead screens". --- modules/screen/init.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/screen/init.zsh b/modules/screen/init.zsh index 4dea5661b7..1a3908d89b 100644 --- a/modules/screen/init.zsh +++ b/modules/screen/init.zsh @@ -22,7 +22,7 @@ if [[ -z "$STY" && -z "$EMACS" && -z "$VIM" ]] && ( \ session="$( screen -list 2> /dev/null \ | sed '1d;$d' \ - | awk '{print $1}' \ + | awk '!/Dead/ {print $1}' \ | head -1)" if [[ -n "$session" ]]; then From a79c3b4943469393f76347dda5dc414b42e84588 Mon Sep 17 00:00:00 2001 From: Yutian Li Date: Fri, 5 Apr 2024 19:19:21 -0400 Subject: [PATCH 269/279] Remove Python module comment about completion Local completion definition has been removed --- modules/python/README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/modules/python/README.md b/modules/python/README.md index 821209af72..b7a323032e 100644 --- a/modules/python/README.md +++ b/modules/python/README.md @@ -2,9 +2,6 @@ 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 From 005709d1201a6ad2f8b01b0185623e6d192d6c44 Mon Sep 17 00:00:00 2001 From: Yutian Li Date: Fri, 5 Apr 2024 19:21:15 -0400 Subject: [PATCH 270/279] Cache brew shellenv results This could sometimes be slow (as with any external command execution) but the result should almost never change. --- modules/homebrew/init.zsh | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/modules/homebrew/init.zsh b/modules/homebrew/init.zsh index 7899258735..a6fca81551 100644 --- a/modules/homebrew/init.zsh +++ b/modules/homebrew/init.zsh @@ -21,7 +21,20 @@ fi # Load 'HOMEBREW_' prefixed variables only. Avoid loading 'PATH' related # variables as they are already handled in standard zsh configuration. if (( $+commands[brew] )); then - eval "${(@M)${(f)"$(brew shellenv 2> /dev/null)"}:#export HOMEBREW*}" + cache_file="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/brew-shellenv-cache.zsh" + if [[ "${commands[brew]}" -nt "$cache_file" \ + || "${ZDOTDIR:-$HOME}/.zpreztorc" -nt "$cache_file" \ + || ( ! -n ${cache_file}(#qNmw-1) ) ]]; then + # Rebuild cache if either + # 1. brew is newer than the cache file + # 2. .zpreztorc is newer than the cache file + # 3. cache file doesn't exist + # 4. cache file is older than a week + mkdir -p "${cache_file:h}" + echo "${(@M)${(f)"$(brew shellenv 2> /dev/null)"}:#export HOMEBREW*}" >! "${cache_file}" + fi + source "${cache_file}" + unset cache_file fi # From 775f14d0c383ddc06c086e1632a9b377a5d0950c Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Mon, 8 Apr 2024 20:37:23 -0500 Subject: [PATCH 271/279] homebrew: Simplify caching `brew shellenv` Avoid checking age of cache file and just test for its existence. While this is simpler, this also avoids depending on having `EXTENDED_GLOB` enabled. --- modules/homebrew/init.zsh | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/modules/homebrew/init.zsh b/modules/homebrew/init.zsh index a6fca81551..dd2b56589c 100644 --- a/modules/homebrew/init.zsh +++ b/modules/homebrew/init.zsh @@ -22,18 +22,15 @@ fi # variables as they are already handled in standard zsh configuration. if (( $+commands[brew] )); then cache_file="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/brew-shellenv-cache.zsh" - if [[ "${commands[brew]}" -nt "$cache_file" \ + if [[ "$commands[brew]" -nt "$cache_file" \ || "${ZDOTDIR:-$HOME}/.zpreztorc" -nt "$cache_file" \ - || ( ! -n ${cache_file}(#qNmw-1) ) ]]; then - # Rebuild cache if either - # 1. brew is newer than the cache file - # 2. .zpreztorc is newer than the cache file - # 3. cache file doesn't exist - # 4. cache file is older than a week - mkdir -p "${cache_file:h}" - echo "${(@M)${(f)"$(brew shellenv 2> /dev/null)"}:#export HOMEBREW*}" >! "${cache_file}" + || ! -s "$cache_file" ]]; then + mkdir -p "$cache_file:h" + # Cache the result. + echo "${(@M)${(f)"$(brew shellenv 2> /dev/null)"}:#export HOMEBREW*}" >! "$cache_file" 2> /dev/null fi - source "${cache_file}" + + source "$cache_file" unset cache_file fi From f5a8cb456b74d4d71caf46037a356d2deee27b50 Mon Sep 17 00:00:00 2001 From: Jim Date: Mon, 15 Apr 2024 16:28:00 +0100 Subject: [PATCH 272/279] Removing fig from README.md Fig is sunsetting as per https://fig.io/blog/post/fig-is-sunsetting --- README.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/README.md b/README.md index ead6af6b29..40163fa8f6 100644 --- a/README.md +++ b/README.md @@ -73,14 +73,6 @@ version is **4.3.11**. 05. Open a new Zsh terminal window or tab. -### [Fig](https://fig.io) - -Fig adds apps, shortcuts, and autocomplete to your existing terminal. - -Install `prezto` in just one click. - - - ### Troubleshooting If you are not able to find certain commands after switching to Prezto, modify From 9e28cb48617d0ccc0c4f46945a77d610decd8d23 Mon Sep 17 00:00:00 2001 From: Diego Rabatone Oliveira Date: Mon, 3 Jun 2024 12:16:13 -0300 Subject: [PATCH 273/279] [Bump] Completion module Although it has tags, the release flow it is not well estabilished, so it fall behind quite recurrently, thus why I'm updating it aginst the master branch (it was already out of the latest tag anyway). Ref: https://github.com/zsh-users/zsh-completions/issues/1083 --- modules/completion/external | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/completion/external b/modules/completion/external index c0fe16fdad..978e79e12c 160000 --- a/modules/completion/external +++ b/modules/completion/external @@ -1 +1 @@ -Subproject commit c0fe16fdadfc8fa8e26247e467bf09aeb7f3b4ca +Subproject commit 978e79e12c44b5b1d3e1e2920c537002087b82c2 From a217f1cac0a750226d3b4f483ee6d7a07d2a57b6 Mon Sep 17 00:00:00 2001 From: Diego Rabatone Oliveira Date: Mon, 3 Jun 2024 12:19:44 -0300 Subject: [PATCH 274/279] [Bump] Syntax Highlighting to 0.8.0 --- modules/syntax-highlighting/external | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/syntax-highlighting/external b/modules/syntax-highlighting/external index 143b25eb98..db085e4661 160000 --- a/modules/syntax-highlighting/external +++ b/modules/syntax-highlighting/external @@ -1 +1 @@ -Subproject commit 143b25eb98aa3227af63bd7f04413e1b3e7888ec +Subproject commit db085e4661f6aafd24e5acb5b2e17e4dd5dddf3e From 9195b66161b196238cbd52a8a4abd027bdaf5f73 Mon Sep 17 00:00:00 2001 From: Diego Rabatone Oliveira Date: Mon, 3 Jun 2024 12:26:21 -0300 Subject: [PATCH 275/279] [Bump] Pure prompt to 1.23.0 --- modules/prompt/external/pure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/prompt/external/pure b/modules/prompt/external/pure index 87e6f5dd4c..a02209d36c 160000 --- a/modules/prompt/external/pure +++ b/modules/prompt/external/pure @@ -1 +1 @@ -Subproject commit 87e6f5dd4c793f6d980532205aaefe196780606f +Subproject commit a02209d36c8509c0e62f44324127632999c9c0cf From 9626ce2beb8e20afb8f63020d974ff8a213bc773 Mon Sep 17 00:00:00 2001 From: msdx321 Date: Wed, 11 Dec 2024 00:56:52 +0000 Subject: [PATCH 276/279] Add exception for VSCode env helper Signed-off-by: msdx321 --- modules/tmux/init.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/tmux/init.zsh b/modules/tmux/init.zsh index 17006c82ce..6658124dba 100644 --- a/modules/tmux/init.zsh +++ b/modules/tmux/init.zsh @@ -23,7 +23,7 @@ if ([[ "$TERM_PROGRAM" = 'iTerm.app' ]] && \ _tmux_iterm_integration='-CC' fi -if [[ -z "$TMUX" && -z "$EMACS" && -z "$VIM" && -z "$INSIDE_EMACS" && "$TERM_PROGRAM" != "vscode" && "$TERMINAL_EMULATOR" != "JetBrains-JediTerm" ]] && ( \ +if [[ -z "$TMUX" && -z "$EMACS" && -z "$VIM" && -z "$INSIDE_EMACS" && -z "$VSCODE_RESOLVING_ENVIRONMENT" && "$TERM_PROGRAM" != "vscode" && "$TERMINAL_EMULATOR" != "JetBrains-JediTerm" ]] && ( \ ( [[ -n "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' remote ) || ( [[ -z "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' local ) \ ); then From 2388b8f8737a34f5d4b632b302a82dfea2dee7df Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Thu, 26 Dec 2024 22:27:46 -0600 Subject: [PATCH 277/279] autosuggestions: Update autosuggestions module to 0.7.1 --- modules/autosuggestions/external | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/autosuggestions/external b/modules/autosuggestions/external index c3d4e576c9..e52ee8ca55 160000 --- a/modules/autosuggestions/external +++ b/modules/autosuggestions/external @@ -1 +1 @@ -Subproject commit c3d4e576c9c86eac62884bd47c01f6faed043fc5 +Subproject commit e52ee8ca55bcc56a17c828767a3f98f22a68d4eb From 61d7dc9a72c4afcbe0f4f51b14ed65ca0ff61cbe Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Thu, 26 Dec 2024 22:30:38 -0600 Subject: [PATCH 278/279] completion: Update completion module to current master --- modules/completion/external | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/completion/external b/modules/completion/external index 978e79e12c..c160d09fdd 160000 --- a/modules/completion/external +++ b/modules/completion/external @@ -1 +1 @@ -Subproject commit 978e79e12c44b5b1d3e1e2920c537002087b82c2 +Subproject commit c160d09fddd28ceb3af5cf80e9253af80e450d96 From 427268c64fa386d2eda2adbce0b67436cd0d7c02 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Thu, 26 Dec 2024 22:32:57 -0600 Subject: [PATCH 279/279] history-substring-search: Update history-substring-search module to current master --- 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 8dd05bfcc1..87ce96b186 160000 --- a/modules/history-substring-search/external +++ b/modules/history-substring-search/external @@ -1 +1 @@ -Subproject commit 8dd05bfcc12b0cd1ee9ea64be725b3d9f713cf64 +Subproject commit 87ce96b1862928d84b1afe7c173316614b30e301