diff --git a/README.md b/README.md index 7b2efb1d..40163fa8 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" ``` @@ -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 diff --git a/modules/autosuggestions/external b/modules/autosuggestions/external index a411ef3e..c3d4e576 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 0331b290..978e79e1 160000 --- a/modules/completion/external +++ b/modules/completion/external @@ -1 +1 @@ -Subproject commit 0331b2908f93556453e45fa5a899aa21e0a7f64d +Subproject commit 978e79e12c44b5b1d3e1e2920c537002087b82c2 diff --git a/modules/completion/init.zsh b/modules/completion/init.zsh index 9ba95634..12cb3336 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 diff --git a/modules/directory/README.md b/modules/directory/README.md index 86953a47..8603d9f6 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/directory/init.zsh b/modules/directory/init.zsh index c5a01f1d..caf08d2a 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/editor/README.md b/modules/editor/README.md index 9aef6ef1..a1c18520 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 5b411f58..5798bc80 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/modules/emacs/README.md b/modules/emacs/README.md index f93304aa..8cf7bfc8 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/emacs/init.zsh b/modules/emacs/init.zsh index 3acc965c..a53285ab 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/README.md b/modules/fasd/README.md index 1958a739..04f9693a 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/fasd/external b/modules/fasd/external index 48220241..90b531a5 160000 --- a/modules/fasd/external +++ b/modules/fasd/external @@ -1 +1 @@ -Subproject commit 48220241e764fdf46b075cd7fe723468aaadde58 +Subproject commit 90b531a5daaa545c74c7d98974b54cbdb92659fc diff --git a/modules/fasd/init.zsh b/modules/fasd/init.zsh index f948789e..bd142f80 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/gnu-utility/init.zsh b/modules/gnu-utility/init.zsh index 85e86050..2cfbf2fa 100644 --- a/modules/gnu-utility/init.zsh +++ b/modules/gnu-utility/init.zsh @@ -44,8 +44,7 @@ _gnu_utility_cmds=( 'libtool' 'libtoolize' # Miscellaneous - '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. diff --git a/modules/history-substring-search/README.md b/modules/history-substring-search/README.md index 3a109c55..e7c55c53 100644 --- a/modules/history-substring-search/README.md +++ b/modules/history-substring-search/README.md @@ -65,6 +65,42 @@ _`${ZDOTDIR:-$HOME}/.zpreztorc`_: zstyle ':prezto:module:history-substring-search' globbing-flags '' ``` +### Case sensitive search + +To set the search case-sensitivity, add the following line to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_: + +```sh +zstyle ':prezto:module:history-substring-search' case-sensitive 'yes' +``` + +### Fuzzy search + +To enable search for fuzzy matches, add the following line to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_: + +```sh +zstyle ':prezto:module:history-substring-search' fuzzy 'yes' +``` + +### Unique results + +To enable unique results, add the following line to +_`${ZDOTDIR:-$HOME}/.zpreztorc`_: + +```sh +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 _The authors of this module should be contacted via the [issue tracker][5]._ diff --git a/modules/history-substring-search/external b/modules/history-substring-search/external index 0f80b8eb..8dd05bfc 160000 --- a/modules/history-substring-search/external +++ b/modules/history-substring-search/external @@ -1 +1 @@ -Subproject commit 0f80b8eb3368b46e5e573c1d91ae69eb095db3fb +Subproject commit 8dd05bfcc12b0cd1ee9ea64be725b3d9f713cf64 diff --git a/modules/history-substring-search/init.zsh b/modules/history-substring-search/init.zsh index 0de78918..54e8b00e 100644 --- a/modules/history-substring-search/init.zsh +++ b/modules/history-substring-search/init.zsh @@ -38,6 +38,18 @@ 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' 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/modules/history/README.md b/modules/history/README.md index 11c6d947..51e6e8ca 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/history/init.zsh b/modules/history/init.zsh index 1f9a09b4..069dc2f1 100644 --- a/modules/history/init.zsh +++ b/modules/history/init.zsh @@ -10,58 +10,34 @@ # 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 # -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 # -# 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 - < /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" \ + || ! -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" + unset cache_file fi # @@ -29,19 +39,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/README.md b/modules/macports/README.md index ba6143b5..15963b33 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/macports/init.zsh b/modules/macports/init.zsh index 7bf4ab29..1ac3c531 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/README.md b/modules/node/README.md index 6ec0b75c..bc262151 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/node/init.zsh b/modules/node/init.zsh index b3591049..0c27764d 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/osx/functions/manp b/modules/osx/functions/manp index fcb2a026..d31bbc40 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 diff --git a/modules/osx/functions/trash b/modules/osx/functions/trash new file mode 100644 index 00000000..0efa2154 --- /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" + +# } diff --git a/modules/perl/README.md b/modules/perl/README.md index 772d0680..dd594491 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/perl/init.zsh b/modules/perl/init.zsh index 1b5e6657..efadd9ea 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' +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' + # 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' + 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/prompt/external/async b/modules/prompt/external/async index bbbc92bd..ee1d11b6 160000 --- a/modules/prompt/external/async +++ b/modules/prompt/external/async @@ -1 +1 @@ -Subproject commit bbbc92bd01592513a6b7739a45b7911af18acaef +Subproject commit ee1d11b68c38dec24c22b1c51a45e8a815a79756 diff --git a/modules/prompt/external/powerlevel10k b/modules/prompt/external/powerlevel10k index 8a676a91..35833ea1 160000 --- a/modules/prompt/external/powerlevel10k +++ b/modules/prompt/external/powerlevel10k @@ -1 +1 @@ -Subproject commit 8a676a9157d2b0e00e88d06456ac7317f11c0317 +Subproject commit 35833ea15f14b71dbcebc7e54c104d8d56ca5268 diff --git a/modules/prompt/external/pure b/modules/prompt/external/pure index 5b458ba5..a02209d3 160000 --- a/modules/prompt/external/pure +++ b/modules/prompt/external/pure @@ -1 +1 @@ -Subproject commit 5b458ba5b75f49a8071d53c343f1a23631f7bced +Subproject commit a02209d36c8509c0e62f44324127632999c9c0cf diff --git a/modules/prompt/init.zsh b/modules/prompt/init.zsh index 31808837..37bff328 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 - < -# - -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 a80a9c47..c303cad1 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 @@ -50,7 +45,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 +131,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=( @@ -171,6 +166,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/README.md b/modules/rails/README.md index 129627a0..5e230e0e 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/rails/init.zsh b/modules/rails/init.zsh index 44b53e90..ed86372b 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/README.md b/modules/ruby/README.md index 97a09f07..fa3d1064 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/ruby/init.zsh b/modules/ruby/init.zsh index cf55bc50..86ab43ce 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/README.md b/modules/screen/README.md index a1775f7e..b5549510 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/screen/init.zsh b/modules/screen/init.zsh index 0dee1c96..1a3908d8 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 @@ -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/ssh/init.zsh b/modules/ssh/init.zsh index f8709979..6bf237c5 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 diff --git a/modules/syntax-highlighting/external b/modules/syntax-highlighting/external index 932e29a0..db085e46 160000 --- a/modules/syntax-highlighting/external +++ b/modules/syntax-highlighting/external @@ -1 +1 @@ -Subproject commit 932e29a0c75411cb618f02995b66c0a4a25699bc +Subproject commit db085e4661f6aafd24e5acb5b2e17e4dd5dddf3e diff --git a/modules/tmux/README.md b/modules/tmux/README.md index e7ae929d..f6d375b0 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. diff --git a/modules/tmux/init.zsh b/modules/tmux/init.zsh index 2075daa3..17006c82 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 diff --git a/modules/utility/README.md b/modules/utility/README.md index 142b1eae..78a75556 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 c9015915..5b4bf80e 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 @@ -88,7 +88,7 @@ if [[ ${(@M)${(f)"$(ls --version 2>&1)"}:#*GNU *} ]]; 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 @@ -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). diff --git a/runcoms/zlogin b/runcoms/zlogin index ac4d3422..2f834353 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 } &! diff --git a/runcoms/zpreztorc b/runcoms/zpreztorc index f921c186..b0bfe5aa 100644 --- a/runcoms/zpreztorc +++ b/runcoms/zpreztorc @@ -62,6 +62,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' @@ -111,6 +114,18 @@ zstyle ':prezto:module:history' histfile "${ZDOTDIR:-$HOME}/.zsh_history" # Set the search globbing flags. # zstyle ':prezto:module:history-substring-search' globbing-flags '' +# 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' + +# Enable search uniqueness. +# zstyle ':prezto:module:history-substring-search' unique 'yes' + +# Enable prefixed search. +# zstyle ':prezto:module:history-substring-search' prefixed 'yes' + # # macOS #