mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-01-02 02:19:06 +01:00
added my own theme
added my theme bail on linux bail on linux speed fix bug added my theme no git stat done, too slow added color to stderr minor changes to clolor for linux killed red git stuff is back! coproc for red stderr battery works! works on linux theme updates tweaks
This commit is contained in:
parent
11034217a7
commit
7285d78f1f
1 changed files with 151 additions and 0 deletions
151
themes/north.zsh-theme
Normal file
151
themes/north.zsh-theme
Normal file
|
|
@ -0,0 +1,151 @@
|
|||
autoload -U promptinit
|
||||
promptinit
|
||||
autoload -U colors; colors
|
||||
|
||||
case $USER in
|
||||
'root')
|
||||
export PS1="$PS1_NAME$PS1_TIME$PS1_PATH[0;31m# "
|
||||
local user_prompt="%B$fg[red]%b%% "
|
||||
;;
|
||||
|
||||
*)
|
||||
local user_prompt="%B$fg[magenta]%b%% "
|
||||
;;
|
||||
esac
|
||||
|
||||
local HOST_STRING="$fg[green]`hostname`"
|
||||
local blue_ob="%{%B$fg[blue]%}[%{$reset_color%}%b"
|
||||
local blue_cb="%{%B$fg[blue]%}]%{$reset_color%}%b"
|
||||
local blue_op="%{%B$fg[blue]%}(%{$reset_color%}%b"
|
||||
local blue_cp="%{%B$fg[blue]%})%{$reset_color%}%b"
|
||||
local path_p="${blue_ob}$fg[red]%~${blue_cb}"
|
||||
local user_host="${blue_ob}${HOST_STRING}$fg[magenta]@$fg[green]%m${blue_cb}"
|
||||
local ret_status="${blue_ob}$fg[yellow]ret:%?${blue_cb}"
|
||||
local hist_no="${blue_ob}$fg[yellow]hist:%h${blue_cb}"
|
||||
local panic="${blue_ob}%(?,%{$fg[green]%}%BDON'T PANIC%b%{$reset_color%},%{$fg[red]%}>> PANIC <<%{$reset_color%})${blue_cb}"
|
||||
local smiley="%(?,%{$fg[green]%}:%)%{$reset_color%},%{$fg[red]%}:(%{$reset_color%})"
|
||||
|
||||
|
||||
function collapse_pwd {
|
||||
echo $(pwd | sed -e "s,^$HOME,~,")
|
||||
}
|
||||
|
||||
function prompt_char {
|
||||
git branch >/dev/null 2>/dev/null && echo "${fg[red]}git ∓∓∓${reset_color}" && return
|
||||
# hg root >/dev/null 2>/dev/null && echo "${fg[red]}hg ☿${reset_color}" && return
|
||||
# svn info >/dev/null 2>/dev/null && echo "${fg[red]}svn s${reset_color}" && return
|
||||
echo "${fg[blue]}○${reset_color}"
|
||||
}
|
||||
|
||||
function battery_charge {
|
||||
[[ ! ($1 == "arrows" || $1 == "steps") ]] && print "usage $0 arrows|steps [opt: CurrentCapacity]" && exit
|
||||
[[ -e /usr/bin/pmset ]] || return
|
||||
|
||||
s=`pmset -g ps`
|
||||
# "Currently drawing from 'AC Power'"
|
||||
# "-InternalBattery-0 54%; charging; 0:51 remaining"
|
||||
|
||||
[[ -z $s ]] && return
|
||||
[[ -z $1 && -z $2 ]] && return
|
||||
[[ $1 == 'arrows' ]] && base=10
|
||||
[[ $1 == 'steps' ]] && base=8
|
||||
|
||||
[[ ! -z $2 ]] && cur=$2
|
||||
|
||||
percent=`pmset -g batt | awk '/-InternalBattery-0/ {print $2}'`
|
||||
percent=${percent%%%*}
|
||||
|
||||
fuel=$(( $percent / $base ))
|
||||
# fuel=`echo "scale=1; $percent/$base" | bc -q`
|
||||
|
||||
# color=""
|
||||
# if [[ $fuel -ge 9 ]]; then
|
||||
# #full
|
||||
# color="$terminfo[bold]$fg[green]"
|
||||
# elif [[ $fuel -ge 8 ]]; then
|
||||
# #good
|
||||
# color="$fg[green]"
|
||||
# elif [[ $fuel -ge 5 ]]; then
|
||||
# #ok
|
||||
# color="$fg[orange]"
|
||||
# elif [[ $fuel -ge 3 ]]; then
|
||||
# #low
|
||||
# color="$terminfo[bold]$fg[yellow]"
|
||||
# elif [[ $fuel -ge 1 ]]; then
|
||||
# #bad
|
||||
# color="$fg[red]"
|
||||
# fi
|
||||
|
||||
if [[ $1 == arrows ]]; then
|
||||
full='▶'
|
||||
part='▷'
|
||||
display=""
|
||||
for (( i = 1; i <= $fuel; i++ )); do
|
||||
display=$display$full
|
||||
done
|
||||
for (( i = $fuel; i < 10; i++ )); do
|
||||
display=$display$part
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ $1 == steps ]]; then
|
||||
level="▁▂▃▄▅▆▇▉"
|
||||
for (( i = 1; i <= $fuel; i++ )); do
|
||||
display=$display$level[$i]
|
||||
done
|
||||
for (( i = $fuel; i < 8; i++ )); do
|
||||
display=" "$display
|
||||
done
|
||||
fi
|
||||
|
||||
print "${display}"
|
||||
}
|
||||
|
||||
function virtualenv_info {
|
||||
[ $VIRTUAL_ENV ] && echo "${blue_op}$fg[magenta]"`basename $VIRTUAL_ENV`"$fg[reset]${blue_cp}─"
|
||||
}
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%}!"
|
||||
ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[green]%}?"
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
||||
|
||||
function hg_prompt_info() {
|
||||
hg prompt --angle-brackets "\
|
||||
< on %{$fg[magenta]%}<branch>%{$reset_color%}>\
|
||||
< at %{$fg[yellow]%}<tags|%{$reset_color%}, %{$fg[yellow]%}>%{$reset_color%}>\
|
||||
%{$fg[green]%}<status|modified|unknown><update>%{$reset_color%}<
|
||||
patches: <patches|join( → )|pre_applied(%{$fg[yellow]%})|post_applied(%{$reset_color%})|pre_unapplied(%{$fg_bold[black]%})|post_unapplied(%{$reset_color%})>>" 2>/dev/null
|
||||
}
|
||||
|
||||
|
||||
function parse_git_dirty2() {
|
||||
gitstat=$(git status -u 2>/dev/null | grep '\(# Untracked\|# Changes\|# Changed but not updated:\)'&)
|
||||
if [[ $(echo ${gitstat} | grep -c "^# Changes to be committed:$") > 0 ]]; then
|
||||
echo -n "$ZSH_THEME_GIT_PROMPT_DIRTY"
|
||||
fi
|
||||
if [[ $(echo ${gitstat} | grep -c "^\(# Untracked files:\|# Changed but not updated:\)$") > 0 ]]; then
|
||||
echo -n "$ZSH_THEME_GIT_PROMPT_UNTRACKED"
|
||||
fi
|
||||
if [[ $(echo ${gitstat} | grep -v '^$' | wc -l | tr -d ' ') == 0 ]]; then
|
||||
echo -n "$ZSH_THEME_GIT_PROMPT_CLEAN"
|
||||
fi
|
||||
}
|
||||
|
||||
# get the name of the branch we are on
|
||||
function git_prompt_info2() {
|
||||
ref=$(git symbolic-ref HEAD 2> /dev/null) || return
|
||||
branch=${ref#refs/heads/}
|
||||
sha=$(git rev-parse --short ${branch})
|
||||
echo "$ZSH_THEME_GIT_PROMPT_PREFIX${branch}%{$fg[green]%}@%{$fg[magenta]%}${sha}$ZSH_THEME_GIT_PROMPT_SUFFIX$(parse_git_dirty2)"
|
||||
}
|
||||
|
||||
PROMPT='╭─$(virtualenv_info)$(prompt_char)$(git_prompt_info2)─${user_host}─${path_p}─${panic}-${ret_status}─${hist_no}
|
||||
╰─${blue_ob}${smiley}${blue_cb}${user_color}─> ⚡ '
|
||||
PROMPT2='${blue_ob}$_${blue_cb}> '
|
||||
|
||||
# righthand side
|
||||
|
||||
RPROMPT='$(battery_charge arrows)'
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue