mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-30 14:24:16 +08:00
Merge branch 'master' of http://github.com/robbyrussell/oh-my-zsh
This commit is contained in:
commit
3e260a9ef6
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1,5 +1,5 @@
|
||||||
locals.zsh
|
locals.zsh
|
||||||
log/.zsh_history
|
log/.zsh_history
|
||||||
projects.zsh
|
projects.zsh
|
||||||
custom/*.zsh
|
custom/*
|
||||||
!custom/example.zsh
|
!custom/example.zsh
|
|
@ -21,3 +21,5 @@ alias ll='ls -l'
|
||||||
alias sl=ls # often screw this up
|
alias sl=ls # often screw this up
|
||||||
|
|
||||||
alias afind='ack-grep -il'
|
alias afind='ack-grep -il'
|
||||||
|
|
||||||
|
alias x=extract
|
||||||
|
|
|
@ -34,5 +34,3 @@ ZSH_THEME_GIT_PROMPT_CLEAN="" # Text to display if the branch is c
|
||||||
# Setup the prompt with pretty colors
|
# Setup the prompt with pretty colors
|
||||||
setopt prompt_subst
|
setopt prompt_subst
|
||||||
|
|
||||||
# Load the theme
|
|
||||||
source "$ZSH/themes/$ZSH_THEME.zsh-theme"
|
|
|
@ -34,9 +34,31 @@ zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm
|
||||||
zstyle ':completion:*:cd:*' tag-order local-directories directory-stack path-directories
|
zstyle ':completion:*:cd:*' tag-order local-directories directory-stack path-directories
|
||||||
cdpath=(.)
|
cdpath=(.)
|
||||||
|
|
||||||
|
# use /etc/hosts and known_hosts for hostname completion
|
||||||
|
[ -r ~/.ssh/known_hosts ] && _ssh_hosts=(${${${${(f)"$(<$HOME/.ssh/known_hosts)"}:#[\|]*}%%\ *}%%,*}) || _ssh_hosts=()
|
||||||
|
[ -r /etc/hosts ] && : ${(A)_etc_hosts:=${(s: :)${(ps:\t:)${${(f)~~"$(</etc/hosts)"}%%\#*}##[:blank:]#[^[:blank:]]#}}} || _etc_hosts=()
|
||||||
|
hosts=(
|
||||||
|
"$_ssh_hosts[@]"
|
||||||
|
"$_etc_hosts[@]"
|
||||||
|
`hostname`
|
||||||
|
localhost
|
||||||
|
)
|
||||||
|
zstyle ':completion:*:hosts' hosts $hosts
|
||||||
|
|
||||||
|
# Use caching so that commands like apt and dpkg complete are useable
|
||||||
|
zstyle ':completion::complete:*' use-cache 1
|
||||||
|
zstyle ':completion::complete:*' cache-path ~/.oh-my-zsh/cache/
|
||||||
|
|
||||||
|
# Don't complete uninteresting users
|
||||||
|
zstyle ':completion:*:*:*:users' ignored-patterns \
|
||||||
|
adm amanda apache avahi beaglidx bin cacti canna clamav daemon \
|
||||||
|
dbus distcache dovecot fax ftp games gdm gkrellmd gopher \
|
||||||
|
hacluster haldaemon halt hsqldb ident junkbust ldap lp mail \
|
||||||
|
mailman mailnull mldonkey mysql nagios \
|
||||||
|
named netdump news nfsnobody nobody nscd ntp nut nx openvpn \
|
||||||
|
operator pcap postfix postgres privoxy pulse pvm quagga radvd \
|
||||||
|
rpc rpcuser rpm shutdown squid sshd sync uucp vcsa xfs
|
||||||
|
|
||||||
|
# ... unless we really want to.
|
||||||
|
zstyle '*' single-ignored show
|
||||||
|
|
||||||
# Load known hosts file for auto-completion with ssh and scp commands
|
|
||||||
if [ -f ~/.ssh/known_hosts ]; then
|
|
||||||
zstyle ':completion:*' hosts $( sed 's/[, ].*$//' $HOME/.ssh/known_hosts )
|
|
||||||
zstyle ':completion:*:*:(ssh|scp):*:*' hosts `sed 's/^\([^ ,]*\).*$/\1/' ~/.ssh/known_hosts`
|
|
||||||
fi
|
|
||||||
|
|
|
@ -36,5 +36,9 @@ cd () {
|
||||||
|
|
||||||
alias md='mkdir -p'
|
alias md='mkdir -p'
|
||||||
alias rd=rmdir
|
alias rd=rmdir
|
||||||
|
|
||||||
alias d='dirs -v'
|
alias d='dirs -v'
|
||||||
|
|
||||||
|
# mkdir & cd to it
|
||||||
|
function mcd() {
|
||||||
|
mkdir -p "$1" && cd "$1";
|
||||||
|
}
|
|
@ -37,3 +37,39 @@ function take() {
|
||||||
mkdir -p $1
|
mkdir -p $1
|
||||||
cd $1
|
cd $1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function extract() {
|
||||||
|
unset REMOVE_ARCHIVE
|
||||||
|
|
||||||
|
if test "$1" = "-r"; then
|
||||||
|
REMOVE=1
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
if [[ -f $1 ]]; then
|
||||||
|
case $1 in
|
||||||
|
*.tar.bz2) tar xvjf $1;;
|
||||||
|
*.tar.gz) tar xvzf $1;;
|
||||||
|
*.tar.xz) tar xvJf $1;;
|
||||||
|
*.tar.lzma) tar --lzma -xvf $1;;
|
||||||
|
*.bz2) bunzip $1;;
|
||||||
|
*.rar) unrar $1;;
|
||||||
|
*.gz) gunzip $1;;
|
||||||
|
*.tar) tar xvf $1;;
|
||||||
|
*.tbz2) tar xvjf $1;;
|
||||||
|
*.tgz) tar xvzf $1;;
|
||||||
|
*.zip) unzip $1;;
|
||||||
|
*.Z) uncompress $1;;
|
||||||
|
*.7z) 7z x $1;;
|
||||||
|
*) echo "'$1' cannot be extracted via >extract<";;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [[ $REMOVE_ARCHIVE -eq 1 ]]; then
|
||||||
|
echo removing "$1";
|
||||||
|
/bin/rm "$1";
|
||||||
|
fi
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "'$1' is not a valid file"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,9 @@ for config_file ($ZSH/custom/*.zsh) source $config_file
|
||||||
plugin=${plugin:=()}
|
plugin=${plugin:=()}
|
||||||
for plugin ($plugins) source $ZSH/plugins/$plugin/$plugin.plugin.zsh
|
for plugin ($plugins) source $ZSH/plugins/$plugin/$plugin.plugin.zsh
|
||||||
|
|
||||||
|
# Load the theme
|
||||||
|
source "$ZSH/themes/$ZSH_THEME.zsh-theme"
|
||||||
|
|
||||||
# Check for updates on initial load...
|
# Check for updates on initial load...
|
||||||
if [ "$DISABLE_AUTO_UPDATE" = "true" ]
|
if [ "$DISABLE_AUTO_UPDATE" = "true" ]
|
||||||
then
|
then
|
||||||
|
|
5
plugins/command-not-found/command-not-found.plugin.zsh
Normal file
5
plugins/command-not-found/command-not-found.plugin.zsh
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# Uses the command-not-found package zsh support
|
||||||
|
# as seen in http://www.porcheron.info/command-not-found-for-zsh/
|
||||||
|
# this is installed in Ubuntu
|
||||||
|
|
||||||
|
source /etc/zsh_command_not_found
|
|
@ -1,4 +1,4 @@
|
||||||
# add brew completion function to path
|
# add gem completion function to path
|
||||||
fpath=($ZSH/plugins/gem $fpath)
|
fpath=($ZSH/plugins/gem $fpath)
|
||||||
autoload -U compinit
|
autoload -U compinit
|
||||||
compinit -i
|
compinit -i
|
||||||
|
|
|
@ -8,6 +8,7 @@ alias gd='git diff | mate'
|
||||||
alias gdv='git diff -w "$@" | vim -R -'
|
alias gdv='git diff -w "$@" | vim -R -'
|
||||||
alias gc='git commit -v'
|
alias gc='git commit -v'
|
||||||
alias gca='git commit -v -a'
|
alias gca='git commit -v -a'
|
||||||
|
alias gco='git checkout'
|
||||||
alias gb='git branch'
|
alias gb='git branch'
|
||||||
alias gba='git branch -a'
|
alias gba='git branch -a'
|
||||||
alias gcount='git shortlog -sn'
|
alias gcount='git shortlog -sn'
|
||||||
|
@ -26,7 +27,7 @@ function current_branch() {
|
||||||
echo ${ref#refs/heads/}
|
echo ${ref#refs/heads/}
|
||||||
}
|
}
|
||||||
|
|
||||||
# these aliases take advangate of the previous function
|
# these aliases take advantage of the previous function
|
||||||
alias ggpull='git pull origin $(current_branch)'
|
alias ggpull='git pull origin $(current_branch)'
|
||||||
alias ggpush='git push origin $(current_branch)'
|
alias ggpush='git push origin $(current_branch)'
|
||||||
alias ggpnp='git pull origin $(current_branch) && git push origin $(current_branch)'
|
alias ggpnp='git pull origin $(current_branch) && git push origin $(current_branch)'
|
|
@ -4,7 +4,7 @@
|
||||||
# Example usage: http://screencast.com/t/ZDgwNDUwNT
|
# Example usage: http://screencast.com/t/ZDgwNDUwNT
|
||||||
open_lighthouse_ticket () {
|
open_lighthouse_ticket () {
|
||||||
if [ ! -f .lighthouse-url ]; then
|
if [ ! -f .lighthouse-url ]; then
|
||||||
echo "There is no .lighthouse file in the current directory..."
|
echo "There is no .lighthouse-url file in the current directory..."
|
||||||
return 0;
|
return 0;
|
||||||
else
|
else
|
||||||
lighthouse_url=$(cat .lighthouse-url);
|
lighthouse_url=$(cat .lighthouse-url);
|
||||||
|
|
20
plugins/phing/phing.plugin.zsh
Normal file
20
plugins/phing/phing.plugin.zsh
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
_phing_does_target_list_need_generating () {
|
||||||
|
if [ ! -f .phing_targets ]; then return 0;
|
||||||
|
else
|
||||||
|
accurate=$(stat -f%m .phing_targets)
|
||||||
|
changed=$(stat -f%m build.xml)
|
||||||
|
return $(expr $accurate '>=' $changed)
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
_phing () {
|
||||||
|
if [ -f build.xml ]; then
|
||||||
|
if _phing_does_target_list_need_generating; then
|
||||||
|
echo "\nGenerating .phing_targets..." > /dev/stderr
|
||||||
|
phing -l |grep -v ":" |grep -v "^$"|grep -v "\-" > .phing_targets
|
||||||
|
fi
|
||||||
|
compadd `cat .phing_targets`
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
compdef _phing phing
|
8
plugins/rails3/rails3.plugin.zsh
Normal file
8
plugins/rails3/rails3.plugin.zsh
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
alias rs='ruby script/rails server'
|
||||||
|
alias rg='ruby script/rails generate'
|
||||||
|
alias rd='ruby script/rails destroy'
|
||||||
|
alias rp='ruby script/rails plugin'
|
||||||
|
alias rdbm='rake db:migrate db:test:clone'
|
||||||
|
alias rc='ruby script/rails console'
|
||||||
|
alias rd='ruby script/rais server --debugger'
|
||||||
|
alias devlog='tail -f log/development.log'
|
42
plugins/svn/svn.plugin.zsh
Normal file
42
plugins/svn/svn.plugin.zsh
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
function svn_prompt_info {
|
||||||
|
if [[ -d .svn ]]; then
|
||||||
|
echo "$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_PREFIX\
|
||||||
|
$ZSH_THEME_REPO_NAME_COLOR$(svn_get_repo_name)$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_SUFFIX$ZSH_PROMPT_BASE_COLOR$(svn_dirty)$ZSH_PROMPT_BASE_COLOR"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function in_svn() {
|
||||||
|
if [[ -d .svn ]]; then
|
||||||
|
echo 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function svn_get_repo_name {
|
||||||
|
if [ is_svn ]; then
|
||||||
|
svn info | sed -n 's/Repository\ Root:\ .*\///p' | read SVN_ROOT
|
||||||
|
|
||||||
|
svn info | sed -n "s/URL:\ .*$SVN_ROOT\///p" | sed "s/\/.*$//"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function svn_get_rev_nr {
|
||||||
|
if [ is_svn ]; then
|
||||||
|
svn info 2> /dev/null | sed -n s/Revision:\ //p
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function svn_dirty_choose {
|
||||||
|
if [ is_svn ]; then
|
||||||
|
s=$(svn status 2>/dev/null)
|
||||||
|
if [ $s ]; then
|
||||||
|
echo $1
|
||||||
|
else
|
||||||
|
echo $2
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function svn_dirty {
|
||||||
|
svn_dirty_choose $ZSH_THEME_SVN_PROMPT_DIRTY $ZSH_THEME_SVN_PROMPT_CLEAN
|
||||||
|
}
|
104
plugins/vagrant/_vagrant
Normal file
104
plugins/vagrant/_vagrant
Normal file
|
@ -0,0 +1,104 @@
|
||||||
|
#compdef vagrant
|
||||||
|
#autoload
|
||||||
|
|
||||||
|
# vagrant zsh completion
|
||||||
|
|
||||||
|
local -a _1st_arguments
|
||||||
|
_1st_arguments=(
|
||||||
|
'box:Box commands'
|
||||||
|
'destroy:Destroys the vagrant environment'
|
||||||
|
'halt:Halts the currently running vagrant environment'
|
||||||
|
'help:[TASK] Describe available tasks or one specific task'
|
||||||
|
'init:[box_name] [box_url] Initializes current folder for Vagrant usage'
|
||||||
|
'package:Packages a vagrant environment for distribution'
|
||||||
|
'provision:Run the provisioner'
|
||||||
|
'reload:Reload the vagrant environment'
|
||||||
|
'resume:Resumes a suspend vagrant environment'
|
||||||
|
'ssh:SSH into the currently running environment'
|
||||||
|
'ssh_config:outputs .ssh/config valid syntax for connecting to this environment via ssh.'
|
||||||
|
'status:Shows the status of the current Vagrant environment.'
|
||||||
|
'suspend:Suspends the currently running vagrant environment'
|
||||||
|
'up:Creates the vagrant environment'
|
||||||
|
'version:Prints the Vagrant version information'
|
||||||
|
)
|
||||||
|
|
||||||
|
local -a _box_arguments
|
||||||
|
_box_arguments=(
|
||||||
|
'add:NAME URI Add a box to the system'
|
||||||
|
'help:COMMAND Describe subcommands or one specific subcommand'
|
||||||
|
'list:Lists all installed boxes'
|
||||||
|
'remove:NAME Remove a box from the system'
|
||||||
|
'repackage:NAME Repackage an installed box into a `.box` file.'
|
||||||
|
)
|
||||||
|
|
||||||
|
__task_list ()
|
||||||
|
{
|
||||||
|
local expl
|
||||||
|
declare -a tasks
|
||||||
|
|
||||||
|
tasks=(box destroy halt init package provision reload resume ssh ssh_config status suspend up version)
|
||||||
|
|
||||||
|
_wanted tasks expl 'help' compadd $tasks
|
||||||
|
}
|
||||||
|
|
||||||
|
__box_list ()
|
||||||
|
{
|
||||||
|
_wanted application expl 'command' compadd $(command ls -1 $HOME/.vagrant/boxes 2>/dev/null| sed -e 's/ /\\ /g')
|
||||||
|
}
|
||||||
|
|
||||||
|
__vagrant-box ()
|
||||||
|
{
|
||||||
|
local curcontext="$curcontext" state line
|
||||||
|
typeset -A opt_args
|
||||||
|
|
||||||
|
_arguments -C \
|
||||||
|
':command:->command' \
|
||||||
|
'*::options:->options'
|
||||||
|
|
||||||
|
case $state in
|
||||||
|
(command)
|
||||||
|
_describe -t commands "gem subcommand" _box_arguments
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
|
||||||
|
(options)
|
||||||
|
case $line[1] in
|
||||||
|
(repackage|remove)
|
||||||
|
_arguments ':feature:__box_list'
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
local expl
|
||||||
|
local -a boxes installed_boxes
|
||||||
|
|
||||||
|
local curcontext="$curcontext" state line
|
||||||
|
typeset -A opt_args
|
||||||
|
|
||||||
|
_arguments -C \
|
||||||
|
':command:->command' \
|
||||||
|
'*::options:->options'
|
||||||
|
|
||||||
|
case $state in
|
||||||
|
(command)
|
||||||
|
_describe -t commands "gem subcommand" _1st_arguments
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
|
||||||
|
(options)
|
||||||
|
case $line[1] in
|
||||||
|
(help)
|
||||||
|
_arguments ':feature:__task_list'
|
||||||
|
;;
|
||||||
|
|
||||||
|
(box)
|
||||||
|
__vagrant-box
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
3
plugins/vagrant/vagrant.plugin.zsh
Normal file
3
plugins/vagrant/vagrant.plugin.zsh
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
fpath=($ZSH/plugins/vagrant $fpath)
|
||||||
|
autoload -U compinit
|
||||||
|
compinit -i
|
|
@ -1,4 +1,4 @@
|
||||||
if [ "$(whoami)" = "root" ]; then CARETCOLOR="red"; else CARETCOLOR="blue"; fi
|
if [ $UID -eq 0 ]; then CARETCOLOR="red"; else CARETCOLOR="blue"; fi
|
||||||
|
|
||||||
local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
|
local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
if [ "$(whoami)" = "root" ]; then NCOLOR="red"; else NCOLOR="yellow"; fi
|
if [ $UID -eq 0 ]; then NCOLOR="red"; else NCOLOR="yellow"; fi
|
||||||
|
|
||||||
PROMPT='%{$fg[$NCOLOR]%}%c ➤ %{$reset_color%}'
|
PROMPT='%{$fg[$NCOLOR]%}%c ➤ %{$reset_color%}'
|
||||||
RPROMPT='%{$fg[$NCOLOR]%}%p $(git_prompt_info)%{$reset_color%}'
|
RPROMPT='%{$fg[$NCOLOR]%}%p $(git_prompt_info)%{$reset_color%}'
|
||||||
|
|
18
themes/awesomepanda.zsh-theme
Normal file
18
themes/awesomepanda.zsh-theme
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# the svn plugin has to be activated for this to work.
|
||||||
|
|
||||||
|
PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%}$(svn_prompt_info)%{$reset_color%}'
|
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}"
|
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
|
||||||
|
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%})%{$fg[yellow]%} ✗ %{$reset_color%}"
|
||||||
|
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%}) "
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ZSH_PROMPT_BASE_COLOR="%{$fg_bold[blue]%}"
|
||||||
|
ZSH_THEME_REPO_NAME_COLOR="%{$fg_bold[red]%}"
|
||||||
|
|
||||||
|
ZSH_THEME_SVN_PROMPT_PREFIX="svn:("
|
||||||
|
ZSH_THEME_SVN_PROMPT_SUFFIX=")"
|
||||||
|
ZSH_THEME_SVN_PROMPT_DIRTY="%{$fg[red]%} ✘ %{$reset_color%}"
|
||||||
|
ZSH_THEME_SVN_PROMPT_CLEAN=" "
|
14
themes/bira.zsh-theme
Normal file
14
themes/bira.zsh-theme
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
# ZSH Theme - Preview: http://gyazo.com/8becc8a7ed5ab54a0262a470555c3eed.png
|
||||||
|
local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
|
||||||
|
|
||||||
|
local user_host='%{$terminfo[bold]$fg[green]%}%n@%m%{$reset_color%}'
|
||||||
|
local current_dir='%{$terminfo[bold]$fg[blue]%} %~%{$reset_color%}'
|
||||||
|
local rvm_ruby='%{$fg[red]%}‹$(~/.rvm/bin/rvm-prompt i v g)›%{$reset_color%}'
|
||||||
|
local git_branch='$(git_prompt_info)%{$reset_color%}'
|
||||||
|
|
||||||
|
PROMPT="╭─${user_host} ${current_dir} ${rvm_ruby} ${git_branch}
|
||||||
|
╰─%B$%b "
|
||||||
|
RPS1="${return_code}"
|
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}‹"
|
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}"
|
|
@ -1,4 +1,4 @@
|
||||||
if [ "$(whoami)" = "root" ]; then NCOLOR="red"; else NCOLOR="white"; fi
|
if [ $UID -eq 0 ]; then NCOLOR="red"; else NCOLOR="white"; fi
|
||||||
|
|
||||||
PROMPT='%{$fg[$NCOLOR]%}%B%n%b%{$reset_color%}:%{$fg[blue]%}%B%c/%b%{$reset_color%} $(git_prompt_info)%(!.#.$) '
|
PROMPT='%{$fg[$NCOLOR]%}%B%n%b%{$reset_color%}:%{$fg[blue]%}%B%c/%b%{$reset_color%} $(git_prompt_info)%(!.#.$) '
|
||||||
RPROMPT='[%*]'
|
RPROMPT='[%*]'
|
||||||
|
|
56
themes/dieter.zsh-theme
Normal file
56
themes/dieter.zsh-theme
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
# the idea of this theme is to contain a lot of info in a small string, by
|
||||||
|
# compressing some parts and colorcoding, which bring useful visual cues,
|
||||||
|
# while limiting the amount of colors and such to keep it easy on the eyes.
|
||||||
|
# When a command exited >0, the timestamp will be in red and the exit code
|
||||||
|
# will be on the right edge.
|
||||||
|
# The exit code visual cues will only display once.
|
||||||
|
# (i.e. they will be reset, even if you hit enter a few times on empty command prompts)
|
||||||
|
|
||||||
|
typeset -A host_repr
|
||||||
|
|
||||||
|
# translate hostnames into shortened, colorcoded strings
|
||||||
|
host_repr=('dieter-ws-a7n8x-arch' "%{$fg_bold[green]%}ws" 'dieter-p4sci-arch' "%{$fg_bold[blue]%}p4")
|
||||||
|
|
||||||
|
# local time, color coded by last return code
|
||||||
|
time_enabled="%(?.%{$fg[green]%}.%{$fg[red]%})%*%{$reset_color%}"
|
||||||
|
time_disabled="%{$fg[green]%}%*%{$reset_color%}"
|
||||||
|
time=$time_enabled
|
||||||
|
|
||||||
|
# user part, color coded by privileges
|
||||||
|
local user="%(!.%{$fg[blue]%}.%{$fg[blue]%})%n%{$reset_color%}"
|
||||||
|
|
||||||
|
# Hostname part. compressed and colorcoded per host_repr array
|
||||||
|
# if not found, regular hostname in default color
|
||||||
|
local host="@${host_repr[$(hostname)]:-$(hostname)}%{$reset_color%}"
|
||||||
|
|
||||||
|
# Compacted $PWD
|
||||||
|
local pwd="%{$fg[blue]%}%c%{$reset_color%}"
|
||||||
|
|
||||||
|
PROMPT='${time} ${user}${host} ${pwd} $(git_prompt_info)'
|
||||||
|
|
||||||
|
# i would prefer 1 icon that shows the "most drastic" deviation from HEAD,
|
||||||
|
# but lets see how this works out
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}"
|
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} "
|
||||||
|
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%} %{$fg[yellow]%}?%{$fg[green]%}%{$reset_color%}"
|
||||||
|
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[green]%}"
|
||||||
|
|
||||||
|
# elaborate exitcode on the right when >0
|
||||||
|
return_code_enabled="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
|
||||||
|
return_code_disabled=
|
||||||
|
return_code=$return_code_enabled
|
||||||
|
|
||||||
|
RPS1='${return_code}'
|
||||||
|
|
||||||
|
function accept-line-or-clear-warning () {
|
||||||
|
if [[ -z $BUFFER ]]; then
|
||||||
|
time=$time_disabled
|
||||||
|
return_code=$return_code_disabled
|
||||||
|
else
|
||||||
|
time=$time_enabled
|
||||||
|
return_code=$return_code_enabled
|
||||||
|
fi
|
||||||
|
zle accept-line
|
||||||
|
}
|
||||||
|
zle -N accept-line-or-clear-warning
|
||||||
|
bindkey '^M' accept-line-or-clear-warning
|
|
@ -5,7 +5,7 @@ ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}!"
|
||||||
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
||||||
|
|
||||||
function prompt_char {
|
function prompt_char {
|
||||||
if [ "$(whoami)" = "root" ]; then echo "%{$fg[red]%}#%{$reset_color%}"; else echo $; fi
|
if [ $UID -eq 0 ]; then echo "%{$fg[red]%}#%{$reset_color%}"; else echo $; fi
|
||||||
}
|
}
|
||||||
|
|
||||||
PROMPT='%(?, ,%{$fg[red]%}FAIL%{$reset_color%}
|
PROMPT='%(?, ,%{$fg[red]%}FAIL%{$reset_color%}
|
||||||
|
|
9
themes/fishy.zsh-theme
Normal file
9
themes/fishy.zsh-theme
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
# ZSH Theme emulating the Fish shell's default prompt.
|
||||||
|
|
||||||
|
local user_color='green'; [ $UID -eq 0 ] && user_color='red'
|
||||||
|
PROMPT='%n@%m %{$fg[$user_color]%}%~%{$reset_color%}%(!.#.>) '
|
||||||
|
PROMPT2='%{$fg[red]%}\ %{$reset_color%}'
|
||||||
|
RPS1='%(?..%{$fg[red]%}%? ↵%{$reset_color%})$(git_prompt_info)'
|
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[cyan]%}"
|
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
|
19
themes/flazz.zsh-theme
Normal file
19
themes/flazz.zsh-theme
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
if [ "$(whoami)" = "root" ]
|
||||||
|
then CARETCOLOR="red"
|
||||||
|
else CARETCOLOR="blue"
|
||||||
|
fi
|
||||||
|
|
||||||
|
local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
|
||||||
|
|
||||||
|
PROMPT='%m%{${fg_bold[magenta]}%} :: %{$reset_color%}%{${fg[green]}%}%3~ $(git_prompt_info)%{${fg_bold[$CARETCOLOR]}%}%#%{${reset_color}%} '
|
||||||
|
|
||||||
|
RPS1='$(vi_mode_prompt_info) ${return_code}'
|
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[cyan]%}‹"
|
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}"
|
||||||
|
|
||||||
|
MODE_INDICATOR="%{$fg_bold[magenta]%}<%{$reset_color%}%{$fg[magenta]%}<<%{$reset_color%}"
|
||||||
|
|
||||||
|
# TODO use 265 colors
|
||||||
|
#MODE_INDICATOR="$FX[bold]$FG[020]<$FX[no_bold]%{$fg[blue]%}<<%{$reset_color%}"
|
||||||
|
# TODO use two lines if git
|
4
themes/gentoo.zsh-theme
Normal file
4
themes/gentoo.zsh-theme
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
PROMPT='%(!.%{$fg_bold[red]%}.%{$fg_bold[green]%}%n@)%m %{$fg_bold[blue]%}%(!.%1~.%~) $(git_prompt_info)%#%{$reset_color%} '
|
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX="("
|
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX=") "
|
|
@ -1,6 +1,6 @@
|
||||||
# ZSH Theme - Preview: http://dl.dropbox.com/u/1552408/Screenshots/2010-04-08-oh-my-zsh.png
|
# ZSH Theme - Preview: http://dl.dropbox.com/u/1552408/Screenshots/2010-04-08-oh-my-zsh.png
|
||||||
|
|
||||||
if [ "$(whoami)" = "root" ]; then NCOLOR="red"; else NCOLOR="green"; fi
|
if [ $UID -eq 0 ]; then NCOLOR="red"; else NCOLOR="green"; fi
|
||||||
local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
|
local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
|
||||||
|
|
||||||
PROMPT='%{$fg[$NCOLOR]%}%n%{$fg[green]%}@%m%{$reset_color%} %~ \
|
PROMPT='%{$fg[$NCOLOR]%}%n%{$fg[green]%}@%m%{$reset_color%} %~ \
|
||||||
|
|
12
themes/kardan.zsh-theme
Normal file
12
themes/kardan.zsh-theme
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
# Simple theme based on my old zsh settings.
|
||||||
|
|
||||||
|
function get_host {
|
||||||
|
echo '@'`hostname`''
|
||||||
|
}
|
||||||
|
|
||||||
|
PROMPT='> '
|
||||||
|
RPROMPT='%~$(git_prompt_info)$(get_host)'
|
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[yellow]%}✗%{$reset_color%}"
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX="("
|
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX=")"
|
6
themes/lambda.zsh-theme
Normal file
6
themes/lambda.zsh-theme
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# ZSH Theme - Preview: http://cl.ly/350F0F0k1M2y3A2i3p1S
|
||||||
|
|
||||||
|
PROMPT='λ %~/ $(git_prompt_info)%{$reset_color%}'
|
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[green]%}"
|
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} "
|
|
@ -1,4 +1,4 @@
|
||||||
if [ "$(whoami)" = "root" ]; then NCOLOR="red"; else NCOLOR="green"; fi
|
if [ $UID -eq 0 ]; then NCOLOR="red"; else NCOLOR="green"; fi
|
||||||
|
|
||||||
PROMPT='%{$fg[$NCOLOR]%}%B%n%b%{$reset_color%}:%{$fg[blue]%}%B%c/%b%{$reset_color%} $(git_prompt_info)%(!.#.$) '
|
PROMPT='%{$fg[$NCOLOR]%}%B%n%b%{$reset_color%}:%{$fg[blue]%}%B%c/%b%{$reset_color%} $(git_prompt_info)%(!.#.$) '
|
||||||
RPROMPT='[%*]'
|
RPROMPT='[%*]'
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
if [ "$(whoami)" = "root" ]; then NCOLOR="red"; else NCOLOR="green"; fi
|
if [ $UID -eq 0 ]; then NCOLOR="red"; else NCOLOR="green"; fi
|
||||||
|
|
||||||
PROMPT='
|
PROMPT='
|
||||||
%{$fg[$NCOLOR]%}%B%n@%m%b%{$reset_color%} %{$fg[white]%}%B${PWD/#$HOME/~}%b%{$reset_color%}
|
%{$fg[$NCOLOR]%}%B%n@%m%b%{$reset_color%} %{$fg[white]%}%B${PWD/#$HOME/~}%b%{$reset_color%}
|
||||||
|
|
24
themes/rixius.zsh-theme
Normal file
24
themes/rixius.zsh-theme
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
# /|/ Code by Stephen
|
||||||
|
# /|/ "Rixius" Middleton
|
||||||
|
#
|
||||||
|
# name in folder (github)
|
||||||
|
# ± if in github repo, or ≥ if otherwise Time in 24-hour format is on right.
|
||||||
|
function collapse_pwd {
|
||||||
|
echo $(pwd | sed -e "s,^$HOME,~,")
|
||||||
|
}
|
||||||
|
function prompt_char {
|
||||||
|
echo -n "%{$bg[white]%}%{$fg[red]%}"
|
||||||
|
git branch >/dev/null 2>/dev/null && echo "±%{$reset_color%}" && return
|
||||||
|
echo "≥%{$reset_color%}"
|
||||||
|
}
|
||||||
|
RIXIUS_PRE="%{$bg[white]%}%{$fg[red]%}"
|
||||||
|
|
||||||
|
PROMPT='
|
||||||
|
%{$RIXIUS_PRE%}%n%{$reset_color%} in %{$fg_bold[green]%}$(collapse_pwd)%{$reset_color%}$(git_prompt_info)
|
||||||
|
$(prompt_char) '
|
||||||
|
RPROMPT='%{$RIXIUS_PRE%}%T%{$reset_color%}'
|
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}"
|
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
|
||||||
|
ZSH_THEME_GIT_PROMPT_DIRTY=" %{$RIXIUS_PRE%}!%{$reset_color%}"
|
||||||
|
ZSH_THEME_GIT_PROMPT_CLEAN=" %{$RIXIUS_PRE%}√%{$reset_color%}"
|
|
@ -1,6 +1,16 @@
|
||||||
# Comment
|
# Comment
|
||||||
|
|
||||||
ZSH_THEME_GIT_PROMPT_PREFIX=' (git:'
|
PROMPT='%{$fg[magenta]%}[%c] %{$reset_color%}'
|
||||||
ZSH_THEME_GIT_PROMPT_SUFFIX=')'
|
|
||||||
|
|
||||||
PROMPT='%{$fg[magenta]%}[%c]$(git_prompt_info) $ %{$reset_color%}'
|
RPROMPT='%{$fg[magenta]%}$(git_prompt_info)%{$reset_color%} $(git_prompt_status)%{$reset_color%}'
|
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX=""
|
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX=""
|
||||||
|
ZSH_THEME_GIT_PROMPT_DIRTY=""
|
||||||
|
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
||||||
|
ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[cyan]%} ✈"
|
||||||
|
ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[yellow]%} ✭"
|
||||||
|
ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✗"
|
||||||
|
ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[blue]%} ➦"
|
||||||
|
ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[magenta]%} ✂"
|
||||||
|
ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[grey]%} ✱"
|
Loading…
Reference in New Issue
Block a user