diff options
Diffstat (limited to 'themes')
-rw-r--r-- | themes/adben.zsh-theme | 2 | ||||
-rw-r--r-- | themes/agnoster.zsh-theme | 10 | ||||
-rw-r--r-- | themes/avit.zsh-theme | 53 | ||||
-rw-r--r-- | themes/candy-kingdom.zsh-theme | 2 | ||||
-rw-r--r-- | themes/fino-time.zsh-theme | 2 | ||||
-rw-r--r-- | themes/fino.zsh-theme | 2 | ||||
-rw-r--r-- | themes/michelebologna.zsh-theme | 114 | ||||
-rw-r--r-- | themes/minimal.zsh-theme | 12 | ||||
-rw-r--r-- | themes/strug.zsh-theme | 25 |
9 files changed, 143 insertions, 79 deletions
diff --git a/themes/adben.zsh-theme b/themes/adben.zsh-theme index 212b823a5..e4774cf0e 100644 --- a/themes/adben.zsh-theme +++ b/themes/adben.zsh-theme @@ -42,7 +42,7 @@ GREEN_BASE_START="${PR_RESET}${PR_GREY}>${PR_RESET}${PR_GREEN}>${PR_BRIGHT_GREEN GREEN_START_P1="${PR_RESET}${GREEN_BASE_START}${PR_RESET} " DIVISION="${PR_RESET}${PR_RED} < ${PR_RESET}" VCS_DIRTY_COLOR="${PR_RESET}${PR_YELLOW}" -Vcs_CLEAN_COLOR="${PR_RESET}${PR_GREEN}" +VCS_CLEAN_COLOR="${PR_RESET}${PR_GREEN}" VCS_SUFIX_COLOR="${PR_RESET}${PR_RED}› ${PR_RESET}" # ########## COLOR ########### # ########## SVN ########### diff --git a/themes/agnoster.zsh-theme b/themes/agnoster.zsh-theme index 8c7be6e01..3a0c58b89 100644 --- a/themes/agnoster.zsh-theme +++ b/themes/agnoster.zsh-theme @@ -26,7 +26,13 @@ # A few utility functions to make it easy and re-usable to draw segmented prompts CURRENT_BG='NONE' -SEGMENT_SEPARATOR='' + +# Fix odd char on mac +if [[ `uname` == 'Darwin' ]]; then + SEGMENT_SEPARATOR='\ue0b0' +else + SEGMENT_SEPARATOR='' +fi # Begin a segment # Takes two arguments, background and foreground. Both can be omitted, @@ -126,7 +132,7 @@ prompt_hg() { if `hg st | grep -q "^\?"`; then prompt_segment red black st='±' - elif `hg st | grep -q "^(M|A)"`; then + elif `hg st | grep -q "^[MA]"`; then prompt_segment yellow black st='±' else diff --git a/themes/avit.zsh-theme b/themes/avit.zsh-theme index a21a9c8c4..65466b82f 100644 --- a/themes/avit.zsh-theme +++ b/themes/avit.zsh-theme @@ -38,34 +38,32 @@ function _ruby_version() { # Determine the time since last commit. If branch is clean, # use a neutral color, otherwise colors will vary according to time. function _git_time_since_commit() { - if git rev-parse --git-dir > /dev/null 2>&1; then - # Only proceed if there is actually a commit. - if [[ $(git log 2>&1 > /dev/null | grep -c "^fatal: bad default revision") == 0 ]]; then - # Get the last commit. - last_commit=$(git log --pretty=format:'%at' -1 2> /dev/null) - now=$(date +%s) - seconds_since_last_commit=$((now-last_commit)) - - # Totals - minutes=$((seconds_since_last_commit / 60)) - hours=$((seconds_since_last_commit/3600)) - - # Sub-hours and sub-minutes - days=$((seconds_since_last_commit / 86400)) - sub_hours=$((hours % 24)) - sub_minutes=$((minutes % 60)) - - if [ $hours -gt 24 ]; then - commit_age="${days}d" - elif [ $minutes -gt 60 ]; then - commit_age="${sub_hours}h${sub_minutes}m" - else - commit_age="${minutes}m" - fi - - color=$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL - echo "$color$commit_age%{$reset_color%}" +# Only proceed if there is actually a commit. + if git log -1 > /dev/null 2>&1; then + # Get the last commit. + last_commit=$(git log --pretty=format:'%at' -1 2> /dev/null) + now=$(date +%s) + seconds_since_last_commit=$((now-last_commit)) + + # Totals + minutes=$((seconds_since_last_commit / 60)) + hours=$((seconds_since_last_commit/3600)) + + # Sub-hours and sub-minutes + days=$((seconds_since_last_commit / 86400)) + sub_hours=$((hours % 24)) + sub_minutes=$((minutes % 60)) + + if [ $hours -gt 24 ]; then + commit_age="${days}d" + elif [ $minutes -gt 60 ]; then + commit_age="${sub_hours}h${sub_minutes}m" + else + commit_age="${minutes}m" fi + + color=$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL + echo "$color$commit_age%{$reset_color%}" fi } @@ -99,4 +97,3 @@ ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL="%{$fg[grey]%}" export LSCOLORS="exfxcxdxbxegedabagacad" export LS_COLORS='di=34;40:ln=35;40:so=32;40:pi=33;40:ex=31;40:bd=34;46:cd=34;43:su=0;41:sg=0;46:tw=0;42:ow=0;43:' export GREP_COLOR='1;33' - diff --git a/themes/candy-kingdom.zsh-theme b/themes/candy-kingdom.zsh-theme index 889128758..9d2103926 100644 --- a/themes/candy-kingdom.zsh-theme +++ b/themes/candy-kingdom.zsh-theme @@ -13,7 +13,7 @@ patches: <patches|join( → )|pre_applied(%{$fg[yellow]%})|post_applied(%{$reset } function box_name { - [ -f ~/.box-name ] && cat ~/.box-name || echo $SHORT_HOST || echo $HOST + [ -f ~/.box-name ] && cat ~/.box-name || echo ${SHORT_HOST:-$HOST} } PROMPT=' diff --git a/themes/fino-time.zsh-theme b/themes/fino-time.zsh-theme index 67b6b6e08..9b1db3a08 100644 --- a/themes/fino-time.zsh-theme +++ b/themes/fino-time.zsh-theme @@ -21,7 +21,7 @@ function prompt_char { } function box_name { - [ -f ~/.box-name ] && cat ~/.box-name || echo $SHORT_HOST || echo $HOST + [ -f ~/.box-name ] && cat ~/.box-name || echo ${SHORT_HOST:-$HOST} } diff --git a/themes/fino.zsh-theme b/themes/fino.zsh-theme index 50d41e899..6eec097f5 100644 --- a/themes/fino.zsh-theme +++ b/themes/fino.zsh-theme @@ -17,7 +17,7 @@ function prompt_char { } function box_name { - [ -f ~/.box-name ] && cat ~/.box-name || echo $SHORT_HOST || echo $HOST + [ -f ~/.box-name ] && cat ~/.box-name || echo ${SHORT_HOST:-$HOST} } local ruby_env='' diff --git a/themes/michelebologna.zsh-theme b/themes/michelebologna.zsh-theme index a7599c8f5..fec243873 100644 --- a/themes/michelebologna.zsh-theme +++ b/themes/michelebologna.zsh-theme @@ -1,44 +1,74 @@ -# reference colors -GREEN="%{$fg_bold[green]%}" -RED="%{$fg_bold[red]%}" -CYAN="%{$fg_bold[cyan]%}" -YELLOW="%{$fg_bold[yellow]%}" -BLUE="%{$fg_bold[blue]%}" -MAGENTA="%{$fg_bold[magenta]%}" -WHITE="%{$fg_bold[white]%}" - -COLOR_ARRAY=($GREEN $RED $CYAN $YELLOW $BLUE $MAGENTA $WHITE) - -# color reset -RESET_COLOR="%{$reset_color%}" - -# which color should be applied? -USERNAME_NORMAL_COLOR=$WHITE -USERNAME_ROOT_COLOR=$RED -HOSTNAME_NORMAL_COLOR=$BLUE -# uncomment next line if you want auto-generated hostname color -#for i in $HOST; HOSTNAME_NORMAL_COLOR=$COLOR_ARRAY[$[((#i))%7+1]] -HOSTNAME_ROOT_COLOR=$RED -HOSTNAME_COLOR=%(!.$HOSTNAME_ROOT_COLOR.$HOSTNAME_NORMAL_COLOR) -CURRENT_DIR_COLOR=$CYAN - -# zsh commands -USERNAME_COMMAND="%n" -HOSTNAME_COMMAND="%m" -CURRENT_DIR="%~" - -# output: colors + commands -USERNAME_OUTPUT="%(!..$USERNAME_NORMAL_COLOR$USERNAME_COMMAND$RESET_COLOR@)" -HOSTNAME_OUTPUT="$HOSTNAME_COLOR$HOSTNAME_COMMAND$RESET_COLOR" -CURRENT_DIR_OUTPUT="$CURRENT_DIR_COLOR$CURRENT_DIR" -LAST_COMMAND_OUTPUT="%(?.%(!.$RED.$GREEN).$YELLOW)" - -# git theming -ZSH_THEME_GIT_PROMPT_PREFIX="(" +# Michele Bologna's theme +# http://michelebologna.net +# +# This a theme for oh-my-zsh. Features a colored prompt with: +# * username@host: [jobs] [git] workdir % +# * hostname color is based on hostname characters. When using as root, the +# prompt shows only the hostname in red color. +# * [jobs], if applicable, counts the number of suspended jobs tty +# * [git], if applicable, represents the status of your git repo (more on that +# later) +# * '%' prompt will be green if last command return value is 0, yellow otherwise. +# +# git prompt is inspired by official git contrib prompt: +# https://github.com/git/git/tree/master/contrib/completion/git-prompt.sh +# and it adds: +# * the current branch +# * '%' if there are untracked files +# * '$' if there are stashed changes +# * '*' if there are modified files +# * '+' if there are added files +# * '<' if local repo is behind remote repo +# * '>' if local repo is ahead remote repo +# * '=' if local repo is equal to remote repo (in sync) +# * '<>' if local repo is diverged + +local green="%{$fg_bold[green]%}" +local red="%{$fg_bold[red]%}" +local cyan="%{$fg_bold[cyan]%}" +local yellow="%{$fg_bold[yellow]%}" +local blue="%{$fg_bold[blue]%}" +local magenta="%{$fg_bold[magenta]%}" +local white="%{$fg_bold[white]%}" +local reset="%{$reset_color%}" + +local -a color_array +color_array=($green $red $cyan $yellow $blue $magenta $white) + +local username_normal_color=$white +local username_root_color=$red +local hostname_root_color=$red + +# calculating hostname color with hostname characters +for i in `hostname`; local hostname_normal_color=$color_array[$[((#i))%7+1]] +local -a hostname_color +hostname_color=%(!.$hostname_root_color.$hostname_normal_color) + +local current_dir_color=$blue +local username_command="%n" +local hostname_command="%m" +local current_dir="%~" + +local username_output="%(!..$username_normal_color$username_command$reset@)" +local hostname_output="$hostname_color$hostname_command$reset" +local current_dir_output="$current_dir_color$current_dir$reset" +local jobs_bg="${red}fg: %j$reset" +local last_command_output="%(?.%(!.$red.$green).$yellow)" + +ZSH_THEME_GIT_PROMPT_PREFIX="" ZSH_THEME_GIT_PROMPT_SUFFIX="" -ZSH_THEME_GIT_PROMPT_DIRTY=")$RED*" -ZSH_THEME_GIT_PROMPT_CLEAN=")" +ZSH_THEME_GIT_PROMPT_DIRTY="" +ZSH_THEME_GIT_PROMPT_CLEAN="" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%%" +ZSH_THEME_GIT_PROMPT_MODIFIED="*" +ZSH_THEME_GIT_PROMPT_ADDED="+" +ZSH_THEME_GIT_PROMPT_STASHED="$" +ZSH_THEME_GIT_PROMPT_EQUAL_REMOTE="=" +ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE=">" +ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE="<" +ZSH_THEME_GIT_PROMPT_DIVERGED_REMOTE="<>" -# wrap all together -PROMPT='$USERNAME_OUTPUT$HOSTNAME_OUTPUT:$CURRENT_DIR_OUTPUT $LAST_COMMAND_OUTPUT%#$RESET_COLOR ' -RPROMPT='%1(j.fg: [%j].) $GREEN$(git_prompt_info)$RESET_COLOR [%@]' +PROMPT='$username_output$hostname_output:$current_dir_output%1(j. [$jobs_bg].)' +PROMPT+='$(__git_ps1)' +PROMPT+=" $last_command_output%#$reset " +RPROMPT='' diff --git a/themes/minimal.zsh-theme b/themes/minimal.zsh-theme index a2a16031f..e05df9c9b 100644 --- a/themes/minimal.zsh-theme +++ b/themes/minimal.zsh-theme @@ -1,18 +1,24 @@ ZSH_THEME_GIT_PROMPT_PREFIX="%{$reset_color%}%{$fg[white]%}[" ZSH_THEME_GIT_PROMPT_SUFFIX="" -ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}●%{$reset_color%}]%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}●%{$fg[white]%}]%{$reset_color%} " ZSH_THEME_GIT_PROMPT_CLEAN="]%{$reset_color%} " ZSH_THEME_SVN_PROMPT_PREFIX=$ZSH_THEME_GIT_PROMPT_PREFIX ZSH_THEME_SVN_PROMPT_SUFFIX=$ZSH_THEME_GIT_PROMPT_SUFFIX ZSH_THEME_SVN_PROMPT_DIRTY=$ZSH_THEME_GIT_PROMPT_DIRTY ZSH_THEME_SVN_PROMPT_CLEAN=$ZSH_THEME_GIT_PROMPT_CLEAN +ZSH_THEME_HG_PROMPT_PREFIX=$ZSH_THEME_GIT_PROMPT_PREFIX +ZSH_THEME_HG_PROMPT_SUFFIX=$ZSH_THEME_GIT_PROMPT_SUFFIX +ZSH_THEME_HG_PROMPT_DIRTY=$ZSH_THEME_GIT_PROMPT_DIRTY +ZSH_THEME_HG_PROMPT_CLEAN=$ZSH_THEME_GIT_PROMPT_CLEAN vcs_status() { - if [[ ( $(whence in_svn) != "" ) && ( $(in_svn) == 1 ) ]]; then + if [[ $(whence in_svn) != "" ]] && in_svn; then svn_prompt_info + elif [[ $(whence in_hg) != "" ]] && in_hg; then + hg_prompt_info else git_prompt_info fi } -PROMPT='%2~ $(vcs_status)»%b '
\ No newline at end of file +PROMPT='%2~ $(vcs_status)»%b ' diff --git a/themes/strug.zsh-theme b/themes/strug.zsh-theme new file mode 100644 index 000000000..89b56b008 --- /dev/null +++ b/themes/strug.zsh-theme @@ -0,0 +1,25 @@ +# terminal coloring +export CLICOLOR=1 +export LSCOLORS=dxFxCxDxBxegedabagacad + +local git_branch='$(git_prompt_info)%{$reset_color%}$(git_remote_status)' + +PROMPT="%{$fg[green]%}╭─%n@%m %{$reset_color%}%{$fg[yellow]%}in %~ %{$reset_color%}${git_branch} +%{$fg[green]%}╰\$ %{$reset_color%}" + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[yellow]%}on " +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" + +ZSH_THEME_GIT_PROMPT_DIRTY="%{$reset_color%}%{$fg[red]%} ✘ %{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[green]%} ✔ %{$reset_color%}" + +ZSH_THEME_GIT_PROMPT_REMOTE_STATUS_DETAILED=true +ZSH_THEME_GIT_PROMPT_REMOTE_STATUS_PREFIX="%{$fg[yellow]%}(" +ZSH_THEME_GIT_PROMPT_REMOTE_STATUS_SUFFIX="%{$fg[yellow]%})%{$reset_color%}" + +ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE=" +" +ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE_COLOR=%{$fg[green]%} + +ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE=" -" +ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE_COLOR=%{$fg[red]%} + |