From ab7f697734c717bf359db7b49b48598857ab8cfa Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Wed, 5 Nov 2014 17:41:36 -0500 Subject: [PATCH 01/70] [Fix #713] Set prompt theme off in unsupported terminal --- modules/prompt/init.zsh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/prompt/init.zsh b/modules/prompt/init.zsh index d976615a..0ec007c4 100644 --- a/modules/prompt/init.zsh +++ b/modules/prompt/init.zsh @@ -10,9 +10,9 @@ autoload -Uz promptinit && promptinit # Load the prompt theme. zstyle -a ':prezto:module:prompt' theme 'prompt_argv' -if (( $#prompt_argv > 0 )); then - prompt "$prompt_argv[@]" -else +if [[ "$TERM" == (dumb|linux|*bsd*) ]] || (( $#prompt_argv < 1 )); then prompt 'off' +else + prompt "$prompt_argv[@]" fi unset prompt_argv From 6f9c1666e1a34258cfcb7fccb4c7973cdb4127d9 Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Sat, 6 Jul 2013 11:28:53 -0500 Subject: [PATCH 02/70] Use short apothegms only in fortune --- runcoms/zlogin | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runcoms/zlogin b/runcoms/zlogin index 9911de58..30549f33 100644 --- a/runcoms/zlogin +++ b/runcoms/zlogin @@ -17,7 +17,7 @@ # Print a random, hopefully interesting, adage. if (( $+commands[fortune] )); then if [[ -t 0 || -t 1 ]]; then - fortune -a + fortune -s print fi fi From 13ed3a1bf7a8599e33616340a7fda7e59f514606 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Sun, 19 May 2013 16:56:28 -0400 Subject: [PATCH 03/70] Add giddie theme --- modules/prompt/functions/prompt_giddie_setup | 70 ++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 modules/prompt/functions/prompt_giddie_setup diff --git a/modules/prompt/functions/prompt_giddie_setup b/modules/prompt/functions/prompt_giddie_setup new file mode 100644 index 00000000..cc00bfbf --- /dev/null +++ b/modules/prompt/functions/prompt_giddie_setup @@ -0,0 +1,70 @@ +# +# A colorful, friendly, multiline theme with some handy features. +# +# Authors: +# Paul Gideon Dann +# Sorin Ionescu +# +# Features: +# - Simple VCS branch, staged and unstaged indication. +# - Prompt character is different in a VCS repository. +# - Last command exit status is displayed when non-zero. +# +# Screenshots: +# http://i.imgur.com/rCo3S.png +# + +function +vi-git-status() { + # Check for untracked files or updated submodules since vcs_info does not. + if [[ -n $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then + hook_com[unstaged]='%F{green}!%f' + fi +} + +function prompt_giddie_precmd { + # Replace '/home/' with '~'. + _prompt_giddie_pwd="${PWD/#$HOME/~}" + + # Choose prompt symbol based on whether or not we are in a repository. + if (( $+commands[git] )) && git rev-parse 2> /dev/null; then + _prompt_giddie_symbol='±' + vcs_info + else + _prompt_giddie_symbol=')' + fi +} + +function prompt_giddie_setup { + setopt LOCAL_OPTIONS + unsetopt XTRACE KSH_ARRAYS + prompt_opts=(cr percent subst) + + # Load required functions. + autoload -Uz vcs_info + autoload -Uz add-zsh-hook + + # Add hook to set up prompt parameters before each command. + add-zsh-hook precmd prompt_giddie_precmd + + # Set editor-info parameters. + zstyle ':prezto:module:editor:info:completing' format '%F{green}...%f' + + # Set vcs_info parameters. + zstyle ':vcs_info:*' enable git + zstyle ':vcs_info:*' check-for-changes true + zstyle ':vcs_info:*' formats ' on %F{magenta}%b%f%c%u' + zstyle ':vcs_info:*' actionformats ' on %F{magenta}%b%f%c%u %F{yellow}(%a)%f' + zstyle ':vcs_info:*' stagedstr '%F{green}+%f' + zstyle ':vcs_info:*' unstagedstr '%F{green}!%f' + zstyle ':vcs_info:git*+set-message:*' hooks git-status + + # Define prompts. + PROMPT='%(?..%F{red}%B-> [%?]%b%f +)%F{magenta}%n%f@%F{yellow}%m%f|%F{green}${_prompt_giddie_pwd}%f${vcs_info_msg_0_} +%F{blue}${_prompt_giddie_symbol}%f ' + RPROMPT='' + SPROMPT='zsh: correct %F{magenta}%R%f to %F{green}%r%f [nyae]? ' +} + +prompt_giddie_setup "$@" + From 567506f7e7955fd01f33d9d15b5bac346afbaecc Mon Sep 17 00:00:00 2001 From: Paul Gideon Dann Date: Wed, 13 Nov 2013 10:46:35 +0000 Subject: [PATCH 04/70] Update giddie theme Signed-off-by: Sorin Ionescu --- modules/prompt/functions/prompt_giddie_setup | 38 +++++++++++--------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/modules/prompt/functions/prompt_giddie_setup b/modules/prompt/functions/prompt_giddie_setup index cc00bfbf..5a14ffe0 100644 --- a/modules/prompt/functions/prompt_giddie_setup +++ b/modules/prompt/functions/prompt_giddie_setup @@ -6,7 +6,7 @@ # Sorin Ionescu # # Features: -# - Simple VCS branch, staged and unstaged indication. +# - Simple VCS branch, staged, and unstaged indication. # - Prompt character is different in a VCS repository. # - Last command exit status is displayed when non-zero. # @@ -14,24 +14,25 @@ # http://i.imgur.com/rCo3S.png # -function +vi-git-status() { - # Check for untracked files or updated submodules since vcs_info does not. +function +vi-set_novcs_prompt_symbol { + _prompt_giddie_symbol=')' +} + +function +vi-set_vcs_prompt_symbol { + _prompt_giddie_symbol='±' +} + +function +vi-git_precmd { + # Check for untracked files, since vcs_info does not. if [[ -n $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then - hook_com[unstaged]='%F{green}!%f' + hook_com[unstaged]+='%F{green}?%f' fi } function prompt_giddie_precmd { # Replace '/home/' with '~'. _prompt_giddie_pwd="${PWD/#$HOME/~}" - - # Choose prompt symbol based on whether or not we are in a repository. - if (( $+commands[git] )) && git rev-parse 2> /dev/null; then - _prompt_giddie_symbol='±' - vcs_info - else - _prompt_giddie_symbol=')' - fi + vcs_info } function prompt_giddie_setup { @@ -48,23 +49,28 @@ function prompt_giddie_setup { # 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' # Set vcs_info parameters. - zstyle ':vcs_info:*' enable git zstyle ':vcs_info:*' check-for-changes true zstyle ':vcs_info:*' formats ' on %F{magenta}%b%f%c%u' zstyle ':vcs_info:*' actionformats ' on %F{magenta}%b%f%c%u %F{yellow}(%a)%f' zstyle ':vcs_info:*' stagedstr '%F{green}+%f' zstyle ':vcs_info:*' unstagedstr '%F{green}!%f' - zstyle ':vcs_info:git*+set-message:*' hooks git-status + + # Set vcs_info hooks. + # NOTE: Prior to Zsh v4.3.12, there are no static hooks, no vcs_info_hookadd + # function, and no 'no-vcs' hook. + zstyle ':vcs_info:*+start-up:*' hooks set_novcs_prompt_symbol + zstyle ':vcs_info:git*+set-message:*' hooks set_vcs_prompt_symbol git_precmd + zstyle ':vcs_info:*+set-message:*' hooks set_vcs_prompt_symbol # Define prompts. PROMPT='%(?..%F{red}%B-> [%?]%b%f )%F{magenta}%n%f@%F{yellow}%m%f|%F{green}${_prompt_giddie_pwd}%f${vcs_info_msg_0_} %F{blue}${_prompt_giddie_symbol}%f ' - RPROMPT='' + RPROMPT='${editor_info[keymap]}' SPROMPT='zsh: correct %F{magenta}%R%f to %F{green}%r%f [nyae]? ' } prompt_giddie_setup "$@" - From ad09f29fd5f23bf130be10cc75a0181e12ab691d Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Sun, 19 May 2013 17:48:02 -0400 Subject: [PATCH 05/70] Add skwp theme --- modules/prompt/functions/prompt_skwp_setup | 75 ++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 modules/prompt/functions/prompt_skwp_setup diff --git a/modules/prompt/functions/prompt_skwp_setup b/modules/prompt/functions/prompt_skwp_setup new file mode 100644 index 00000000..abe9e265 --- /dev/null +++ b/modules/prompt/functions/prompt_skwp_setup @@ -0,0 +1,75 @@ +# +# A single line theme with Git information on the left and Ruby on the right. +# +# Authors: +# Steve Losh +# Bart Trojanowski +# Brian Carper +# steeef +# Sorin Ionescu +# Yan Pritzker +# +# Screenshots: +# http://i.imgur.com/gLgVp6Y.png +# + +function prompt_skwp_precmd { + # Get Git repository information. + if (( $+functions[git-info] )); then + git-info + fi + + # Get Ruby information. + if (( $+functions[ruby-info] )); then + ruby-info + fi +} + +function prompt_skwp_setup { + setopt LOCAL_OPTIONS + unsetopt XTRACE KSH_ARRAYS + prompt_opts=(cr percent subst) + + # Load required functions. + autoload -Uz add-zsh-hook + + # Add hook to set up prompt parameters before each command. + add-zsh-hook precmd prompt_skwp_precmd + + # Use extended color pallete if available. + if [[ $TERM = *256color* || $TERM = *rxvt* ]]; then + _prompt_skwp_colors=( + "%F{81}" # Turquoise + "%F{166}" # Orange + "%F{135}" # Purple + "%F{161}" # Hotpink + "%F{118}" # Limegreen + ) + else + _prompt_skwp_colors=( + "%F{cyan}" + "%F{yellow}" + "%F{magenta}" + "%F{red}" + "%F{green}" + ) + fi + + # Set git-info parameters. + zstyle ':prezto:module:git:info' verbose 'yes' + zstyle ':prezto:module:git:info:branch' format "${_prompt_skwp_colors[1]}%b%f" + zstyle ':prezto:module:git:info:added' format "${_prompt_skwp_colors[5]}●%f" + zstyle ':prezto:module:git:info:deleted' format "${_prompt_skwp_colors[2]}●%f" + zstyle ':prezto:module:git:info:modified' format "${_prompt_skwp_colors[4]}●%f" + zstyle ':prezto:module:git:info:untracked' format "${_prompt_skwp_colors[3]}●%f" + zstyle ':prezto:module:git:info:keys' format 'prompt' '(%b%d%a%m%u)' + + # Set ruby-info parameters. + zstyle ':prezto:module:ruby:info:version' format '[%v]' + + # Define prompts. + PROMPT="${_prompt_skwp_colors[3]}%n%f@${_prompt_skwp_colors[2]}%m%f ${_prompt_skwp_colors[5]}%~%f "'$git_info[prompt]'"$ " + RPROMPT='%F{blue}${ruby_info[version]}' +} + +prompt_skwp_setup "$@" From 0bede677e655e81b0f64ea47005c39942d6bf8c6 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Sun, 19 May 2013 17:48:02 -0400 Subject: [PATCH 06/70] Add kylewest theme --- .../prompt/functions/prompt_kylewest_setup | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 modules/prompt/functions/prompt_kylewest_setup diff --git a/modules/prompt/functions/prompt_kylewest_setup b/modules/prompt/functions/prompt_kylewest_setup new file mode 100644 index 00000000..0c229a57 --- /dev/null +++ b/modules/prompt/functions/prompt_kylewest_setup @@ -0,0 +1,65 @@ +# +# A single line theme with Git information on the left and Ruby on the right. +# +# Authors: +# Kyle West +# Sorin Ionescu +# +# Features: +# - Indicates dirty Git repository. +# - Indicates the Ruby version. +# - Indicates vi modes. +# +# Screenshots: +# http://i.imgur.com/dCwhynn.png +# + +function prompt_kylewest_precmd { + setopt LOCAL_OPTIONS + unsetopt XTRACE KSH_ARRAYS + + # Get Git repository information. + if (( $+functions[git-info] )); then + git-info + fi + + # Get Ruby information. + if (( $+functions[ruby-info] )); then + ruby-info + fi +} + +function prompt_kylewest_setup { + setopt LOCAL_OPTIONS + unsetopt XTRACE KSH_ARRAYS + prompt_opts=(cr percent subst) + + # Load required functions. + autoload -Uz add-zsh-hook + + # Add hook for calling git-info before each command. + add-zsh-hook precmd prompt_kylewest_precmd + + # 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" + zstyle ':prezto:module:editor:info:keymap:alternate' format "%B%F{magenta}❮%f%b" + + # Set git-info parameters. + zstyle ':prezto:module:git:info' verbose 'no' + zstyle ':prezto:module:git:info:branch' format '%F{yellow}%b%f' + zstyle ':prezto:module:git:info:dirty' format '%B%F{red}!%f%b' + zstyle ':prezto:module:git:info:indexed' format ' ' + zstyle ':prezto:module:git:info:unindexed' format ' ' + zstyle ':prezto:module:git:info:untracked' format ' ' + zstyle ':prezto:module:git:info:keys' format 'prompt' '- %b%D ' + + # Set ruby-info parameters. + zstyle ':prezto:module:ruby:info:version' format '%F{blue}[%v]%f' + + # Define prompts. + PROMPT='%F{cyan}%c%f ${git_info[prompt]}${editor_info[keymap]} ' + RPROMPT='${ruby_info[version]}' +} + +prompt_kylewest_setup "$@" From c078c47c9d8eaa4d808e93c0c59c583820520f2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20M=C3=B8ller=20Kristensen?= Date: Thu, 11 Jul 2013 20:19:54 +0200 Subject: [PATCH 07/70] Add damoekri theme Signed-off-by: Sorin Ionescu --- .../prompt/functions/prompt_damoekri_setup | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 modules/prompt/functions/prompt_damoekri_setup diff --git a/modules/prompt/functions/prompt_damoekri_setup b/modules/prompt/functions/prompt_damoekri_setup new file mode 100644 index 00000000..030e5b21 --- /dev/null +++ b/modules/prompt/functions/prompt_damoekri_setup @@ -0,0 +1,76 @@ +# +# A simple theme inspired by the Sorin and PeepCode themes. +# +# Authors: +# Daniel Møller Kristensen +# +# Screenshots: +# http://i.imgur.com/AX9HnPF.png +# + +# Load dependencies. +pmodload 'helper' + +function prompt_damoekri_pwd { + local pwd="${PWD/#$HOME/~}" + + if [[ "$pwd" == (#m)[/~] ]]; then + _prompt_damoekri_pwd="$MATCH" + unset MATCH + else + _prompt_damoekri_pwd="${${${(@j:/:M)${(@s:/:)pwd}##.#?}:h}%/}/${pwd:t}" + fi +} + +function prompt_damoekri_precmd { + setopt LOCAL_OPTIONS + unsetopt XTRACE KSH_ARRAYS + + # Format PWD. + prompt_damoekri_pwd + + # Get Git repository information. + if (( $+functions[git-info] )); then + git-info + fi + + # Get Ruby version information. + if (( $+functions[ruby-info] )); then + ruby-info + fi +} + +function prompt_damoekri_setup { + setopt LOCAL_OPTIONS + unsetopt XTRACE KSH_ARRAYS + prompt_opts=(cr percent subst) + + # Load required functions. + autoload -Uz add-zsh-hook + + # Add hook for calling git-info and ruby-info before each command. + add-zsh-hook precmd prompt_damoekri_precmd + + # Set editor-info parameters. + zstyle ':prezto:module:editor:info:keymap:primary' format ' %F{green}»%f' + + # Set git-info parameters. + zstyle ':prezto:module:git:info' verbose 'yes' + zstyle ':prezto:module:git:info:action' format ':%F{magenta}%s%f' + zstyle ':prezto:module:git:info:branch' format '%F{blue}%b%f' + zstyle ':prezto:module:git:info:clean' format ' %F{green}✔%f' + zstyle ':prezto:module:git:info:dirty' format ' %F{red}✗%f' + zstyle ':prezto:module:git:info:commit' format '%F{blue}%.7c%f' + zstyle ':prezto:module:git:info:position' format '%F{blue}%p%f' + zstyle ':prezto:module:git:info:keys' format \ + 'rprompt' ' $(coalesce "%b" "%p" "%c")%s%C%D' + + # Set ruby-info parameters. + zstyle ':prezto:module:ruby:info:version' format ' %F{yellow}%v%f' + + # Define prompts. + PROMPT='%F{cyan}${_prompt_damoekri_pwd}%f${editor_info[keymap]} ' + RPROMPT='${git_info:+${(e)git_info[rprompt]}}${ruby_info:+${ruby_info[version]}}' +} + +prompt_damoekri_setup "$@" From 1bc4235a5e05dee20a85788291c2da0efec47759 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Mon, 13 Oct 2014 21:27:17 -0400 Subject: [PATCH 08/70] Escape '%' in path --- modules/prompt/functions/prompt_damoekri_setup | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/prompt/functions/prompt_damoekri_setup b/modules/prompt/functions/prompt_damoekri_setup index 030e5b21..58c4d352 100644 --- a/modules/prompt/functions/prompt_damoekri_setup +++ b/modules/prompt/functions/prompt_damoekri_setup @@ -18,7 +18,7 @@ function prompt_damoekri_pwd { _prompt_damoekri_pwd="$MATCH" unset MATCH else - _prompt_damoekri_pwd="${${${(@j:/:M)${(@s:/:)pwd}##.#?}:h}%/}/${pwd:t}" + _prompt_damoekri_pwd="${${${${(@j:/:M)${(@s:/:)pwd}##.#?}:h}%/}//\%/%%}/${${pwd:t}//\%/%%}" fi } From 03336db52396c00975a0d2fd6f63a55036e9770b Mon Sep 17 00:00:00 2001 From: Nadav Shatz Date: Mon, 10 Mar 2014 16:31:14 -0400 Subject: [PATCH 09/70] Add smiley theme Signed-off-by: Sorin Ionescu --- modules/prompt/functions/prompt_smiley_setup | 57 ++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 modules/prompt/functions/prompt_smiley_setup diff --git a/modules/prompt/functions/prompt_smiley_setup b/modules/prompt/functions/prompt_smiley_setup new file mode 100644 index 00000000..4aeaa8b4 --- /dev/null +++ b/modules/prompt/functions/prompt_smiley_setup @@ -0,0 +1,57 @@ +# +# A simple theme that displays: +# - Python virtual environment. +# - Git branch. +# - Git state. +# - Last command exit state (smiley/X). +# +# Authors: +# Nadav Shatz +# +# Screenshots: +# http://i.imgur.com/ijycV6n.png +# + +# Load dependencies. +pmodload 'helper' + +function prompt_smiley_precmd { + unsetopt XTRACE KSH_ARRAYS + + # Get Git repository information. + if (( $+functions[git-info] )); then + git-info + fi + + # Get Python environment information. + if (( $+functions[python-info] )); then + python-info + fi +} + +function prompt_smiley_setup { + unsetopt XTRACE KSH_ARRAYS + prompt_opts=(percent subst) + + # Add hook for calling git-info before each command. + add-zsh-hook precmd prompt_smiley_precmd + + # Set editor-info parameters. + zstyle ':prezto:module:editor:info:completing' format '%B%F{red}...%f%b' + + # Set python-info parameters. + zstyle ':prezto:module:python:info:virtualenv' format '%F{yellow}[%v]%f ' + + # Set git-info parameters. + zstyle ':prezto:module:git:info' verbose 'yes' + zstyle ':prezto:module:git:info:branch' format '%F{blue}%b%f' + zstyle ':prezto:module:git:info:dirty' format '%%B%F{red} ±%f%%b' + zstyle ':prezto:module:git:info:keys' format 'prompt' '(%b%D)' + + # Define prompts. + PROMPT='$python_info[virtualenv]${git_info[prompt]} %B%c%b %(?:%F{green}ツ%f:%F{red}✖%f) ' + RPROMPT='${editor_info[overwrite]}${VIM:+" %B%F{green}V%f%b"}' + SPROMPT='zsh: correct %F{red}%R%f to %F{green}%r%f [nyae]? ' +} + +prompt_smiley_setup "$@" From c2d62c3b47439873aa1c5953a68b28c60611dadd Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Mon, 10 Mar 2014 16:48:47 -0400 Subject: [PATCH 10/70] Add ruby-info to smiley theme --- modules/prompt/functions/prompt_smiley_setup | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/modules/prompt/functions/prompt_smiley_setup b/modules/prompt/functions/prompt_smiley_setup index 4aeaa8b4..7679abe1 100644 --- a/modules/prompt/functions/prompt_smiley_setup +++ b/modules/prompt/functions/prompt_smiley_setup @@ -27,6 +27,11 @@ function prompt_smiley_precmd { if (( $+functions[python-info] )); then python-info fi + + # Get Ruby version information. + if (( $+functions[ruby-info] )); then + ruby-info + fi } function prompt_smiley_setup { @@ -42,6 +47,9 @@ function prompt_smiley_setup { # Set python-info parameters. zstyle ':prezto:module:python:info:virtualenv' format '%F{yellow}[%v]%f ' + # Set ruby-info parameters. + zstyle ':prezto:module:ruby:info:version' format '%F{yellow}[%v]%f ' + # Set git-info parameters. zstyle ':prezto:module:git:info' verbose 'yes' zstyle ':prezto:module:git:info:branch' format '%F{blue}%b%f' @@ -49,7 +57,7 @@ function prompt_smiley_setup { zstyle ':prezto:module:git:info:keys' format 'prompt' '(%b%D)' # Define prompts. - PROMPT='$python_info[virtualenv]${git_info[prompt]} %B%c%b %(?:%F{green}ツ%f:%F{red}✖%f) ' + PROMPT='$python_info[virtualenv]$ruby_info[version]${git_info[prompt]} %B%c%b %(?:%F{green}ツ%f:%F{red}✖%f) ' RPROMPT='${editor_info[overwrite]}${VIM:+" %B%F{green}V%f%b"}' SPROMPT='zsh: correct %F{red}%R%f to %F{green}%r%f [nyae]? ' } From e76df6022d5ecb6b86d6a0dd2dadfb3d90542039 Mon Sep 17 00:00:00 2001 From: Kevin Laude Date: Tue, 26 Aug 2014 00:54:05 -0500 Subject: [PATCH 11/70] Add cloud theme Signed-off-by: Sorin Ionescu --- modules/prompt/functions/prompt_cloud_setup | 121 ++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 modules/prompt/functions/prompt_cloud_setup diff --git a/modules/prompt/functions/prompt_cloud_setup b/modules/prompt/functions/prompt_cloud_setup new file mode 100644 index 00000000..0267c1e5 --- /dev/null +++ b/modules/prompt/functions/prompt_cloud_setup @@ -0,0 +1,121 @@ +# +# A minimal two-color theme. +# +# Authors: +# Kevin Laude +# +# Features: +# - One line, left aligned. +# - 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). +# - Displays a character at the end of the prompt when in a git project with +# "dirty" files. +# +# Usage: +# This prompt's prefix symbol and colors are customizable: +# prompt cloud [] [] [] +# +# In ~/.zpreztorc: +# zstyle ':prezto:module:prompt' theme 'cloud' \ +# [''] \ +# [''] \ +# [''] +# +# If these options are not provided, the symbol defaults to "☁" with colors +# cyan and green. +# +# Screenshots: +# http://i.imgur.com/mJCZ8rE.png +# +# Note: +# This is a port of the oh-my-zsh cloud theme, originally written by Phillip +# Ridlen and Mark Drago +# + +# Load dependencies. +pmodload 'helper' + +function prompt_cloud_precmd { + setopt LOCAL_OPTIONS + unsetopt XTRACE KSH_ARRAYS + + # Get Git repository information. + if (( $+functions[git-info] )); then + git-info + fi +} + +function prompt_cloud_help { + cat <] [] [] + +In ~/.zpreztorc: + zstyle ':prezto:module:prompt' theme 'cloud' [''] [''] [''] + +If these options are not provided, the symbol defaults to ☁ with colors cyan +and green. +EOT +} + +function prompt_cloud_preview { + if (( $# > 0 )); then + prompt_preview_theme 'cloud' "$@" + else + prompt_preview_theme 'cloud' + print + prompt_preview_theme 'cloud' "✯" + print + prompt_preview_theme 'cloud' ">" "yellow" "red" + fi +} + +function prompt_cloud_setup { + setopt LOCAL_OPTIONS + unsetopt XTRACE KSH_ARRAYS + prompt_opts=(cr percent subst) + + # Set the theme prefix to a cloud or to the user's given characters. + if [[ -n "$1" ]]; then + prefix="$1" + else + prefix='☁' + fi + + # Assign colors. + if [[ -n "$2" ]]; then + primary_color="$2" + else + primary_color='cyan' + fi + + if [[ -n "$3" ]]; then + secondary_color="$3" + else + secondary_color='green' + fi + + # Load required functions. + autoload -Uz add-zsh-hook + + # Add hook for calling git-info before each command. + add-zsh-hook precmd prompt_cloud_precmd + + # 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" + zstyle ':prezto:module:git:info:clean' format "%B%F{$secondary_color}]%f%b" + zstyle ':prezto:module:git:info:branch' format "%%B%F{$secondary_color}[%f%%b%%B%F{$primary_color}%b%f%%b" + zstyle ':prezto:module:git:info:keys' format \ + 'prompt' '%b%C%D' \ + 'rprompt' '' + + # Define prompts. + PROMPT='%B%F{$primary_color}${prefix}%f%b %B%F{$secondary_color}%c%f%b $git_info[prompt] ' + RPROMPT='' +} + +prompt_cloud_setup "$@" From 19fc31c3425d89dc7977b4b241361d6b005bdd50 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Sun, 18 Aug 2013 22:36:02 -0400 Subject: [PATCH 12/70] Indicate SSH connections --- modules/prompt/functions/prompt_sorin_setup | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/prompt/functions/prompt_sorin_setup b/modules/prompt/functions/prompt_sorin_setup index c05fc420..30530edd 100644 --- a/modules/prompt/functions/prompt_sorin_setup +++ b/modules/prompt/functions/prompt_sorin_setup @@ -72,7 +72,7 @@ function prompt_sorin_setup { 'rprompt' '%A%B%S%a%d%m%r%U%u' # Define prompts. - PROMPT='%F{cyan}${_prompt_sorin_pwd}%f${git_info:+${(e)git_info[prompt]}}%(!. %B%F{red}#%f%b.)${editor_info[keymap]} ' + PROMPT='${SSH_TTY:+"%F{red}%n%f@%F{yellow}%m%f "}%F{cyan}${_prompt_sorin_pwd}%f${git_info:+${(e)git_info[prompt]}}%(!. %B%F{red}#%f%b.)${editor_info[keymap]} ' RPROMPT='${editor_info[overwrite]}%(?:: %F{red}⏎%f)${VIM:+" %B%F{green}V%f%b"}${git_info[rprompt]}' SPROMPT='zsh: correct %F{red}%R%f to %F{green}%r%f [nyae]? ' } From 2ae905a62577a09dec02ecc6fb76ac9b52cdfb73 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Mon, 13 Oct 2014 23:16:19 -0400 Subject: [PATCH 13/70] Indicate inside Emacs --- modules/prompt/functions/prompt_sorin_setup | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/prompt/functions/prompt_sorin_setup b/modules/prompt/functions/prompt_sorin_setup index 30530edd..bd1f57d8 100644 --- a/modules/prompt/functions/prompt_sorin_setup +++ b/modules/prompt/functions/prompt_sorin_setup @@ -73,7 +73,7 @@ function prompt_sorin_setup { # Define prompts. PROMPT='${SSH_TTY:+"%F{red}%n%f@%F{yellow}%m%f "}%F{cyan}${_prompt_sorin_pwd}%f${git_info:+${(e)git_info[prompt]}}%(!. %B%F{red}#%f%b.)${editor_info[keymap]} ' - RPROMPT='${editor_info[overwrite]}%(?:: %F{red}⏎%f)${VIM:+" %B%F{green}V%f%b"}${git_info[rprompt]}' + RPROMPT='${editor_info[overwrite]}%(?:: %F{red}⏎%f)${VIM:+" %B%F{green}V%f%b"}${INSIDE_EMACS:+" %B%F{green}E%f%b"}${git_info[rprompt]}' SPROMPT='zsh: correct %F{red}%R%f to %F{green}%r%f [nyae]? ' } From 087fce85486505443bfce24db5a9ab00ac27d52c Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Mon, 13 Oct 2014 23:16:57 -0400 Subject: [PATCH 14/70] Update sorin theme screenshot --- README.md | 2 +- modules/prompt/functions/prompt_sorin_setup | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c9d3fd41..42c68532 100644 --- a/README.md +++ b/README.md @@ -107,7 +107,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. [1]: http://www.zsh.org -[2]: http://i.imgur.com/nBEEZ.png "sorin theme" +[2]: http://i.imgur.com/AzjmpwM.png "sorin theme" [3]: http://git-scm.com [4]: https://github.com [5]: http://gitimmersion.com diff --git a/modules/prompt/functions/prompt_sorin_setup b/modules/prompt/functions/prompt_sorin_setup index bd1f57d8..508dc80d 100644 --- a/modules/prompt/functions/prompt_sorin_setup +++ b/modules/prompt/functions/prompt_sorin_setup @@ -5,7 +5,7 @@ # Sorin Ionescu # # Screenshots: -# http://i.imgur.com/nBEEZ.png +# http://i.imgur.com/AzjmpwM.png # # Load dependencies. From 967c91a3516343a061666322314063ff43b26640 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Wed, 8 Oct 2014 02:30:13 -0400 Subject: [PATCH 15/70] Add powerline theme --- .gitmodules | 3 +++ modules/prompt/external/powerline | 1 + modules/prompt/functions/prompt_powerline_setup | 1 + 3 files changed, 5 insertions(+) create mode 160000 modules/prompt/external/powerline create mode 120000 modules/prompt/functions/prompt_powerline_setup diff --git a/.gitmodules b/.gitmodules index 7a7a7b5e..6e92c7ab 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,3 +7,6 @@ [submodule "modules/completion/external"] path = modules/completion/external url = https://github.com/zsh-users/zsh-completions.git +[submodule "modules/prompt/external/powerline"] + path = modules/prompt/external/powerline + url = https://github.com/davidjrice/prezto_powerline.git diff --git a/modules/prompt/external/powerline b/modules/prompt/external/powerline new file mode 160000 index 00000000..8e811523 --- /dev/null +++ b/modules/prompt/external/powerline @@ -0,0 +1 @@ +Subproject commit 8e81152340c4beb2d941340d1feb2dc29bbcc309 diff --git a/modules/prompt/functions/prompt_powerline_setup b/modules/prompt/functions/prompt_powerline_setup new file mode 120000 index 00000000..3715d75b --- /dev/null +++ b/modules/prompt/functions/prompt_powerline_setup @@ -0,0 +1 @@ +../external/powerline/prompt_powerline_setup \ No newline at end of file From 61e91b8fb084de42b7720876f7ecd10c83b273d5 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Tue, 14 Oct 2014 14:07:06 -0400 Subject: [PATCH 16/70] Add agnoster theme --- .gitmodules | 3 +++ modules/prompt/external/agnoster | 1 + modules/prompt/functions/prompt_agnoster_setup | 1 + 3 files changed, 5 insertions(+) create mode 160000 modules/prompt/external/agnoster create mode 120000 modules/prompt/functions/prompt_agnoster_setup diff --git a/.gitmodules b/.gitmodules index 6e92c7ab..64017331 100644 --- a/.gitmodules +++ b/.gitmodules @@ -10,3 +10,6 @@ [submodule "modules/prompt/external/powerline"] path = modules/prompt/external/powerline url = https://github.com/davidjrice/prezto_powerline.git +[submodule "modules/prompt/external/agnoster"] + path = modules/prompt/external/agnoster + url = https://gist.github.com/3712874.git diff --git a/modules/prompt/external/agnoster b/modules/prompt/external/agnoster new file mode 160000 index 00000000..43cb371f --- /dev/null +++ b/modules/prompt/external/agnoster @@ -0,0 +1 @@ +Subproject commit 43cb371f361eecf62e9dac7afc73a1c16edf89c7 diff --git a/modules/prompt/functions/prompt_agnoster_setup b/modules/prompt/functions/prompt_agnoster_setup new file mode 120000 index 00000000..34d8bc6d --- /dev/null +++ b/modules/prompt/functions/prompt_agnoster_setup @@ -0,0 +1 @@ +../external/agnoster/agnoster.zsh-theme \ No newline at end of file From 9f82926f6ef12564fcb1b8e29e0f3e4988369ddd Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Tue, 14 Oct 2014 18:55:40 -0400 Subject: [PATCH 17/70] Add pure theme --- .gitmodules | 3 +++ modules/prompt/external/pure | 1 + modules/prompt/functions/prompt_pure_setup | 1 + 3 files changed, 5 insertions(+) create mode 160000 modules/prompt/external/pure create mode 120000 modules/prompt/functions/prompt_pure_setup diff --git a/.gitmodules b/.gitmodules index 64017331..cb8f419e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -13,3 +13,6 @@ [submodule "modules/prompt/external/agnoster"] path = modules/prompt/external/agnoster url = https://gist.github.com/3712874.git +[submodule "modules/prompt/functions/pure"] + path = modules/prompt/external/pure + url = https://github.com/sindresorhus/pure.git diff --git a/modules/prompt/external/pure b/modules/prompt/external/pure new file mode 160000 index 00000000..2577a4cc --- /dev/null +++ b/modules/prompt/external/pure @@ -0,0 +1 @@ +Subproject commit 2577a4cc078d05c51d9d8e4278b8d16ab348a1b9 diff --git a/modules/prompt/functions/prompt_pure_setup b/modules/prompt/functions/prompt_pure_setup new file mode 120000 index 00000000..1480fcfd --- /dev/null +++ b/modules/prompt/functions/prompt_pure_setup @@ -0,0 +1 @@ +../external/pure/pure.zsh \ No newline at end of file From 82710c29fc5bcc243f29d97d43bef600f51d2781 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Tue, 14 Oct 2014 19:32:48 -0400 Subject: [PATCH 18/70] Fix theme function declaration style --- modules/prompt/functions/prompt_minimal_setup | 4 ++-- modules/prompt/functions/prompt_peepcode_setup | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/prompt/functions/prompt_minimal_setup b/modules/prompt/functions/prompt_minimal_setup index 218efb2a..8c07e70e 100644 --- a/modules/prompt/functions/prompt_minimal_setup +++ b/modules/prompt/functions/prompt_minimal_setup @@ -9,7 +9,7 @@ # http://i.imgur.com/zLZNK.png # -function +vi-git-status() { +function +vi-git_status { # Check for untracked files or updated submodules since vcs_info does not. if [[ -n $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then hook_com[unstaged]='%F{red}●%f' @@ -40,7 +40,7 @@ function prompt_minimal_setup { zstyle ':vcs_info:*' formats ' - [%b%c%u]' zstyle ':vcs_info:*' actionformats " - [%b%c%u|%F{cyan}%a%f]" zstyle ':vcs_info:(sv[nk]|bzr):*' branchformat '%b|%F{cyan}%r%f' - zstyle ':vcs_info:git*+set-message:*' hooks git-status + zstyle ':vcs_info:git*+set-message:*' hooks git_status # Define prompts. PROMPT='%2~${vcs_info_msg_0_} » ' diff --git a/modules/prompt/functions/prompt_peepcode_setup b/modules/prompt/functions/prompt_peepcode_setup index a83710ef..d1d3ae56 100644 --- a/modules/prompt/functions/prompt_peepcode_setup +++ b/modules/prompt/functions/prompt_peepcode_setup @@ -10,7 +10,7 @@ # http://i.imgur.com/LhgmW.png # -function +vi-git-status() { +function +vi-git_status { # Check for untracked files or updated submodules since vcs_info does not. if [[ -n $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then hook_com[unstaged]=' %F{8}✗%f' @@ -45,7 +45,7 @@ function prompt_peepcode_setup { zstyle ':vcs_info:*' unstagedstr ' %F{8}✗%f' zstyle ':vcs_info:*' formats ' %F{8}%b%f %F{white}%.7i%f%u' zstyle ':vcs_info:*' actionformats ' %F{8}%b%f %F{white}%.7i%f +%a%u' - zstyle ':vcs_info:git*+set-message:*' hooks git-status + zstyle ':vcs_info:git*+set-message:*' hooks git_status # Set ruby-info parameters. zstyle ':prezto:module:ruby:info:version' format ' %F{white}%v%f' From a7a4912940db5b8da2160cb8719bda8d38a9549d Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Sat, 18 Oct 2014 11:30:07 -0400 Subject: [PATCH 19/70] Add paradox theme --- modules/prompt/functions/prompt_paradox_setup | 154 ++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 modules/prompt/functions/prompt_paradox_setup diff --git a/modules/prompt/functions/prompt_paradox_setup b/modules/prompt/functions/prompt_paradox_setup new file mode 100644 index 00000000..f98377de --- /dev/null +++ b/modules/prompt/functions/prompt_paradox_setup @@ -0,0 +1,154 @@ +# +# A two-line, Powerline-inspired theme that displays contextual information. +# +# This theme requires a patched Powerline font, get them from +# https://github.com/Lokaltog/powerline-fonts. +# +# Authors: +# Isaac Wolkerstorfer +# Jeff Sandberg +# Sorin Ionescu +# +# Screenshots: +# http://i.imgur.com/0XIWX.png +# + +# Load dependencies. +pmodload 'helper' + +# Define variables. +_prompt_paradox_current_bg='NONE' +_prompt_paradox_segment_separator='⮀' +_prompt_paradox_start_time=$SECONDS + +function prompt_paradox_start_segment { + local bg fg + [[ -n "$1" ]] && bg="%K{$1}" || bg="%k" + [[ -n "$2" ]] && fg="%F{$2}" || fg="%f" + if [[ "$_prompt_paradox_current_bg" != 'NONE' && "$1" != "$_prompt_paradox_current_bg" ]]; then + print -n " $bg%F{$_prompt_paradox_current_bg}$_prompt_paradox_segment_separator$fg " + else + print -n "$bg$fg " + fi + _prompt_paradox_current_bg="$1" + [[ -n "$3" ]] && print -n "$3" +} + +function prompt_paradox_end_segment { + if [[ -n "$_prompt_paradox_current_bg" ]]; then + print -n " %k%F{$_prompt_paradox_current_bg}$_prompt_paradox_segment_separator" + else + print -n "%k" + fi + print -n "%f" + _prompt_paradox_current_bg='' +} + +function prompt_paradox_build_prompt { + prompt_paradox_start_segment black default '%(?::%F{red}✘ )%(!:%F{yellow}⚡ :)%(1j:%F{cyan}⚙ :)%F{blue}%n%F{red}@%F{green}%m%f' + prompt_paradox_start_segment blue black '$_prompt_paradox_pwd' + + if [[ -n "$git_info" ]]; then + prompt_paradox_start_segment green black '${(e)git_info[ref]}${(e)git_info[status]}' + fi + + prompt_paradox_end_segment +} + +function prompt_paradox_pwd { + local pwd="${PWD/#$HOME/~}" + + if [[ "$pwd" == (#m)[/~] ]]; then + _prompt_paradox_pwd="$MATCH" + unset MATCH + else + _prompt_paradox_pwd="${${${${(@j:/:M)${(@s:/:)pwd}##.#?}:h}%/}//\%/%%}/${${pwd:t}//\%/%%}" + fi +} + +function prompt_paradox_print_elapsed_time { + local end_time=$(( SECONDS - _prompt_paradox_start_time )) + local hours minutes seconds remainder + + if (( end_time >= 3600 )); then + hours=$(( end_time / 3600 )) + remainder=$(( end_time % 3600 )) + minutes=$(( remainder / 60 )) + seconds=$(( remainder % 60 )) + print -P "%B%F{red}>>> elapsed time ${hours}h${minutes}m${seconds}s%b" + elif (( end_time >= 60 )); then + minutes=$(( end_time / 60 )) + seconds=$(( end_time % 60 )) + print -P "%B%F{yellow}>>> elapsed time ${minutes}m${seconds}s%b" + elif (( end_time > 10 )); then + print -P "%B%F{green}>>> elapsed time ${end_time}s%b" + fi +} + +function prompt_paradox_precmd { + setopt LOCAL_OPTIONS + unsetopt XTRACE KSH_ARRAYS + + # Format PWD. + prompt_paradox_pwd + + # Get Git repository information. + if (( $+functions[git-info] )); then + git-info + fi + + # Calculate and print the elapsed time. + prompt_paradox_print_elapsed_time +} + +function prompt_paradox_preexec { + _prompt_paradox_start_time="$SECONDS" +} + +function prompt_paradox_setup { + setopt LOCAL_OPTIONS + unsetopt XTRACE KSH_ARRAYS + prompt_opts=(cr percent subst) + + # Load required functions. + autoload -Uz add-zsh-hook + + # Add hook for calling git-info before each command. + add-zsh-hook preexec prompt_paradox_preexec + add-zsh-hook precmd prompt_paradox_precmd + + # 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' + zstyle ':prezto:module:editor:info:keymap:primary:overwrite' format '%F{red}♺%f' + zstyle ':prezto:module:editor:info:keymap:alternate' format '%B%F{red}❮%f%b' + + # Set git-info parameters. + zstyle ':prezto:module:git:info' verbose 'yes' + zstyle ':prezto:module:git:info:action' format ' ⁝ %s' + zstyle ':prezto:module:git:info:added' format ' ✚' + zstyle ':prezto:module:git:info:ahead' format ' ⬆' + zstyle ':prezto:module:git:info:behind' format ' ⬇' + zstyle ':prezto:module:git:info:branch' format '⭠ %b' + zstyle ':prezto:module:git:info:commit' format '➦ %.7c' + zstyle ':prezto:module:git:info:deleted' format ' ✖' + zstyle ':prezto:module:git:info:dirty' format ' ⁝' + zstyle ':prezto:module:git:info:modified' format ' ✱' + zstyle ':prezto:module:git:info:position' format '%p' + zstyle ':prezto:module:git:info:renamed' format ' ➙' + zstyle ':prezto:module:git:info:stashed' format ' S' + zstyle ':prezto:module:git:info:unmerged' format ' ═' + zstyle ':prezto:module:git:info:untracked' format ' ?' + zstyle ':prezto:module:git:info:keys' format \ + 'ref' '$(coalesce "%b" "%p" "%c")' \ + 'status' '%s%D%A%B%S%a%d%m%r%U%u' + + # Define prompts. + PROMPT=' +${(e)$(prompt_paradox_build_prompt)} + ${editor_info[keymap]} ' + RPROMPT='%F{blue}[%F{green}%D{%H:%M:%S}%F{blue}]%f' + SPROMPT='zsh: correct %F{red}%R%f to %F{green}%r%f [nyae]? ' +} + +prompt_paradox_setup "$@" From d349c1cec752e22e059241ca7d306a9112d81f9c Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Tue, 21 May 2013 20:51:19 -0400 Subject: [PATCH 20/70] Convert the PeepCode theme to git-info --- .../prompt/functions/prompt_peepcode_setup | 36 +++++++++---------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/modules/prompt/functions/prompt_peepcode_setup b/modules/prompt/functions/prompt_peepcode_setup index d1d3ae56..c70fb9a7 100644 --- a/modules/prompt/functions/prompt_peepcode_setup +++ b/modules/prompt/functions/prompt_peepcode_setup @@ -10,16 +10,13 @@ # http://i.imgur.com/LhgmW.png # -function +vi-git_status { - # Check for untracked files or updated submodules since vcs_info does not. - if [[ -n $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then - hook_com[unstaged]=' %F{8}✗%f' - fi -} - function prompt_peepcode_precmd { - vcs_info + # Get Git repository information. + if (( $+functions[git-info] )); then + git-info + fi + # Get Ruby information. if (( $+functions[ruby-info] )); then ruby-info fi @@ -34,18 +31,19 @@ function prompt_peepcode_setup { autoload -Uz add-zsh-hook autoload -Uz vcs_info - # Add hook for calling vcs_info before each command. + # Add a hook for calling info functions before each command. add-zsh-hook precmd prompt_peepcode_precmd - # Set vcs_info parameters. - zstyle ':vcs_info:*' enable git - zstyle ':vcs_info:*' check-for-changes true - zstyle ':vcs_info:*' get-revision true - zstyle ':vcs_info:*' use-simple true - zstyle ':vcs_info:*' unstagedstr ' %F{8}✗%f' - zstyle ':vcs_info:*' formats ' %F{8}%b%f %F{white}%.7i%f%u' - zstyle ':vcs_info:*' actionformats ' %F{8}%b%f %F{white}%.7i%f +%a%u' - zstyle ':vcs_info:git*+set-message:*' hooks git_status + # Set git-info parameters. + zstyle ':prezto:module:git:info' verbose 'no' + zstyle ':prezto:module:git:info:action' format ' +%s' + zstyle ':prezto:module:git:info:branch' format ' %F{8}%b%f' + zstyle ':prezto:module:git:info:commit' format ' %F{white}%.7c%f' + zstyle ':prezto:module:git:info:indexed' format ' ' + zstyle ':prezto:module:git:info:unindexed' format ' ' + zstyle ':prezto:module:git:info:untracked' format ' ' + zstyle ':prezto:module:git:info:dirty' format ' %F{8}✗%f' + zstyle ':prezto:module:git:info:keys' format 'rprompt' '%b%c%s%D' # Set ruby-info parameters. zstyle ':prezto:module:ruby:info:version' format ' %F{white}%v%f' @@ -54,7 +52,7 @@ function prompt_peepcode_setup { PROMPT=" %~ %(?.%F{green}${1:-☻ }%f.%F{red}${1:-☻ }%f) " -RPROMPT='${ruby_info[version]}${vcs_info_msg_0_}' +RPROMPT='${ruby_info[version]}${git_info[rprompt]}' } From 90eae2b491495d8dde9d4ec5a7125a897733781d Mon Sep 17 00:00:00 2001 From: Shane O'Grady Date: Wed, 4 Jun 2014 11:41:11 -0300 Subject: [PATCH 21/70] If a default Ruby is set, switch to it Set PATH variables to allow gems such as Bundler to be found and for the `ruby-info` function to properly work. A default Ruby must be set in ~/.ruby-version; for more information, see https://github.com/postmodern/chruby#default-ruby. Signed-off-by: Sorin Ionescu --- modules/ruby/init.zsh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/ruby/init.zsh b/modules/ruby/init.zsh index 174d1858..fd707d00 100644 --- a/modules/ruby/init.zsh +++ b/modules/ruby/init.zsh @@ -28,6 +28,9 @@ elif (( $+commands[chruby-exec] )); then source "${commands[chruby-exec]:h:h}/share/chruby/chruby.sh" if zstyle -t ':prezto:module:ruby:chruby' auto-switch; then source "${commands[chruby-exec]:h:h}/share/chruby/auto.sh" + + # If a default Ruby is set, switch to it. + chruby_auto fi # Prepend local gems bin directories to PATH. From 3cb1f7c4c927243cceea0e2e08d8d366c2ba7dcb Mon Sep 17 00:00:00 2001 From: Ralph von der Heyden Date: Fri, 7 Nov 2014 16:56:10 +0100 Subject: [PATCH 22/70] Inform how to add SSH identities to Keychain Signed-off-by: Sorin Ionescu --- modules/ssh/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/ssh/README.md b/modules/ssh/README.md index 45bd2bd2..7324ae9a 100644 --- a/modules/ssh/README.md +++ b/modules/ssh/README.md @@ -4,7 +4,8 @@ SSH Provides for an easier use of [SSH][1] by setting up [ssh-agent][2]. This module is disabled on Mac OS X due to custom Apple SSH support rendering it -unnecessary. +unnecessary. Use `ssh-add -K` to store identities in Keychain; they will be +added to `ssh-agent` automatically and persist between reboots. Settings -------- From 00a5639e65e19b683b60174b321f10bb68c1632a Mon Sep 17 00:00:00 2001 From: Daniel Kolakowski Date: Fri, 7 Nov 2014 00:15:23 +0100 Subject: [PATCH 23/70] Enable iTerm2 tmux integration Signed-off-by: Sorin Ionescu --- modules/tmux/README.md | 11 +++++++++++ modules/tmux/init.zsh | 10 ++++++++-- runcoms/zpreztorc | 3 +++ 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/modules/tmux/README.md b/modules/tmux/README.md index 9a15be09..b2f6bc8d 100644 --- a/modules/tmux/README.md +++ b/modules/tmux/README.md @@ -30,6 +30,15 @@ in *tmux.conf*: 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*: + + zstyle ':prezto:module:tmux:iterm' integrate 'yes' + +Read [iTerm2 and tmux Integration][7] for more information. + Aliases ------- @@ -64,3 +73,5 @@ Authors [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 +[7]: https://code.google.com/p/iterm2/wiki/TmuxIntegration diff --git a/modules/tmux/init.zsh b/modules/tmux/init.zsh index 29b547f3..ac944f60 100644 --- a/modules/tmux/init.zsh +++ b/modules/tmux/init.zsh @@ -17,6 +17,12 @@ fi # Auto Start # +if ([[ "$TERM_PROGRAM" = 'iTerm.app' ]] && \ + zstyle -t ':prezto:module:tmux:iterm' integrate \ +); then + _tmux_iterm_integration='-CC' +fi + if [[ -z "$TMUX" && -z "$EMACS" && -z "$VIM" ]] && ( \ ( [[ -n "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' remote ) || ( [[ -z "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' local ) \ @@ -32,12 +38,12 @@ if [[ -z "$TMUX" && -z "$EMACS" && -z "$VIM" ]] && ( \ fi # Attach to the 'prezto' session or to the last session used. - exec tmux attach-session + exec tmux "$_tmux_iterm_integration" attach-session fi # # Aliases # -alias tmuxa='tmux attach-session' +alias tmuxa="tmux $_tmux_iterm_integration attach-session" alias tmuxl='tmux list-sessions' diff --git a/runcoms/zpreztorc b/runcoms/zpreztorc index a54fdb02..4778944c 100644 --- a/runcoms/zpreztorc +++ b/runcoms/zpreztorc @@ -152,3 +152,6 @@ zstyle ':prezto:module:prompt' theme 'sorin' # Auto start a session when Zsh is launched in a SSH connection. # zstyle ':prezto:module:tmux:auto-start' remote 'yes' + +# Integrate with iTerm2. +# zstyle ':prezto:module:tmux:iterm' integrate 'yes' From 3012c0984b2b3fd97a58ac9dad1ae54efc546e49 Mon Sep 17 00:00:00 2001 From: Yegor Pomortsev Date: Wed, 12 Nov 2014 15:48:02 -0800 Subject: [PATCH 24/70] Remove extra git-dir call in git-info and use git_dir variable instead --- modules/git/functions/git-info | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/git/functions/git-info b/modules/git/functions/git-info index 8aaa4c32..200b2d25 100644 --- a/modules/git/functions/git-info +++ b/modules/git/functions/git-info @@ -198,7 +198,7 @@ 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 + if [[ -n "$stashed_format" && -f "${git_dir}/refs/stash" ]]; then stashed="$(git stash list 2> /dev/null | wc -l | awk '{print $1}')" if [[ -n "$stashed" ]]; then zformat -f stashed_formatted "$stashed_format" "S:$stashed" From 7a92046c863c0b97cb06d843640b9015818f57e9 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Thu, 13 Nov 2014 19:40:37 -0500 Subject: [PATCH 25/70] Create a new tmux session if none exists --- 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 ac944f60..778da81b 100644 --- a/modules/tmux/init.zsh +++ b/modules/tmux/init.zsh @@ -45,5 +45,5 @@ fi # Aliases # -alias tmuxa="tmux $_tmux_iterm_integration attach-session" +alias tmuxa="tmux $_tmux_iterm_integration new-session -A" alias tmuxl='tmux list-sessions' From 3dd4cbc3c089c5e8cd7c09022ff94790e8da2fc0 Mon Sep 17 00:00:00 2001 From: Rys Sommefeldt Date: Fri, 14 Nov 2014 20:12:21 +0000 Subject: [PATCH 26/70] Fix typo Signed-off-by: Sorin Ionescu --- modules/prompt/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/prompt/README.md b/modules/prompt/README.md index d72c6cf6..dc024977 100644 --- a/modules/prompt/README.md +++ b/modules/prompt/README.md @@ -46,7 +46,7 @@ The most basic example of this function can be seen below. If the `prompt_name_setup` function is customizable via parameters, a help function **should** be defined. The user will access it via `prompt -h name`. -The most basic example of this function can be seen bellow. +The most basic example of this function can be seen below. function prompt_name_help { cat < 0 )); then @@ -91,7 +91,7 @@ a function before you calling it. **Do not register hook functions. They will be registered by the `prompt` function.** -The most basic example of this function can be seen bellow. +The most basic example of this function can be seen below. function prompt_name_precmd { if (( $+functions[git-info] )); then From 2a33581e80246aa584de0d1dfd0fc14ce6906007 Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Fri, 14 Nov 2014 23:50:03 -0800 Subject: [PATCH 27/70] [Fix #724] Unquote variable Signed-off-by: Sorin Ionescu --- 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 778da81b..070abcaf 100644 --- a/modules/tmux/init.zsh +++ b/modules/tmux/init.zsh @@ -38,7 +38,7 @@ if [[ -z "$TMUX" && -z "$EMACS" && -z "$VIM" ]] && ( \ fi # Attach to the 'prezto' session or to the last session used. - exec tmux "$_tmux_iterm_integration" attach-session + exec tmux $_tmux_iterm_integration attach-session fi # From 13d1ed160e8bbec02fea1cb5d73c7961db37c275 Mon Sep 17 00:00:00 2001 From: nfnty Date: Sat, 22 Nov 2014 04:37:11 +0100 Subject: [PATCH 28/70] Use $GNUPGHOME if it exists --- 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 0bb7476c..e644b3a2 100644 --- a/modules/gpg/init.zsh +++ b/modules/gpg/init.zsh @@ -11,7 +11,7 @@ if (( ! $+commands[gpg-agent] )); then fi # Set the default paths to gpg-agent files. -_gpg_agent_conf="$HOME/.gnupg/gpg-agent.conf" +_gpg_agent_conf="${GNUPGHOME:-$HOME/.gnupg}/gpg-agent.conf" _gpg_agent_env="${TMPDIR:-/tmp}/gpg-agent.env" # Start gpg-agent if not started. From 9539341e1eddcdd08055e2c4993ba0f624fc8ea2 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Mon, 24 Nov 2014 13:05:34 -0500 Subject: [PATCH 29/70] [Fix #732] Replace $GREP_OPTIONS with an alias --- modules/environment/init.zsh | 9 --------- modules/utility/init.zsh | 6 ++++++ 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/modules/environment/init.zsh b/modules/environment/init.zsh index 51d26162..76655a6c 100644 --- a/modules/environment/init.zsh +++ b/modules/environment/init.zsh @@ -33,15 +33,6 @@ unsetopt BG_NICE # Don't run all background jobs at a lower priority. unsetopt HUP # Don't kill jobs on shell exit. unsetopt CHECK_JOBS # Don't report on jobs when shell exit. -# -# Grep -# - -if zstyle -t ':prezto:environment:grep' color; then - export GREP_COLOR='37;45' - export GREP_OPTIONS='--color=auto' -fi - # # Termcap # diff --git a/modules/utility/init.zsh b/modules/utility/init.zsh index 102ae5a1..c9ef94d1 100644 --- a/modules/utility/init.zsh +++ b/modules/utility/init.zsh @@ -102,6 +102,12 @@ alias lc='lt -c' # Lists sorted by date, most recent last, shows change alias lu='lt -u' # Lists sorted by date, most recent last, shows access time. alias sl='ls' # I often screw this up. +# Grep +if zstyle -t ':prezto:module:utility:grep' color; then + export GREP_COLOR='37;45' + alias grep="$aliases[grep] --color=auto" +fi + # Mac OS X Everywhere if [[ "$OSTYPE" == darwin* ]]; then alias o='open' From fc3f8025ea806a20aa0f7a2af9ef6f2be8b3b1a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20D=C3=A9trez?= Date: Thu, 27 Nov 2014 04:19:26 +0100 Subject: [PATCH 30/70] Add a preexec hook to set the GPG-Agent TTY Signed-off-by: Sorin Ionescu --- modules/gpg/init.zsh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/gpg/init.zsh b/modules/gpg/init.zsh index e644b3a2..0ff42d19 100644 --- a/modules/gpg/init.zsh +++ b/modules/gpg/init.zsh @@ -35,6 +35,12 @@ if grep 'enable-ssh-support' "$_gpg_agent_conf" &> /dev/null; then # Load the SSH module for additional processing. pmodload 'ssh' + + # Updates the GPG-Agent TTY before every command since SSH does not set it. + function _gpg-agent-update-tty { + gpg-connect-agent UPDATESTARTUPTTY /bye >/dev/null + } + add-zsh-hook preexec _gpg-agent-update-tty fi # Clean up. From 0148ee6a4db42102b2fac871f9ee8b816866b695 Mon Sep 17 00:00:00 2001 From: Mathias Fussenegger Date: Thu, 27 Nov 2014 22:19:13 +0100 Subject: [PATCH 31/70] Check for S.gpg-agent to see if gpg-agent is running From GnuPG changelog: > Removed the GPG_AGENT_INFO related code. GnuPG does now > always use a fixed socket name in its home directory. Signed-off-by: Sorin Ionescu --- 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 0ff42d19..1c3837d7 100644 --- a/modules/gpg/init.zsh +++ b/modules/gpg/init.zsh @@ -15,7 +15,7 @@ _gpg_agent_conf="${GNUPGHOME:-$HOME/.gnupg}/gpg-agent.conf" _gpg_agent_env="${TMPDIR:-/tmp}/gpg-agent.env" # Start gpg-agent if not started. -if [[ -z "$GPG_AGENT_INFO" ]]; then +if [[ -z "$GPG_AGENT_INFO" && ! -S "${GNUPGHOME:-$HOME/.gnupg}/S.gpg-agent" ]]; then # Export environment variables. source "$_gpg_agent_env" 2> /dev/null From c171621747d12ac9a1660fb21e567a4c47ac2775 Mon Sep 17 00:00:00 2001 From: Ranek Kiil Date: Mon, 1 Dec 2014 23:28:02 -0700 Subject: [PATCH 32/70] Fix issue with several themes where errors occur if the git module is not loaded. --- modules/prompt/functions/prompt_cloud_setup | 2 +- modules/prompt/functions/prompt_kylewest_setup | 2 +- modules/prompt/functions/prompt_skwp_setup | 2 +- modules/prompt/functions/prompt_smiley_setup | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/prompt/functions/prompt_cloud_setup b/modules/prompt/functions/prompt_cloud_setup index 0267c1e5..3b048df1 100644 --- a/modules/prompt/functions/prompt_cloud_setup +++ b/modules/prompt/functions/prompt_cloud_setup @@ -114,7 +114,7 @@ function prompt_cloud_setup { 'rprompt' '' # Define prompts. - PROMPT='%B%F{$primary_color}${prefix}%f%b %B%F{$secondary_color}%c%f%b $git_info[prompt] ' + PROMPT='%B%F{$primary_color}${prefix}%f%b %B%F{$secondary_color}%c%f%b ${git_info:+${(e)git_info[prompt]}} ' RPROMPT='' } diff --git a/modules/prompt/functions/prompt_kylewest_setup b/modules/prompt/functions/prompt_kylewest_setup index 0c229a57..e4ee0c0e 100644 --- a/modules/prompt/functions/prompt_kylewest_setup +++ b/modules/prompt/functions/prompt_kylewest_setup @@ -58,7 +58,7 @@ function prompt_kylewest_setup { zstyle ':prezto:module:ruby:info:version' format '%F{blue}[%v]%f' # Define prompts. - PROMPT='%F{cyan}%c%f ${git_info[prompt]}${editor_info[keymap]} ' + PROMPT='%F{cyan}%c%f ${git_info:+${(e)git_info[prompt]}}${editor_info[keymap]} ' RPROMPT='${ruby_info[version]}' } diff --git a/modules/prompt/functions/prompt_skwp_setup b/modules/prompt/functions/prompt_skwp_setup index abe9e265..1c8f0a90 100644 --- a/modules/prompt/functions/prompt_skwp_setup +++ b/modules/prompt/functions/prompt_skwp_setup @@ -68,7 +68,7 @@ function prompt_skwp_setup { zstyle ':prezto:module:ruby:info:version' format '[%v]' # Define prompts. - PROMPT="${_prompt_skwp_colors[3]}%n%f@${_prompt_skwp_colors[2]}%m%f ${_prompt_skwp_colors[5]}%~%f "'$git_info[prompt]'"$ " + PROMPT="${_prompt_skwp_colors[3]}%n%f@${_prompt_skwp_colors[2]}%m%f ${_prompt_skwp_colors[5]}%~%f "'${git_info:+${(e)git_info[prompt]}}'"$ " RPROMPT='%F{blue}${ruby_info[version]}' } diff --git a/modules/prompt/functions/prompt_smiley_setup b/modules/prompt/functions/prompt_smiley_setup index 7679abe1..3066a2dc 100644 --- a/modules/prompt/functions/prompt_smiley_setup +++ b/modules/prompt/functions/prompt_smiley_setup @@ -57,7 +57,7 @@ function prompt_smiley_setup { zstyle ':prezto:module:git:info:keys' format 'prompt' '(%b%D)' # Define prompts. - PROMPT='$python_info[virtualenv]$ruby_info[version]${git_info[prompt]} %B%c%b %(?:%F{green}ツ%f:%F{red}✖%f) ' + PROMPT='$python_info[virtualenv]$ruby_info[version]${git_info:+${(e)git_info[prompt]}} %B%c%b %(?:%F{green}ツ%f:%F{red}✖%f) ' RPROMPT='${editor_info[overwrite]}${VIM:+" %B%F{green}V%f%b"}' SPROMPT='zsh: correct %F{red}%R%f to %F{green}%r%f [nyae]? ' } From 925b94b6e2565b3ad75d13acd9b345280120cf5f Mon Sep 17 00:00:00 2001 From: Jacob Swartwood Date: Wed, 3 Dec 2014 17:30:52 -0500 Subject: [PATCH 33/70] Fix Powerline unicode characters Branch & separator characters are updated to display properly. --- modules/prompt/functions/prompt_paradox_setup | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/prompt/functions/prompt_paradox_setup b/modules/prompt/functions/prompt_paradox_setup index f98377de..36ae40ec 100644 --- a/modules/prompt/functions/prompt_paradox_setup +++ b/modules/prompt/functions/prompt_paradox_setup @@ -18,7 +18,7 @@ pmodload 'helper' # Define variables. _prompt_paradox_current_bg='NONE' -_prompt_paradox_segment_separator='⮀' +_prompt_paradox_segment_separator='' _prompt_paradox_start_time=$SECONDS function prompt_paradox_start_segment { @@ -129,7 +129,7 @@ function prompt_paradox_setup { zstyle ':prezto:module:git:info:added' format ' ✚' zstyle ':prezto:module:git:info:ahead' format ' ⬆' zstyle ':prezto:module:git:info:behind' format ' ⬇' - zstyle ':prezto:module:git:info:branch' format '⭠ %b' + zstyle ':prezto:module:git:info:branch' format ' %b' zstyle ':prezto:module:git:info:commit' format '➦ %.7c' zstyle ':prezto:module:git:info:deleted' format ' ✖' zstyle ':prezto:module:git:info:dirty' format ' ⁝' From ba351df9fb03a7c9e73ff7922d7a5cd7c843804a Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Mon, 8 Dec 2014 18:13:25 -0500 Subject: [PATCH 34/70] [Fix #748] Set grep color for BSD and GNU --- modules/utility/init.zsh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/utility/init.zsh b/modules/utility/init.zsh index c9ef94d1..a32e5f39 100644 --- a/modules/utility/init.zsh +++ b/modules/utility/init.zsh @@ -104,7 +104,9 @@ alias sl='ls' # I often screw this up. # Grep if zstyle -t ':prezto:module:utility:grep' color; then - export GREP_COLOR='37;45' + export GREP_COLOR='37;45' # BSD. + export GREP_COLORS="mt=$GREP_COLOR" # GNU. + alias grep="$aliases[grep] --color=auto" fi From d43bcb972091878efa3692100e8479fb887332f5 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Mon, 8 Dec 2014 18:21:00 -0500 Subject: [PATCH 35/70] Revert "Remove extra git-dir call in git-info and use git_dir variable instead" This reverts commit 3012c0984b2b3fd97a58ac9dad1ae54efc546e49. --- modules/git/functions/git-info | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/git/functions/git-info b/modules/git/functions/git-info index 200b2d25..8aaa4c32 100644 --- a/modules/git/functions/git-info +++ b/modules/git/functions/git-info @@ -198,7 +198,7 @@ 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 + if [[ -n "$stashed_format" && -f "$(git-dir)/refs/stash" ]]; then stashed="$(git stash list 2> /dev/null | wc -l | awk '{print $1}')" if [[ -n "$stashed" ]]; then zformat -f stashed_formatted "$stashed_format" "S:$stashed" From 62d87cae327ea2c4aa72fe2b3b56f5538d9b8cd5 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Thu, 12 Feb 2015 19:15:47 -0500 Subject: [PATCH 36/70] Update external completions --- modules/completion/external | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/completion/external b/modules/completion/external index 08afea0e..ed964013 160000 --- a/modules/completion/external +++ b/modules/completion/external @@ -1 +1 @@ -Subproject commit 08afea0e230b5a321d584119f55b675990327ef9 +Subproject commit ed964013e290677c866a055e1c1ece6f33f64151 From 4411c95a836e354dc333910182b015c08dc54d8b Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Thu, 12 Feb 2015 19:17:38 -0500 Subject: [PATCH 37/70] Update pure theme --- 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 2577a4cc..e5a55c54 160000 --- a/modules/prompt/external/pure +++ b/modules/prompt/external/pure @@ -1 +1 @@ -Subproject commit 2577a4cc078d05c51d9d8e4278b8d16ab348a1b9 +Subproject commit e5a55c5469b82da5bd9a9e42b144cef7cec8915b From 88aee30ae8bc969e73c9c59b29e7866b2f7b1b5e Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Fri, 13 Feb 2015 00:00:27 -0500 Subject: [PATCH 38/70] [Fix #762] Use $LOGNAME instead of $USER $USER is deprecated. --- modules/completion/init.zsh | 2 +- modules/gpg/init.zsh | 2 +- modules/ssh/init.zsh | 2 +- modules/utility/init.zsh | 2 +- runcoms/zprofile | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/completion/init.zsh b/modules/completion/init.zsh index 28c20905..9b5132c7 100644 --- a/modules/completion/init.zsh +++ b/modules/completion/init.zsh @@ -116,7 +116,7 @@ zstyle ':completion:*:(rm|kill|diff):*' ignore-line other zstyle ':completion:*:rm:*' file-patterns '*:all-files' # Kill -zstyle ':completion:*:*:*:*:processes' command 'ps -u $USER -o pid,user,command -w' +zstyle ':completion:*:*:*:*:processes' command 'ps -u $LOGNAME -o pid,user,command -w' zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;36=0=01' zstyle ':completion:*:*:kill:*' menu yes select zstyle ':completion:*:*:kill:*' force-list always diff --git a/modules/gpg/init.zsh b/modules/gpg/init.zsh index 1c3837d7..a7c6cf76 100644 --- a/modules/gpg/init.zsh +++ b/modules/gpg/init.zsh @@ -20,7 +20,7 @@ if [[ -z "$GPG_AGENT_INFO" && ! -S "${GNUPGHOME:-$HOME/.gnupg}/S.gpg-agent" ]]; source "$_gpg_agent_env" 2> /dev/null # Start gpg-agent if not started. - if ! ps -U "$USER" -o pid,ucomm | grep -q -- "${${${(s.:.)GPG_AGENT_INFO}[2]}:--1} gpg-agent"; then + if ! ps -U "$LOGNAME" -o pid,ucomm | grep -q -- "${${${(s.:.)GPG_AGENT_INFO}[2]}:--1} gpg-agent"; then eval "$(gpg-agent --daemon | tee "$_gpg_agent_env")" fi fi diff --git a/modules/ssh/init.zsh b/modules/ssh/init.zsh index d8b59377..f632328d 100644 --- a/modules/ssh/init.zsh +++ b/modules/ssh/init.zsh @@ -25,7 +25,7 @@ if [[ ! -S "$SSH_AUTH_SOCK" ]]; then source "$_ssh_agent_env" 2> /dev/null # Start ssh-agent if not started. - if ! ps -U "$USER" -o pid,ucomm | grep -q -- "${SSH_AGENT_PID:--1} ssh-agent"; then + if ! ps -U "$LOGNAME" -o pid,ucomm | grep -q -- "${SSH_AGENT_PID:--1} ssh-agent"; then eval "$(ssh-agent | sed '/^echo /d' | tee "$_ssh_agent_env")" fi fi diff --git a/modules/utility/init.zsh b/modules/utility/init.zsh index a32e5f39..491af6ad 100644 --- a/modules/utility/init.zsh +++ b/modules/utility/init.zsh @@ -191,5 +191,5 @@ function find-exec { # Displays user owned processes status. function psu { - ps -U "${1:-$USER}" -o 'pid,%cpu,%mem,command' "${(@)argv[2,-1]}" + ps -U "${1:-$LOGNAME}" -o 'pid,%cpu,%mem,command' "${(@)argv[2,-1]}" } diff --git a/runcoms/zprofile b/runcoms/zprofile index 08d39be1..4daeb13e 100644 --- a/runcoms/zprofile +++ b/runcoms/zprofile @@ -67,7 +67,7 @@ fi # if [[ ! -d "$TMPDIR" ]]; then - export TMPDIR="/tmp/$USER" + export TMPDIR="/tmp/$LOGNAME" mkdir -p -m 700 "$TMPDIR" fi From 933c61b8f1af64e745260f3c92d32fa08399688d Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Sun, 22 Feb 2015 21:42:11 -0500 Subject: [PATCH 39/70] [Fix #776] Support GNU top --- modules/utility/init.zsh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/utility/init.zsh b/modules/utility/init.zsh index 491af6ad..8d3b3b46 100644 --- a/modules/utility/init.zsh +++ b/modules/utility/init.zsh @@ -146,8 +146,13 @@ alias du='du -kh' if (( $+commands[htop] )); then alias top=htop else - alias topc='top -o cpu' - alias topm='top -o vsize' + if [[ "$OSTYPE" == darwin*|*bsd* ]]; then + alias topc='top -o cpu' + alias topm='top -o vsize' + else + alias topc='top -o %CPU' + alias topm='top -o %MEM' + fi fi # Miscellaneous From 1292587f95eab49f0cc5b3e78b922f37fd87cc0b Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Sun, 22 Feb 2015 21:53:40 -0500 Subject: [PATCH 40/70] [Fix #777] Check for nvm or node --- modules/node/init.zsh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/node/init.zsh b/modules/node/init.zsh index 6fedb3c8..0ad5d19e 100644 --- a/modules/node/init.zsh +++ b/modules/node/init.zsh @@ -6,6 +6,11 @@ # Zeh Rizzatti # +# Return if requirements are not found. +if (( ! $+commands[nvm] || ! $+commands[node] )); then + return 1 +fi + # Load manually installed NVM into the shell session. if [[ -s "$HOME/.nvm/nvm.sh" ]]; then source "$HOME/.nvm/nvm.sh" From ab45ade380c3b56f003355286dd4f542578439c1 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Sun, 22 Feb 2015 21:56:12 -0500 Subject: [PATCH 41/70] [Fix #801] Make $TMPPREFIX a file path --- runcoms/zprofile | 3 --- 1 file changed, 3 deletions(-) diff --git a/runcoms/zprofile b/runcoms/zprofile index 4daeb13e..d87cb3b0 100644 --- a/runcoms/zprofile +++ b/runcoms/zprofile @@ -72,6 +72,3 @@ if [[ ! -d "$TMPDIR" ]]; then fi TMPPREFIX="${TMPDIR%/}/zsh" -if [[ ! -d "$TMPPREFIX" ]]; then - mkdir -p "$TMPPREFIX" -fi From b41f4855286cd9ec2b00f7c8d91a6e2778009d51 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Sun, 22 Feb 2015 23:52:41 -0500 Subject: [PATCH 42/70] Add missing parenthesis The bug was introduced in 933c61b. --- 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 8d3b3b46..30fee32a 100644 --- a/modules/utility/init.zsh +++ b/modules/utility/init.zsh @@ -146,7 +146,7 @@ alias du='du -kh' if (( $+commands[htop] )); then alias top=htop else - if [[ "$OSTYPE" == darwin*|*bsd* ]]; then + if [[ "$OSTYPE" == (darwin*|*bsd*) ]]; then alias topc='top -o cpu' alias topm='top -o vsize' else From e144abb285af842ae99d7418298ac6070a63d223 Mon Sep 17 00:00:00 2001 From: Tobias Witt Date: Mon, 23 Feb 2015 17:23:28 +0100 Subject: [PATCH 43/70] Fix node-module The change recently introduced for #777 was actually breaking the module completely, as it was only loaded if neither `node` nor `nvm` were available. --- 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 0ad5d19e..01fa0c87 100644 --- a/modules/node/init.zsh +++ b/modules/node/init.zsh @@ -7,7 +7,7 @@ # # Return if requirements are not found. -if (( ! $+commands[nvm] || ! $+commands[node] )); then +if (( ! $+commands[nvm] && ! $+commands[node] )); then return 1 fi From ee0b02464ca29b551169d0a33a43aeef979d78ea Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Tue, 24 Feb 2015 15:29:25 -0500 Subject: [PATCH 44/70] [Fix #819] Check for node as a last resort --- modules/node/init.zsh | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/modules/node/init.zsh b/modules/node/init.zsh index 01fa0c87..6d600789 100644 --- a/modules/node/init.zsh +++ b/modules/node/init.zsh @@ -6,11 +6,6 @@ # Zeh Rizzatti # -# Return if requirements are not found. -if (( ! $+commands[nvm] && ! $+commands[node] )); then - return 1 -fi - # Load manually installed NVM into the shell session. if [[ -s "$HOME/.nvm/nvm.sh" ]]; then source "$HOME/.nvm/nvm.sh" @@ -18,10 +13,9 @@ if [[ -s "$HOME/.nvm/nvm.sh" ]]; then # Load package manager installed NVM into the shell session. elif (( $+commands[brew] )) && [[ -d "$(brew --prefix nvm 2>/dev/null)" ]]; then source $(brew --prefix nvm)/nvm.sh -fi # Return if requirements are not found. -if (( ! $+commands[node] )); then +elif (( ! $+commands[node] )); then return 1 fi From c34098af20cafdf016f68f3e7f612ed60ca93aa1 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Sun, 8 Mar 2015 23:38:06 -0400 Subject: [PATCH 45/70] Update copyright --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 42c68532..e54a6319 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,8 @@ License (The MIT License) Copyright (c) 2009-2011 Robby Russell and contributors. -Copyright (c) 2011-2014 Sorin Ionescu and contributors. + +Copyright (c) 2011-2015 Sorin Ionescu and contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in From 4016f0c7c1a339cefbec016f968938a086a97ec4 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Wed, 1 Apr 2015 16:19:52 -0400 Subject: [PATCH 46/70] Update external completions --- modules/completion/external | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/completion/external b/modules/completion/external index ed964013..68c94947 160000 --- a/modules/completion/external +++ b/modules/completion/external @@ -1 +1 @@ -Subproject commit ed964013e290677c866a055e1c1ece6f33f64151 +Subproject commit 68c949470eaa87c5d67080d32fb2b69c8b837eb4 From ccca57f2ac65b4c20f6812af9a290d2e5b7f395b Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Wed, 1 Apr 2015 16:20:17 -0400 Subject: [PATCH 47/70] Update external 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 9f9fc7d5..d0381d85 160000 --- a/modules/history-substring-search/external +++ b/modules/history-substring-search/external @@ -1 +1 @@ -Subproject commit 9f9fc7d550cc547737f4c686591cbbf07e7470b0 +Subproject commit d0381d859c0eb8d52a6211281e622e89153ef812 From ac8bc74ef0e5524308f0b3af1bc42784bddd4a06 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Wed, 1 Apr 2015 16:21:07 -0400 Subject: [PATCH 48/70] Update pure theme --- 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 e5a55c54..ef132990 160000 --- a/modules/prompt/external/pure +++ b/modules/prompt/external/pure @@ -1 +1 @@ -Subproject commit e5a55c5469b82da5bd9a9e42b144cef7cec8915b +Subproject commit ef1329909a3c72bb76765ccc519214ce60cedddb From c98da90662a11e7ac1e046ccd6a99edd21e68312 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Tue, 7 Apr 2015 19:24:44 -0400 Subject: [PATCH 49/70] Update external 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 d0381d85..6d7bc718 160000 --- a/modules/history-substring-search/external +++ b/modules/history-substring-search/external @@ -1 +1 @@ -Subproject commit d0381d859c0eb8d52a6211281e622e89153ef812 +Subproject commit 6d7bc718aee81b9afa9e146b5567be014b3ff8f0 From e9f86bf4db23598fc0f9e5980e226a89c5f4ca6f Mon Sep 17 00:00:00 2001 From: Alex Wolkov Date: Fri, 1 May 2015 16:35:59 +0300 Subject: [PATCH 50/70] Update the link to iTerm2 and tmux integration Signed-off-by: Sorin Ionescu --- modules/tmux/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/tmux/README.md b/modules/tmux/README.md index b2f6bc8d..11c8a08a 100644 --- a/modules/tmux/README.md +++ b/modules/tmux/README.md @@ -74,4 +74,4 @@ Authors [4]: https://github.com/mxcl/homebrew [5]: https://github.com/sorin-ionescu/prezto/issues [6]: http://iterm2.com -[7]: https://code.google.com/p/iterm2/wiki/TmuxIntegration +[7]: https://gitlab.com/gnachman/iterm2/wikis/TmuxIntegration From 20766138cbdff96adfada53ae468bba5eeff70d0 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Sun, 3 May 2015 13:39:09 -0400 Subject: [PATCH 51/70] Update external 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 6d7bc718..c4a83561 160000 --- a/modules/history-substring-search/external +++ b/modules/history-substring-search/external @@ -1 +1 @@ -Subproject commit 6d7bc718aee81b9afa9e146b5567be014b3ff8f0 +Subproject commit c4a83561a12b898ff7145856d0e6ae50757e28ba From 08676a273eba1781ddcb63c4f89cfff9bd62eac4 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Sun, 3 May 2015 13:39:33 -0400 Subject: [PATCH 52/70] Update pure theme --- 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 ef132990..5ade8aeb 160000 --- a/modules/prompt/external/pure +++ b/modules/prompt/external/pure @@ -1 +1 @@ -Subproject commit ef1329909a3c72bb76765ccc519214ce60cedddb +Subproject commit 5ade8aeb8a7d45a59841278a9a86090dd880be63 From ca03fd670aaba43f92854500a1a89079eca68f36 Mon Sep 17 00:00:00 2001 From: James Conroy-Finn Date: Sun, 1 Mar 2015 14:02:05 +0000 Subject: [PATCH 53/70] Skip setting terminal title inside Emacs --- modules/terminal/init.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/terminal/init.zsh b/modules/terminal/init.zsh index 01140d8c..b0be5023 100644 --- a/modules/terminal/init.zsh +++ b/modules/terminal/init.zsh @@ -6,7 +6,7 @@ # # Return if requirements are not found. -if [[ "$TERM" == (dumb|linux|*bsd*) ]]; then +if [[ "$TERM" == (dumb|linux|*bsd*|eterm*) ]]; then return 1 fi From 6a812ed36bad9032df3645277793f5827dd64088 Mon Sep 17 00:00:00 2001 From: Scott Stevenson Date: Tue, 5 May 2015 21:25:26 +0100 Subject: [PATCH 54/70] Correct typos in completion module --- 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 9b5132c7..023a90e7 100644 --- a/modules/completion/init.zsh +++ b/modules/completion/init.zsh @@ -24,7 +24,7 @@ autoload -Uz compinit && compinit -i 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 succesive tab press. +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. unsetopt MENU_COMPLETE # Do not autoselect the first completion entry. @@ -34,7 +34,7 @@ unsetopt FLOW_CONTROL # Disable start/stop characters in shell editor. # Styles # -# Use caching to make completion for cammands such as dpkg and apt usable. +# 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" From cd5067668c2f4e342db7c52a68c213366cbb0199 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Tue, 19 May 2015 18:24:04 -0400 Subject: [PATCH 55/70] Substitute command when alias is undefined --- modules/utility/init.zsh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/utility/init.zsh b/modules/utility/init.zsh index 30fee32a..fd7aaf6e 100644 --- a/modules/utility/init.zsh +++ b/modules/utility/init.zsh @@ -71,9 +71,9 @@ if is-callable 'dircolors'; then eval "$(dircolors --sh)" fi - alias ls="$aliases[ls] --color=auto" + alias ls="${aliases[ls]:-ls} --color=auto" else - alias ls="$aliases[ls] -F" + alias ls="${aliases[ls]:-ls} -F" fi else # BSD Core Utilities @@ -84,9 +84,9 @@ else # Define colors for the completion system. 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:' - alias ls='ls -G' + alias ls="${aliases[ls]:-ls} -G" else - alias ls='ls -F' + alias ls="${aliases[ls]:-ls} -F" fi fi @@ -107,7 +107,7 @@ if zstyle -t ':prezto:module:utility:grep' color; then export GREP_COLOR='37;45' # BSD. export GREP_COLORS="mt=$GREP_COLOR" # GNU. - alias grep="$aliases[grep] --color=auto" + alias grep="${aliases[grep]:-grep} --color=auto" fi # Mac OS X Everywhere From a1dea6ae43f5a1f5e5dfabac49766bda67983ea0 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Sun, 22 Feb 2015 19:51:09 -0500 Subject: [PATCH 56/70] Get Git status asynchronously --- modules/prompt/functions/prompt_sorin_setup | 50 ++++++++++++++++++--- 1 file changed, 43 insertions(+), 7 deletions(-) diff --git a/modules/prompt/functions/prompt_sorin_setup b/modules/prompt/functions/prompt_sorin_setup index 508dc80d..e27f7384 100644 --- a/modules/prompt/functions/prompt_sorin_setup +++ b/modules/prompt/functions/prompt_sorin_setup @@ -22,6 +22,33 @@ function prompt_sorin_pwd { fi } +function prompt_sorin_git_info { + # Append Git status. + if [[ -s "$_prompt_sorin_precmd_async_data" ]]; then + alias typeset='typeset -g' + source "$_prompt_sorin_precmd_async_data" + RPROMPT+='${git_info:+${(e)git_info[status]}}' + unalias typeset + fi + + # Reset PID. + _prompt_sorin_precmd_async_pid=0 + + # Redisplay prompt. + zle && zle reset-prompt +} + +function prompt_sorin_precmd_async { + # Get Git repository information. + if (( $+functions[git-info] )); then + git-info + typeset -p git_info >! "$_prompt_sorin_precmd_async_data" + fi + + # Signal completion to parent process. + kill -USR1 $$ +} + function prompt_sorin_precmd { setopt LOCAL_OPTIONS unsetopt XTRACE KSH_ARRAYS @@ -29,16 +56,26 @@ function prompt_sorin_precmd { # Format PWD. prompt_sorin_pwd - # Get Git repository information. - if (( $+functions[git-info] )); then - git-info + # Define prompts. + RPROMPT='${editor_info[overwrite]}%(?:: %F{red}⏎%f)${VIM:+" %B%F{green}V%f%b"}${INSIDE_EMACS:+" %B%F{green}E%f%b"}%f' + + # Kill the old process of slow commands if it is still running. + if (( _prompt_sorin_precmd_async_pid > 0 )); then + kill -TERM "$_prompt_sorin_precmd_async_pid" &>/dev/null fi + + # Compute slow commands in the background. + trap prompt_sorin_git_info USR1 + prompt_sorin_precmd_async &! + _prompt_sorin_precmd_async_pid=$! } function prompt_sorin_setup { setopt LOCAL_OPTIONS unsetopt XTRACE KSH_ARRAYS prompt_opts=(cr percent subst) + _prompt_sorin_precmd_async_pid=0 + _prompt_sorin_precmd_async_data="${TMPPREFIX}-prompt_sorin_data" # Load required functions. autoload -Uz add-zsh-hook @@ -68,12 +105,11 @@ function prompt_sorin_setup { zstyle ':prezto:module:git:info:unmerged' format ' %%B%F{yellow}═%f%%b' zstyle ':prezto:module:git:info:untracked' format ' %%B%F{white}◼%f%%b' zstyle ':prezto:module:git:info:keys' format \ - 'prompt' ' %F{blue}git%f$(coalesce "%b" "%p" "%c")%s' \ - 'rprompt' '%A%B%S%a%d%m%r%U%u' + 'status' ' %F{blue}git%f$(coalesce "%b" "%p" "%c")%s%A%B%S%a%d%m%r%U%u' # Define prompts. - PROMPT='${SSH_TTY:+"%F{red}%n%f@%F{yellow}%m%f "}%F{cyan}${_prompt_sorin_pwd}%f${git_info:+${(e)git_info[prompt]}}%(!. %B%F{red}#%f%b.)${editor_info[keymap]} ' - RPROMPT='${editor_info[overwrite]}%(?:: %F{red}⏎%f)${VIM:+" %B%F{green}V%f%b"}${INSIDE_EMACS:+" %B%F{green}E%f%b"}${git_info[rprompt]}' + PROMPT='${SSH_TTY:+"%F{red}%n%f@%F{yellow}%m%f "}%F{cyan}${_prompt_sorin_pwd}%(!. %B%F{red}#%f%b.)${editor_info[keymap]} ' + RPROMPT='' SPROMPT='zsh: correct %F{red}%R%f to %F{green}%r%f [nyae]? ' } From f6a2c734233a768fdf519c872b3524dd026b75cb Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Tue, 19 May 2015 17:12:17 -0400 Subject: [PATCH 57/70] Remove 'git:' prefix --- modules/prompt/functions/prompt_sorin_setup | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/prompt/functions/prompt_sorin_setup b/modules/prompt/functions/prompt_sorin_setup index e27f7384..5e5b73c5 100644 --- a/modules/prompt/functions/prompt_sorin_setup +++ b/modules/prompt/functions/prompt_sorin_setup @@ -105,7 +105,7 @@ function prompt_sorin_setup { zstyle ':prezto:module:git:info:unmerged' format ' %%B%F{yellow}═%f%%b' zstyle ':prezto:module:git:info:untracked' format ' %%B%F{white}◼%f%%b' zstyle ':prezto:module:git:info:keys' format \ - 'status' ' %F{blue}git%f$(coalesce "%b" "%p" "%c")%s%A%B%S%a%d%m%r%U%u' + 'status' '$(coalesce "%b" "%p" "%c")%s%A%B%S%a%d%m%r%U%u' # Define prompts. PROMPT='${SSH_TTY:+"%F{red}%n%f@%F{yellow}%m%f "}%F{cyan}${_prompt_sorin_pwd}%(!. %B%F{red}#%f%b.)${editor_info[keymap]} ' From 999f0d1a74c1dbe69bc3973d272064f3d43be029 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Tue, 19 May 2015 17:14:36 -0400 Subject: [PATCH 58/70] Use numerical colors --- modules/prompt/functions/prompt_sorin_setup | 61 ++++++++++++++------- 1 file changed, 41 insertions(+), 20 deletions(-) diff --git a/modules/prompt/functions/prompt_sorin_setup b/modules/prompt/functions/prompt_sorin_setup index 5e5b73c5..75fc72b4 100644 --- a/modules/prompt/functions/prompt_sorin_setup +++ b/modules/prompt/functions/prompt_sorin_setup @@ -8,6 +8,27 @@ # http://i.imgur.com/AzjmpwM.png # +# +# 16 TERMINAL COLORS +# -- --------------- +# 0 black +# 1 red +# 2 green +# 3 yellow +# 4 blue +# 5 magenta +# 6 cyan +# 7 white +# 8 bright black +# 9 bright red +# 10 bright green +# 11 bright yellow +# 12 bright blue +# 13 bright magenta +# 14 bright cyan +# 15 bright white +# + # Load dependencies. pmodload 'helper' @@ -57,7 +78,7 @@ function prompt_sorin_precmd { prompt_sorin_pwd # Define prompts. - RPROMPT='${editor_info[overwrite]}%(?:: %F{red}⏎%f)${VIM:+" %B%F{green}V%f%b"}${INSIDE_EMACS:+" %B%F{green}E%f%b"}%f' + RPROMPT='${editor_info[overwrite]}%(?:: %F{1}⏎%f)${VIM:+" %B%F{6}V%f%b"}${INSIDE_EMACS:+" %B%F{6}E%f%b"}%f' # Kill the old process of slow commands if it is still running. if (( _prompt_sorin_precmd_async_pid > 0 )); then @@ -84,33 +105,33 @@ function prompt_sorin_setup { add-zsh-hook precmd prompt_sorin_precmd # 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{red}❯%F{yellow}❯%F{green}❯%f%b' - zstyle ':prezto:module:editor:info:keymap:primary:overwrite' format ' %F{red}♺%f' - zstyle ':prezto:module:editor:info:keymap:alternate' format ' %B%F{green}❮%F{yellow}❮%F{red}❮%f%b' + 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' + zstyle ':prezto:module:editor:info:keymap:primary:overwrite' format ' %F{3}♺%f' + zstyle ':prezto:module:editor:info:keymap:alternate' format ' %B%F{2}❮%F{3}❮%F{1}❮%f%b' # Set git-info parameters. zstyle ':prezto:module:git:info' verbose 'yes' - zstyle ':prezto:module:git:info:action' format ':%%B%F{yellow}%s%f%%b' - zstyle ':prezto:module:git:info:added' format ' %%B%F{green}✚%f%%b' - zstyle ':prezto:module:git:info:ahead' format ' %%B%F{yellow}⬆%f%%b' - zstyle ':prezto:module:git:info:behind' format ' %%B%F{yellow}⬇%f%%b' - zstyle ':prezto:module:git:info:branch' format ':%F{green}%b%f' - zstyle ':prezto:module:git:info:commit' format ':%F{green}%.7c%f' - zstyle ':prezto:module:git:info:deleted' format ' %%B%F{red}✖%f%%b' - zstyle ':prezto:module:git:info:modified' format ' %%B%F{blue}✱%f%%b' - zstyle ':prezto:module:git:info:position' format ':%F{red}%p%f' - zstyle ':prezto:module:git:info:renamed' format ' %%B%F{magenta}➜%f%%b' - zstyle ':prezto:module:git:info:stashed' format ' %%B%F{cyan}✭%f%%b' - zstyle ':prezto:module:git:info:unmerged' format ' %%B%F{yellow}═%f%%b' - zstyle ':prezto:module:git:info:untracked' format ' %%B%F{white}◼%f%%b' + zstyle ':prezto:module:git:info:action' format '%F{7}:%f%%B%F{9}%s%f%%b' + zstyle ':prezto:module:git:info:added' format ' %%B%F{2}✚%f%%b' + zstyle ':prezto:module:git:info:ahead' format ' %%B%F{13}⬆%f%%b' + zstyle ':prezto:module:git:info:behind' format ' %%B%F{13}⬇%f%%b' + zstyle ':prezto:module:git:info:branch' format ' %%B%F{2}%b%f%%b' + zstyle ':prezto:module:git:info:commit' format ' %%B%F{3}%.7c%f%%b' + zstyle ':prezto:module:git:info:deleted' format ' %%B%F{1}✖%f%%b' + zstyle ':prezto:module:git:info:modified' format ' %%B%F{4}✱%f%%b' + zstyle ':prezto:module:git:info:position' format ' %%B%F{13}%p%f%%b' + zstyle ':prezto:module:git:info:renamed' format ' %%B%F{5}➜%f%%b' + zstyle ':prezto:module:git:info:stashed' format ' %%B%F{6}✭%f%%b' + zstyle ':prezto:module:git:info:unmerged' format ' %%B%F{3}═%f%%b' + zstyle ':prezto:module:git:info:untracked' format ' %%B%F{7}◼%f%%b' zstyle ':prezto:module:git:info:keys' format \ 'status' '$(coalesce "%b" "%p" "%c")%s%A%B%S%a%d%m%r%U%u' # Define prompts. - PROMPT='${SSH_TTY:+"%F{red}%n%f@%F{yellow}%m%f "}%F{cyan}${_prompt_sorin_pwd}%(!. %B%F{red}#%f%b.)${editor_info[keymap]} ' + PROMPT='${SSH_TTY:+"%F{9}%n%f%F{7}@%f%F{3}%m%f "}%F{4}${_prompt_sorin_pwd}%(!. %B%F{1}#%f%b.)${editor_info[keymap]} ' RPROMPT='' - SPROMPT='zsh: correct %F{red}%R%f to %F{green}%r%f [nyae]? ' + SPROMPT='zsh: correct %F{1}%R%f to %F{2}%r%f [nyae]? ' } prompt_sorin_setup "$@" From b46769149be5e19788e8985c3fe758c436e340fb Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Tue, 19 May 2015 17:19:21 -0400 Subject: [PATCH 59/70] Remove Emacs indicator The user always knows that he is inside Emacs making the indicator unnecessary. --- modules/prompt/functions/prompt_sorin_setup | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/prompt/functions/prompt_sorin_setup b/modules/prompt/functions/prompt_sorin_setup index 75fc72b4..3f66c7c4 100644 --- a/modules/prompt/functions/prompt_sorin_setup +++ b/modules/prompt/functions/prompt_sorin_setup @@ -9,7 +9,7 @@ # # -# 16 TERMINAL COLORS +# 16 Terminal Colors # -- --------------- # 0 black # 1 red @@ -78,7 +78,7 @@ function prompt_sorin_precmd { prompt_sorin_pwd # Define prompts. - RPROMPT='${editor_info[overwrite]}%(?:: %F{1}⏎%f)${VIM:+" %B%F{6}V%f%b"}${INSIDE_EMACS:+" %B%F{6}E%f%b"}%f' + RPROMPT='${editor_info[overwrite]}%(?:: %F{1}⏎%f)${VIM:+" %B%F{6}V%f%b"}' # Kill the old process of slow commands if it is still running. if (( _prompt_sorin_precmd_async_pid > 0 )); then From fe64f91f52bbadc3e627fe7910b28a6d5df064e8 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Tue, 19 May 2015 17:39:00 -0400 Subject: [PATCH 60/70] Update sorin screenshot --- README.md | 2 +- modules/prompt/functions/prompt_sorin_setup | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e54a6319..d6b40af0 100644 --- a/README.md +++ b/README.md @@ -108,7 +108,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. [1]: http://www.zsh.org -[2]: http://i.imgur.com/AzjmpwM.png "sorin theme" +[2]: http://i.imgur.com/nrGV6pg.png "sorin theme" [3]: http://git-scm.com [4]: https://github.com [5]: http://gitimmersion.com diff --git a/modules/prompt/functions/prompt_sorin_setup b/modules/prompt/functions/prompt_sorin_setup index 3f66c7c4..7a0dab75 100644 --- a/modules/prompt/functions/prompt_sorin_setup +++ b/modules/prompt/functions/prompt_sorin_setup @@ -5,7 +5,7 @@ # Sorin Ionescu # # Screenshots: -# http://i.imgur.com/AzjmpwM.png +# http://i.imgur.com/nrGV6pg.png # # From f7ea78078f81d2d6fbe71d73274926a3f756a586 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Mon, 25 May 2015 21:58:43 -0400 Subject: [PATCH 61/70] Update pure theme --- 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 5ade8aeb..04212522 160000 --- a/modules/prompt/external/pure +++ b/modules/prompt/external/pure @@ -1 +1 @@ -Subproject commit 5ade8aeb8a7d45a59841278a9a86090dd880be63 +Subproject commit 04212522f39f43998d001b4a94b05856f010a54b From 159418835fb7f6469b47567c7d197596cc75ef8b Mon Sep 17 00:00:00 2001 From: Quang-Linh LE Date: Wed, 10 Dec 2014 08:54:54 +0100 Subject: [PATCH 62/70] Add Linux as as requirement --- 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 101b6b97..a5979cc9 100644 --- a/modules/homebrew/init.zsh +++ b/modules/homebrew/init.zsh @@ -6,7 +6,7 @@ # # Return if requirements are not found. -if [[ "$OSTYPE" != darwin* ]]; then +if [[ "$OSTYPE" != (darwin|linux)* ]]; then return 1 fi From 904c94469e98ba45910d4d7bd271b6d28c6951f9 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Tue, 26 May 2015 22:05:49 -0400 Subject: [PATCH 63/70] Consolidate brew update and upgrade aliases --- modules/homebrew/README.md | 3 +-- modules/homebrew/init.zsh | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/modules/homebrew/README.md b/modules/homebrew/README.md index 69a4e87b..84b43865 100644 --- a/modules/homebrew/README.md +++ b/modules/homebrew/README.md @@ -13,8 +13,7 @@ Aliases - `brewi` installs a formula. - `brewl` lists installed formulae. - `brews` searches for a formula. - - `brewU` upgrades Homebrew and outdated brews. - - `brewu` upgrades Homebrew. + - `brewu` updates Homebrew and formulae. - `brewx` uninstalls a formula. ### Homebrew Cask diff --git a/modules/homebrew/init.zsh b/modules/homebrew/init.zsh index a5979cc9..1ebe793d 100644 --- a/modules/homebrew/init.zsh +++ b/modules/homebrew/init.zsh @@ -20,8 +20,7 @@ alias brewC='brew cleanup --force' alias brewi='brew install' alias brewl='brew list' alias brews='brew search' -alias brewu='brew upgrade' -alias brewU='brew update && brew upgrade' +alias brewu='brew update && brew upgrade --all' alias brewx='brew remove' # Homebrew Cask From b6efdc1ea49a3ef4b8b904aacde98ada7a0811e9 Mon Sep 17 00:00:00 2001 From: FireWave Date: Thu, 28 Mar 2013 16:58:10 -0400 Subject: [PATCH 64/70] Add DNF module Signed-off-by: Sorin Ionescu --- modules/README.md | 5 +++++ modules/dnf/README.md | 29 +++++++++++++++++++++++++++++ modules/dnf/init.zsh | 28 ++++++++++++++++++++++++++++ 3 files changed, 62 insertions(+) create mode 100644 modules/dnf/README.md create mode 100644 modules/dnf/init.zsh diff --git a/modules/README.md b/modules/README.md index 4d247b24..d0fcdd94 100644 --- a/modules/README.md +++ b/modules/README.md @@ -26,6 +26,11 @@ Directory Sets directory options and defines directory aliases. +DNF +--- + +Defines dnf aliases. + Dpkg ---- diff --git a/modules/dnf/README.md b/modules/dnf/README.md new file mode 100644 index 00000000..06439544 --- /dev/null +++ b/modules/dnf/README.md @@ -0,0 +1,29 @@ +DNF +=== + +Defines [dnf][1] 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` upgrates packages. + +Authors +------- + +*The authors of this module should be contacted via the [issue tracker][2].* + + - [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/dnf/init.zsh b/modules/dnf/init.zsh new file mode 100644 index 00000000..7a401423 --- /dev/null +++ b/modules/dnf/init.zsh @@ -0,0 +1,28 @@ +# +# Defines dnf aliases. +# +# Authors: +# FireWave +# Sorin Ionescu +# + +# Return if requirements are not found. +if (( ! $+commands[dnf] )); then + return 1 +fi + +# +# Aliases +# + +alias dnfc='sudo dnf clean all' # Cleans the cache. +alias dnfh='dnf history' # Displays history. +alias dnfi='sudo dnf install' # Installs package(s). +alias dnfl='dnf list' # Lists packages. +alias dnfL='dnf list installed' # Lists installed packages. +alias dnfq='dnf info' # Displays package information. +alias dnfr='sudo dnf remove' # Removes package(s). +alias dnfs='dnf search' # Searches for a package. +alias dnfu='sudo dnf update' # Updates packages. +alias dnfU='sudo dnf upgrade' # Upgrades packages. + From a275db55d6fdc8bf92a4722e95196bbfbf44cfae Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Mon, 25 May 2015 22:25:22 -0400 Subject: [PATCH 65/70] Fix MacPorts typo --- modules/README.md | 2 +- modules/macports/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/README.md b/modules/README.md index d0fcdd94..2a49804c 100644 --- a/modules/README.md +++ b/modules/README.md @@ -97,7 +97,7 @@ Homebrew Defines Homebrew aliases. -Macports +MacPorts -------- Defines MacPorts aliases and adds MacPorts directories to path variables. diff --git a/modules/macports/README.md b/modules/macports/README.md index 97f67ea0..70e4b8b9 100644 --- a/modules/macports/README.md +++ b/modules/macports/README.md @@ -1,4 +1,4 @@ -Macports +MacPorts ======== Defines MacPorts aliases and adds MacPorts directories to path variables. From 02c5f776fc3ebbc5eee6dc74e84be25542983e26 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Thu, 28 May 2015 20:24:58 -0400 Subject: [PATCH 66/70] [Fix #892] Symlink prompt pure async dependency --- modules/prompt/functions/async | 1 + 1 file changed, 1 insertion(+) create mode 120000 modules/prompt/functions/async diff --git a/modules/prompt/functions/async b/modules/prompt/functions/async new file mode 120000 index 00000000..d4b591e1 --- /dev/null +++ b/modules/prompt/functions/async @@ -0,0 +1 @@ +../external/pure/async.zsh \ No newline at end of file From b761261b11af719007203926a769f2b5cb87033b Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Sun, 31 May 2015 16:46:42 -0400 Subject: [PATCH 67/70] Replace signal USR1 with WINCH --- modules/prompt/functions/prompt_sorin_setup | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/prompt/functions/prompt_sorin_setup b/modules/prompt/functions/prompt_sorin_setup index 7a0dab75..a3e67450 100644 --- a/modules/prompt/functions/prompt_sorin_setup +++ b/modules/prompt/functions/prompt_sorin_setup @@ -67,7 +67,7 @@ function prompt_sorin_precmd_async { fi # Signal completion to parent process. - kill -USR1 $$ + kill -WINCH $$ } function prompt_sorin_precmd { @@ -86,7 +86,7 @@ function prompt_sorin_precmd { fi # Compute slow commands in the background. - trap prompt_sorin_git_info USR1 + trap prompt_sorin_git_info WINCH prompt_sorin_precmd_async &! _prompt_sorin_precmd_async_pid=$! } From ef634f38a43ba08477eb4a520525171d742ffa74 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Sun, 31 May 2015 16:47:16 -0400 Subject: [PATCH 68/70] Replace signal TERM with KILL --- modules/prompt/functions/prompt_sorin_setup | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/prompt/functions/prompt_sorin_setup b/modules/prompt/functions/prompt_sorin_setup index a3e67450..c8fc68b3 100644 --- a/modules/prompt/functions/prompt_sorin_setup +++ b/modules/prompt/functions/prompt_sorin_setup @@ -82,7 +82,7 @@ function prompt_sorin_precmd { # Kill the old process of slow commands if it is still running. if (( _prompt_sorin_precmd_async_pid > 0 )); then - kill -TERM "$_prompt_sorin_precmd_async_pid" &>/dev/null + kill -KILL "$_prompt_sorin_precmd_async_pid" &>/dev/null fi # Compute slow commands in the background. From bdec6c4e2032c4fe35c396a033c681c79473b86f Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Sun, 31 May 2015 16:50:03 -0400 Subject: [PATCH 69/70] Redraw only when called from subprocess --- modules/prompt/functions/prompt_sorin_setup | 26 +++++++++++---------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/modules/prompt/functions/prompt_sorin_setup b/modules/prompt/functions/prompt_sorin_setup index c8fc68b3..c072a4e5 100644 --- a/modules/prompt/functions/prompt_sorin_setup +++ b/modules/prompt/functions/prompt_sorin_setup @@ -44,19 +44,21 @@ function prompt_sorin_pwd { } function prompt_sorin_git_info { - # Append Git status. - if [[ -s "$_prompt_sorin_precmd_async_data" ]]; then - alias typeset='typeset -g' - source "$_prompt_sorin_precmd_async_data" - RPROMPT+='${git_info:+${(e)git_info[status]}}' - unalias typeset + if (( _prompt_sorin_precmd_async_pid > 0 )); then + # Append Git status. + if [[ -s "$_prompt_sorin_precmd_async_data" ]]; then + alias typeset='typeset -g' + source "$_prompt_sorin_precmd_async_data" + RPROMPT+='${git_info:+${(e)git_info[status]}}' + unalias typeset + fi + + # Reset PID. + _prompt_sorin_precmd_async_pid=0 + + # Redisplay prompt. + zle && zle reset-prompt fi - - # Reset PID. - _prompt_sorin_precmd_async_pid=0 - - # Redisplay prompt. - zle && zle reset-prompt } function prompt_sorin_precmd_async { From f2a826e963f06a204dc0e09c05fc3e5419799f52 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Sun, 31 May 2015 16:51:29 -0400 Subject: [PATCH 70/70] Add preview function to sorin theme --- modules/prompt/functions/prompt_sorin_setup | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules/prompt/functions/prompt_sorin_setup b/modules/prompt/functions/prompt_sorin_setup index c072a4e5..e339dffe 100644 --- a/modules/prompt/functions/prompt_sorin_setup +++ b/modules/prompt/functions/prompt_sorin_setup @@ -136,4 +136,13 @@ function prompt_sorin_setup { SPROMPT='zsh: correct %F{1}%R%f to %F{2}%r%f [nyae]? ' } +function prompt_sorin_preview { + local +h PROMPT='' + local +h RPROMPT='' + local +h SPROMPT='' + + editor-info 2>/dev/null + prompt_preview_theme 'sorin' +} + prompt_sorin_setup "$@"