From ab7f697734c717bf359db7b49b48598857ab8cfa Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Wed, 5 Nov 2014 17:41:36 -0500 Subject: [PATCH 01/29] [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/29] 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/29] 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/29] 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/29] 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/29] 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/29] 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/29] 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/29] 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/29] 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/29] 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/29] 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/29] 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/29] 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/29] 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/29] 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/29] 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/29] 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/29] 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/29] 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/29] 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/29] 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/29] 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/29] 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/29] 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/29] 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/29] [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/29] 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/29] [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'