mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-05-15 04:41:19 +02:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
81106a9df5
34 changed files with 842 additions and 76 deletions
|
|
@ -83,6 +83,41 @@ prompt_git() {
|
|||
fi
|
||||
}
|
||||
|
||||
prompt_hg() {
|
||||
local rev status
|
||||
if $(hg id >/dev/null 2>&1); then
|
||||
if $(hg prompt >/dev/null 2>&1); then
|
||||
if [[ $(hg prompt "{status|unknown}") = "?" ]]; then
|
||||
# if files are not added
|
||||
prompt_segment red white
|
||||
st='±'
|
||||
elif [[ -n $(hg prompt "{status|modified}") ]]; then
|
||||
# if any modification
|
||||
prompt_segment yellow black
|
||||
st='±'
|
||||
else
|
||||
# if working copy is clean
|
||||
prompt_segment green black
|
||||
fi
|
||||
echo -n $(hg prompt "⭠ {rev}@{branch}") $st
|
||||
else
|
||||
st=""
|
||||
rev=$(hg id -n 2>/dev/null | sed 's/[^-0-9]//g')
|
||||
branch=$(hg id -b 2>/dev/null)
|
||||
if `hg st | grep -Eq "^\?"`; then
|
||||
prompt_segment red black
|
||||
st='±'
|
||||
elif `hg st | grep -Eq "^(M|A)"`; then
|
||||
prompt_segment yellow black
|
||||
st='±'
|
||||
else
|
||||
prompt_segment green black
|
||||
fi
|
||||
echo -n "⭠ $rev@$branch" $st
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# Dir: current working directory
|
||||
prompt_dir() {
|
||||
prompt_segment blue black '%~'
|
||||
|
|
@ -95,7 +130,7 @@ prompt_dir() {
|
|||
prompt_status() {
|
||||
local symbols
|
||||
symbols=()
|
||||
[[ $RETVAL -ne 0 ]] && symbols+="%{%F{red}%}$RETVAL"
|
||||
[[ $RETVAL -ne 0 ]] && symbols+="%{%F{red}%}✘"
|
||||
[[ $UID -eq 0 ]] && symbols+="%{%F{yellow}%}⚡"
|
||||
[[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="%{%F{cyan}%}⚙"
|
||||
|
||||
|
|
@ -109,6 +144,7 @@ build_prompt() {
|
|||
prompt_context
|
||||
prompt_dir
|
||||
prompt_git
|
||||
prompt_hg
|
||||
prompt_end
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -8,13 +8,23 @@ function _prompt_char() {
|
|||
fi
|
||||
}
|
||||
|
||||
# This theme works with both the "dark" and "light" variants of the
|
||||
# Solarized color schema. Set the SOLARIZED_THEME variable to one of
|
||||
# these two values to choose. If you don't specify, we'll assume you're
|
||||
# using the "dark" variant.
|
||||
|
||||
case ${SOLARIZED_THEME:-dark} in
|
||||
light) bkg=white;;
|
||||
*) bkg=black;;
|
||||
esac
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX=" [%{%B%F{blue}%}"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="%{%f%k%b%K{black}%B%F{green}%}]"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="%{%f%k%b%K{${bkg}}%B%F{green}%}]"
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY=" %{%F{red}%}*%{%f%k%b%}"
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
||||
|
||||
PROMPT='%{%f%k%b%}
|
||||
%{%K{black}%B%F{green}%}%n%{%B%F{blue}%}@%{%B%F{cyan}%}%m%{%B%F{green}%} %{%b%F{yellow}%K{black}%}%~%{%B%F{green}%}$(git_prompt_info)%E%{%f%k%b%}
|
||||
%{%K{black}%}$(_prompt_char)%{%K{black}%} %#%{%f%k%b%} '
|
||||
%{%K{${bkg}}%B%F{green}%}%n%{%B%F{blue}%}@%{%B%F{cyan}%}%m%{%B%F{green}%} %{%b%F{yellow}%K{${bkg}}%}%~%{%B%F{green}%}$(git_prompt_info)%E%{%f%k%b%}
|
||||
%{%K{${bkg}}%}$(_prompt_char)%{%K{${bkg}}%} %#%{%f%k%b%} '
|
||||
|
||||
RPROMPT='!%{%B%F{cyan}%}%!%{%f%k%b%}'
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ fi
|
|||
DALLAS_CURRENT_MACH_="%{$fg[green]%}%m%{$fg[white]%}:%{$reset_color%}"
|
||||
# Grab the current filepath, use shortcuts: ~/Desktop
|
||||
# Append the current git branch, if in a git repository: ~aw@master
|
||||
DALLAS_CURRENT_LOCA_="%{$fg[cyan]%}%~\$(git_prompt_info)%{$reset_color%}"
|
||||
DALLAS_CURRENT_LOCA_="%{$fg[cyan]%}%~\$(git_prompt_info)%{$reset_color%}\$(parse_git_dirty)"
|
||||
# Grab the current username: dallas
|
||||
DALLAS_CURRENT_USER_="%{$fg[red]%}%n%{$reset_color%}"
|
||||
# Use a % for normal users and a # for privelaged (root) users.
|
||||
|
|
|
|||
44
themes/michelebologna.zsh-theme
Normal file
44
themes/michelebologna.zsh-theme
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
# 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 `hostname`; 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="("
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX=""
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY=")$RED*"
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN=")"
|
||||
|
||||
# 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 [%@]'
|
||||
34
themes/ys.zsh-theme
Normal file
34
themes/ys.zsh-theme
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
# Clean, simple, compatible and meaningful.
|
||||
# Tested on Linux, Unix and Windows under ANSI colors.
|
||||
# It is recommended to use with a dark background and the font Inconsolata.
|
||||
# Colors: black, red, green, yellow, *blue, magenta, cyan, and white.
|
||||
#
|
||||
# http://ysmood.org/wp/2013/03/my-ys-terminal-theme/
|
||||
# Mar 2013 ys
|
||||
|
||||
# Machine name.
|
||||
function box_name {
|
||||
[ -f ~/.box-name ] && cat ~/.box-name || hostname -s
|
||||
}
|
||||
|
||||
# Directory info.
|
||||
local current_dir='${PWD/#$HOME/~}'
|
||||
|
||||
# Git info.
|
||||
local git_info='$(git_prompt_info)'
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[white]%}on%{$reset_color%} git:%{$fg[cyan]%}"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}x"
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN=" %{$fg[green]%}o"
|
||||
|
||||
# Prompt format: \n # USER at MACHINE in DIRECTORY on git:BRANCH STATE [TIME] \n $
|
||||
PROMPT="
|
||||
%{$terminfo[bold]$fg[blue]%}#%{$reset_color%} \
|
||||
%{$fg[cyan]%}%n \
|
||||
%{$fg[white]%}at \
|
||||
%{$fg[green]%}$(box_name) \
|
||||
%{$fg[white]%}in \
|
||||
%{$terminfo[bold]$fg[yellow]%}${current_dir}%{$reset_color%}\
|
||||
${git_info} \
|
||||
%{$fg[white]%}[%*]
|
||||
%{$terminfo[bold]$fg[red]%}$ %{$reset_color%}"
|
||||
Loading…
Add table
Add a link
Reference in a new issue