diff --git a/.gitmodules b/.gitmodules index 33792fc2b9..a5603b69c3 100644 --- a/.gitmodules +++ b/.gitmodules @@ -28,9 +28,9 @@ [submodule "modules/prompt/external/powerlevel9k"] path = modules/prompt/external/powerlevel9k url = https://github.com/bhilburn/powerlevel9k.git -[submodule "modules/autosuggestions/external"] - path = modules/autosuggestions/external - url = https://github.com/tarruda/zsh-autosuggestions +[submodule "modules/prompt/external/powerlevel10k"] + path = modules/prompt/external/powerlevel10k + url = https://github.com/romkatv/powerlevel10k.git [submodule "modules/base16/base16-shell"] path = modules/base16/base16-shell url = https://github.com/chriskempson/base16-shell.git 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 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" ;; 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 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/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 diff --git a/modules/editor/init.zsh b/modules/editor/init.zsh index 085947ef61..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 @@ -269,9 +273,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. diff --git a/modules/environment/init.zsh b/modules/environment/init.zsh index 7ae8c4f6a6..ac762780df 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 +[[ -n ${TTY:-} && $+commands[stty] == 1 ]] && stty -ixon <$TTY >$TTY + # # Jobs # 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/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..d1d3373a98 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. @@ -27,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. diff --git a/modules/homebrew/README.md b/modules/homebrew/README.md index 2a37553d15..1d29871e51 100644 --- a/modules/homebrew/README.md +++ b/modules/homebrew/README.md @@ -18,8 +18,8 @@ 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 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 056f1fb5db..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 @@ -27,8 +27,8 @@ fi # Homebrew alias brewc='brew cleanup' -alias brewC='brew cleanup --force' alias brewi='brew install' +alias brewL='brew leaves' alias brewl='brew list' alias brewo='brew outdated' alias brews='brew search' 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/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" diff --git a/modules/node/init.zsh b/modules/node/init.zsh index f452ec5a53..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. @@ -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 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/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 diff --git a/modules/prompt/external/powerlevel10k b/modules/prompt/external/powerlevel10k new file mode 160000 index 0000000000..345d0644a9 --- /dev/null +++ b/modules/prompt/external/powerlevel10k @@ -0,0 +1 @@ +Subproject commit 345d0644a9c1a242ff131bde915bbe234c3dd745 diff --git a/modules/prompt/external/pure b/modules/prompt/external/pure index 872153f446..7aade5fca2 160000 --- a/modules/prompt/external/pure +++ b/modules/prompt/external/pure @@ -1 +1 @@ -Subproject commit 872153f44678d8084ce41753fe6a92b92040b411 +Subproject commit 7aade5fca2acae3f10e260d0c076af6356da9dc6 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_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 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 14f8858c1c..41ac7d0175 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 @@ -120,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' @@ -178,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 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/python/init.zsh b/modules/python/init.zsh index a8e00b39b8..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 @@ -160,7 +155,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" 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 ------ 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. diff --git a/modules/syntax-highlighting/external b/modules/syntax-highlighting/external index e900ad8bad..35c8690c00 160000 --- a/modules/syntax-highlighting/external +++ b/modules/syntax-highlighting/external @@ -1 +1 @@ -Subproject commit e900ad8bad53501689afcb050456400d7a8466e5 +Subproject commit 35c8690c0025ceef9584f64da86ced3a72ee32b6 diff --git a/modules/tmux/init.zsh b/modules/tmux/init.zsh index 00e79b6a4a..6a179162e1 100644 --- a/modules/tmux/init.zsh +++ b/modules/tmux/init.zsh @@ -22,7 +22,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 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..a2e5c2bdfe 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 @@ -64,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