Revisions
-
wmayner revised this gist
Nov 26, 2013 . 3 changed files with 81 additions and 53 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,40 +1,15 @@ # wmayner.zsh-theme # Forked from [@agnoster's zsh theme](https://gist.github.com/agnoster/3712874). Incorporates changes from [@smileart's fork](https://gist.github.com/smileart/3750104). ## Modifications in this fork: ## * The current path is right aligned, so it's out of the way when working in deeply nested directories. The main, left-aligned prompt only the current directory's name. * If you're working in a git repo with untracked files, the git portion of the prompt will be red (a clean repo is still green, and a dirty repo with no untracked files is still yellow). ### For more information see [the original](https://gist.github.com/agnoster/3712874). ### Binary file not shown.This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,9 +1,18 @@ # # wmayner.zsh-theme # # Forked from [@agnoster's zsh theme](https://gist.github.com/agnoster/3712874). # Incorporates changes from # [@smileart's fork](https://gist.github.com/smileart/3750104). # # ## Modifications in this fork: ## # * The current path is right aligned, so it's out of the way # when working in deeply nested directories. The main, # left-aligned prompt only the current directory's name. # * If you're working in a git repo with untracked files, the git portion of # the prompt will be red (a clean repo is still green, and a dirty repo with # no untracked files is still yellow). # # ## README ## # # In order for this theme to render correctly, you will need a # [Powerline-patched font](https://gist.github.com/1595572). @@ -13,19 +22,20 @@ # using it on Mac OS X, [iTerm 2](http://www.iterm2.com/) over Terminal.app - # it has significantly better color fidelity. # # ## Goals ## # # The aim of this theme is to only show you *relevant* information. Like most # prompts, it will only show git information when in a git working directory. # However, it goes a step furthjer: everything from the current user and # hostname to whether the last call exited with an error to whether background # jobs are running in this shell will all be displayed automatically when # appropriate. # ### Segment drawing ### # A few utility functions to make it easy and re-usable to draw segmented prompts CURRENT_BG='NONE' END_FG='NONE' SEGMENT_SEPARATOR='⮀' # Begin a segment @@ -47,21 +57,27 @@ prompt_segment() { # End the prompt, closing any open segments prompt_end() { if [[ -n $CURRENT_BG ]]; then # Use END_FG if it's been set (for coloring last separator based on current # vi mode) if [[ $END_FG != 'NONE' ]]; then echo -n " %{%k%F{$END_FG}%}$SEGMENT_SEPARATOR" else echo -n " %{%k%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR" fi else echo -n "%{%k%}" fi echo -n "%{%f%}" CURRENT_BG='' } # ### Prompt components ### # Each component will draw itself, and hide itself if no information needs to be shown # Context: user@hostname (who am I and where am I) prompt_context() { local user=`whoami` # Only display user if not the default if [[ "$user" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then prompt_segment black default "%(!.%{%F{yellow}%}.)$user@%m" fi @@ -74,7 +90,9 @@ prompt_git() { ZSH_THEME_GIT_PROMPT_DIRTY='±' dirty=$(parse_git_dirty) ref=$(git symbolic-ref HEAD 2> /dev/null) || ref="➦ $(git show-ref --head -s --abbrev |head -n1 2> /dev/null)" if [[ ! -z $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then prompt_segment red black elif [[ -n $dirty ]]; then prompt_segment yellow black else prompt_segment green black @@ -85,7 +103,8 @@ prompt_git() { # Dir: current working directory prompt_dir() { # Use just the name of the current directory (not the full path) prompt_segment blue black '%c' } # Status: @@ -102,7 +121,7 @@ prompt_status() { [[ -n "$symbols" ]] && prompt_segment black default "$symbols" } # ## Build the prompt ## build_prompt() { RETVAL=$? prompt_status @@ -112,4 +131,38 @@ build_prompt() { prompt_end } # Set the main prompt PROMPT='%{%f%b%k%}$(build_prompt) ' # Put the full path of the current directory on the right # (from kennethreitz.zsh-theme) RPS1='%{$fg[blue]%}%~%{$reset_color%}' # ### Change end separator color depending on current vi mode ### autoload -U colors # This is called whenever $KEYMAP is changed zle-keymap-select () { # If we're in vi command mode, make the last separator red if [[ $KEYMAP = vicmd ]]; then END_FG='cyan' # Otherwise don't do anything else END_FG='NONE' fi # Redraw the prompt once we've changed the color zle reset-prompt } # Replace default zle-keymap-select with ours zle -N zle-keymap-select zle-line-init () { zle -K viins } # Replace default zle-line-init with ours zle -N zle-line-init # Activate vi mod bindkey -v # Vim modeline: # vim:ft=zsh ts=2 sw=2 sts=2 -
agnoster revised this gist
Sep 26, 2012 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -37,4 +37,4 @@ It's currently hideously slow, especially inside a git repo. I guess it's not ov Would be nice for the code to be a bit more sane and re-usable. Something to easily append a section with a given FG/BG, and add the correct opening and closing. Also the dependency on a powerline-patched font is regrettable, but there's really no way to get that effect without it. Ideally there would be a way to check for compatibility, or maybe even fall back to one of the similar unicode glyphs. -
agnoster revised this gist
Sep 26, 2012 . 1 changed file with 5 additions and 3 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -6,6 +6,8 @@ A ZSH theme optimized for people who use: - Git - Unicode-compatible fonts and terminals (I use iTerm2 + Menlo) For Mac users, I highly recommend iTerm 2 + Solarized Dark # Compatibility **NOTE:** In all likelihood, you will need to install a [Powerline-patched font](https://gist.github.com/1595572) for this theme to render correctly. @@ -16,16 +18,16 @@ To test if your terminal and font support it, check that all the necessary chara ## What does it show? - If the previous command failed (✘) - User @ Hostname (if user is not DEFAULT_USER, which can then be set in your profile) - Git status - Branch (⭠) or detached head (➦) - Current branch / SHA1 in detached head state - Dirty working directory (±, color change) - Working directory - Elevated (root) privileges (⚡)  ## Future Work -
agnoster revised this gist
Sep 26, 2012 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,6 +1,6 @@ # vim:ft=zsh ts=2 sw=2 sts=2 # # agnoster's Theme - https://gist.github.com/3712874 # A Powerline-inspired theme for ZSH # # # README -
agnoster revised this gist
Sep 26, 2012 . 1 changed file with 4 additions and 2 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -6,6 +6,8 @@ A ZSH theme optimized for people who use: - Git - Unicode-compatible fonts and terminals (I use iTerm2 + Menlo) For Mac users, I highly recommend iTerm 2 + Solarized Dark # Compatibility **NOTE:** In all likelihood, you will need to install a [Powerline-patched font](https://gist.github.com/1595572) for this theme to render correctly. @@ -16,8 +18,8 @@ To test if your terminal and font support it, check that all the necessary chara ## What does it show? - If the previous command failed (✘) - User @ Hostname (if user is not DEFAULT_USER, which can then be set in your profile) - Git status - Branch (⭠) or detached head (➦) - Current branch / SHA1 in detached head state -
agnoster revised this gist
Sep 25, 2012 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -25,7 +25,7 @@ To test if your terminal and font support it, check that all the necessary chara - Working directory - Elevated (root) privileges (⚡)  ## Future Work -
agnoster revised this gist
Sep 25, 2012 . 1 changed file with 2 additions and 0 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -8,6 +8,8 @@ A ZSH theme optimized for people who use: # Compatibility **NOTE:** In all likelihood, you will need to install a [Powerline-patched font](https://gist.github.com/1595572) for this theme to render correctly. To test if your terminal and font support it, check that all the necessary characters are supported by copying the following command to your terminal: `echo "⮀ ± ⭠ ➦ ✔ ✘ ⚡"`. The result should look like this:  -
agnoster revised this gist
Sep 25, 2012 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
LoadingSorry, something went wrong. Reload?Sorry, we cannot display this file.Sorry, this file is invalid so it cannot be displayed. -
agnoster revised this gist
Sep 25, 2012 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -8,7 +8,7 @@ A ZSH theme optimized for people who use: # Compatibility **NOTE:** In all likelihood, you will need to install a [Powerline-patched font](https://gist.github.com/1595572) for this theme to render correctly. To test if your terminal and font support it, check that all the necessary characters are supported by copying the following command to your terminal: `echo "⮀ ± ⭠ ➦ ✔ ✘ ⚡"`. The result should look like this: -
agnoster revised this gist
Sep 25, 2012 . 1 changed file with 2 additions and 0 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -8,6 +8,8 @@ A ZSH theme optimized for people who use: # Compatibility **NOTE:** In all likelihood, you will need to install a [Powerline-patched font] for this theme to render correctly. To test if your terminal and font support it, check that all the necessary characters are supported by copying the following command to your terminal: `echo "⮀ ± ⭠ ➦ ✔ ✘ ⚡"`. The result should look like this:  -
agnoster revised this gist
Sep 25, 2012 . 1 changed file with 12 additions and 0 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -6,6 +6,12 @@ A ZSH theme optimized for people who use: - Git - Unicode-compatible fonts and terminals (I use iTerm2 + Menlo) # Compatibility To test if your terminal and font support it, check that all the necessary characters are supported by copying the following command to your terminal: `echo "⮀ ± ⭠ ➦ ✔ ✘ ⚡"`. The result should look like this:  ## What does it show? - Success (✔) or failure (✘) of previous command @@ -22,3 +28,9 @@ A ZSH theme optimized for people who use: ## Future Work I don't want to clutter it up too much, but I am toying with the idea of adding RVM (ruby version) and n (node.js version) display. It's currently hideously slow, especially inside a git repo. I guess it's not overly so for comparable themes, but it bugs me, and I'd love to hear ideas about how to improve the performance. Would be nice for the code to be a bit more sane and re-usable. Something to easily append a section with a given FG/BG, and add the correct opening and closing. Apparently the unicode characters don't display correctly on all systems. It would be nice to be able to say "this font will make it work, always". But what font? -
agnoster revised this gist
Sep 25, 2012 . 1 changed file with 105 additions and 17 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,27 +1,115 @@ # vim:ft=zsh ts=2 sw=2 sts=2 # # agnoster's Theme # A Powerline-inspired theme for ZSH # # # README # # In order for this theme to render correctly, you will need a # [Powerline-patched font](https://gist.github.com/1595572). # # In addition, I recommend the # [Solarized theme](https://github.com/altercation/solarized/) and, if you're # using it on Mac OS X, [iTerm 2](http://www.iterm2.com/) over Terminal.app - # it has significantly better color fidelity. # # # Goals # # The aim of this theme is to only show you *relevant* information. Like most # prompts, it will only show git information when in a git working directory. # However, it goes a step further: everything from the current user and # hostname to whether the last call exited with an error to whether background # jobs are running in this shell will all be displayed automatically when # appropriate. ### Segment drawing # A few utility functions to make it easy and re-usable to draw segmented prompts CURRENT_BG='NONE' SEGMENT_SEPARATOR='⮀' # Begin a segment # Takes two arguments, background and foreground. Both can be omitted, # rendering default background/foreground. prompt_segment() { local bg fg [[ -n $1 ]] && bg="%K{$1}" || bg="%k" [[ -n $2 ]] && fg="%F{$2}" || fg="%f" if [[ $CURRENT_BG != 'NONE' && $1 != $CURRENT_BG ]]; then echo -n " %{$bg%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR%{$fg%} " else echo -n "%{$bg%}%{$fg%} " fi CURRENT_BG=$1 [[ -n $3 ]] && echo -n $3 } # End the prompt, closing any open segments prompt_end() { if [[ -n $CURRENT_BG ]]; then echo -n " %{%k%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR" else echo -n "%{%k%}" fi echo -n "%{%f%}" CURRENT_BG='' } ### Prompt components # Each component will draw itself, and hide itself if no information needs to be shown # Context: user@hostname (who am I and where am I) prompt_context() { local user=`whoami` if [[ "$user" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then prompt_segment black default "%(!.%{%F{yellow}%}.)$user@%m" fi } # Git: branch/detached head, dirty status prompt_git() { local ref dirty if $(git rev-parse --is-inside-work-tree >/dev/null 2>&1); then ZSH_THEME_GIT_PROMPT_DIRTY='±' dirty=$(parse_git_dirty) ref=$(git symbolic-ref HEAD 2> /dev/null) || ref="➦ $(git show-ref --head -s --abbrev |head -n1 2> /dev/null)" if [[ -n $dirty ]]; then prompt_segment yellow black else prompt_segment green black fi echo -n "${ref/refs\/heads\//⭠ }$dirty" fi } # Dir: current working directory prompt_dir() { prompt_segment blue black '%~' } # Status: # - was there an error # - am I root # - are there background jobs? prompt_status() { local symbols symbols=() [[ $RETVAL -ne 0 ]] && symbols+="%{%F{red}%}✘" [[ $UID -eq 0 ]] && symbols+="%{%F{yellow}%}⚡" [[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="%{%F{cyan}%}⚙" [[ -n "$symbols" ]] && prompt_segment black default "$symbols" } ## Main prompt build_prompt() { RETVAL=$? prompt_status prompt_context prompt_dir prompt_git prompt_end } PROMPT='%{%f%b%k%}$(build_prompt) ' -
agnoster revised this gist
Sep 14, 2012 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -10,7 +10,7 @@ A ZSH theme optimized for people who use: To test if your terminal and font support it, check that all the necessary characters are supported by copying the following command to your terminal: `echo "⮀ ± ⭠ ➦ ✔ ✘ ⚡"`. The result should look like this:  ## What does it show? -
agnoster revised this gist
Sep 14, 2012 . 1 changed file with 7 additions and 3 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -6,9 +6,11 @@ A ZSH theme optimized for people who use: - Git - Unicode-compatible fonts and terminals (I use iTerm2 + Menlo) # Compatibility To test if your terminal and font support it, check that all the necessary characters are supported by copying the following command to your terminal: `echo "⮀ ± ⭠ ➦ ✔ ✘ ⚡"`. The result should look like this:  ## What does it show? @@ -29,4 +31,6 @@ I don't want to clutter it up too much, but I am toying with the idea of adding It's currently hideously slow, especially inside a git repo. I guess it's not overly so for comparable themes, but it bugs me, and I'd love to hear ideas about how to improve the performance. Would be nice for the code to be a bit more sane and re-usable. Something to easily append a section with a given FG/BG, and add the correct opening and closing. Apparently the unicode characters don't display correctly on all systems. It would be nice to be able to say "this font will make it work, always". But what font? -
agnoster revised this gist
Sep 14, 2012 . 1 changed file with 5 additions and 1 deletion.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -6,6 +6,10 @@ A ZSH theme optimized for people who use: - Git - Unicode-compatible fonts and terminals (I use iTerm2 + Menlo) To test if your terminal and font support it, check that all the necessary characters are supported by copying the following command to your terminal: `echo "⮀±⭠ ➦✔✘⚡"`. The result should look like this:  ## What does it show? - Success (✔) or failure (✘) of previous command @@ -25,4 +29,4 @@ I don't want to clutter it up too much, but I am toying with the idea of adding It's currently hideously slow, especially inside a git repo. I guess it's not overly so for comparable themes, but it bugs me, and I'd love to hear ideas about how to improve the performance. Would be nice for the code to be a bit more sane and re-usable. Something to easily append a section with a given FG/BG, and add the correct opening and closing. -
agnoster revised this gist
Sep 13, 2012 . 1 changed file with 4 additions and 0 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -22,3 +22,7 @@ A ZSH theme optimized for people who use: ## Future Work I don't want to clutter it up too much, but I am toying with the idea of adding RVM (ruby version) and n (node.js version) display. It's currently hideously slow, especially inside a git repo. I guess it's not overly so for comparable themes, but it bugs me, and I'd love to hear ideas about how to improve the performance. Would be nice for the code to be a bit more sane and re-usable. Something to easily append a section with a given FG/BG, and add the correct opening and closing. -
agnoster revised this gist
Sep 13, 2012 . 1 changed file with 24 additions and 0 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,24 @@ # agnoster.zsh-theme A ZSH theme optimized for people who use: - Solarized - Git - Unicode-compatible fonts and terminals (I use iTerm2 + Menlo) ## What does it show? - Success (✔) or failure (✘) of previous command - Hostname - Git status - Branch (⭠) or detached head (➦) - Current branch / SHA1 in detached head state - Dirty working directory (±, color change) - Working directory - Elevated (root) privileges (⚡)  ## Future Work I don't want to clutter it up too much, but I am toying with the idea of adding RVM (ruby version) and n (node.js version) display. -
agnoster revised this gist
Sep 13, 2012 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
LoadingSorry, something went wrong. Reload?Sorry, we cannot display this file.Sorry, this file is invalid so it cannot be displayed. -
agnoster created this gist
Sep 13, 2012 .There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,27 @@ # https://github.com/agnoster zsh theme ZSH_THEME_GIT_PROMPT_DIRTY='±' function _git_prompt_info() { ref=$(git symbolic-ref HEAD 2> /dev/null) || ref="➦ $(git show-ref --head -s --abbrev |head -n1 2> /dev/null)" echo "${ref/refs\/heads\//⭠ }$(parse_git_dirty)" } function _git_info() { if $(git rev-parse --is-inside-work-tree >/dev/null 2>&1); then local BG_COLOR=green if [[ -n $(parse_git_dirty) ]]; then BG_COLOR=yellow fi echo "%{%K{$BG_COLOR}%}⮀%{%F{black}%} $(_git_prompt_info) %{%F{$BG_COLOR}%K{blue}%}⮀" else echo "%{%K{blue}%}⮀" fi } PROMPT_HOST='%{%b%F{gray}%K{black}%} %(?.%{%F{green}%}✔.%{%F{red}%}✘)%{%F{gray}%} %m %{%F{black}%}' PROMPT_DIR='%{%F{white}%} %1~ ' PROMPT_SU='%(!.%{%k%F{blue}%K{black}%}⮀%{%F{yellow}%} ⚡ %{%k%F{black}%}.%{%k%F{blue}%})⮀%{%f%k%b%}' PROMPT='%{%f%b%k%} $PROMPT_HOST$(_git_info)$PROMPT_DIR$PROMPT_SU '