Skip to content

Instantly share code, notes, and snippets.

@tybruffy
Forked from agnoster/README.md
Last active March 24, 2016 10:40

Revisions

  1. tybruffy revised this gist Mar 26, 2014. No changes.
  2. tybruffy revised this gist Mar 26, 2014. 1 changed file with 6 additions and 10 deletions.
    16 changes: 6 additions & 10 deletions agnoster.zsh-theme
    Original file line number Diff line number Diff line change
    @@ -63,7 +63,7 @@ prompt_context() {
    local user=`whoami`

    if [[ "$user" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
    prompt_segment black default "%(!.%{%F{yellow}%}.)$user@%m"
    prompt_segment magenta black "%(!.%{%F{yellow}%}.)$user@%m"
    fi
    }

    @@ -80,8 +80,8 @@ prompt_git() {
    prompt_segment green black
    fi
    # echo -n "${ref/refs\/heads\//⭠ }$dirty"
    # modified to remove brabnch symbol
    echo -n "${ref/refs\/heads\//}$dirty"
    # modified to remove branch symbol
    echo -n "${ref/refs\/heads\//} $dirty"
    fi
    }

    @@ -100,13 +100,9 @@ prompt_time() {
    # - 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"
    [[ $RETVAL -ne 0 ]] && prompt_segment red black ''
    [[ $UID -eq 0 ]] && prompt_segment yellow black ''
    [[ $(jobs -l | wc -l) -gt 0 ]] && prompt_segment white black ''
    }

    ## Main prompt
  3. tybruffy revised this gist Mar 26, 2014. 1 changed file with 0 additions and 0 deletions.
    Binary file added screenshot.png
    Loading
    Sorry, something went wrong. Reload?
    Sorry, we cannot display this file.
    Sorry, this file is invalid so it cannot be displayed.
  4. tybruffy revised this gist Mar 25, 2014. 2 changed files with 0 additions and 40 deletions.
    40 changes: 0 additions & 40 deletions README.md
    Original file line number Diff line number Diff line change
    @@ -1,40 +0,0 @@
    # agnoster.zsh-theme

    A ZSH theme optimized for people who use:

    - Solarized
    - 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.

    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:

    ![Character Example](http://cl.ly/content/image/2l3w443z363P/aHR0cDovL2YuY2wubHkvaXRlbXMvM2ozTjJpMDMzTzJNM0ozcDFjMjgvU2NyZWVuJTIwU2hvdCUyMDIwMTItMDktMTQlMjBhdCUyMDEyLjA2LjAyJTIwLnBuZw==)

    ## 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 (⚡)

    ![Screenshot](https://raw.github.com/gist/3712874/5d28e2d9fe2e4d0a4fda0315ad97bdafa399425c/screenshot.png)

    ## 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.

    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.
    Binary file removed screenshot.png
    Binary file not shown.
  5. tybruffy revised this gist Mar 25, 2014. 1 changed file with 11 additions and 3 deletions.
    14 changes: 11 additions & 3 deletions agnoster.zsh-theme
    Original file line number Diff line number Diff line change
    @@ -79,13 +79,20 @@ prompt_git() {
    else
    prompt_segment green black
    fi
    echo -n "${ref/refs\/heads\//⭠ }$dirty"
    # echo -n "${ref/refs\/heads\//⭠ }$dirty"
    # modified to remove brabnch symbol
    echo -n "${ref/refs\/heads\//}$dirty"
    fi
    }

    # Dir: current working directory
    prompt_dir() {
    prompt_segment blue black '%~'
    prompt_segment blue black '%C'
    }

    # Time: current time
    prompt_time() {
    prompt_segment cyan black '%T'
    }

    # Status:
    @@ -105,11 +112,12 @@ prompt_status() {
    ## Main prompt
    build_prompt() {
    RETVAL=$?
    prompt_time
    prompt_status
    prompt_context
    prompt_dir
    prompt_git
    prompt_end
    }

    PROMPT='%{%f%b%k%}$(build_prompt) '
    PROMPT='%{%f%b%k%}$(build_prompt) '
  6. @agnoster agnoster revised this gist Sep 26, 2012. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion README.md
    Original 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.

    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?
    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.
  7. @agnoster agnoster revised this gist Sep 26, 2012. 1 changed file with 5 additions and 3 deletions.
    8 changes: 5 additions & 3 deletions README.md
    Original 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?

    - Success (✔) or failure (✘) of previous command
    - Hostname
    - 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 (⚡)

    ![Screenshot](https://gist.github.com/raw/3712874/de4828056ec1f04b03dbf4940f1b61e525ec9799/screenshot.png)
    ![Screenshot](https://raw.github.com/gist/3712874/5d28e2d9fe2e4d0a4fda0315ad97bdafa399425c/screenshot.png)

    ## Future Work

  8. @agnoster agnoster revised this gist Sep 26, 2012. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion agnoster.zsh-theme
    Original 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
    # agnoster's Theme - https://gist.github.com/3712874
    # A Powerline-inspired theme for ZSH
    #
    # # README
  9. @agnoster agnoster revised this gist Sep 26, 2012. 1 changed file with 4 additions and 2 deletions.
    6 changes: 4 additions & 2 deletions README.md
    Original 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?

    - Success (✔) or failure (✘) of previous command
    - Hostname
    - 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
  10. @agnoster agnoster revised this gist Sep 25, 2012. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion README.md
    Original 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 (⚡)

    ![Screenshot](https://gist.github.com/raw/3712874/de4828056ec1f04b03dbf4940f1b61e525ec9799/screenshot.png)
    ![Screenshot](https://raw.github.com/gist/3712874/5d28e2d9fe2e4d0a4fda0315ad97bdafa399425c/screenshot.png)

    ## Future Work

  11. @agnoster agnoster revised this gist Sep 25, 2012. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions README.md
    Original 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:

    ![Character Example](http://cl.ly/content/image/2l3w443z363P/aHR0cDovL2YuY2wubHkvaXRlbXMvM2ozTjJpMDMzTzJNM0ozcDFjMjgvU2NyZWVuJTIwU2hvdCUyMDIwMTItMDktMTQlMjBhdCUyMDEyLjA2LjAyJTIwLnBuZw==)
  12. @agnoster agnoster revised this gist Sep 25, 2012. 1 changed file with 0 additions and 0 deletions.
    Binary file modified screenshot.png
    Loading
    Sorry, something went wrong. Reload?
    Sorry, we cannot display this file.
    Sorry, this file is invalid so it cannot be displayed.
  13. @agnoster agnoster revised this gist Sep 25, 2012. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion README.md
    Original 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] for this theme to render correctly.
    **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:

  14. @agnoster agnoster revised this gist Sep 25, 2012. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions README.md
    Original 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:

    ![Character Example](http://cl.ly/content/image/2l3w443z363P/aHR0cDovL2YuY2wubHkvaXRlbXMvM2ozTjJpMDMzTzJNM0ozcDFjMjgvU2NyZWVuJTIwU2hvdCUyMDIwMTItMDktMTQlMjBhdCUyMDEyLjA2LjAyJTIwLnBuZw==)
  15. @agnoster agnoster revised this gist Sep 25, 2012. 1 changed file with 12 additions and 0 deletions.
    12 changes: 12 additions & 0 deletions README.md
    Original 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:

    ![Character Example](http://cl.ly/content/image/2l3w443z363P/aHR0cDovL2YuY2wubHkvaXRlbXMvM2ozTjJpMDMzTzJNM0ozcDFjMjgvU2NyZWVuJTIwU2hvdCUyMDIwMTItMDktMTQlMjBhdCUyMDEyLjA2LjAyJTIwLnBuZw==)

    ## 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?
  16. @agnoster agnoster revised this gist Sep 25, 2012. 1 changed file with 105 additions and 17 deletions.
    122 changes: 105 additions & 17 deletions agnoster.zsh-theme
    Original file line number Diff line number Diff line change
    @@ -1,27 +1,115 @@
    # https://github.com/agnoster zsh theme
    # 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.

    ZSH_THEME_GIT_PROMPT_DIRTY='±'
    ### Segment drawing
    # A few utility functions to make it easy and re-usable to draw segmented prompts

    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)"
    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=''
    }

    function _git_info() {
    ### 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
    local BG_COLOR=green
    if [[ -n $(parse_git_dirty) ]]; then
    BG_COLOR=yellow
    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 "%{%K{$BG_COLOR}%}⮀%{%F{black}%} $(_git_prompt_info) %{%F{$BG_COLOR}%K{blue}%}⮀"
    else
    echo "%{%K{blue}%}⮀"
    echo -n "${ref/refs\/heads\//⭠ }$dirty"
    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%}'
    # 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%}
    $PROMPT_HOST$(_git_info)$PROMPT_DIR$PROMPT_SU '
    PROMPT='%{%f%b%k%}$(build_prompt) '
  17. @agnoster agnoster revised this gist Sep 14, 2012. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion README.md
    Original 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:

    ![Character Example](http://cl.ly/image/2l3w443z363P)
    ![Character Example](http://cl.ly/content/image/2l3w443z363P/aHR0cDovL2YuY2wubHkvaXRlbXMvM2ozTjJpMDMzTzJNM0ozcDFjMjgvU2NyZWVuJTIwU2hvdCUyMDIwMTItMDktMTQlMjBhdCUyMDEyLjA2LjAyJTIwLnBuZw==)

    ## What does it show?

  18. @agnoster agnoster revised this gist Sep 14, 2012. 1 changed file with 7 additions and 3 deletions.
    10 changes: 7 additions & 3 deletions README.md
    Original 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)

    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:
    # Compatibility

    ![Character Example](http://cl.ly/image/3m3b0k2g2Y1A/Screen%20Shot%202012-09-14%20at%2012.01.14%20.png)
    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:

    ![Character Example](http://cl.ly/image/2l3w443z363P)

    ## 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.
    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?
  19. @agnoster agnoster revised this gist Sep 14, 2012. 1 changed file with 5 additions and 1 deletion.
    6 changes: 5 additions & 1 deletion README.md
    Original 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:

    ![Character Example](http://cl.ly/image/3m3b0k2g2Y1A/Screen%20Shot%202012-09-14%20at%2012.01.14%20.png)

    ## 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.
    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.
  20. @agnoster agnoster revised this gist Sep 13, 2012. 1 changed file with 4 additions and 0 deletions.
    4 changes: 4 additions & 0 deletions README.md
    Original 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.
  21. @agnoster agnoster revised this gist Sep 13, 2012. 1 changed file with 24 additions and 0 deletions.
    24 changes: 24 additions & 0 deletions README.md
    Original 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 (⚡)

    ![Screenshot](https://gist.github.com/raw/3712874/de4828056ec1f04b03dbf4940f1b61e525ec9799/screenshot.png)

    ## 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.
  22. @agnoster agnoster revised this gist Sep 13, 2012. 1 changed file with 0 additions and 0 deletions.
    Binary file added screenshot.png
    Loading
    Sorry, something went wrong. Reload?
    Sorry, we cannot display this file.
    Sorry, this file is invalid so it cannot be displayed.
  23. @agnoster agnoster created this gist Sep 13, 2012.
    27 changes: 27 additions & 0 deletions agnoster.zsh-theme
    Original 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 '