mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2025-12-26 02:12:33 +01:00
Merge remote branch 'upstream/master'
Conflicts: lib/functions.zsh plugins/git/git.plugin.zsh plugins/perl/perl.plugin.zsh
This commit is contained in:
commit
6f7d2eb772
63 changed files with 1284 additions and 94 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -1,5 +1,5 @@
|
|||
locals.zsh
|
||||
log/.zsh_history
|
||||
projects.zsh
|
||||
custom/*.zsh
|
||||
custom/*
|
||||
!custom/example.zsh
|
||||
|
|
@ -8,7 +8,7 @@ h2. Setup
|
|||
|
||||
h3. The automatic installer... (do you trust me?)
|
||||
|
||||
@wget http://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh@
|
||||
@wget --no-check-certificate https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh@
|
||||
|
||||
h3. The manual way
|
||||
|
||||
|
|
@ -38,7 +38,7 @@ h2. Usage
|
|||
* enable the plugins you want in your @~/.zshrc@ (take a look at @plugins/@ to see what's possible)
|
||||
** example: @plugins=(git osx ruby)@
|
||||
* Theme support: Change the @ZSH_THEME@ environment variable in @~/.zshrc@.
|
||||
** Take a look at the "current themes":http://wiki.github.com/robbyrussell/oh-my-zsh/themes that come bundled with _Oh My Zsh_.
|
||||
** Take a look at the "current themes":https://wiki.github.com/robbyrussell/oh-my-zsh/themes that come bundled with _Oh My Zsh_.
|
||||
* much much more... take a look at @lib/@ what _Oh My Zsh_ offers...
|
||||
|
||||
h2. Useful
|
||||
|
|
@ -54,12 +54,6 @@ h3. Uninstalling
|
|||
|
||||
If you want to uninstall it, just run @uninstall_oh_my_zsh@ from the command line and it'll remove itself and revert you to bash (or your previous zsh config).
|
||||
|
||||
h2. Thanks
|
||||
|
||||
* Rick Olson (technoweenie) might remember some of the configuration, which I took from a pastie a few years ago.
|
||||
* Marcel (noradio) provided Rick the original zsh configuration.
|
||||
* Nicholas (ulysses) for the "rake autocompletion code":http://weblog.rubyonrails.org/2006/3/9/fast-rake-task-completion-for-zsh.
|
||||
|
||||
h2. Help out!
|
||||
|
||||
I'm far from being a zsh-expert and suspect there are many ways to improve. If you have ideas on how to make the configuration easier to maintain (and faster), don't hesitate to fork and send pull requests!
|
||||
|
|
@ -67,3 +61,11 @@ I'm far from being a zsh-expert and suspect there are many ways to improve. If y
|
|||
h3. Send us your theme!
|
||||
|
||||
I'm hoping to collect a bunch of themes for our command prompts. You can see existing ones in the @themes/@ directory.
|
||||
|
||||
h2. Contributors
|
||||
|
||||
This project wouldn't exist without all of our awesome users and contributors.
|
||||
|
||||
* "View our growing list of contributors":https://github.com/robbyrussell/oh-my-zsh/contributors
|
||||
|
||||
Thank you so much!
|
||||
|
|
@ -21,3 +21,5 @@ alias ll='ls -l'
|
|||
alias sl=ls # often screw this up
|
||||
|
||||
alias afind='ack-grep -il'
|
||||
|
||||
alias x=extract
|
||||
|
|
|
|||
|
|
@ -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
|
||||
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 rd=rmdir
|
||||
|
||||
alias d='dirs -v'
|
||||
|
||||
# mkdir & cd to it
|
||||
function mcd() {
|
||||
mkdir -p "$1" && cd "$1";
|
||||
}
|
||||
|
|
@ -1,26 +1,3 @@
|
|||
## fixme, i duplicated this in xterms - oops
|
||||
function title {
|
||||
if [[ $TERM == "screen" ]]; then
|
||||
# Use these two for GNU Screen:
|
||||
print -nR $'\033k'$1$'\033'\\\
|
||||
|
||||
print -nR $'\033]0;'$2$'\a'
|
||||
elif [[ $TERM =~ "^xterm" || $TERM == "rxvt" ]]; then
|
||||
# Use this one instead for XTerms:
|
||||
print -nR $'\033]0;'$*$'\a'
|
||||
fi
|
||||
}
|
||||
|
||||
function precmd {
|
||||
title zsh "$PWD"
|
||||
}
|
||||
|
||||
function preexec {
|
||||
emulate -L zsh
|
||||
local -a cmd; cmd=(${(z)1})
|
||||
title $cmd[1]:t "$cmd[2,-1]"
|
||||
}
|
||||
|
||||
function zsh_stats() {
|
||||
history | awk '{print $2}' | sort | uniq -c | sort -rn | head
|
||||
}
|
||||
|
|
@ -40,3 +17,37 @@ function logview() {
|
|||
function logtail() {
|
||||
tail -f $1 | ccze
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
|
|
|||
31
lib/git.zsh
31
lib/git.zsh
|
|
@ -11,3 +11,34 @@ parse_git_dirty () {
|
|||
echo "$ZSH_THEME_GIT_PROMPT_CLEAN"
|
||||
fi
|
||||
}
|
||||
|
||||
# get the status of the working tree
|
||||
git_prompt_status() {
|
||||
INDEX=$(git status --porcelain 2> /dev/null)
|
||||
STATUS=""
|
||||
if $(echo "$INDEX" | grep '^?? ' &> /dev/null); then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_UNTRACKED$STATUS"
|
||||
fi
|
||||
if $(echo "$INDEX" | grep '^A ' &> /dev/null); then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_ADDED$STATUS"
|
||||
elif $(echo "$INDEX" | grep '^M ' &> /dev/null); then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_ADDED$STATUS"
|
||||
fi
|
||||
if $(echo "$INDEX" | grep '^ M ' &> /dev/null); then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS"
|
||||
elif $(echo "$INDEX" | grep '^AM ' &> /dev/null); then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS"
|
||||
elif $(echo "$INDEX" | grep '^ T ' &> /dev/null); then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS"
|
||||
fi
|
||||
if $(echo "$INDEX" | grep '^R ' &> /dev/null); then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_RENAMED$STATUS"
|
||||
fi
|
||||
if $(echo "$INDEX" | grep '^ D ' &> /dev/null); then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_DELETED$STATUS"
|
||||
fi
|
||||
if $(echo "$INDEX" | grep '^UU ' &> /dev/null); then
|
||||
STATUS="$ZSH_THEME_GIT_PROMPT_UNMERGED$STATUS"
|
||||
fi
|
||||
echo $STATUS
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,21 +1,29 @@
|
|||
case "$TERM" in
|
||||
xterm*|rxvt*)
|
||||
preexec () {
|
||||
print -Pn "\e]0;%n@%m: $1\a" # xterm
|
||||
}
|
||||
precmd () {
|
||||
print -Pn "\e]0;%n@%m: %~\a" # xterm
|
||||
}
|
||||
;;
|
||||
screen*)
|
||||
preexec () {
|
||||
local CMD=${1[(wr)^(*=*|sudo|ssh|-*)]}
|
||||
echo -ne "\ek$CMD\e\\"
|
||||
print -Pn "\e]0;%n@%m: $1\a" # xterm
|
||||
}
|
||||
precmd () {
|
||||
echo -ne "\ekzsh\e\\"
|
||||
print -Pn "\e]0;%n@%m: %~\a" # xterm
|
||||
}
|
||||
;;
|
||||
esac
|
||||
#usage: title short_tab_title looooooooooooooooooooooggggggg_windows_title
|
||||
#http://www.faqs.org/docs/Linux-mini/Xterm-Title.html#ss3.1
|
||||
#Fully support screen, iterm, and probably most modern xterm and rxvt
|
||||
#Limited support for Apple Terminal (Terminal can't set window or tab separately)
|
||||
function title {
|
||||
[ "$DISABLE_AUTO_TITLE" != "true" ] || return
|
||||
if [[ $TERM =~ "^screen" ]]; then
|
||||
print -Pn "\ek$1:q\e\\" #set screen hardstatus, usually truncated at 20 chars
|
||||
elif [[ ($TERM =~ "^xterm") ]] || [[ ($TERM == "rxvt") ]] || [[ "$TERM_PROGRAM" == "iTerm.app" ]]; then
|
||||
print -Pn "\e]2;$2:q\a" #set window name
|
||||
print -Pn "\e]1;$1:q\a" #set icon (=tab) name (will override window name on broken terminal)
|
||||
fi
|
||||
}
|
||||
|
||||
ZSH_THEME_TERM_TAB_TITLE_IDLE="%15<..<%~%<<" #15 char left truncated PWD
|
||||
ZSH_THEME_TERM_TITLE_IDLE="%n@%m: %~"
|
||||
|
||||
#Appears when you have the prompt
|
||||
function precmd {
|
||||
title $ZSH_THEME_TERM_TAB_TITLE_IDLE $ZSH_THEME_TERM_TITLE_IDLE
|
||||
}
|
||||
|
||||
#Appears at the beginning of (and during) of command execution
|
||||
function preexec {
|
||||
emulate -L zsh
|
||||
setopt extended_glob
|
||||
local CMD=${1[(wr)^(*=*|sudo|ssh|-*)]} #cmd name only, or if this is sudo or ssh, the next cmd
|
||||
title "$CMD" "%100>...>$2%<<"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,5 +34,3 @@ ZSH_THEME_GIT_PROMPT_CLEAN="" # Text to display if the branch is c
|
|||
# Setup the prompt with pretty colors
|
||||
setopt prompt_subst
|
||||
|
||||
# Load the theme
|
||||
source "$ZSH/themes/$ZSH_THEME.zsh-theme"
|
||||
|
|
@ -14,6 +14,9 @@ for config_file ($ZSH/custom/*.zsh) source $config_file
|
|||
plugin=${plugin:=()}
|
||||
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...
|
||||
if [ "$DISABLE_AUTO_UPDATE" = "true" ]
|
||||
then
|
||||
|
|
|
|||
3
plugins/bundler/bundler.plugin.zsh
Normal file
3
plugins/bundler/bundler.plugin.zsh
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
alias be="bundle exec"
|
||||
alias bi="bundle install"
|
||||
alias bu="bundle update"
|
||||
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
|
||||
67
plugins/cpanm/_cpanm
Normal file
67
plugins/cpanm/_cpanm
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
#compdef cpanm
|
||||
|
||||
##
|
||||
# cpanminus Z Shell completion script
|
||||
##
|
||||
#
|
||||
# Current supported cpanm version: 1.4000 (Tue Mar 8 01:00:49 PST 2011)
|
||||
#
|
||||
# The latest code is always located at:
|
||||
# https://github.com/rshhh/cpanminus/blob/master/etc/_cpanm
|
||||
#
|
||||
|
||||
local arguments curcontext="$curcontext"
|
||||
typeset -A opt_args
|
||||
|
||||
|
||||
arguments=(
|
||||
|
||||
# Commands
|
||||
# '(--install -i)'{--install,-i}'[Installs the modules]'
|
||||
'(- :)--self-upgrade[Upgrades itself]'
|
||||
'(- :)--info[Displays distribution info on CPAN]'
|
||||
'(--installdeps)--installdeps[Only install dependencies]'
|
||||
'(--look)--look[Download/unpack the distribution and then open the directory with your shell]'
|
||||
'(- :)'{--help,-h}'[Displays help information]'
|
||||
'(- :)'{--version,-V}'[Displays software version]'
|
||||
|
||||
# Options
|
||||
{--force,-f}'[Force install]'
|
||||
{--notest,-n}'[Do not run unit tests]'
|
||||
{--sudo,-S}'[sudo to run install commands]'
|
||||
'(-v --verbose --quiet -q)'{--verbose,-v}'[Turns on chatty output]'
|
||||
'(-q --quiet --verbose -v)'{--quiet,-q}'[Turns off all output]'
|
||||
{--local-lib,-l}'[Specify the install base to install modules]'
|
||||
{--local-lib-contained,-L}'[Specify the install base to install all non-core modules]'
|
||||
'--mirror[Specify the base URL for the mirror (e.g. http://cpan.cpantesters.org/)]:URLs:_urls'
|
||||
'--mirror-only[Use the mirror\''s index file instead of the CPAN Meta DB]'
|
||||
'--prompt[Prompt when configure/build/test fails]'
|
||||
'--reinstall[Reinstall the distribution even if you already have the latest version installed]'
|
||||
'--interactive[Turn on interactive configure]'
|
||||
|
||||
'--scandeps[Scan the depencencies of given modules and output the tree in a text format]'
|
||||
'--format[Specify what format to display the scanned dependency tree]:scandeps format:(tree json yaml dists)'
|
||||
|
||||
'--save-dists[Specify the optional directory path to copy downloaded tarballs]'
|
||||
# '--uninst-shadows[Uninstalls the shadow files of the distribution that you\''re installing]'
|
||||
|
||||
'--auto-cleanup[Number of days that cpanm\''s work directories expire in. Defaults to 7]'
|
||||
'(--no-man-pages)--man-pages[Generates man pages for executables (man1) and libraries (man3)]'
|
||||
'(--man-pages)--no-man-pages[Do not generate man pages]'
|
||||
|
||||
|
||||
# Note: Normally with "--lwp", "--wget" and "--curl" options set to true (which is the default) cpanm tries LWP,
|
||||
# Wget, cURL and HTTP::Tiny (in that order) and uses the first one available.
|
||||
# (So that the exclusions are not enabled here for the completion)
|
||||
'(--lwp)--lwp[Use LWP module to download stuff]'
|
||||
'(--wget)--wget[Use GNU Wget (if available) to download stuff]'
|
||||
'(--curl)--curl[Use cURL (if available) to download stuff]'
|
||||
|
||||
# Other completions
|
||||
'*:Local directory or archive:_files -/ -g "*.(tar.gz|tgz|tar.bz2|zip)(-.)"'
|
||||
# '*::args: _normal' # this looks for default files (any files)
|
||||
)
|
||||
_arguments -s $arguments \
|
||||
&& return 0
|
||||
|
||||
return 1
|
||||
4
plugins/cpanm/cpanm.plugin.zsh
Normal file
4
plugins/cpanm/cpanm.plugin.zsh
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# add cpanm completion function to path
|
||||
fpath=($ZSH/plugins/cpanm $fpath)
|
||||
autoload -U compinit
|
||||
compinit -i
|
||||
12
plugins/deb/deb.plugin.zsh
Normal file
12
plugins/deb/deb.plugin.zsh
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
# Aliases
|
||||
alias as="aptitude -F \"* %p -> %d \n(%v/%V)\" \
|
||||
--no-gui --disable-columns search" # search package
|
||||
alias ad="sudo apt-get update" # update packages lists
|
||||
alias au="sudo apt-get update && \
|
||||
sudo apt-get dselect-upgrade" # upgrade packages
|
||||
alias ai="sudo apt-get install" # install package
|
||||
alias ar="sudo apt-get remove --purge && \
|
||||
sudo apt-get autoremove --purge" # remove package
|
||||
alias ap="apt-cache policy" # apt policy
|
||||
alias av="apt-cache show" # show package info
|
||||
alias ac="sudo apt-get clean && sudo apt-get autoclean" # clean apt cache
|
||||
60
plugins/debian/debian.plugin.zsh
Normal file
60
plugins/debian/debian.plugin.zsh
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
# https://github.com/dbbolton/
|
||||
#
|
||||
# Debian-related zsh aliases and functions for zsh
|
||||
|
||||
|
||||
# Aliases ###################################################################
|
||||
|
||||
# Some self-explanatory aliases
|
||||
alias afs='apt-file search --regexp'
|
||||
alias aps='aptitude search'
|
||||
alias apsrc='apt-get source'
|
||||
alias apv='apt-cache policy'
|
||||
|
||||
alias apdg='su -c "aptitude update && aptitude safe-upgrade"'
|
||||
alias apud='su -c "aptitude update"'
|
||||
alias apug='su -c "aptitude safe-upgrade"'
|
||||
|
||||
# print all installed packages
|
||||
alias allpkgs='aptitude search -F "%p" --disable-columns ~i'
|
||||
|
||||
# Install all .deb files in the current directory.
|
||||
# Warning: you will need to put the glob in single quotes if you use:
|
||||
# glob_subst
|
||||
alias di='su -c "dpkg -i ./*.deb"'
|
||||
|
||||
# Create a basic .deb package
|
||||
alias mydeb='time dpkg-buildpackage -rfakeroot -us -uc'
|
||||
|
||||
# Remove ALL kernel images and headers EXCEPT the one in use
|
||||
alias kclean='su -c '\''aptitude remove -P ?and(~i~nlinux-(ima|hea) ?not(~n`uname -r`))'\'' root'
|
||||
|
||||
|
||||
|
||||
# Functions #################################################################
|
||||
|
||||
# create a simple script that can be used to 'duplicate' a system
|
||||
apt-copy() {
|
||||
print '#!/bin/sh'"\n" > apt-copy.sh
|
||||
|
||||
list=$(perl -m'AptPkg::Cache' -e '$c=AptPkg::Cache->new; for (keys %$c){ push @a, $_ if $c->{$_}->{'CurrentState'} eq 'Installed';} print "$_ " for sort @a;')
|
||||
|
||||
print 'aptitude install '"$list\n" >> apt-copy.sh
|
||||
|
||||
chmod +x apt-copy.sh
|
||||
}
|
||||
|
||||
|
||||
# Kernel-package building shortcut
|
||||
dbb-build () {
|
||||
MAKEFLAGS='' # temporarily unset MAKEFLAGS ( '-j3' will fail )
|
||||
appendage='-custom' # this shows up in $ (uname -r )
|
||||
revision=$(date +"%Y%m%d") # this shows up in the .deb file name
|
||||
|
||||
make-kpkg clean
|
||||
|
||||
time fakeroot make-kpkg --append-to-version "$appendage" --revision \
|
||||
"$revision" kernel_image kernel_headers
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
# add brew completion function to path
|
||||
# add gem completion function to path
|
||||
fpath=($ZSH/plugins/gem $fpath)
|
||||
autoload -U compinit
|
||||
compinit -i
|
||||
|
|
|
|||
|
|
@ -1,25 +1,36 @@
|
|||
# Aliases
|
||||
alias g='git'
|
||||
compdef g=git
|
||||
alias gst='git status'
|
||||
alias gsts='git status --short'
|
||||
alias gl='git pull'
|
||||
compdef _git gl=git-pull
|
||||
alias gup='git fetch && git rebase'
|
||||
compdef _git gup=git-fetch
|
||||
alias gp='git push'
|
||||
alias gd='git diff | mate'
|
||||
alias gdv='git diff -w "$@" | vim -R -'
|
||||
compdef _git gp=git-push
|
||||
gdv() { git-diff -w "$@" | view - }
|
||||
compdef _git gdv=git-diff
|
||||
alias gc='git commit -v'
|
||||
compdef _git gc=git-commit
|
||||
alias gca='git commit -v -a'
|
||||
compdef _git gca=git-commit
|
||||
alias gco='git checkout'
|
||||
compdef _git gco=git-checkout
|
||||
alias gb='git branch'
|
||||
compdef _git gb=git-branch
|
||||
alias gba='git branch -a'
|
||||
compdef _git gba=git-branch
|
||||
alias gcount='git shortlog -sn'
|
||||
compdef gcount=git
|
||||
alias gcp='git cherry-pick'
|
||||
alias gcpe='git cherry-pick --edit '
|
||||
|
||||
compdef _git gcp=git-cherry-pick
|
||||
alias glg='git log --stat --max-count=5'
|
||||
compdef _git glg=git-log
|
||||
|
||||
# Git and svn mix
|
||||
alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk'
|
||||
alias gsup= !DIRTY=$(git status --porcelain -uno) && git stash save svn-up-auto && git svn rebase && test -n \"$DIRTY\" && git stash pop
|
||||
alias gsc=!DIRTY=$(git status --porcelain -uno) && git stash save svn-up-auto && git svn dcommit && test -n \"$DIRTY\" && git stash pop
|
||||
compdef git-svn-dcommit-push=git
|
||||
|
||||
#
|
||||
# Will return the current branch name
|
||||
|
|
@ -30,7 +41,10 @@ function current_branch() {
|
|||
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)'
|
||||
compdef ggpull=git
|
||||
alias ggpush='git push origin $(current_branch)'
|
||||
compdef ggpush=git
|
||||
alias ggpnp='git pull origin $(current_branch) && git push origin $(current_branch)'
|
||||
compdef ggpnp=git
|
||||
|
|
|
|||
40
plugins/github/_github
Normal file
40
plugins/github/_github
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
#compdef github
|
||||
#autoload
|
||||
|
||||
# in order to make this work, you will need to have the github gem installed
|
||||
# http://github.com/defunkt/github-gem
|
||||
|
||||
# github zsh completion, based on homebrew completion
|
||||
|
||||
local -a _1st_arguments
|
||||
_1st_arguments=(
|
||||
'browse:Open this repo in a web browser'
|
||||
'clone:Clone a repo'
|
||||
'config:Automatically set configuration info, or pass args to specify'
|
||||
'create-from-local:Create a new GitHub repository from the current local repository'
|
||||
'create:Create a new empty GitHub repository'
|
||||
'fetch:Fetch from a remote to a local branch'
|
||||
'fetch_all:Fetch all refs from a user'
|
||||
'fork:Forks a GitHub repository'
|
||||
'home:Open this repos master branch in a web browser'
|
||||
'ignore:Ignore a SHA from github network commits'
|
||||
'info:Info about this project'
|
||||
'issues:Project issues tools'
|
||||
'network:Project network tools - sub-commands : web [user], list, fetch, commits'
|
||||
'open:Open the given user/project in a web browser'
|
||||
'pull-request:Generate the text for a pull request'
|
||||
'pull:Pull from a remote'
|
||||
'search:Search GitHub for the given repository name'
|
||||
'track:Track another users repository'
|
||||
)
|
||||
|
||||
local expl
|
||||
local -a pkgs installed_pkgs
|
||||
|
||||
_arguments \
|
||||
'*:: :->subcmds' && return 0
|
||||
|
||||
if (( CURRENT == 1 )); then
|
||||
_describe -t commands "github subcommand" _1st_arguments
|
||||
return
|
||||
fi
|
||||
11
plugins/github/github.plugin.zsh
Normal file
11
plugins/github/github.plugin.zsh
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
# hub alias from defunkt
|
||||
# https://github.com/defunkt/hub
|
||||
if [ "$commands[(I)hub]" ]; then
|
||||
# eval `hub alias -s zsh`
|
||||
function git(){hub "$@"}
|
||||
fi
|
||||
|
||||
# add github completion function to path
|
||||
fpath=($ZSH/plugins/github $fpath)
|
||||
autoload -U compinit
|
||||
compinit -i
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
# Example usage: http://screencast.com/t/ZDgwNDUwNT
|
||||
open_lighthouse_ticket () {
|
||||
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;
|
||||
else
|
||||
lighthouse_url=$(cat .lighthouse-url);
|
||||
|
|
|
|||
26
plugins/lol/lol.plugin.zsh
Normal file
26
plugins/lol/lol.plugin.zsh
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
# LOL!!1
|
||||
# Source: http://aur.archlinux.org/packages/lolbash/lolbash/lolbash.sh
|
||||
|
||||
alias wtf='dmesg'
|
||||
alias onoz='cat /var/log/errors.log'
|
||||
alias rtfm='man'
|
||||
|
||||
alias visible='echo'
|
||||
alias invisible='cat'
|
||||
alias moar='more'
|
||||
|
||||
alias icanhas='mkdir'
|
||||
alias donotwant='rm'
|
||||
alias dowant='cp'
|
||||
alias gtfo='mv'
|
||||
|
||||
alias hai='cd'
|
||||
alias plz='pwd'
|
||||
|
||||
alias inur='locate'
|
||||
|
||||
alias nomz='ps -aux'
|
||||
alias nomnom='killall'
|
||||
|
||||
alias cya='reboot'
|
||||
alias kthxbai='halt'
|
||||
89
plugins/macports/_port
Normal file
89
plugins/macports/_port
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
#compdef port
|
||||
|
||||
local subcmds
|
||||
|
||||
# we cache the list of ports
|
||||
# we shall use some cache policy to avoid problems with new ports
|
||||
if (( ! $+portlist )); then
|
||||
portlist=($(port echo all; echo "all current active inactive installed uninstalled outdated"))
|
||||
fi
|
||||
|
||||
subcmds=(
|
||||
'activate'
|
||||
'archive'
|
||||
'build'
|
||||
'cat'
|
||||
'clean'
|
||||
'configure'
|
||||
'contents'
|
||||
'deactivate'
|
||||
'dependents'
|
||||
'deps'
|
||||
'destroot'
|
||||
'dir'
|
||||
'distcheck'
|
||||
'distclean'
|
||||
'dmg'
|
||||
'echo'
|
||||
'edit'
|
||||
'extract'
|
||||
'fetch'
|
||||
'file'
|
||||
'help'
|
||||
'info'
|
||||
'install'
|
||||
'installed'
|
||||
'list'
|
||||
'livecheck'
|
||||
'location'
|
||||
'mpkg'
|
||||
'outdated'
|
||||
'patch'
|
||||
'pkg'
|
||||
'provides'
|
||||
'rpmpackage'
|
||||
'search'
|
||||
'selfupdate'
|
||||
'sync'
|
||||
'test'
|
||||
'unarchive'
|
||||
'uninstall'
|
||||
'upgrade'
|
||||
'variants'
|
||||
'version'
|
||||
)
|
||||
|
||||
_arguments -C \
|
||||
'-v[verbose mode (generate verbose messages)]' \
|
||||
'-d[debug mode (generate debugging messages)]' \
|
||||
'-q[quiet mode (suppress messages)]' \
|
||||
'-D[specify portdir]' \
|
||||
'-k[keep mode (do not autoclean after install)]' \
|
||||
'-n[dont follow dependencies in upgrade (only for upgrading)]' \
|
||||
'-a[upgrade all installed ports (only for upgrading)]' \
|
||||
'-u[uninstall non-active ports when upgrading and uninstalling]' \
|
||||
'-f[force mode (ignore state file)]' \
|
||||
'-s[source-only mode]' \
|
||||
'-b[binary-only mode]' \
|
||||
'-o[honor state files older than Portfile]' \
|
||||
'*::command:->command' \
|
||||
&& return 0
|
||||
|
||||
case $state in
|
||||
command)
|
||||
if ((CURRENT == 1)); then
|
||||
state=subcommands
|
||||
else
|
||||
state=portname
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
case $state in
|
||||
subcommands)
|
||||
_describe -t commands 'port commands' subcmds
|
||||
;;
|
||||
portname)
|
||||
_describe -t commands 'available ports' portlist
|
||||
;;
|
||||
esac
|
||||
|
|
@ -5,3 +5,8 @@ alias psu="sudo port selfupdate"
|
|||
alias puni="sudo port uninstall inactive"
|
||||
alias puo="sudo port upgrade outdated"
|
||||
alias pup="psu && puo"
|
||||
|
||||
# add macports completion function to path
|
||||
fpath=($ZSH/plugins/macports $fpath)
|
||||
autoload -U compinit
|
||||
compinit -i
|
||||
|
|
|
|||
19
plugins/npm/_npm
Normal file
19
plugins/npm/_npm
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
#compdef npm
|
||||
|
||||
# Node Package Manager 0.3.15 completion, letting npm do all the completion work
|
||||
|
||||
_npm() {
|
||||
compadd -- $(_npm_complete $words)
|
||||
}
|
||||
|
||||
# We want to show all errors of any substance, but never the "npm (not )ok" one.
|
||||
# (Also doesn't consider "ERR! no match found" worth breaking the terminal for.)
|
||||
_npm_complete() {
|
||||
local ask_npm
|
||||
ask_npm=(npm completion --color false --loglevel error -- $@)
|
||||
{ _call_program npm $ask_npm 2>&1 >&3 \
|
||||
| egrep -v '^(npm (not |)ok|ERR! no match found)$' >&2; \
|
||||
} 3>&1
|
||||
}
|
||||
|
||||
_npm "$@"
|
||||
4
plugins/npm/npm.plugin.zsh
Normal file
4
plugins/npm/npm.plugin.zsh
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# add npm completion function to path
|
||||
fpath=($ZSH/plugins/npm $fpath)
|
||||
autoload -U compinit
|
||||
compinit -i
|
||||
|
|
@ -1,11 +1,57 @@
|
|||
function savepath() {
|
||||
pwd > ~/.current_path~
|
||||
}
|
||||
|
||||
function tab() {
|
||||
osascript 2>/dev/null <<EOF
|
||||
tell application "System Events"
|
||||
tell process "Terminal" to keystroke "t" using command down
|
||||
end
|
||||
tell application "Terminal"
|
||||
savepath
|
||||
osascript >/dev/null <<EOF
|
||||
on do_submenu(app_name, menu_name, menu_item, submenu_item)
|
||||
-- bring the target application to the front
|
||||
tell application app_name
|
||||
activate
|
||||
do script with command "cd \"$PWD\"; $*" in window 1
|
||||
end tell
|
||||
tell application "System Events"
|
||||
tell process app_name
|
||||
tell menu bar 1
|
||||
tell menu bar item menu_name
|
||||
tell menu menu_name
|
||||
tell menu item menu_item
|
||||
tell menu menu_item
|
||||
click menu item submenu_item
|
||||
end tell
|
||||
end tell
|
||||
end tell
|
||||
end tell
|
||||
end tell
|
||||
end tell
|
||||
end tell
|
||||
end do_submenu
|
||||
|
||||
do_submenu("Terminal", "Shell", "New Tab", 1)
|
||||
EOF
|
||||
}
|
||||
|
||||
function itab() {
|
||||
savepath
|
||||
osascript >/dev/null <<EOF
|
||||
on do_submenu(app_name, menu_name, menu_item)
|
||||
-- bring the target application to the front
|
||||
tell application app_name
|
||||
activate
|
||||
end tell
|
||||
tell application "System Events"
|
||||
tell process app_name
|
||||
tell menu bar 1
|
||||
tell menu bar item menu_name
|
||||
tell menu menu_name
|
||||
click menu item menu_item
|
||||
end tell
|
||||
end tell
|
||||
end tell
|
||||
end tell
|
||||
end tell
|
||||
end do_submenu
|
||||
|
||||
do_submenu("iTerm", "Shell", "New Tab")
|
||||
EOF
|
||||
}
|
||||
|
|
@ -12,3 +12,67 @@ alias perldoc-fr="perldoc -L FR"
|
|||
#Trace query SQL
|
||||
export DBIC_TRACE=1
|
||||
export DBI_TRACE=1
|
||||
|
||||
# https://github.com/dbbolton
|
||||
#
|
||||
# Below are some useful Perl-related aliases/functions that I use with zsh.
|
||||
|
||||
|
||||
# Aliases ###################################################################
|
||||
|
||||
# perlbrew ########
|
||||
alias pbi='perlbrew install'
|
||||
alias pbl='perlbrew list'
|
||||
alias pbo='perlbrew off'
|
||||
alias pbs='perlbrew switch'
|
||||
alias pbu='perlbrew use'
|
||||
|
||||
# Perl ############
|
||||
|
||||
# perldoc`
|
||||
alias pd='perldoc'
|
||||
|
||||
# use perl like awk/sed
|
||||
alias ple='perl -wlne'
|
||||
|
||||
# show the latest stable release of Perl
|
||||
alias latest-perl='curl -s http://www.perl.org/get.html | perl -wlne '\''if (/perl\-([\d\.]+)\.tar\.gz/) { print $1; exit;}'\'
|
||||
|
||||
|
||||
|
||||
# Functions #################################################################
|
||||
|
||||
# newpl - creates a basic Perl script file and opens it with $EDITOR
|
||||
newpl () {
|
||||
# set $EDITOR to 'vim' if it is undefined
|
||||
[[ -z $EDITOR ]] && EDITOR=vim
|
||||
|
||||
# if the file exists, just open it
|
||||
[[ -e $1 ]] && print "$1 exists; not modifying.\n" && $EDITOR $1
|
||||
|
||||
# if it doesn't, make it, and open it
|
||||
[[ ! -e $1 ]] && print '#!/usr/bin/perl'"\n"'use strict;'"\n"'use warnings;'\
|
||||
"\n\n" > $1 && $EDITOR $1
|
||||
}
|
||||
|
||||
|
||||
# pgs - Perl Global Substitution
|
||||
# find pattern = 1st arg
|
||||
# replace pattern = 2nd arg
|
||||
# filename = 3rd arg
|
||||
pgs() { # [find] [replace] [filename]
|
||||
perl -i.orig -pe 's/'"$1"'/'"$2"'/g' "$3"
|
||||
}
|
||||
|
||||
|
||||
# Perl grep, because 'grep -P' is terrible. Lets you work with pipes or files.
|
||||
prep() { # [pattern] [filename unless STDOUT]
|
||||
perl -nle 'print if /'"$1"'/;' $2
|
||||
}
|
||||
|
||||
# say - append a newline to 'print'
|
||||
say() {
|
||||
print "$1\n"
|
||||
}
|
||||
|
||||
>>>>>>> upstream/master
|
||||
|
|
|
|||
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
|
||||
10
plugins/rails3/rails3.plugin.zsh
Normal file
10
plugins/rails3/rails3.plugin.zsh
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
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 rdbmr='rake db:migrate && rake db:migrate:redo'
|
||||
alias rc='ruby script/rails console'
|
||||
alias rd='ruby script/rails server --debugger'
|
||||
alias devlog='tail -f log/development.log'
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# Based on code from Joseph M. Reagle
|
||||
# http://www.cygwin.com/ml/cygwin/2001-06/msg00537.html
|
||||
|
||||
local SSH_ENV=$HOME/.ssh/environment
|
||||
local SSH_ENV=$HOME/.ssh/environment-$HOST
|
||||
|
||||
function start_agent {
|
||||
/usr/bin/env ssh-agent | sed 's/^echo/#echo/' > ${SSH_ENV}
|
||||
|
|
|
|||
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
|
||||
|
|
@ -14,6 +14,9 @@ export ZSH_THEME="robbyrussell"
|
|||
# Uncomment following line if you want to disable colors in ls
|
||||
# export DISABLE_LS_COLORS="true"
|
||||
|
||||
# Uncomment following line if you want to disable autosetting terminal title.
|
||||
# export DISABLE_AUTO_TITLE="true"
|
||||
|
||||
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
|
||||
# Example format: plugins=(rails git textmate ruby lighthouse)
|
||||
plugins=(git)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,63 @@
|
|||
PROMPT='%{$fg[blue]%}%B%20~%b%{$reset_color%}%{$(git_prompt_info)%} $ '
|
||||
PROMPT='%{$fg[blue]%}%n%{$reset_color%} on %{$fg[red]%}%M%{$reset_color%} in %{$fg[blue]%}%~%b%{$reset_color%}$(git_time_since_commit)$(git_prompt_info)
|
||||
$ '
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="(%{$fg[green]%}"
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[white]%}"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%})"
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY="*%{$reset_color%}"
|
||||
|
||||
# Text to display if the branch is dirty
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}*%{$reset_color%}"
|
||||
|
||||
# Text to display if the branch is clean
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
||||
|
||||
# Colors vary depending on time lapsed.
|
||||
ZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT="%{$fg[green]%}"
|
||||
ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM="%{$fg[yellow]%}"
|
||||
ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG="%{$fg[red]%}"
|
||||
ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL="%{$fg[cyan]%}"
|
||||
|
||||
# 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 [[ -n $(git status -s 2> /dev/null) ]]; then
|
||||
if [ "$MINUTES" -gt 30 ]; then
|
||||
COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG"
|
||||
elif [ "$MINUTES" -gt 10 ]; then
|
||||
COLOR="$ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM"
|
||||
else
|
||||
COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT"
|
||||
fi
|
||||
else
|
||||
COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL"
|
||||
fi
|
||||
|
||||
if [ "$HOURS" -gt 24 ]; then
|
||||
echo "($COLOR${DAYS}d${SUB_HOURS}h${SUB_MINUTES}m%{$reset_color%}|"
|
||||
elif [ "$MINUTES" -gt 60 ]; then
|
||||
echo "($COLOR${HOURS}h${SUB_MINUTES}m%{$reset_color%}|"
|
||||
else
|
||||
echo "($COLOR${MINUTES}m%{$reset_color%}|"
|
||||
fi
|
||||
else
|
||||
COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL"
|
||||
echo "($COLOR~|"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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%})"
|
||||
|
||||
|
|
|
|||
|
|
@ -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%}'
|
||||
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)%(!.#.$) '
|
||||
RPROMPT='[%*]'
|
||||
|
|
|
|||
6
themes/cloud.zsh-theme
Normal file
6
themes/cloud.zsh-theme
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
PROMPT='%{$fg_bold[cyan]%}☁ %{$fg_bold[green]%}%p %{$fg[green]%}%c %{$fg_bold[cyan]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[green]%}[%{$fg[cyan]%}"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%}] %{$fg[yellow]%}⚡%{$reset_color%}"
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[green]%}]"
|
||||
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=""
|
||||
|
||||
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%}
|
||||
|
|
|
|||
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
|
||||
10
themes/frisk.zsh-theme
Normal file
10
themes/frisk.zsh-theme
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
PROMPT=$'
|
||||
%{$fg[blue]%}%/%{$reset_color%} $(git_prompt_info)%{$fg[white]%}[%n@%m]%{$reset_color%} %{$fg[white]%}[%T]%{$reset_color%}
|
||||
%{$fg_bold[black]%}>%{$reset_color%} '
|
||||
|
||||
PROMPT2="%{$fg_blod[black]%}%_> %{$reset_color%}"
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[green]%}["
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="]%{$reset_color%} "
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}*%{$fg[green]%}"
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
||||
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=") "
|
||||
15
themes/gozilla.zsh-theme
Normal file
15
themes/gozilla.zsh-theme
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="("
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX=")"
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY=""
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
||||
|
||||
RPROMPT='$(git_prompt_status)%{$reset_color%}'
|
||||
|
||||
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]%} ✱"
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
# 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%})"
|
||||
|
||||
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=")"
|
||||
21
themes/kolo.zsh-theme
Normal file
21
themes/kolo.zsh-theme
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
autoload -U colors && colors
|
||||
|
||||
autoload -Uz vcs_info
|
||||
|
||||
zstyle ':vcs_info:*' stagedstr '%F{green}●'
|
||||
zstyle ':vcs_info:*' unstagedstr '%F{yellow}●'
|
||||
zstyle ':vcs_info:*' check-for-changes true
|
||||
zstyle ':vcs_info:(sv[nk]|bzr):*' branchformat '%b%F{1}:%F{11}%r'
|
||||
zstyle ':vcs_info:*' enable git svn
|
||||
precmd () {
|
||||
if [[ -z $(git ls-files --other --exclude-standard 2> /dev/null) ]] {
|
||||
zstyle ':vcs_info:*' formats ' [%b%c%u%B%F{green}]'
|
||||
} else {
|
||||
zstyle ':vcs_info:*' formats ' [%b%c%u%B%F{red}●%F{green}]'
|
||||
}
|
||||
|
||||
vcs_info
|
||||
}
|
||||
|
||||
setopt prompt_subst
|
||||
PROMPT='%B%F{magenta}%c%B%F{green}${vcs_info_msg_0_}%B%F{magenta} %{$reset_color%}%% '
|
||||
50
themes/kphoen.zsh-theme
Normal file
50
themes/kphoen.zsh-theme
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
# ------------------------------------------------------------------------------
|
||||
# FILE: kphoen.zsh-theme
|
||||
# DESCRIPTION: oh-my-zsh theme file.
|
||||
# AUTHOR: Kévin Gomez (geek63@gmail.com)
|
||||
# VERSION: 1.0.0
|
||||
# SCREENSHOT:
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
|
||||
if [[ "$TERM" != "dumb" ]] && [[ "$DISABLE_LS_COLORS" != "true" ]]; then
|
||||
PROMPT='[%{$fg[red]%}%n%{$reset_color%}@%{$fg[magenta]%}%m%{$reset_color%}:%{$fg[blue]%}%~%{$reset_color%}$(git_prompt_info)]
|
||||
%# '
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[green]%}"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY=""
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
||||
|
||||
# display exitcode on the right when >0
|
||||
return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
|
||||
|
||||
RPROMPT='${return_code}$(git_prompt_status)%{$reset_color%}'
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[green]%} ✚"
|
||||
ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[blue]%} ✹"
|
||||
ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✖"
|
||||
ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[magenta]%} ➜"
|
||||
ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[yellow]%} ═"
|
||||
ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%} ✭"
|
||||
else
|
||||
PROMPT='[%n@%m:%~$(git_prompt_info)]
|
||||
%# '
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX=" on"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX=""
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY=""
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
||||
|
||||
# display exitcode on the right when >0
|
||||
return_code="%(?..%? ↵)"
|
||||
|
||||
RPROMPT='${return_code}$(git_prompt_status)'
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_ADDED=" ✚"
|
||||
ZSH_THEME_GIT_PROMPT_MODIFIED=" ✹"
|
||||
ZSH_THEME_GIT_PROMPT_DELETED=" ✖"
|
||||
ZSH_THEME_GIT_PROMPT_RENAMED=" ➜"
|
||||
ZSH_THEME_GIT_PROMPT_UNMERGED=" ═"
|
||||
ZSH_THEME_GIT_PROMPT_UNTRACKED=" ✭"
|
||||
fi
|
||||
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%} "
|
||||
7
themes/nanotech.zsh-theme
Normal file
7
themes/nanotech.zsh-theme
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
PROMPT='%F{green}%2c%F{blue} [%f '
|
||||
RPROMPT='$(git_prompt_info) %F{blue}] %F{green}%D{%L:%M} %F{yellow}%D{%p}%f'
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="%F{yellow}"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="%f"
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY=" %F{red}*%f"
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
||||
43
themes/nicoulaj.zsh-theme
Normal file
43
themes/nicoulaj.zsh-theme
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
#!/usr/bin/env zsh
|
||||
# ------------------------------------------------------------------------------
|
||||
# Prompt for the Zsh shell:
|
||||
# * One line.
|
||||
# * VCS info on the right prompt.
|
||||
# * Only shows the path on the left prompt by default.
|
||||
# * Crops the path to a defined length and only shows the path relative to
|
||||
# the current VCS repository root.
|
||||
# * Wears a different color wether the last command succeeded/failed.
|
||||
# * Shows user@hostname if connected through SSH.
|
||||
# * Shows if logged in as root or not.
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
# Customizable parameters.
|
||||
PROMPT_PATH_MAX_LENGTH=30
|
||||
PROMPT_DEFAULT_END=❯
|
||||
PROMPT_ROOT_END=❯❯❯
|
||||
PROMPT_SUCCESS_COLOR=$FG[071]
|
||||
PROMPT_FAILURE_COLOR=$FG[124]
|
||||
PROMPT_VCS_INFO_COLOR=$FG[242]
|
||||
|
||||
# Set required options.
|
||||
setopt promptsubst
|
||||
|
||||
# Load required modules.
|
||||
autoload -U add-zsh-hook
|
||||
autoload -Uz vcs_info
|
||||
|
||||
# Add hook for calling vcs_info before each command.
|
||||
add-zsh-hook precmd vcs_info
|
||||
|
||||
# Set vcs_info parameters.
|
||||
zstyle ':vcs_info:*' enable hg bzr git
|
||||
zstyle ':vcs_info:*:*' check-for-changes true # Can be slow on big repos.
|
||||
zstyle ':vcs_info:*:*' unstagedstr '!'
|
||||
zstyle ':vcs_info:*:*' stagedstr '+'
|
||||
zstyle ':vcs_info:*:*' actionformats "%S" "%r/%s/%b %u%c (%a)"
|
||||
zstyle ':vcs_info:*:*' formats "%S" "%r/%s/%b %u%c"
|
||||
zstyle ':vcs_info:*:*' nvcsformats "%~" ""
|
||||
|
||||
# Define prompts.
|
||||
PROMPT="%(0?.%{$PROMPT_SUCCESS_COLOR%}.%{$PROMPT_FAILURE_COLOR%})${SSH_TTY:+[%n@%m]}%{$FX[bold]%}%$PROMPT_PATH_MAX_LENGTH<..<"'${vcs_info_msg_0_%%.}'"%<<%(!.$PROMPT_ROOT_END.$PROMPT_DEFAULT_END)%{$FX[no-bold]%}%{$FX[reset]%} "
|
||||
RPROMPT="%{$PROMPT_VCS_INFO_COLOR%}"'$vcs_info_msg_1_'"%{$FX[reset]%}"
|
||||
14
themes/philips.zsh-theme
Normal file
14
themes/philips.zsh-theme
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
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)%(!.#.$) '
|
||||
RPROMPT='[%*]'
|
||||
|
||||
# git theming
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}(%{$fg_no_bold[red]%}%B"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="%b%{$fg_bold[blue]%})%{$reset_color%} "
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[red]%}"
|
||||
|
||||
# LS colors, made with http://geoff.greer.fm/lscolors/
|
||||
export LSCOLORS="Gxfxcxdxbxegedabagacad"
|
||||
export LS_COLORS='no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:'
|
||||
|
|
@ -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@%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%}"
|
||||
48
themes/sorin.zsh-theme
Normal file
48
themes/sorin.zsh-theme
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
# ------------------------------------------------------------------------------
|
||||
# FILE: sorin.zsh-theme
|
||||
# DESCRIPTION: oh-my-zsh theme file.
|
||||
# AUTHOR: Sorin Ionescu (sorin.ionescu@gmail.com)
|
||||
# VERSION: 1.0.2
|
||||
# SCREENSHOT: http://i.imgur.com/aipDQ.png
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
|
||||
if [[ "$TERM" != "dumb" ]] && [[ "$DISABLE_LS_COLORS" != "true" ]]; then
|
||||
MODE_INDICATOR="%{$fg_bold[red]%}❮%{$reset_color%}%{$fg[red]%}❮❮%{$reset_color%}"
|
||||
local return_status="%{$fg[red]%}%(?..⏎)%{$reset_color%}"
|
||||
|
||||
PROMPT='%{$fg[cyan]%}%c$(git_prompt_info) %(!.%{$fg_bold[red]%}#.%{$fg_bold[green]%}❯)%{$reset_color%} '
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[blue]%}git%{$reset_color%}:%{$fg[red]%}"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY=""
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
||||
|
||||
RPROMPT='${return_status}$(git_prompt_status)%{$reset_color%}'
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[green]%} ✚"
|
||||
ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[blue]%} ✹"
|
||||
ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✖"
|
||||
ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[magenta]%} ➜"
|
||||
ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[yellow]%} ═"
|
||||
ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%} ✭"
|
||||
else
|
||||
MODE_INDICATOR="❮❮❮"
|
||||
local return_status="%(?::⏎)"
|
||||
|
||||
PROMPT='%c$(git_prompt_info) %(!.#.❯) '
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX=" git:"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX=""
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY=""
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
||||
|
||||
RPROMPT='${return_status}$(git_prompt_status)'
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_ADDED=" ✚"
|
||||
ZSH_THEME_GIT_PROMPT_MODIFIED=" ✹"
|
||||
ZSH_THEME_GIT_PROMPT_DELETED=" ✖"
|
||||
ZSH_THEME_GIT_PROMPT_RENAMED=" ➜"
|
||||
ZSH_THEME_GIT_PROMPT_UNMERGED=" ═"
|
||||
ZSH_THEME_GIT_PROMPT_UNTRACKED=" ✭"
|
||||
fi
|
||||
|
|
@ -1,6 +1,16 @@
|
|||
# Comment
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX=' (git:'
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX=')'
|
||||
PROMPT='%{$fg[magenta]%}[%c] %{$reset_color%}'
|
||||
|
||||
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]%} ✱"
|
||||
15
themes/tjkirch.zsh-theme
Normal file
15
themes/tjkirch.zsh-theme
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[green]%}"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}⚡"
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
||||
|
||||
function prompt_char {
|
||||
if [ $UID -eq 0 ]; then echo "%{$fg[red]%}#%{$reset_color%}"; else echo $; fi
|
||||
}
|
||||
|
||||
PROMPT='%(?, ,%{$fg[red]%}FAIL: $?%{$reset_color%}
|
||||
)
|
||||
%{$fg[magenta]%}%n%{$reset_color%}@%{$fg[yellow]%}%m%{$reset_color%}: %{$fg_bold[blue]%}%~%{$reset_color%}$(git_prompt_info)
|
||||
%_$(prompt_char) '
|
||||
|
||||
RPROMPT='%{$fg[green]%}[%*]%{$reset_color%}'
|
||||
|
|
@ -16,7 +16,7 @@ then
|
|||
_update_zsh_update && return 0;
|
||||
fi
|
||||
|
||||
epoch_diff=$((${_current_epoch} - $LAST_EPOCH))
|
||||
epoch_diff=$(($(_current_epoch) - $LAST_EPOCH))
|
||||
if [ $epoch_diff -gt 6 ]
|
||||
then
|
||||
echo "[Oh My Zsh] Would you like to check for updates?"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue