From b5eedbf3ba31b4d416e2918da960a2e385547442 Mon Sep 17 00:00:00 2001 From: Milind Shakya Date: Sun, 15 Mar 2015 17:13:58 -0300 Subject: [PATCH 1/2] Added virtualenv info to prompt. Added virtualenv info to paradox prompt. whitespace Updated authors list in paradox prompt file Changed virtualenv color to yellow to better distinguish directory segment, which was also blue before Fixed bug when deactivating virtualenv, it left an empty segment. Now deactivating removes entire virtualenv segment. Formatting --- modules/prompt/functions/prompt_paradox_setup | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/modules/prompt/functions/prompt_paradox_setup b/modules/prompt/functions/prompt_paradox_setup index 36ae40ec..c8d14c83 100644 --- a/modules/prompt/functions/prompt_paradox_setup +++ b/modules/prompt/functions/prompt_paradox_setup @@ -8,6 +8,7 @@ # Isaac Wolkerstorfer # Jeff Sandberg # Sorin Ionescu +# Milind Shakya # # Screenshots: # http://i.imgur.com/0XIWX.png @@ -51,6 +52,10 @@ function prompt_paradox_build_prompt { if [[ -n "$git_info" ]]; then prompt_paradox_start_segment green black '${(e)git_info[ref]}${(e)git_info[status]}' fi + + if [[ -n "${python_info}" ]]; then + prompt_paradox_start_segment yellow black '${python_info[ref]}${python_info[virtualenv]}' + fi prompt_paradox_end_segment } @@ -96,6 +101,11 @@ function prompt_paradox_precmd { if (( $+functions[git-info] )); then git-info fi + + # Get Virtual env info + if (( $+functions[python-info] )); then + python-info + fi # Calculate and print the elapsed time. prompt_paradox_print_elapsed_time @@ -142,6 +152,9 @@ function prompt_paradox_setup { zstyle ':prezto:module:git:info:keys' format \ 'ref' '$(coalesce "%b" "%p" "%c")' \ 'status' '%s%D%A%B%S%a%d%m%r%U%u' + + # Set python-info parameters. + zstyle ':prezto:module:python:info:virtualenv' format '%F{black}py:%v%f' # Define prompts. PROMPT=' From 142730e5625e22a248dfddc56ec20f8da2eb9bc3 Mon Sep 17 00:00:00 2001 From: Milind Shakya Date: Sun, 20 Sep 2015 10:27:30 -0400 Subject: [PATCH 2/2] Update prompt_paradox_setup --- modules/prompt/functions/prompt_paradox_setup | 226 +++++++++--------- 1 file changed, 115 insertions(+), 111 deletions(-) diff --git a/modules/prompt/functions/prompt_paradox_setup b/modules/prompt/functions/prompt_paradox_setup index c8d14c83..b0eb8534 100644 --- a/modules/prompt/functions/prompt_paradox_setup +++ b/modules/prompt/functions/prompt_paradox_setup @@ -52,116 +52,120 @@ function prompt_paradox_build_prompt { if [[ -n "$git_info" ]]; then prompt_paradox_start_segment green black '${(e)git_info[ref]}${(e)git_info[status]}' fi - - if [[ -n "${python_info}" ]]; then - prompt_paradox_start_segment yellow black '${python_info[ref]}${python_info[virtualenv]}' - 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 - + if [[ -n "${python_info}" ]]; then + prompt_paradox_start_segment yellow black '${python_info[ref]}${python_info[virtualenv]}' + fi + +f [[ -n "${http_proxy}" ]]; then + prompt_paradox_start_segment blue black 'PROXY' + fi + + prompt_paradox_end_segment + + +unction 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 + + +unction 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 + + +unction 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 + # Get Virtual env info - if (( $+functions[python-info] )); then - python-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' - - # Set python-info parameters. - zstyle ':prezto:module:python:info:virtualenv' format '%F{black}py:%v%f' - - # 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 "$@" + if (( $+functions[python-info] )); then + python-info + fi + + # Calculate and print the elapsed time. + prompt_paradox_print_elapsed_time + + +unction prompt_paradox_preexec { + _prompt_paradox_start_time="$SECONDS" + + +unction 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' + + # Set python-info parameters. + zstyle ':prezto:module:python:info:virtualenv' format '%F{black}py:%v%f' + + # 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 "$@"