mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2025-12-26 02:12:33 +01:00
finally merged with upstream
This commit is contained in:
commit
23496fa683
90 changed files with 2442 additions and 270 deletions
6
.gitignore
vendored
6
.gitignore
vendored
|
|
@ -1,5 +1,9 @@
|
|||
locals.zsh
|
||||
log/.zsh_history
|
||||
projects.zsh
|
||||
custom
|
||||
custom/*.zsh
|
||||
!custom/example.zsh
|
||||
!custom/example.zsh
|
||||
*.un~
|
||||
|
||||
.DS_Store
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ h3. The manual install
|
|||
|
||||
@chsh -s /bin/zsh@
|
||||
|
||||
4. Start / restart zsh (open a new terminal is easy enough..)
|
||||
4. Start / restart zsh (open a new terminal is easy enough...)
|
||||
|
||||
h3. Features different than robbyrussel's version
|
||||
|
||||
|
|
@ -35,7 +35,7 @@ h3. Features different than robbyrussel's version
|
|||
|
||||
h3. Problems?
|
||||
|
||||
You _might_ need to modify your PATH in ~/.zshrc if you're not able to find some commands after switching to oh-my-zsh.
|
||||
You _might_ need to modify your PATH in ~/.zshrc if you're not able to find some commands after switching to _Oh My Zsh_.
|
||||
|
||||
|
||||
|
||||
|
|
@ -55,6 +55,7 @@ the "refcard":http://www.bash2zsh.com/zsh_refcard/refcard.pdf is pretty tasty fo
|
|||
h3. Customization
|
||||
|
||||
If you want to override any of the default behavior, just add a new file (ending in @.zsh@) into the @custom/@ directory.
|
||||
If you have many functions which go good together you can put them as a *.plugin.zsh file in the @plugin/@ directory and then enable this plugin.
|
||||
|
||||
h3. Uninstalling
|
||||
|
||||
|
|
@ -70,4 +71,4 @@ I just quote robbyrussel:
|
|||
|
||||
bq. 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!
|
||||
|
||||
I would love more advance yet nice ZSH stuff\
|
||||
I would love more advance yet nice ZSH stuff
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
# Add yourself some shortcuts to projects you often work on
|
||||
# Example:
|
||||
#
|
||||
# brainstormr=/Users/robbyrussell/Projects/development/planetargon/brainstormr
|
||||
#
|
||||
951
functions/_hg
Normal file
951
functions/_hg
Normal file
|
|
@ -0,0 +1,951 @@
|
|||
#compdef hg
|
||||
|
||||
# Zsh completion script for mercurial. Rename this file to _hg and copy
|
||||
# it into your zsh function path (/usr/share/zsh/site-functions for
|
||||
# instance)
|
||||
#
|
||||
# If you do not want to install it globally, you can copy it somewhere
|
||||
# else and add that directory to $fpath. This must be done before
|
||||
# compinit is called. If the file is copied to ~/.zsh.d, your ~/.zshrc
|
||||
# file could look like this:
|
||||
#
|
||||
# fpath=("$HOME/.zsh.d" $fpath)
|
||||
# autoload -U compinit
|
||||
# compinit
|
||||
#
|
||||
# Copyright (C) 2005, 2006 Steve Borho <steve@borho.org>
|
||||
# Copyright (C) 2006-9 Brendan Cully <brendan@kublai.com>
|
||||
#
|
||||
# Permission is hereby granted, without written agreement and without
|
||||
# licence or royalty fees, to use, copy, modify, and distribute this
|
||||
# software and to distribute modified versions of this software for any
|
||||
# purpose, provided that the above copyright notice and the following
|
||||
# two paragraphs appear in all copies of this software.
|
||||
#
|
||||
# In no event shall the authors be liable to any party for direct,
|
||||
# indirect, special, incidental, or consequential damages arising out of
|
||||
# the use of this software and its documentation, even if the authors
|
||||
# have been advised of the possibility of such damage.
|
||||
#
|
||||
# The authors specifically disclaim any warranties, including, but not
|
||||
# limited to, the implied warranties of merchantability and fitness for
|
||||
# a particular purpose. The software provided hereunder is on an "as
|
||||
# is" basis, and the authors have no obligation to provide maintenance,
|
||||
# support, updates, enhancements, or modifications.
|
||||
|
||||
emulate -LR zsh
|
||||
setopt extendedglob
|
||||
|
||||
local curcontext="$curcontext" state line
|
||||
typeset -A _hg_cmd_globals
|
||||
|
||||
_hg() {
|
||||
local cmd _hg_root
|
||||
integer i=2
|
||||
_hg_cmd_globals=()
|
||||
|
||||
while (( i < $#words ))
|
||||
do
|
||||
case "$words[$i]" in
|
||||
-R|--repository)
|
||||
eval _hg_root="$words[$i+1]"
|
||||
_hg_cmd_globals+=("$words[$i]" "$_hg_root")
|
||||
(( i += 2 ))
|
||||
continue
|
||||
;;
|
||||
-R*)
|
||||
_hg_cmd_globals+="$words[$i]"
|
||||
eval _hg_root="${words[$i]#-R}"
|
||||
(( i++ ))
|
||||
continue
|
||||
;;
|
||||
--cwd|--config)
|
||||
# pass along arguments to hg completer
|
||||
_hg_cmd_globals+=("$words[$i]" "$words[$i+1]")
|
||||
(( i += 2 ))
|
||||
continue
|
||||
;;
|
||||
-*)
|
||||
# skip option
|
||||
(( i++ ))
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
if [[ -z "$cmd" ]]
|
||||
then
|
||||
cmd="$words[$i]"
|
||||
words[$i]=()
|
||||
(( CURRENT-- ))
|
||||
fi
|
||||
(( i++ ))
|
||||
done
|
||||
|
||||
if [[ -z "$cmd" ]]
|
||||
then
|
||||
_arguments -s -w : $_hg_global_opts \
|
||||
':mercurial command:_hg_commands'
|
||||
return
|
||||
fi
|
||||
|
||||
# resolve abbreviations and aliases
|
||||
if ! (( $+functions[_hg_cmd_${cmd}] ))
|
||||
then
|
||||
local cmdexp
|
||||
(( $#_hg_cmd_list )) || _hg_get_commands
|
||||
|
||||
cmdexp=$_hg_cmd_list[(r)${cmd}*]
|
||||
if [[ $cmdexp == $_hg_cmd_list[(R)${cmd}*] ]]
|
||||
then
|
||||
# might be nice to rewrite the command line with the expansion
|
||||
cmd="$cmdexp"
|
||||
fi
|
||||
if [[ -n $_hg_alias_list[$cmd] ]]
|
||||
then
|
||||
cmd=$_hg_alias_list[$cmd]
|
||||
fi
|
||||
fi
|
||||
|
||||
curcontext="${curcontext%:*:*}:hg-${cmd}:"
|
||||
|
||||
zstyle -s ":completion:$curcontext:" cache-policy update_policy
|
||||
|
||||
if [[ -z "$update_policy" ]]
|
||||
then
|
||||
zstyle ":completion:$curcontext:" cache-policy _hg_cache_policy
|
||||
fi
|
||||
|
||||
if (( $+functions[_hg_cmd_${cmd}] ))
|
||||
then
|
||||
_hg_cmd_${cmd}
|
||||
else
|
||||
# complete unknown commands normally
|
||||
_arguments -s -w : $_hg_global_opts \
|
||||
'*:files:_hg_files'
|
||||
fi
|
||||
}
|
||||
|
||||
_hg_cache_policy() {
|
||||
typeset -a old
|
||||
|
||||
# cache for a minute
|
||||
old=( "$1"(mm+10) )
|
||||
(( $#old )) && return 0
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
_hg_get_commands() {
|
||||
typeset -ga _hg_cmd_list
|
||||
typeset -gA _hg_alias_list
|
||||
local hline cmd cmdalias
|
||||
|
||||
_call_program hg hg debugcomplete -v | while read -A hline
|
||||
do
|
||||
cmd=$hline[1]
|
||||
_hg_cmd_list+=($cmd)
|
||||
|
||||
for cmdalias in $hline[2,-1]
|
||||
do
|
||||
_hg_cmd_list+=($cmdalias)
|
||||
_hg_alias_list+=($cmdalias $cmd)
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
_hg_commands() {
|
||||
(( $#_hg_cmd_list )) || _hg_get_commands
|
||||
_describe -t commands 'mercurial command' _hg_cmd_list
|
||||
}
|
||||
|
||||
_hg_revrange() {
|
||||
compset -P 1 '*:'
|
||||
_hg_tags "$@"
|
||||
}
|
||||
|
||||
_hg_tags() {
|
||||
typeset -a tags
|
||||
local tag rev
|
||||
|
||||
_hg_cmd tags | while read tag
|
||||
do
|
||||
tags+=(${tag/ # [0-9]#:*})
|
||||
done
|
||||
(( $#tags )) && _describe -t tags 'tags' tags
|
||||
}
|
||||
|
||||
# likely merge candidates
|
||||
_hg_mergerevs() {
|
||||
typeset -a heads
|
||||
local myrev
|
||||
|
||||
heads=(${(f)"$(_hg_cmd heads --template '{rev}\\n')"})
|
||||
# exclude own revision
|
||||
myrev=$(_hg_cmd log -r . --template '{rev}\\n')
|
||||
heads=(${heads:#$myrev})
|
||||
|
||||
(( $#heads )) && _describe -t heads 'heads' heads
|
||||
}
|
||||
|
||||
_hg_files() {
|
||||
if [[ -n "$_hg_root" ]]
|
||||
then
|
||||
[[ -d "$_hg_root/.hg" ]] || return
|
||||
case "$_hg_root" in
|
||||
/*)
|
||||
_files -W $_hg_root
|
||||
;;
|
||||
*)
|
||||
_files -W $PWD/$_hg_root
|
||||
;;
|
||||
esac
|
||||
else
|
||||
_files
|
||||
fi
|
||||
}
|
||||
|
||||
_hg_status() {
|
||||
[[ -d $PREFIX ]] || PREFIX=$PREFIX:h
|
||||
status_files=(${(ps:\0:)"$(_hg_cmd status -0n$1 ./$PREFIX)"})
|
||||
}
|
||||
|
||||
_hg_unknown() {
|
||||
typeset -a status_files
|
||||
_hg_status u
|
||||
_wanted files expl 'unknown files' _multi_parts / status_files
|
||||
}
|
||||
|
||||
_hg_missing() {
|
||||
typeset -a status_files
|
||||
_hg_status d
|
||||
_wanted files expl 'missing files' _multi_parts / status_files
|
||||
}
|
||||
|
||||
_hg_modified() {
|
||||
typeset -a status_files
|
||||
_hg_status m
|
||||
_wanted files expl 'modified files' _multi_parts / status_files
|
||||
}
|
||||
|
||||
_hg_resolve() {
|
||||
local rstate rpath
|
||||
|
||||
[[ -d $PREFIX ]] || PREFIX=$PREFIX:h
|
||||
|
||||
_hg_cmd resolve -l ./$PREFIX | while read rstate rpath
|
||||
do
|
||||
[[ $rstate == 'R' ]] && resolved_files+=($rpath)
|
||||
[[ $rstate == 'U' ]] && unresolved_files+=($rpath)
|
||||
done
|
||||
}
|
||||
|
||||
_hg_resolved() {
|
||||
typeset -a resolved_files unresolved_files
|
||||
_hg_resolve
|
||||
_wanted files expl 'resolved files' _multi_parts / resolved_files
|
||||
}
|
||||
|
||||
_hg_unresolved() {
|
||||
typeset -a resolved_files unresolved_files
|
||||
_hg_resolve
|
||||
_wanted files expl 'unresolved files' _multi_parts / unresolved_files
|
||||
}
|
||||
|
||||
_hg_config() {
|
||||
typeset -a items
|
||||
items=(${${(%f)"$(_call_program hg hg showconfig)"}%%\=*})
|
||||
(( $#items )) && _describe -t config 'config item' items
|
||||
}
|
||||
|
||||
_hg_addremove() {
|
||||
_alternative 'files:unknown files:_hg_unknown' \
|
||||
'files:missing files:_hg_missing'
|
||||
}
|
||||
|
||||
_hg_ssh_urls() {
|
||||
if [[ -prefix */ ]]
|
||||
then
|
||||
if zstyle -T ":completion:${curcontext}:files" remote-access
|
||||
then
|
||||
local host=${PREFIX%%/*}
|
||||
typeset -a remdirs
|
||||
compset -p $(( $#host + 1 ))
|
||||
local rempath=${(M)PREFIX##*/}
|
||||
local cacheid="hg:${host}-${rempath//\//_}"
|
||||
cacheid=${cacheid%[-_]}
|
||||
compset -P '*/'
|
||||
if _cache_invalid "$cacheid" || ! _retrieve_cache "$cacheid"
|
||||
then
|
||||
remdirs=(${${(M)${(f)"$(_call_program files ssh -a -x $host ls -1FL "${(q)rempath}")"}##*/}%/})
|
||||
_store_cache "$cacheid" remdirs
|
||||
fi
|
||||
_describe -t directories 'remote directory' remdirs -S/
|
||||
else
|
||||
_message 'remote directory'
|
||||
fi
|
||||
else
|
||||
if compset -P '*@'
|
||||
then
|
||||
_hosts -S/
|
||||
else
|
||||
_alternative 'hosts:remote host name:_hosts -S/' \
|
||||
'users:user:_users -S@'
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
_hg_urls() {
|
||||
if compset -P bundle://
|
||||
then
|
||||
_files
|
||||
elif compset -P ssh://
|
||||
then
|
||||
_hg_ssh_urls
|
||||
elif [[ -prefix *: ]]
|
||||
then
|
||||
_urls
|
||||
else
|
||||
local expl
|
||||
compset -S '[^:]*'
|
||||
_wanted url-schemas expl 'URL schema' compadd -S '' - \
|
||||
http:// https:// ssh:// bundle://
|
||||
fi
|
||||
}
|
||||
|
||||
_hg_paths() {
|
||||
typeset -a paths pnames
|
||||
_hg_cmd paths | while read -A pnames
|
||||
do
|
||||
paths+=($pnames[1])
|
||||
done
|
||||
(( $#paths )) && _describe -t path-aliases 'repository alias' paths
|
||||
}
|
||||
|
||||
_hg_remote() {
|
||||
_alternative 'path-aliases:repository alias:_hg_paths' \
|
||||
'directories:directory:_files -/' \
|
||||
'urls:URL:_hg_urls'
|
||||
}
|
||||
|
||||
_hg_clone_dest() {
|
||||
_alternative 'directories:directory:_files -/' \
|
||||
'urls:URL:_hg_urls'
|
||||
}
|
||||
|
||||
# Common options
|
||||
_hg_global_opts=(
|
||||
'(--repository -R)'{-R+,--repository}'[repository root directory]:repository:_files -/'
|
||||
'--cwd[change working directory]:new working directory:_files -/'
|
||||
'(--noninteractive -y)'{-y,--noninteractive}'[do not prompt, assume yes for any required answers]'
|
||||
'(--verbose -v)'{-v,--verbose}'[enable additional output]'
|
||||
'*--config[set/override config option]:defined config items:_hg_config'
|
||||
'(--quiet -q)'{-q,--quiet}'[suppress output]'
|
||||
'(--help -h)'{-h,--help}'[display help and exit]'
|
||||
'--debug[debug mode]'
|
||||
'--debugger[start debugger]'
|
||||
'--encoding[set the charset encoding (default: UTF8)]'
|
||||
'--encodingmode[set the charset encoding mode (default: strict)]'
|
||||
'--lsprof[print improved command execution profile]'
|
||||
'--traceback[print traceback on exception]'
|
||||
'--time[time how long the command takes]'
|
||||
'--profile[profile]'
|
||||
'--version[output version information and exit]'
|
||||
)
|
||||
|
||||
_hg_pat_opts=(
|
||||
'*'{-I+,--include}'[include names matching the given patterns]:dir:_files -W $(_hg_cmd root) -/'
|
||||
'*'{-X+,--exclude}'[exclude names matching the given patterns]:dir:_files -W $(_hg_cmd root) -/')
|
||||
|
||||
_hg_diff_opts=(
|
||||
'(--text -a)'{-a,--text}'[treat all files as text]'
|
||||
'(--git -g)'{-g,--git}'[use git extended diff format]'
|
||||
"--nodates[omit dates from diff headers]")
|
||||
|
||||
_hg_dryrun_opts=(
|
||||
'(--dry-run -n)'{-n,--dry-run}'[do not perform actions, just print output]')
|
||||
|
||||
_hg_style_opts=(
|
||||
'--style[display using template map file]:'
|
||||
'--template[display with template]:')
|
||||
|
||||
_hg_commit_opts=(
|
||||
'(-m --message -l --logfile --edit -e)'{-e,--edit}'[edit commit message]'
|
||||
'(-e --edit -l --logfile --message -m)'{-m+,--message}'[use <text> as commit message]:message:'
|
||||
'(-e --edit -m --message --logfile -l)'{-l+,--logfile}'[read the commit message from <file>]:log file:_files')
|
||||
|
||||
_hg_remote_opts=(
|
||||
'(--ssh -e)'{-e+,--ssh}'[specify ssh command to use]:'
|
||||
'--remotecmd[specify hg command to run on the remote side]:')
|
||||
|
||||
_hg_cmd() {
|
||||
_call_program hg hg --config ui.verbose=0 --config defaults."$1"= \
|
||||
"$_hg_cmd_globals[@]" "$@" 2> /dev/null
|
||||
}
|
||||
|
||||
_hg_cmd_add() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \
|
||||
'*:unknown files:_hg_unknown'
|
||||
}
|
||||
|
||||
_hg_cmd_addremove() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \
|
||||
'(--similarity -s)'{-s+,--similarity}'[guess renamed files by similarity (0<=s<=100)]:' \
|
||||
'*:unknown or missing files:_hg_addremove'
|
||||
}
|
||||
|
||||
_hg_cmd_annotate() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_pat_opts \
|
||||
'(--rev -r)'{-r+,--rev}'[annotate the specified revision]:revision:_hg_tags' \
|
||||
'(--follow -f)'{-f,--follow}'[follow file copies and renames]' \
|
||||
'(--text -a)'{-a,--text}'[treat all files as text]' \
|
||||
'(--user -u)'{-u,--user}'[list the author]' \
|
||||
'(--date -d)'{-d,--date}'[list the date]' \
|
||||
'(--number -n)'{-n,--number}'[list the revision number (default)]' \
|
||||
'(--changeset -c)'{-c,--changeset}'[list the changeset]' \
|
||||
'*:files:_hg_files'
|
||||
}
|
||||
|
||||
_hg_cmd_archive() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_pat_opts \
|
||||
'--no-decode[do not pass files through decoders]' \
|
||||
'(--prefix -p)'{-p+,--prefix}'[directory prefix for files in archive]:' \
|
||||
'(--rev -r)'{-r+,--rev}'[revision to distribute]:revision:_hg_tags' \
|
||||
'(--type -t)'{-t+,--type}'[type of distribution to create]:archive type:(files tar tbz2 tgz uzip zip)' \
|
||||
'*:destination:_files'
|
||||
}
|
||||
|
||||
_hg_cmd_backout() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_pat_opts \
|
||||
'--merge[merge with old dirstate parent after backout]' \
|
||||
'(--date -d)'{-d+,--date}'[record datecode as commit date]:date code:' \
|
||||
'--parent[parent to choose when backing out merge]' \
|
||||
'(--user -u)'{-u+,--user}'[record user as commiter]:user:' \
|
||||
'(--rev -r)'{-r+,--rev}'[revision]:revision:_hg_tags' \
|
||||
'(--message -m)'{-m+,--message}'[use <text> as commit message]:text:' \
|
||||
'(--logfile -l)'{-l+,--logfile}'[read commit message from <file>]:log file:_files -g \*.txt'
|
||||
}
|
||||
|
||||
_hg_cmd_bisect() {
|
||||
_arguments -s -w : $_hg_global_opts \
|
||||
'(-)'{-r,--reset}'[reset bisect state]' \
|
||||
'(--good -g --bad -b --skip -s --reset -r)'{-g,--good}'[mark changeset good]'::revision:_hg_tags \
|
||||
'(--good -g --bad -b --skip -s --reset -r)'{-b,--bad}'[mark changeset bad]'::revision:_hg_tags \
|
||||
'(--good -g --bad -b --skip -s --reset -r)'{-s,--skip}'[skip testing changeset]' \
|
||||
'(--command -c --noupdate -U)'{-c+,--command}'[use command to check changeset state]':commands:_command_names \
|
||||
'(--command -c --noupdate -U)'{-U,--noupdate}'[do not update to target]'
|
||||
}
|
||||
|
||||
_hg_cmd_branch() {
|
||||
_arguments -s -w : $_hg_global_opts \
|
||||
'(--force -f)'{-f,--force}'[set branch name even if it shadows an existing branch]' \
|
||||
'(--clean -C)'{-C,--clean}'[reset branch name to parent branch name]'
|
||||
}
|
||||
|
||||
_hg_cmd_branches() {
|
||||
_arguments -s -w : $_hg_global_opts \
|
||||
'(--active -a)'{-a,--active}'[show only branches that have unmerge heads]'
|
||||
}
|
||||
|
||||
_hg_cmd_bundle() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_remote_opts \
|
||||
'(--force -f)'{-f,--force}'[run even when remote repository is unrelated]' \
|
||||
'(2)*--base[a base changeset to specify instead of a destination]:revision:_hg_tags' \
|
||||
':output file:_files' \
|
||||
':destination repository:_files -/'
|
||||
}
|
||||
|
||||
_hg_cmd_cat() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_pat_opts \
|
||||
'(--output -o)'{-o+,--output}'[print output to file with formatted name]:filespec:' \
|
||||
'(--rev -r)'{-r+,--rev}'[revision]:revision:_hg_tags' \
|
||||
'*:file:_hg_files'
|
||||
}
|
||||
|
||||
_hg_cmd_clone() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_remote_opts \
|
||||
'(--noupdate -U)'{-U,--noupdate}'[do not update the new working directory]' \
|
||||
'(--rev -r)'{-r+,--rev}'[a changeset you would like to have after cloning]:' \
|
||||
'--uncompressed[use uncompressed transfer (fast over LAN)]' \
|
||||
':source repository:_hg_remote' \
|
||||
':destination:_hg_clone_dest'
|
||||
}
|
||||
|
||||
_hg_cmd_commit() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_pat_opts \
|
||||
'(--addremove -A)'{-A,--addremove}'[mark new/missing files as added/removed before committing]' \
|
||||
'(--message -m)'{-m+,--message}'[use <text> as commit message]:text:' \
|
||||
'(--logfile -l)'{-l+,--logfile}'[read commit message from <file>]:log file:_files -g \*.txt' \
|
||||
'(--date -d)'{-d+,--date}'[record datecode as commit date]:date code:' \
|
||||
'(--user -u)'{-u+,--user}'[record user as commiter]:user:' \
|
||||
'*:file:_hg_files'
|
||||
}
|
||||
|
||||
_hg_cmd_copy() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \
|
||||
'(--after -A)'{-A,--after}'[record a copy that has already occurred]' \
|
||||
'(--force -f)'{-f,--force}'[forcibly copy over an existing managed file]' \
|
||||
'*:file:_hg_files'
|
||||
}
|
||||
|
||||
_hg_cmd_diff() {
|
||||
typeset -A opt_args
|
||||
_arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_diff_opts \
|
||||
'*'{-r,--rev}'+[revision]:revision:_hg_revrange' \
|
||||
'(--show-function -p)'{-p,--show-function}'[show which function each change is in]' \
|
||||
'(--ignore-all-space -w)'{-w,--ignore-all-space}'[ignore white space when comparing lines]' \
|
||||
'(--ignore-space-change -b)'{-b,--ignore-space-change}'[ignore changes in the amount of white space]' \
|
||||
'(--ignore-blank-lines -B)'{-B,--ignore-blank-lines}'[ignore changes whose lines are all blank]' \
|
||||
'*:file:->diff_files'
|
||||
|
||||
if [[ $state == 'diff_files' ]]
|
||||
then
|
||||
if [[ -n $opt_args[-r] ]]
|
||||
then
|
||||
_hg_files
|
||||
else
|
||||
_hg_modified
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
_hg_cmd_export() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_diff_opts \
|
||||
'(--outout -o)'{-o+,--output}'[print output to file with formatted name]:filespec:' \
|
||||
'--switch-parent[diff against the second parent]' \
|
||||
'*:revision:_hg_tags'
|
||||
}
|
||||
|
||||
_hg_cmd_grep() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_pat_opts \
|
||||
'(--print0 -0)'{-0,--print0}'[end filenames with NUL]' \
|
||||
'--all[print all revisions with matches]' \
|
||||
'(--follow -f)'{-f,--follow}'[follow changeset or file history]' \
|
||||
'(--ignore-case -i)'{-i,--ignore-case}'[ignore case when matching]' \
|
||||
'(--files-with-matches -l)'{-l,--files-with-matches}'[print only filenames and revs that match]' \
|
||||
'(--line-number -n)'{-n,--line-number}'[print matching line numbers]' \
|
||||
'*'{-r+,--rev}'[search in given revision range]:revision:_hg_revrange' \
|
||||
'(--user -u)'{-u,--user}'[print user who committed change]' \
|
||||
'1:search pattern:' \
|
||||
'*:files:_hg_files'
|
||||
}
|
||||
|
||||
_hg_cmd_heads() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_style_opts \
|
||||
'(--rev -r)'{-r+,--rev}'[show only heads which are descendants of rev]:revision:_hg_tags'
|
||||
}
|
||||
|
||||
_hg_cmd_help() {
|
||||
_arguments -s -w : $_hg_global_opts \
|
||||
'*:mercurial command:_hg_commands'
|
||||
}
|
||||
|
||||
_hg_cmd_identify() {
|
||||
_arguments -s -w : $_hg_global_opts \
|
||||
'(--rev -r)'{-r+,--rev}'[identify the specified rev]:revision:_hg_tags' \
|
||||
'(--num -n)'{-n+,--num}'[show local revision number]' \
|
||||
'(--id -i)'{-i+,--id}'[show global revision id]' \
|
||||
'(--branch -b)'{-b+,--branch}'[show branch]' \
|
||||
'(--tags -t)'{-t+,--tags}'[show tags]'
|
||||
}
|
||||
|
||||
_hg_cmd_import() {
|
||||
_arguments -s -w : $_hg_global_opts \
|
||||
'(--strip -p)'{-p+,--strip}'[directory strip option for patch (default: 1)]:count:' \
|
||||
'(--message -m)'{-m+,--message}'[use <text> as commit message]:text:' \
|
||||
'(--force -f)'{-f,--force}'[skip check for outstanding uncommitted changes]' \
|
||||
'*:patch:_files'
|
||||
}
|
||||
|
||||
_hg_cmd_incoming() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_remote_opts $_hg_style_opts \
|
||||
'(--no-merges -M)'{-M,--no-merges}'[do not show merge revisions]' \
|
||||
'(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \
|
||||
'(--patch -p)'{-p,--patch}'[show patch]' \
|
||||
'(--rev -r)'{-r+,--rev}'[a specific revision up to which you would like to pull]:revision:_hg_tags' \
|
||||
'(--newest-first -n)'{-n,--newest-first}'[show newest record first]' \
|
||||
'--bundle[file to store the bundles into]:bundle file:_files' \
|
||||
':source:_hg_remote'
|
||||
}
|
||||
|
||||
_hg_cmd_init() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_remote_opts \
|
||||
':dir:_files -/'
|
||||
}
|
||||
|
||||
_hg_cmd_locate() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_pat_opts \
|
||||
'(--rev -r)'{-r+,--rev}'[search repository as it stood at revision]:revision:_hg_tags' \
|
||||
'(--print0 -0)'{-0,--print0}'[end filenames with NUL, for use with xargs]' \
|
||||
'(--fullpath -f)'{-f,--fullpath}'[print complete paths]' \
|
||||
'*:search pattern:_hg_files'
|
||||
}
|
||||
|
||||
_hg_cmd_log() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_style_opts \
|
||||
'(--follow --follow-first -f)'{-f,--follow}'[follow changeset or history]' \
|
||||
'(-f --follow)--follow-first[only follow the first parent of merge changesets]' \
|
||||
'(--copies -C)'{-C,--copies}'[show copied files]' \
|
||||
'(--keyword -k)'{-k+,--keyword}'[search for a keyword]:' \
|
||||
'(--limit -l)'{-l+,--limit}'[limit number of changes displayed]:' \
|
||||
'*'{-r,--rev}'[show the specified revision or range]:revision:_hg_revrange' \
|
||||
'(--no-merges -M)'{-M,--no-merges}'[do not show merges]' \
|
||||
'(--only-merges -m)'{-m,--only-merges}'[show only merges]' \
|
||||
'(--patch -p)'{-p,--patch}'[show patch]' \
|
||||
'(--prune -P)'{-P+,--prune}'[do not display revision or any of its ancestors]:revision:_hg_tags' \
|
||||
'*:files:_hg_files'
|
||||
}
|
||||
|
||||
_hg_cmd_manifest() {
|
||||
_arguments -s -w : $_hg_global_opts \
|
||||
':revision:_hg_tags'
|
||||
}
|
||||
|
||||
_hg_cmd_merge() {
|
||||
_arguments -s -w : $_hg_global_opts \
|
||||
'(--force -f)'{-f,--force}'[force a merge with outstanding changes]' \
|
||||
'(--rev -r 1)'{-r,--rev}'[revision to merge]:revision:_hg_mergerevs' \
|
||||
'(--preview -P)'{-P,--preview}'[review revisions to merge (no merge is performed)]' \
|
||||
':revision:_hg_mergerevs'
|
||||
}
|
||||
|
||||
_hg_cmd_outgoing() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_remote_opts $_hg_style_opts \
|
||||
'(--no-merges -M)'{-M,--no-merges}'[do not show merge revisions]' \
|
||||
'(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \
|
||||
'(--patch -p)'{-p,--patch}'[show patch]' \
|
||||
'(--rev -r)'{-r+,--rev}'[a specific revision you would like to push]' \
|
||||
'(--newest-first -n)'{-n,--newest-first}'[show newest record first]' \
|
||||
':destination:_hg_remote'
|
||||
}
|
||||
|
||||
_hg_cmd_parents() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_style_opts \
|
||||
'(--rev -r)'{-r+,--rev}'[show parents of the specified rev]:revision:_hg_tags' \
|
||||
':last modified file:_hg_files'
|
||||
}
|
||||
|
||||
_hg_cmd_paths() {
|
||||
_arguments -s -w : $_hg_global_opts \
|
||||
':path:_hg_paths'
|
||||
}
|
||||
|
||||
_hg_cmd_pull() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_remote_opts \
|
||||
'(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \
|
||||
'(--update -u)'{-u,--update}'[update to new tip if changesets were pulled]' \
|
||||
'(--rev -r)'{-r+,--rev}'[a specific revision up to which you would like to pull]:revision:' \
|
||||
':source:_hg_remote'
|
||||
}
|
||||
|
||||
_hg_cmd_push() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_remote_opts \
|
||||
'(--force -f)'{-f,--force}'[force push]' \
|
||||
'(--rev -r)'{-r+,--rev}'[a specific revision you would like to push]:revision:_hg_tags' \
|
||||
':destination:_hg_remote'
|
||||
}
|
||||
|
||||
_hg_cmd_remove() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_pat_opts \
|
||||
'(--after -A)'{-A,--after}'[record remove that has already occurred]' \
|
||||
'(--force -f)'{-f,--force}'[remove file even if modified]' \
|
||||
'*:file:_hg_files'
|
||||
}
|
||||
|
||||
_hg_cmd_rename() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \
|
||||
'(--after -A)'{-A,--after}'[record a rename that has already occurred]' \
|
||||
'(--force -f)'{-f,--force}'[forcibly copy over an existing managed file]' \
|
||||
'*:file:_hg_files'
|
||||
}
|
||||
|
||||
_hg_cmd_resolve() {
|
||||
local context state line
|
||||
typeset -A opt_args
|
||||
|
||||
_arguments -s -w : $_hg_global_opts \
|
||||
'(--list -l --mark -m --unmark -u)'{-l,--list}'[list state of files needing merge]:*:merged files:->resolve_files' \
|
||||
'(--mark -m --list -l --unmark -u)'{-m,--mark}'[mark files as resolved]:*:unresolved files:_hg_unresolved' \
|
||||
'(--unmark -u --list -l --mark -m)'{-u,--unmark}'[unmark files as resolved]:*:resolved files:_hg_resolved' \
|
||||
'*:file:_hg_unresolved'
|
||||
|
||||
if [[ $state == 'resolve_files' ]]
|
||||
then
|
||||
_alternative 'files:resolved files:_hg_resolved' \
|
||||
'files:unresolved files:_hg_unresolved'
|
||||
fi
|
||||
}
|
||||
|
||||
_hg_cmd_revert() {
|
||||
local context state line
|
||||
typeset -A opt_args
|
||||
|
||||
_arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \
|
||||
'(--all -a :)'{-a,--all}'[revert all changes when no arguments given]' \
|
||||
'(--rev -r)'{-r+,--rev}'[revision to revert to]:revision:_hg_tags' \
|
||||
'--no-backup[do not save backup copies of files]' \
|
||||
'*:file:->diff_files'
|
||||
|
||||
if [[ $state == 'diff_files' ]]
|
||||
then
|
||||
if [[ -n $opt_args[-r] ]]
|
||||
then
|
||||
_hg_files
|
||||
else
|
||||
typeset -a status_files
|
||||
_hg_status mard
|
||||
_wanted files expl 'modified, added, removed or deleted file' _multi_parts / status_files
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
_hg_cmd_serve() {
|
||||
_arguments -s -w : $_hg_global_opts \
|
||||
'(--accesslog -A)'{-A+,--accesslog}'[name of access log file]:log file:_files' \
|
||||
'(--errorlog -E)'{-E+,--errorlog}'[name of error log file]:log file:_files' \
|
||||
'(--daemon -d)'{-d,--daemon}'[run server in background]' \
|
||||
'(--port -p)'{-p+,--port}'[listen port]:listen port:' \
|
||||
'(--address -a)'{-a+,--address}'[interface address]:interface address:' \
|
||||
'(--name -n)'{-n+,--name}'[name to show in web pages]:repository name:' \
|
||||
'(--templates -t)'{-t,--templates}'[web template directory]:template dir:_files -/' \
|
||||
'--style[web template style]:style' \
|
||||
'--stdio[for remote clients]' \
|
||||
'(--ipv6 -6)'{-6,--ipv6}'[use IPv6 in addition to IPv4]'
|
||||
}
|
||||
|
||||
_hg_cmd_showconfig() {
|
||||
_arguments -s -w : $_hg_global_opts \
|
||||
'(--untrusted -u)'{-u+,--untrusted}'[show untrusted configuration options]' \
|
||||
':config item:_hg_config'
|
||||
}
|
||||
|
||||
_hg_cmd_status() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_pat_opts \
|
||||
'(--all -A)'{-A,--all}'[show status of all files]' \
|
||||
'(--modified -m)'{-m,--modified}'[show only modified files]' \
|
||||
'(--added -a)'{-a,--added}'[show only added files]' \
|
||||
'(--removed -r)'{-r,--removed}'[show only removed files]' \
|
||||
'(--deleted -d)'{-d,--deleted}'[show only deleted (but tracked) files]' \
|
||||
'(--clean -c)'{-c,--clean}'[show only files without changes]' \
|
||||
'(--unknown -u)'{-u,--unknown}'[show only unknown files]' \
|
||||
'(--ignored -i)'{-i,--ignored}'[show ignored files]' \
|
||||
'(--no-status -n)'{-n,--no-status}'[hide status prefix]' \
|
||||
'(--copies -C)'{-C,--copies}'[show source of copied files]' \
|
||||
'(--print0 -0)'{-0,--print0}'[end filenames with NUL, for use with xargs]' \
|
||||
'--rev[show difference from revision]:revision:_hg_tags' \
|
||||
'*:files:_files'
|
||||
}
|
||||
|
||||
_hg_cmd_summary() {
|
||||
_arguments -s -w : $_hg_global_opts \
|
||||
'--remote[check for push and pull]'
|
||||
}
|
||||
|
||||
_hg_cmd_tag() {
|
||||
_arguments -s -w : $_hg_global_opts \
|
||||
'(--local -l)'{-l,--local}'[make the tag local]' \
|
||||
'(--message -m)'{-m+,--message}'[message for tag commit log entry]:message:' \
|
||||
'(--date -d)'{-d+,--date}'[record datecode as commit date]:date code:' \
|
||||
'(--user -u)'{-u+,--user}'[record user as commiter]:user:' \
|
||||
'(--rev -r)'{-r+,--rev}'[revision to tag]:revision:_hg_tags' \
|
||||
':tag name:'
|
||||
}
|
||||
|
||||
_hg_cmd_tip() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_style_opts \
|
||||
'(--patch -p)'{-p,--patch}'[show patch]'
|
||||
}
|
||||
|
||||
_hg_cmd_unbundle() {
|
||||
_arguments -s -w : $_hg_global_opts \
|
||||
'(--update -u)'{-u,--update}'[update to new tip if changesets were unbundled]' \
|
||||
':files:_files'
|
||||
}
|
||||
|
||||
_hg_cmd_update() {
|
||||
_arguments -s -w : $_hg_global_opts \
|
||||
'(--clean -C)'{-C,--clean}'[overwrite locally modified files]' \
|
||||
'(--rev -r)'{-r+,--rev}'[revision]:revision:_hg_tags' \
|
||||
':revision:_hg_tags'
|
||||
}
|
||||
|
||||
# HGK
|
||||
_hg_cmd_view() {
|
||||
_arguments -s -w : $_hg_global_opts \
|
||||
'(--limit -l)'{-l+,--limit}'[limit number of changes displayed]:' \
|
||||
':revision range:_hg_tags'
|
||||
}
|
||||
|
||||
# MQ
|
||||
_hg_qseries() {
|
||||
typeset -a patches
|
||||
patches=(${(f)"$(_hg_cmd qseries)"})
|
||||
(( $#patches )) && _describe -t hg-patches 'patches' patches
|
||||
}
|
||||
|
||||
_hg_qapplied() {
|
||||
typeset -a patches
|
||||
patches=(${(f)"$(_hg_cmd qapplied)"})
|
||||
if (( $#patches ))
|
||||
then
|
||||
patches+=(qbase qtip)
|
||||
_describe -t hg-applied-patches 'applied patches' patches
|
||||
fi
|
||||
}
|
||||
|
||||
_hg_qunapplied() {
|
||||
typeset -a patches
|
||||
patches=(${(f)"$(_hg_cmd qunapplied)"})
|
||||
(( $#patches )) && _describe -t hg-unapplied-patches 'unapplied patches' patches
|
||||
}
|
||||
|
||||
# unapplied, including guarded patches
|
||||
_hg_qdeletable() {
|
||||
typeset -a unapplied
|
||||
unapplied=(${(f)"$(_hg_cmd qseries)"})
|
||||
for p in $(_hg_cmd qapplied)
|
||||
do
|
||||
unapplied=(${unapplied:#$p})
|
||||
done
|
||||
|
||||
(( $#unapplied )) && _describe -t hg-allunapplied-patches 'all unapplied patches' unapplied
|
||||
}
|
||||
|
||||
_hg_qguards() {
|
||||
typeset -a guards
|
||||
local guard
|
||||
compset -P "+|-"
|
||||
_hg_cmd qselect -s | while read guard
|
||||
do
|
||||
guards+=(${guard#(+|-)})
|
||||
done
|
||||
(( $#guards )) && _describe -t hg-guards 'guards' guards
|
||||
}
|
||||
|
||||
_hg_qseries_opts=(
|
||||
'(--summary -s)'{-s,--summary}'[print first line of patch header]')
|
||||
|
||||
_hg_cmd_qapplied() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_qseries_opts
|
||||
}
|
||||
|
||||
_hg_cmd_qdelete() {
|
||||
_arguments -s -w : $_hg_global_opts \
|
||||
'(--keep -k)'{-k,--keep}'[keep patch file]' \
|
||||
'*'{-r+,--rev}'[stop managing a revision]:applied patch:_hg_revrange' \
|
||||
'*:unapplied patch:_hg_qdeletable'
|
||||
}
|
||||
|
||||
_hg_cmd_qdiff() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_pat_opts \
|
||||
'*:pattern:_hg_files'
|
||||
}
|
||||
|
||||
_hg_cmd_qfold() {
|
||||
_arguments -s -w : $_hg_global_opts $_h_commit_opts \
|
||||
'(--keep,-k)'{-k,--keep}'[keep folded patch files]' \
|
||||
'*:unapplied patch:_hg_qunapplied'
|
||||
}
|
||||
|
||||
_hg_cmd_qgoto() {
|
||||
_arguments -s -w : $_hg_global_opts \
|
||||
'(--force -f)'{-f,--force}'[overwrite any local changes]' \
|
||||
':patch:_hg_qseries'
|
||||
}
|
||||
|
||||
_hg_cmd_qguard() {
|
||||
_arguments -s -w : $_hg_global_opts \
|
||||
'(--list -l)'{-l,--list}'[list all patches and guards]' \
|
||||
'(--none -n)'{-n,--none}'[drop all guards]' \
|
||||
':patch:_hg_qseries' \
|
||||
'*:guards:_hg_qguards'
|
||||
}
|
||||
|
||||
_hg_cmd_qheader() {
|
||||
_arguments -s -w : $_hg_global_opts \
|
||||
':patch:_hg_qseries'
|
||||
}
|
||||
|
||||
_hg_cmd_qimport() {
|
||||
_arguments -s -w : $_hg_global_opts \
|
||||
'(--existing -e)'{-e,--existing}'[import file in patch dir]' \
|
||||
'(--name -n 2)'{-n+,--name}'[patch file name]:name:' \
|
||||
'(--force -f)'{-f,--force}'[overwrite existing files]' \
|
||||
'*'{-r+,--rev}'[place existing revisions under mq control]:revision:_hg_revrange' \
|
||||
'*:patch:_files'
|
||||
}
|
||||
|
||||
_hg_cmd_qnew() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_commit_opts \
|
||||
'(--force -f)'{-f,--force}'[import uncommitted changes into patch]' \
|
||||
':patch:'
|
||||
}
|
||||
|
||||
_hg_cmd_qnext() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_qseries_opts
|
||||
}
|
||||
|
||||
_hg_cmd_qpop() {
|
||||
_arguments -s -w : $_hg_global_opts \
|
||||
'(--all -a :)'{-a,--all}'[pop all patches]' \
|
||||
'(--name -n)'{-n+,--name}'[queue name to pop]:' \
|
||||
'(--force -f)'{-f,--force}'[forget any local changes]' \
|
||||
':patch:_hg_qapplied'
|
||||
}
|
||||
|
||||
_hg_cmd_qprev() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_qseries_opts
|
||||
}
|
||||
|
||||
_hg_cmd_qpush() {
|
||||
_arguments -s -w : $_hg_global_opts \
|
||||
'(--all -a :)'{-a,--all}'[apply all patches]' \
|
||||
'(--list -l)'{-l,--list}'[list patch name in commit text]' \
|
||||
'(--merge -m)'{-m+,--merge}'[merge from another queue]:' \
|
||||
'(--name -n)'{-n+,--name}'[merge queue name]:' \
|
||||
'(--force -f)'{-f,--force}'[apply if the patch has rejects]' \
|
||||
':patch:_hg_qunapplied'
|
||||
}
|
||||
|
||||
_hg_cmd_qrefresh() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_commit_opts \
|
||||
'(--git -g)'{-g,--git}'[use git extended diff format]' \
|
||||
'(--short -s)'{-s,--short}'[short refresh]' \
|
||||
'*:files:_hg_files'
|
||||
}
|
||||
|
||||
_hg_cmd_qrename() {
|
||||
_arguments -s -w : $_hg_global_opts \
|
||||
':patch:_hg_qseries' \
|
||||
':destination:'
|
||||
}
|
||||
|
||||
_hg_cmd_qselect() {
|
||||
_arguments -s -w : $_hg_global_opts \
|
||||
'(--none -n :)'{-n,--none}'[disable all guards]' \
|
||||
'(--series -s :)'{-s,--series}'[list all guards in series file]' \
|
||||
'--pop[pop to before first guarded applied patch]' \
|
||||
'--reapply[pop and reapply patches]' \
|
||||
'*:guards:_hg_qguards'
|
||||
}
|
||||
|
||||
_hg_cmd_qseries() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_qseries_opts \
|
||||
'(--missing -m)'{-m,--missing}'[print patches not in series]'
|
||||
}
|
||||
|
||||
_hg_cmd_qunapplied() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_qseries_opts
|
||||
}
|
||||
|
||||
_hg_cmd_qtop() {
|
||||
_arguments -s -w : $_hg_global_opts $_hg_qseries_opts
|
||||
}
|
||||
|
||||
_hg_cmd_strip() {
|
||||
_arguments -s -w : $_hg_global_opts \
|
||||
'(--force -f)'{-f,--force}'[force multi-head removal]' \
|
||||
'(--backup -b)'{-b,--backup}'[bundle unrelated changesets]' \
|
||||
'(--nobackup -n)'{-n,--nobackup}'[no backups]' \
|
||||
':revision:_hg_tags'
|
||||
}
|
||||
|
||||
_hg "$@"
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
#!/bin/zsh
|
||||
|
||||
# Push and pop directories on directory stack
|
||||
alias pu='pushd'
|
||||
alias po='popd'
|
||||
|
||||
alias ss='thin --stats "/thin/stats" start'
|
||||
alias sg='ruby script/generate'
|
||||
alias sd='ruby script/destroy'
|
||||
alias sp='ruby script/plugin'
|
||||
alias ssp='ruby script/spec'
|
||||
alias rdbm='rake db:migrate'
|
||||
alias sc='ruby script/console'
|
||||
alias sd='ruby script/server --debugger'
|
||||
alias devlog='tail -f log/development.log'
|
||||
|
||||
# Basic directory operations
|
||||
alias .='pwd'
|
||||
alias ...='cd ../..'
|
||||
alias -- -='cd -'
|
||||
|
||||
# Super user
|
||||
alias _='sudo'
|
||||
alias ss='sudo su -'
|
||||
|
||||
#alias g='grep -in'
|
||||
|
||||
# Show history
|
||||
alias history='fc -l 1'
|
||||
|
||||
# List direcory contents
|
||||
alias lsa='ls -lah'
|
||||
alias l='ls -la'
|
||||
alias ll='ls -alr'
|
||||
alias sl=ls # often screw this up
|
||||
|
||||
alias sgem='sudo gem'
|
||||
|
||||
# Find ruby file
|
||||
alias rfind='find . -name *.rb | xargs grep -n'
|
||||
alias afind='ack-grep -il'
|
||||
|
||||
# Git and svn mix
|
||||
alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk'
|
||||
|
||||
# TextMate
|
||||
alias et='mate . &'
|
||||
alias ett='mate app config lib db public spec test Rakefile Capfile Todo &'
|
||||
alias etp='mate app config lib db public spec test vendor/plugins vendor/gems Rakefile Capfile Todo &'
|
||||
alias etts='mate app config lib db public script spec test vendor/plugins vendor/gems Rakefile Capfile Todo &'
|
||||
|
||||
# Editor Ruby file in TextMate
|
||||
alias mr='mate CHANGELOG app config db lib public script spec test'
|
||||
|
|
@ -1,7 +1,6 @@
|
|||
# ls colors
|
||||
autoload colors; colors;
|
||||
export LSCOLORS="Gxfxcxdxbxegedabagacad"
|
||||
#export LS_COLORS
|
||||
|
||||
# Enable ls colors
|
||||
if [ "$DISABLE_LS_COLORS" != "true" ]
|
||||
|
|
|
|||
|
|
@ -1,19 +1,17 @@
|
|||
## fixme - the load process here seems a bit bizarre
|
||||
# fixme - the load process here seems a bit bizarre
|
||||
|
||||
setopt noautomenu
|
||||
unsetopt noautomenu
|
||||
setopt complete_in_word
|
||||
setopt always_to_end
|
||||
|
||||
unsetopt flowcontrol
|
||||
unsetopt always_to_end
|
||||
|
||||
WORDCHARS=''
|
||||
|
||||
autoload -U compinit
|
||||
compinit
|
||||
compinit -i
|
||||
|
||||
zmodload -i zsh/complist
|
||||
|
||||
## case-insensitive (all),partial-word and then substring completion
|
||||
# case-insensitive (all), partial-word and then substring completion
|
||||
if [ "x$CASE_SENSITIVE" = "xtrue" ]; then
|
||||
zstyle ':completion:*' matcher-list 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
|
||||
unset CASE_SENSITIVE
|
||||
|
|
@ -23,27 +21,42 @@ fi
|
|||
|
||||
zstyle ':completion:*' list-colors ''
|
||||
|
||||
|
||||
unsetopt MENU_COMPLETE
|
||||
#setopt AUTO_MENU
|
||||
|
||||
# should this be in keybindings?
|
||||
bindkey -M menuselect '^o' accept-and-infer-next-history
|
||||
|
||||
zstyle ':completion:*:*:*:*:*' menu yes select
|
||||
# zstyle ':completion:*:*:*:*:processes' force-list always
|
||||
|
||||
zstyle ':completion:*:*:*:*:*' menu select
|
||||
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01'
|
||||
zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm -w -w"
|
||||
|
||||
# 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
|
||||
# disable named-directories autocompletion
|
||||
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
|
||||
|
||||
# Complete on history
|
||||
#zstyle ':completion:*:history-words' stop yes
|
||||
#zstyle ':completion:*:history-words' remove-all-dups yes
|
||||
#zstyle ':completion:*:history-words' list false
|
||||
#zstyle ':completion:*:history-words' menu yes
|
||||
|
|
|
|||
|
|
@ -4,5 +4,3 @@ alias man='nocorrect man'
|
|||
alias mv='nocorrect mv'
|
||||
alias mysql='nocorrect mysql'
|
||||
alias mkdir='nocorrect mkdir'
|
||||
alias gist='nocorrect gist'
|
||||
alias heroku='nocorrect heroku'
|
||||
|
|
|
|||
|
|
@ -3,23 +3,17 @@ setopt auto_name_dirs
|
|||
setopt auto_pushd
|
||||
setopt pushd_ignore_dups
|
||||
|
||||
alias -- -='cd -'
|
||||
alias ..='cd ..'
|
||||
alias ...='cd ../..'
|
||||
alias ....='cd ../../..'
|
||||
alias .....='cd ../../../..'
|
||||
alias cd..='cd ..'
|
||||
alias cd...='cd ../..'
|
||||
alias cd....='cd ../../..'
|
||||
alias cd.....='cd ../../../..'
|
||||
alias cd/='cd /'
|
||||
|
||||
alias 1='cd -'
|
||||
alias 2='cd +2'
|
||||
alias 3='cd +3'
|
||||
alias 4='cd +4'
|
||||
alias 5='cd +5'
|
||||
alias 6='cd +6'
|
||||
alias 7='cd +7'
|
||||
alias 8='cd +8'
|
||||
alias 9='cd +9'
|
||||
|
||||
cd () {
|
||||
if [[ "x$*" == "x..." ]]; then
|
||||
cd ../..
|
||||
|
|
@ -37,4 +31,16 @@ cd () {
|
|||
alias md='mkdir -p'
|
||||
alias rd=rmdir
|
||||
|
||||
alias d='dirs -v'
|
||||
alias d='dirs -v'
|
||||
|
||||
# List direcory contents
|
||||
alias l1='tree --dirsfirst -ChFL 1'
|
||||
alias l2='tree --dirsfirst -ChFL 2'
|
||||
alias l3='tree --dirsfirst -ChFL 3'
|
||||
|
||||
alias ll1='tree --dirsfirst -ChFupDaL 1'
|
||||
alias ll2='tree --dirsfirst -ChFupDaL 2'
|
||||
alias ll3='tree --dirsfirst -ChFupDaL 3'
|
||||
|
||||
alias l='l1'
|
||||
alias ll='ll1'
|
||||
|
|
|
|||
|
|
@ -1,6 +1,37 @@
|
|||
<<<<<<< HEAD
|
||||
=======
|
||||
alias pm='python manage.py'
|
||||
>>>>>>> upstream/master
|
||||
alias pmr='python manage.py runserver'
|
||||
alias pmrp='python manage.py runserver_plus'
|
||||
alias pmrpg='pmrp --adminmedia=`pwd`/media/admin'
|
||||
alias pmsdb='python manage.py syncdb'
|
||||
alias pms='python manage.py shell'
|
||||
<<<<<<< HEAD
|
||||
alias pmlf='python manage.py loaddata fixtures/*'
|
||||
=======
|
||||
alias pmsp='python manage.py shell_plus'
|
||||
alias pmlf='python manage.py loaddata fixtures/*'
|
||||
alias pmt='python -W ignore::DeprecationWarning manage.py test'
|
||||
|
||||
alias pmdm='python manage.py datamigration'
|
||||
alias pmsm='python manage.py schemamigration --auto'
|
||||
alias pmsi='python manage.py schemamigration --initial'
|
||||
alias pmm='python manage.py migrate'
|
||||
alias pmma='python manage.py migrate --all'
|
||||
alias pmml='python manage.py migrate --list'
|
||||
alias pmmf='python manage.py migrate --fake'
|
||||
alias pmcats='python manage.py convert_to_south'
|
||||
|
||||
alias gs='gunicorn_django'
|
||||
alias gk='kill `cat .gunicorn.pid`'
|
||||
alias gl='tail -f .gunicorn.log'
|
||||
|
||||
function djapp() {
|
||||
mkdir -p $1/templates/$1
|
||||
touch $1/__init__.py
|
||||
echo "from django.db import models\n\n" > $1/models.py
|
||||
echo "from django.contrib import admin\nfrom $1.models import *\n\n" > $1/admin.py
|
||||
echo "from django.conf.urls.defaults import *\n\n" > $1/urls.py
|
||||
}
|
||||
>>>>>>> upstream/master
|
||||
|
|
|
|||
|
|
@ -1,30 +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 remote_console() {
|
||||
/usr/bin/env ssh $1 "( cd $2 && ruby script/console production )"
|
||||
}
|
||||
|
||||
function zsh_stats() {
|
||||
history | awk '{print $2}' | sort | uniq -c | sort -rn | head
|
||||
}
|
||||
|
|
@ -36,42 +9,3 @@ function uninstall_oh_my_zsh() {
|
|||
function upgrade_oh_my_zsh() {
|
||||
/bin/sh $ZSH/tools/upgrade.sh
|
||||
}
|
||||
|
||||
function tab() {
|
||||
osascript 2>/dev/null <<EOF
|
||||
tell application "System Events"
|
||||
tell process "Terminal" to keystroke "t" using command down
|
||||
end
|
||||
tell application "Terminal"
|
||||
activate
|
||||
do script with command "cd \"$PWD\"; $*" in window 1
|
||||
end tell
|
||||
EOF
|
||||
}
|
||||
|
||||
function take() {
|
||||
mkdir -p $1
|
||||
cd $1
|
||||
}
|
||||
|
||||
function tm() {
|
||||
cd $1
|
||||
mate $1
|
||||
}
|
||||
|
||||
# To use: add a .lighthouse file into your directory with the URL to the
|
||||
# individual project. For example:
|
||||
# https://rails.lighthouseapp.com/projects/8994
|
||||
# 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..."
|
||||
return 0;
|
||||
else
|
||||
lighthouse_url=$(cat .lighthouse-url);
|
||||
echo "Opening ticket #$1";
|
||||
`open $lighthouse_url/tickets/$1`;
|
||||
fi
|
||||
}
|
||||
|
||||
alias lho='open_lighthouse_ticket'
|
||||
|
|
|
|||
56
lib/git.zsh
56
lib/git.zsh
|
|
@ -5,10 +5,18 @@ function git_prompt_info() {
|
|||
}
|
||||
|
||||
parse_git_dirty () {
|
||||
if [[ $((git status 2> /dev/null) | tail -n1) != "nothing to commit (working directory clean)" ]]; then
|
||||
echo "$ZSH_THEME_GIT_PROMPT_DIRTY"
|
||||
else
|
||||
echo "$ZSH_THEME_GIT_PROMPT_CLEAN"
|
||||
gitstat=$(git status 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
|
||||
}
|
||||
|
||||
|
|
@ -21,17 +29,29 @@ function current_branch() {
|
|||
echo ${ref#refs/heads/}
|
||||
}
|
||||
|
||||
# Aliases
|
||||
alias g='git'
|
||||
alias gst='git status'
|
||||
alias gl='git pull'
|
||||
alias gup='git fetch && git rebase'
|
||||
alias gp='git push'
|
||||
alias gd='git diff | mate'
|
||||
alias gdv='git diff -w "$@" | vim -R -'
|
||||
alias gc='git commit -v'
|
||||
alias gca='git commit -v -a'
|
||||
alias gb='git branch'
|
||||
alias gba='git branch -a'
|
||||
alias gcount='git shortlog -sn'
|
||||
alias gcp='git cherry-pick'
|
||||
# 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"
|
||||
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,6 +0,0 @@
|
|||
#
|
||||
# Color grep results
|
||||
# Examples: http://rubyurl.com/ZXv
|
||||
#
|
||||
export GREP_OPTIONS='--color=auto'
|
||||
export GREP_COLOR='1;32'
|
||||
|
|
@ -10,5 +10,11 @@ setopt hist_verify
|
|||
setopt inc_append_history
|
||||
setopt extended_history
|
||||
setopt hist_expire_dups_first
|
||||
<<<<<<< HEAD
|
||||
|
||||
=======
|
||||
setopt hist_ignore_space
|
||||
|
||||
setopt SHARE_HISTORY
|
||||
>>>>>>> upstream/master
|
||||
setopt APPEND_HISTORY
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# TODO: Explain what some of this does..
|
||||
autoload -U compinit
|
||||
compinit
|
||||
compinit -i
|
||||
|
||||
bindkey -e
|
||||
bindkey '\ew' kill-region
|
||||
|
|
@ -23,22 +23,4 @@ bindkey "^[[F" end-of-line
|
|||
bindkey "^[[4~" end-of-line
|
||||
bindkey ' ' magic-space # also do history expansion on space
|
||||
|
||||
|
||||
# consider emacs keybindings:
|
||||
|
||||
#bindkey -e ## emacs key bindings
|
||||
#
|
||||
#bindkey '^[[A' up-line-or-search
|
||||
#bindkey '^[[B' down-line-or-search
|
||||
#bindkey '^[^[[C' emacs-forward-word
|
||||
#bindkey '^[^[[D' emacs-backward-word
|
||||
#
|
||||
#bindkey -s '^X^Z' '%-^M'
|
||||
#bindkey '^[e' expand-cmd-path
|
||||
#bindkey '^[^I' reverse-menu-complete
|
||||
#bindkey '^X^N' accept-and-infer-next-history
|
||||
#bindkey '^W' kill-region
|
||||
#bindkey '^I' complete-word
|
||||
## Fix weird sequence that rxvt produces
|
||||
#bindkey -s '^[[Z' '\t'
|
||||
#
|
||||
bindkey '^[[Z' reverse-menu-complete
|
||||
|
|
|
|||
51
lib/misc.zsh
51
lib/misc.zsh
|
|
@ -3,11 +3,60 @@ autoload -U url-quote-magic
|
|||
zle -N self-insert url-quote-magic
|
||||
|
||||
## file rename magick
|
||||
autoload -U zmv
|
||||
bindkey "^[m" copy-prev-shell-word
|
||||
|
||||
## jobs
|
||||
setopt long_list_jobs
|
||||
|
||||
## pager
|
||||
export PAGER=less
|
||||
export PAGER='less -R'
|
||||
export LC_CTYPE=en_US.UTF-8
|
||||
|
||||
## pretty man pages
|
||||
function pman() {
|
||||
man $1 -t | open -f -a Preview
|
||||
}
|
||||
|
||||
## pretty JSON
|
||||
function pj() {
|
||||
python -mjson.tool
|
||||
}
|
||||
|
||||
## curl JSON
|
||||
function cj() {
|
||||
curl -sS $@ | pj
|
||||
}
|
||||
|
||||
## Open current directory
|
||||
alias oo='open .'
|
||||
|
||||
## Quick-look a file (^C to close)
|
||||
alias ql='qlmanage -p 2>/dev/null'
|
||||
|
||||
## Start a local SMTP server and dump emails sent to it to the console
|
||||
alias smtpconsole='python -m smtpd -n -c DebuggingServer localhost:1025'
|
||||
|
||||
## Serve the current folder on port 80
|
||||
alias serve_this='python -m SimpleHTTPServer'
|
||||
|
||||
## Highlight-aware less command
|
||||
alias hl='less -R'
|
||||
|
||||
## Show history
|
||||
alias history='fc -l 1'
|
||||
|
||||
## Color grep results
|
||||
## Examples: http://rubyurl.com/ZXv
|
||||
export GREP_OPTIONS='--color=auto'
|
||||
export GREP_COLOR='1;32'
|
||||
|
||||
# What the hell did I do the other day?
|
||||
function whatthehelldididoon() {
|
||||
for repo in `find . -name '.hg'`
|
||||
do
|
||||
echo $repo
|
||||
hg .. -R $repo/.. -d "$1" -u 'Steve Losh'
|
||||
done
|
||||
}
|
||||
|
||||
|
|
|
|||
13
lib/python.zsh
Normal file
13
lib/python.zsh
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
function wo() {
|
||||
[ "$VEW_SOURCED" ] || source "$VEW_PATH"
|
||||
[ -f './.venv' ] && workon `cat ./.venv` || workon $1
|
||||
export VEW_SOURCED=1
|
||||
}
|
||||
alias deact='deactivate'
|
||||
alias cdv='cd $WORKON_HOME'
|
||||
|
||||
function cdp () {
|
||||
cd "$(python -c "import os.path as _, ${1}; \
|
||||
print _.dirname(_.realpath(${1}.__file__[:-1]))"
|
||||
)"
|
||||
}
|
||||
2
lib/redis.zsh
Normal file
2
lib/redis.zsh
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
alias res='./redis-server'
|
||||
alias rec='./redis-cli'
|
||||
20
lib/spectrum.zsh
Normal file
20
lib/spectrum.zsh
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
#! /bin/zsh
|
||||
# A script to make using 256 colors in zsh less painful.
|
||||
# P.C. Shyamshankar <sykora@lucentbeing.com>
|
||||
# Copied from http://github.com/sykora/etc/blob/master/zsh/functions/spectrum/
|
||||
|
||||
typeset -Ag FX FG BG
|
||||
|
||||
FX=(
|
||||
reset "%{[00m%}"
|
||||
bold "%{[01m%}" no-bold "%{[22m%}"
|
||||
italic "%{[03m%}" no-italic "%{[23m%}"
|
||||
underline "%{[04m%}" no-underline "%{[24m%}"
|
||||
blink "%{[05m%}" no-blink "%{[25m%}"
|
||||
reverse "%{[07m%}" no-reverse "%{[27m%}"
|
||||
)
|
||||
|
||||
for color in {000..255}; do
|
||||
FG[$color]="%{[38;5;${color}m%}"
|
||||
BG[$color]="%{[48;5;${color}m%}"
|
||||
done
|
||||
2
lib/supervisord.zsh
Normal file
2
lib/supervisord.zsh
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
alias ssd='sudo supervisord'
|
||||
alias ssc='sudo supervisorctl'
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
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
|
||||
14
oh-my-zsh.sh
14
oh-my-zsh.sh
|
|
@ -10,3 +10,17 @@ for config_file ($ZSH/lib/*.zsh) source $config_file
|
|||
# Load all of your custom configurations from custom/
|
||||
for config_file ($ZSH/custom/*.zsh) source $config_file
|
||||
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
# Load all of the plugins that were defined in ~/.zshrc
|
||||
plugin=${plugin:=()}
|
||||
for plugin ($plugins) source $ZSH/plugins/$plugin/$plugin.plugin.zsh
|
||||
|
||||
# Check for updates on initial load...
|
||||
if [ "$DISABLE_AUTO_UPDATE" = "true" ]
|
||||
then
|
||||
return
|
||||
else
|
||||
/usr/bin/env zsh $ZSH/tools/check_for_upgrade.sh
|
||||
fi
|
||||
>>>>>>> upstream/master
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#compdef brew
|
||||
#autoload
|
||||
|
||||
# copied from _fink
|
||||
# imported from the latest homebrew contributions
|
||||
|
||||
_brew_all_formulae() {
|
||||
formulae=(`brew search`)
|
||||
|
|
@ -12,19 +13,25 @@ _brew_installed_formulae() {
|
|||
|
||||
local -a _1st_arguments
|
||||
_1st_arguments=(
|
||||
'install:install a formula'
|
||||
'remove:remove a formula'
|
||||
'search:search for a formula (/regex/ or string)'
|
||||
'list:list files in a formula or not-installed formulae'
|
||||
'link:link a formula'
|
||||
'unlink:unlink a formula'
|
||||
'cat:display formula file for a formula'
|
||||
'cleanup:uninstall unused and old versions of packages'
|
||||
'create:create a new formula'
|
||||
'deps:list dependencies and dependants of a formula'
|
||||
'doctor:audits your installation for common issues'
|
||||
'edit:edit a formula'
|
||||
'home:visit the homepage of a formula or the brew project'
|
||||
'info:information about a formula'
|
||||
'prune:remove dead links'
|
||||
'update:freshen up links'
|
||||
'install:install a formula'
|
||||
'link:link a formula'
|
||||
'list:list files in a formula or not-installed formulae'
|
||||
'log:git commit log for a formula'
|
||||
'create:create a new formula'
|
||||
'edit:edit a formula'
|
||||
'outdated:list formulas for which a newer version is available'
|
||||
'prune:remove dead links'
|
||||
'remove:remove a formula'
|
||||
'search:search for a formula (/regex/ or string)'
|
||||
'unlink:unlink a formula'
|
||||
'update:freshen up links'
|
||||
'uses:show formulas which depend on a formula'
|
||||
)
|
||||
|
||||
local expl
|
||||
|
|
@ -47,15 +54,16 @@ case "$words[1]" in
|
|||
_arguments \
|
||||
'(--unbrewed)--unbrewed[files in brew --prefix not controlled by brew]' \
|
||||
'1: :->forms' && return 0
|
||||
|
||||
|
||||
if [[ "$state" == forms ]]; then
|
||||
_brew_installed_formulae
|
||||
_requested installed_formulae expl 'installed formulae' compadd -a installed_formulae
|
||||
fi ;;
|
||||
install|home|log|info)
|
||||
install|home|log|info|uses|cat|deps)
|
||||
_brew_all_formulae
|
||||
_wanted formulae expl 'all formulae' compadd -a formulae ;;
|
||||
remove|edit|xo)
|
||||
_brew_installed_formulae
|
||||
_wanted installed_formulae expl 'installed formulae' compadd -a installed_formulae ;;
|
||||
esac
|
||||
|
||||
4
plugins/brew/brew.plugin.zsh
Normal file
4
plugins/brew/brew.plugin.zsh
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# add brew completion function to path
|
||||
fpath=($ZSH/plugins/brew $fpath)
|
||||
autoload -U compinit
|
||||
compinit -i
|
||||
|
|
@ -1,24 +1,3 @@
|
|||
_rake_does_task_list_need_generating () {
|
||||
if [ ! -f .rake_tasks~ ]; then return 0;
|
||||
else
|
||||
accurate=$(stat -f%m .rake_tasks~)
|
||||
changed=$(stat -f%m Rakefile)
|
||||
return $(expr $accurate '>=' $changed)
|
||||
fi
|
||||
}
|
||||
|
||||
_rake () {
|
||||
if [ -f Rakefile ]; then
|
||||
if _rake_does_task_list_need_generating; then
|
||||
echo "\nGenerating .rake_tasks~..." > /dev/stderr
|
||||
rake --silent --tasks | cut -d " " -f 2 > .rake_tasks~
|
||||
fi
|
||||
compadd `cat .rake_tasks~`
|
||||
fi
|
||||
}
|
||||
|
||||
compctl -K _rake rake
|
||||
|
||||
function _cap_does_task_list_need_generating () {
|
||||
if [ ! -f .cap_tasks~ ]; then return 0;
|
||||
else
|
||||
|
|
@ -39,4 +18,4 @@ function _cap () {
|
|||
fi
|
||||
}
|
||||
|
||||
compctl -K _cap cap
|
||||
compctl -K _cap cap
|
||||
109
plugins/command-coloring/command-coloring.plugin.zsh
Normal file
109
plugins/command-coloring/command-coloring.plugin.zsh
Normal file
|
|
@ -0,0 +1,109 @@
|
|||
#!/usr/bin/env zsh
|
||||
# Copyleft 2010 zsh-syntax-highlighting contributors
|
||||
# http://github.com/nicoulaj/zsh-syntax-highlighting
|
||||
# All wrongs reserved.
|
||||
|
||||
# Token types styles.
|
||||
# See http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#SEC135
|
||||
ZLE_RESERVED_WORD_STYLE='fg=yellow,bold'
|
||||
ZLE_ALIAS_STYLE='fg=green,bold'
|
||||
ZLE_BUILTIN_STYLE='fg=green,bold'
|
||||
ZLE_FUNCTION_STYLE='fg=green,bold'
|
||||
ZLE_COMMAND_STYLE='fg=green,bold'
|
||||
ZLE_PATH_STYLE='fg=white,underline'
|
||||
ZLE_COMMAND_UNKNOWN_TOKEN_STYLE='fg=red,bold'
|
||||
|
||||
ZLE_HYPHEN_CLI_OPTION='fg=yellow,bold'
|
||||
ZLE_DOUBLE_HYPHEN_CLI_OPTION='fg=yellow,bold'
|
||||
ZLE_SINGLE_QUOTED='fg=magenta,bold'
|
||||
ZLE_DOUBLE_QUOTED='fg=magenta,bold'
|
||||
ZLE_BACK_QUOTED='fg=cyan,bold'
|
||||
ZLE_GLOBING='fg=blue,bold'
|
||||
|
||||
ZLE_DEFAULT='fg=white,normal'
|
||||
|
||||
ZLE_TOKENS_FOLLOWED_BY_COMMANDS=('|' '||' ';' '&' '&&' 'sudo' 'start' 'time' 'strace' 'noglob' 'command' 'builtin')
|
||||
|
||||
_check_path() {
|
||||
[[ -z $arg ]] && return 1
|
||||
[[ -e $arg ]] && return 0
|
||||
[[ ! -e ${arg:h} ]] && return 1
|
||||
[[ ${#BUFFER} == $end_pos && -n $(print $arg*(N)) ]] && return 0
|
||||
return 1
|
||||
}
|
||||
|
||||
# Recolorize the current ZLE buffer.
|
||||
colorize-zle-buffer() {
|
||||
setopt localoptions extendedglob
|
||||
region_highlight=()
|
||||
colorize=true
|
||||
start_pos=0
|
||||
for arg in ${(z)BUFFER}; do
|
||||
((start_pos+=${#BUFFER[$start_pos+1,-1]}-${#${BUFFER[$start_pos+1,-1]##[[:space:]]#}}))
|
||||
((end_pos=$start_pos+${#arg}))
|
||||
if $colorize; then
|
||||
colorize=false
|
||||
res=$(LC_ALL=C builtin type -w $arg 2>/dev/null)
|
||||
case $res in
|
||||
*': reserved') style=$ZLE_RESERVED_WORD_STYLE;;
|
||||
*': alias') style=$ZLE_ALIAS_STYLE;;
|
||||
*': builtin') style=$ZLE_BUILTIN_STYLE;;
|
||||
*': function') style=$ZLE_FUNCTION_STYLE;;
|
||||
*': command') style=$ZLE_COMMAND_STYLE;;
|
||||
*)
|
||||
if _check_path; then
|
||||
style=$ZLE_PATH_STYLE
|
||||
else
|
||||
style=$ZLE_COMMAND_UNKNOWN_TOKEN_STYLE
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
else
|
||||
case $arg in
|
||||
'--'*) style=$ZLE_DOUBLE_HYPHEN_CLI_OPTION;;
|
||||
'-'*) style=$ZLE_HYPHEN_CLI_OPTION;;
|
||||
"'"*"'") style=$ZLE_SINGLE_QUOTED;;
|
||||
'"'*'"') style=$ZLE_DOUBLE_QUOTED;;
|
||||
'`'*'`') style=$ZLE_BACK_QUOTED;;
|
||||
*"*"*) style=$ZLE_GLOBING;;
|
||||
*)
|
||||
style=$ZLE_DEFAULT
|
||||
_check_path && style=$ZLE_PATH_STYLE
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
region_highlight+=("$start_pos $end_pos $style")
|
||||
[[ ${${ZLE_TOKENS_FOLLOWED_BY_COMMANDS[(r)${arg//|/\|}]:-}:+yes} = 'yes' ]] && colorize=true
|
||||
start_pos=$end_pos
|
||||
done
|
||||
}
|
||||
|
||||
# Bind the function to ZLE events.
|
||||
ZLE_COLORED_FUNCTIONS=(
|
||||
self-insert
|
||||
delete-char
|
||||
backward-delete-char
|
||||
kill-word
|
||||
backward-kill-word
|
||||
up-line-or-history
|
||||
down-line-or-history
|
||||
beginning-of-history
|
||||
end-of-history
|
||||
undo
|
||||
redo
|
||||
yank
|
||||
)
|
||||
|
||||
for f in $ZLE_COLORED_FUNCTIONS; do
|
||||
eval "$f() { zle .$f && colorize-zle-buffer } ; zle -N $f"
|
||||
done
|
||||
|
||||
# Expand or complete hack
|
||||
|
||||
# create an expansion widget which mimics the original "expand-or-complete" (you can see the default setup using "zle -l -L")
|
||||
zle -C orig-expand-or-complete .expand-or-complete _main_complete
|
||||
|
||||
# use the orig-expand-or-complete inside the colorize function (for some reason, using the ".expand-or-complete" widget doesn't work the same)
|
||||
expand-or-complete() { builtin zle orig-expand-or-complete && colorize-zle-buffer }
|
||||
zle -N expand-or-complete
|
||||
|
||||
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
|
||||
39
plugins/dirpersist/dirpersist.plugin.zsh
Normal file
39
plugins/dirpersist/dirpersist.plugin.zsh
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
#!/bin/zsh
|
||||
#
|
||||
# Make the dirstack more persistant
|
||||
#
|
||||
# Add dirpersist to $plugins in ~/.zshrc to load
|
||||
#
|
||||
|
||||
# $zdirstore is the file used to persist the stack
|
||||
zdirstore=~/.zdirstore
|
||||
|
||||
dirpersistinstall () {
|
||||
if grep 'dirpersiststore' ~/.zlogout > /dev/null; then
|
||||
else
|
||||
if read -q \?"Would you like to set up your .zlogout file for use with dirspersist? (y/n) "; then
|
||||
echo "# Store dirs stack\n# See ~/.oh-my-zsh/plugins/dirspersist.plugin.zsh\ndirpersiststore" >> ~/.zlogout
|
||||
else
|
||||
echo "If you don't want this message to appear, remove dirspersist from \$plugins"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
dirpersiststore () {
|
||||
dirs -p | perl -e 'foreach (reverse <STDIN>) {chomp;s/([& ])/\\$1/g ;print "if [ -d $_ ]; then pushd -q $_; fi\n"}' > $zdirstore
|
||||
}
|
||||
|
||||
dirpersistrestore () {
|
||||
if [ -f $zdirstore ]; then
|
||||
source $zdirstore
|
||||
fi
|
||||
}
|
||||
|
||||
DIRSTACKSIZE=10
|
||||
setopt autopushd pushdminus pushdsilent pushdtohome pushdignoredups
|
||||
|
||||
dirpersistinstall
|
||||
dirpersistrestore
|
||||
|
||||
# Make popd changes permanent without having to wait for logout
|
||||
alias popd="popd;dirpersiststore"
|
||||
19
plugins/fabric/fabric.plugin.zsh
Normal file
19
plugins/fabric/fabric.plugin.zsh
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
#!zsh
|
||||
#
|
||||
# Installation
|
||||
# ------------
|
||||
#
|
||||
# To achieve fabfile completion nirvana:
|
||||
#
|
||||
# Copy this file somewhere (e.g. ~/.fab-comletion.zsh) and put the following line in your .zshrc:
|
||||
#
|
||||
# source ~/.fab-comletion.zsh
|
||||
#
|
||||
# Or, use this file as a oh-my-zsh plugin.
|
||||
#
|
||||
|
||||
_fab_list() {
|
||||
reply=(`fab --shortlist`)
|
||||
}
|
||||
compctl -K _fab_list fab
|
||||
|
||||
64
plugins/gem/_gem
Normal file
64
plugins/gem/_gem
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
#compdef gem
|
||||
#autoload
|
||||
|
||||
# gem zsh completion, based on homebrew completion
|
||||
|
||||
_gem_installed() {
|
||||
installed_gems=(`gem list --local --no-versions`)
|
||||
}
|
||||
|
||||
local -a _1st_arguments
|
||||
_1st_arguments=(
|
||||
'cert:Manage RubyGems certificates and signing settings'
|
||||
'check:Check installed gems'
|
||||
'cleanup:Clean up old versions of installed gems in the local repository'
|
||||
'contents:Display the contents of the installed gems'
|
||||
'dependency:Show the dependencies of an installed gem'
|
||||
'environment:Display information about the RubyGems environment'
|
||||
'fetch:Download a gem and place it in the current directory'
|
||||
'generate_index:Generates the index files for a gem server directory'
|
||||
'help:Provide help on the `gem` command'
|
||||
'install:Install a gem into the local repository'
|
||||
'list:Display gems whose name starts with STRING'
|
||||
'lock:Generate a lockdown list of gems'
|
||||
'mirror:Mirror a gem repository'
|
||||
'outdated:Display all gems that need updates'
|
||||
'owner:Manage gem owners on RubyGems.org.'
|
||||
'pristine:Restores installed gems to pristine condition from files located in the gem cache'
|
||||
'push:Push a gem up to RubyGems.org'
|
||||
'query:Query gem information in local or remote repositories'
|
||||
'rdoc:Generates RDoc for pre-installed gems'
|
||||
'search:Display all gems whose name contains STRING'
|
||||
'server:Documentation and gem repository HTTP server'
|
||||
'sources:Manage the sources and cache file RubyGems uses to search for gems'
|
||||
'specification:Display gem specification (in yaml)'
|
||||
'stale:List gems along with access times'
|
||||
'uninstall:Uninstall gems from the local repository'
|
||||
'unpack:Unpack an installed gem to the current directory'
|
||||
'update:Update the named gems (or all installed gems) in the local repository'
|
||||
'which:Find the location of a library file you can require'
|
||||
)
|
||||
|
||||
local expl
|
||||
local -a gems installed_gems
|
||||
|
||||
_arguments \
|
||||
'(-v --version)'{-v,--version}'[show version]' \
|
||||
'(-h --help)'{-h,--help}'[show help]' \
|
||||
'*:: :->subcmds' && return 0
|
||||
|
||||
if (( CURRENT == 1 )); then
|
||||
_describe -t commands "gem subcommand" _1st_arguments
|
||||
return
|
||||
fi
|
||||
|
||||
case "$words[1]" in
|
||||
list)
|
||||
if [[ "$state" == forms ]]; then
|
||||
_gem_installed
|
||||
_requested installed_gems expl 'installed gems' compadd -a installed_gems
|
||||
fi ;;
|
||||
uninstall|update)
|
||||
_gem_installed
|
||||
_wanted installed_gems expl 'installed gems' compadd -a installed_gems ;;
|
||||
esac
|
||||
4
plugins/gem/gem.plugin.zsh
Normal file
4
plugins/gem/gem.plugin.zsh
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# add brew completion function to path
|
||||
fpath=($ZSH/plugins/gem $fpath)
|
||||
autoload -U compinit
|
||||
compinit -i
|
||||
32
plugins/git/git.plugin.zsh
Normal file
32
plugins/git/git.plugin.zsh
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
# Aliases
|
||||
alias g='git'
|
||||
alias gst='git status'
|
||||
alias gl='git pull'
|
||||
alias gup='git fetch && git rebase'
|
||||
alias gp='git push'
|
||||
alias gd='git diff | mate'
|
||||
alias gdv='git diff -w "$@" | vim -R -'
|
||||
alias gc='git commit -v'
|
||||
alias gca='git commit -v -a'
|
||||
alias gb='git branch'
|
||||
alias gba='git branch -a'
|
||||
alias gcount='git shortlog -sn'
|
||||
alias gcp='git cherry-pick'
|
||||
alias glg='git log --stat --max-count=5'
|
||||
|
||||
# Git and svn mix
|
||||
alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk'
|
||||
|
||||
#
|
||||
# Will return the current branch name
|
||||
# Usage example: git pull origin $(current_branch)
|
||||
#
|
||||
function current_branch() {
|
||||
ref=$(git symbolic-ref HEAD 2> /dev/null) || return
|
||||
echo ${ref#refs/heads/}
|
||||
}
|
||||
|
||||
# these aliases take advangate of the previous function
|
||||
alias ggpull='git pull origin $(current_branch)'
|
||||
alias ggpush='git push origin $(current_branch)'
|
||||
alias ggpnp='git pull origin $(current_branch) && git push origin $(current_branch)'
|
||||
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
|
||||
4
plugins/github/github.plugin.zsh
Normal file
4
plugins/github/github.plugin.zsh
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# add github completion function to path
|
||||
fpath=($ZSH/plugins/github $fpath)
|
||||
autoload -U compinit
|
||||
compinit -i
|
||||
16
plugins/lighthouse/lighthouse.plugin.zsh
Normal file
16
plugins/lighthouse/lighthouse.plugin.zsh
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
# To use: add a .lighthouse file into your directory with the URL to the
|
||||
# individual project. For example:
|
||||
# https://rails.lighthouseapp.com/projects/8994
|
||||
# Example usage: http://screencast.com/t/ZDgwNDUwNT
|
||||
open_lighthouse_ticket () {
|
||||
if [ ! -f .lighthouse-url ]; then
|
||||
echo "There is no .lighthouse-url file in the current directory..."
|
||||
return 0;
|
||||
else
|
||||
lighthouse_url=$(cat .lighthouse-url);
|
||||
echo "Opening ticket #$1";
|
||||
`open $lighthouse_url/tickets/$1`;
|
||||
fi
|
||||
}
|
||||
|
||||
alias lho='open_lighthouse_ticket'
|
||||
7
plugins/macports/macports.plugin.zsh
Normal file
7
plugins/macports/macports.plugin.zsh
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
#Aliases
|
||||
alias pc="sudo port clean --all installed"
|
||||
alias pi="sudo port install $1"
|
||||
alias psu="sudo port selfupdate"
|
||||
alias puni="sudo port uninstall inactive"
|
||||
alias puo="sudo port upgrade outdated"
|
||||
alias pup="psu && puo"
|
||||
6
plugins/mysql/mysql-macports.plugin.zsh
Normal file
6
plugins/mysql/mysql-macports.plugin.zsh
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
# commands to control local mysql-server installation
|
||||
# paths are for osx installtion via macports
|
||||
|
||||
alias mysqlstart='sudo /opt/local/bin/mysqld_safe5'
|
||||
alias mysqlstop='/opt/local/bin/mysqladmin5 -u root -p shutdown'
|
||||
alias mysqlstatus='mysqladmin5 -u root -p ping'
|
||||
11
plugins/osx/osx.plugin.zsh
Normal file
11
plugins/osx/osx.plugin.zsh
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
function tab() {
|
||||
osascript 2>/dev/null <<EOF
|
||||
tell application "System Events"
|
||||
tell process "Terminal" to keystroke "t" using command down
|
||||
end
|
||||
tell application "Terminal"
|
||||
activate
|
||||
do script with command "cd \"$PWD\"; $*" in window 1
|
||||
end tell
|
||||
EOF
|
||||
}
|
||||
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
|
||||
46
plugins/pip/_pip
Normal file
46
plugins/pip/_pip
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
#compdef pip
|
||||
#autoload
|
||||
|
||||
# pip zsh completion, based on homebrew completion
|
||||
|
||||
_pip_installed() {
|
||||
installed_pkgs=(`pip freeze`)
|
||||
}
|
||||
|
||||
local -a _1st_arguments
|
||||
_1st_arguments=(
|
||||
'bundle:Create pybundles (archives containing multiple packages)'
|
||||
'freeze:Output all currently installed packages (exact versions) to stdout'
|
||||
'help:Show available commands'
|
||||
'install:Install packages'
|
||||
'search:Search PyPI'
|
||||
'uninstall:Uninstall packages'
|
||||
'unzip:Unzip individual packages'
|
||||
'zip:Zip individual packages'
|
||||
)
|
||||
|
||||
local expl
|
||||
local -a pkgs installed_pkgs
|
||||
|
||||
_arguments \
|
||||
'(--version)--version[Show version number of program and exit]' \
|
||||
'(-v --verbose)'{-v,--verbose}'[Give more output]' \
|
||||
'(-q --quiet)'{-q,--quiet}'[Give less output]' \
|
||||
'(-h --help)'{-h,--help}'[Show help]' \
|
||||
'*:: :->subcmds' && return 0
|
||||
|
||||
if (( CURRENT == 1 )); then
|
||||
_describe -t commands "pip subcommand" _1st_arguments
|
||||
return
|
||||
fi
|
||||
|
||||
case "$words[1]" in
|
||||
list)
|
||||
if [[ "$state" == forms ]]; then
|
||||
_pip_installed
|
||||
_requested installed_pkgs expl 'installed packages' compadd -a installed_pkgs
|
||||
fi ;;
|
||||
uninstall)
|
||||
_pip_installed
|
||||
_wanted installed_pkgs expl 'installed packages' compadd -a installed_pkgs ;;
|
||||
esac
|
||||
4
plugins/pip/pip.plugin.zsh
Normal file
4
plugins/pip/pip.plugin.zsh
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# add brew completion function to path
|
||||
fpath=($ZSH/plugins/pip $fpath)
|
||||
autoload -U compinit
|
||||
compinit -i
|
||||
13
plugins/rails/rails.plugin.zsh
Normal file
13
plugins/rails/rails.plugin.zsh
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
alias ss='thin --stats "/thin/stats" start'
|
||||
alias sg='ruby script/generate'
|
||||
alias sd='ruby script/destroy'
|
||||
alias sp='ruby script/plugin'
|
||||
alias ssp='ruby script/spec'
|
||||
alias rdbm='rake db:migrate'
|
||||
alias sc='ruby script/console'
|
||||
alias sd='ruby script/server --debugger'
|
||||
alias devlog='tail -f log/development.log'
|
||||
|
||||
function remote_console() {
|
||||
/usr/bin/env ssh $1 "( cd $2 && ruby script/console production )"
|
||||
}
|
||||
4
plugins/ruby/ruby.plugin.zsh
Normal file
4
plugins/ruby/ruby.plugin.zsh
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
alias sgem='sudo gem'
|
||||
|
||||
# Find ruby file
|
||||
alias rfind='find . -name *.rb | xargs grep -n'
|
||||
23
plugins/ssh-agent/ssh-agent.plugin.zsh
Normal file
23
plugins/ssh-agent/ssh-agent.plugin.zsh
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
# Based on code from Joseph M. Reagle
|
||||
# http://www.cygwin.com/ml/cygwin/2001-06/msg00537.html
|
||||
|
||||
local SSH_ENV=$HOME/.ssh/environment
|
||||
|
||||
function start_agent {
|
||||
/usr/bin/env ssh-agent | sed 's/^echo/#echo/' > ${SSH_ENV}
|
||||
chmod 600 ${SSH_ENV}
|
||||
. ${SSH_ENV} > /dev/null
|
||||
/usr/bin/ssh-add;
|
||||
}
|
||||
|
||||
# Source SSH settings, if applicable
|
||||
|
||||
if [ -f "${SSH_ENV}" ]; then
|
||||
. ${SSH_ENV} > /dev/null
|
||||
ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
|
||||
start_agent;
|
||||
}
|
||||
else
|
||||
start_agent;
|
||||
fi
|
||||
|
||||
14
plugins/textmate/textmate.plugin.zsh
Normal file
14
plugins/textmate/textmate.plugin.zsh
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
|
||||
# TextMate
|
||||
alias et='mate . &'
|
||||
alias ett='mate app config lib db public spec test Rakefile Capfile Todo &'
|
||||
alias etp='mate app config lib db public spec test vendor/plugins vendor/gems Rakefile Capfile Todo &'
|
||||
alias etts='mate app config lib db public script spec test vendor/plugins vendor/gems Rakefile Capfile Todo &'
|
||||
|
||||
# Editor Ruby file in TextMate
|
||||
alias mr='mate CHANGELOG app config db lib public script spec test'
|
||||
|
||||
function tm() {
|
||||
cd $1
|
||||
mate $1
|
||||
}
|
||||
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
|
||||
22
plugins/vi-mode/vi-mode.plugin.zsh
Normal file
22
plugins/vi-mode/vi-mode.plugin.zsh
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
function zle-line-init zle-keymap-select {
|
||||
zle reset-prompt
|
||||
}
|
||||
|
||||
zle -N zle-line-init
|
||||
zle -N zle-keymap-select
|
||||
|
||||
bindkey -v
|
||||
|
||||
# if mode indicator wasn't setup by theme, define default
|
||||
if [[ "$MODE_INDICATOR" == "" ]]; then
|
||||
MODE_INDICATOR="%{$fg_bold[red]%}<%{$fg[red]%}<<%{$reset_color%}"
|
||||
fi
|
||||
|
||||
function vi_mode_prompt_info() {
|
||||
echo "${${KEYMAP/vicmd/$MODE_INDICATOR}/(main|viins)/}"
|
||||
}
|
||||
|
||||
# define right prompt, if it wasn't defined by a theme
|
||||
if [[ "$RPS1" == "" && "$RPROMPT" == "" ]]; then
|
||||
RPS1='$(vi_mode_prompt_info)'
|
||||
fi
|
||||
|
|
@ -9,7 +9,7 @@ export ZSH=$HOME/.oh-my-zsh
|
|||
|
||||
# Set to the name theme to load.
|
||||
# Look in ~/.oh-my-zsh/themes/
|
||||
export ZSH_THEME="robbyrussell"
|
||||
export ZSH_THEME="prose"
|
||||
|
||||
# Set to this to use case-sensitive completion
|
||||
# export CASE_SENSITIVE="true"
|
||||
|
|
@ -17,11 +17,16 @@ export ZSH_THEME="robbyrussell"
|
|||
# Uncomment following line if you want to disable colors in ls
|
||||
# export DISABLE_LS_COLORS="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)
|
||||
|
||||
# If this terminal has strange settings, set this to true
|
||||
# the first run will have you set some parameters,
|
||||
# and then all will be well.
|
||||
#export STRANGE_TERMINAL='true'
|
||||
|
||||
|
||||
source $ZSH/oh-my-zsh.sh
|
||||
|
||||
# Customize to your needs...
|
||||
|
|
|
|||
6
themes/Soliah.zsh-theme
Normal file
6
themes/Soliah.zsh-theme
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
PROMPT='%{$fg[blue]%}%B%20~%b%{$reset_color%}%{$(git_prompt_info)%} $ '
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="(%{$fg[green]%}"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%})"
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY="*%{$reset_color%}"
|
||||
|
||||
10
themes/afowler.zsh-theme
Normal file
10
themes/afowler.zsh-theme
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
if [ "$(whoami)" = "root" ]; then CARETCOLOR="red"; else CARETCOLOR="blue"; fi
|
||||
|
||||
local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
|
||||
|
||||
PROMPT='%m %{${fg_bold[blue]}%}:: %{$reset_color%}%{${fg[green]}%}%3~ $(git_prompt_info)%{${fg_bold[$CARETCOLOR]}%}»%{${reset_color}%} '
|
||||
|
||||
RPS1="${return_code}"
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}‹"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}"
|
||||
14
themes/arrow.zsh-theme
Normal file
14
themes/arrow.zsh-theme
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
if [ "$(whoami)" = "root" ]; then NCOLOR="red"; else NCOLOR="yellow"; fi
|
||||
|
||||
PROMPT='%{$fg[$NCOLOR]%}%c ➤ %{$reset_color%}'
|
||||
RPROMPT='%{$fg[$NCOLOR]%}%p $(git_prompt_info)%{$reset_color%}'
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="git:"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX=""
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY="*"
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
||||
|
||||
# See http://geoff.greer.fm/lscolors/
|
||||
export LSCOLORS="exfxcxdxbxbxbxbxbxbxbx"
|
||||
export LS_COLORS="di=34;40:ln=35;40:so=32;40:pi=33;40:ex=31;40:bd=31;40:cd=31;40:su=31;40:sg=31;40:tw=31;40:ow=31;40:"
|
||||
|
||||
8
themes/aussiegeek.zsh-theme
Normal file
8
themes/aussiegeek.zsh-theme
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
|
||||
PROMPT='$fg_bold[blue][ $fg[red]%t $fg_bold[blue]] $fg_bold[blue] [ $fg[red]%n@%m:%~$(git_prompt_info)$fg[yellow]$(rvm_prompt_info)$fg_bold[blue] ]$reset_color
|
||||
$ '
|
||||
# git theming
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="$fg_bold[green]("
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX=")"
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN="✔"
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY="✗"
|
||||
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%}"
|
||||
7
themes/candy.zsh-theme
Normal file
7
themes/candy.zsh-theme
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
PROMPT=$'%{$fg_bold[green]%}%n@%m %{$fg[blue]%}%D{[%I:%M:%S]} %{$reset_color%}%{$fg[white]%}[%~]%{$reset_color%} $(git_prompt_info)\
|
||||
%{$fg[blue]%}->%{$fg_bold[blue]%} %#%{$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=""
|
||||
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]%}]"
|
||||
26
themes/dallas.zsh-theme
Normal file
26
themes/dallas.zsh-theme
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
# Personalized!
|
||||
|
||||
# Grab the current date (%D) and time (%T) wrapped in {}: {%D %T}
|
||||
DALLAS_CURRENT_TIME_="%{$fg[white]%}{%{$fg[yellow]%}%D %T%{$fg[white]%}}%{$reset_color%}"
|
||||
# Grab the current version of ruby in use (via RVM): [ruby-1.8.7]
|
||||
DALLAS_CURRENT_RUBY_="%{$fg[white]%}[%{$fg[magenta]%}\$(~/.rvm/bin/rvm-prompt i v)%{$fg[white]%}]%{$reset_color%}"
|
||||
# Grab the current machine name: muscato
|
||||
DALLAS_CURRENT_MACH_="%{$fg[green]%}%m%{$fg[white]%}:%{$reset_color%}"
|
||||
# Grab the current filepath, use shortcuts: ~/Desktop
|
||||
# Append the current git branch, if in a git repository: ~aw@master
|
||||
DALLAS_CURRENT_LOCA_="%{$fg[cyan]%}%~\$(git_prompt_info)%{$reset_color%}"
|
||||
# Grab the current username: dallas
|
||||
DALLAS_CURRENT_USER_="%{$fg[red]%}%n%{$reset_color%}"
|
||||
# Use a % for normal users and a # for privelaged (root) users.
|
||||
DALLAS_PROMPT_CHAR_="%{$fg[white]%}%(!.#.%%)%{$reset_color%}"
|
||||
# For the git prompt, use a white @ and blue text for the branch name
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[white]%}@%{$fg[blue]%}"
|
||||
# Close it all off by resetting the color and styles.
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
|
||||
# Do nothing if the branch is clean (no changes).
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
||||
# Add 3 cyan ✗s if this branch is diiirrrty! Dirty branch!
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[cyan]%}✗✗✗"
|
||||
|
||||
# Put it all together!
|
||||
PROMPT="$DALLAS_CURRENT_TIME_$DALLAS_CURRENT_RUBY_$DALLAS_CURRENT_MACH_$DALLAS_CURRENT_LOCA_ $DALLAS_CURRENT_USER_$DALLAS_PROMPT_CHAR_ "
|
||||
7
themes/daveverwer.zsh-theme
Normal file
7
themes/daveverwer.zsh-theme
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
# Copied and modified from the oh-my-zsh theme from geoffgarside
|
||||
# Red server name, green cwd, blue git status
|
||||
|
||||
PROMPT='%{$fg[red]%}%m%{$reset_color%}:%{$fg[green]%}%c%{$reset_color%}$(git_prompt_info) %(!.#.$) '
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[blue]%}("
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX=")%{$reset_color%}"
|
||||
16
themes/dst.zsh-theme
Normal file
16
themes/dst.zsh-theme
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
|
||||
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 [ "$(whoami)" = "root" ]; 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%}'
|
||||
19
themes/dstufft.zsh-theme
Normal file
19
themes/dstufft.zsh-theme
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
function prompt_char {
|
||||
git branch >/dev/null 2>/dev/null && echo '±' && return
|
||||
hg root >/dev/null 2>/dev/null && echo 'Hg' && return
|
||||
echo '○'
|
||||
}
|
||||
|
||||
function virtualenv_info {
|
||||
[ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') '
|
||||
}
|
||||
|
||||
PROMPT='
|
||||
%{$fg[magenta]%}%n%{$reset_color%} at %{$fg[yellow]%}%m%{$reset_color%} in %{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}$(git_prompt_info)
|
||||
$(virtualenv_info)$(prompt_char) '
|
||||
|
||||
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=""
|
||||
8
themes/duellj.zsh-theme
Normal file
8
themes/duellj.zsh-theme
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
|
||||
# user, host, full path, and time/date
|
||||
# on two lines for easier vgrepping
|
||||
# entry in a nice long thread on the Arch Linux forums: http://bbs.archlinux.org/viewtopic.php?pid=521888#p521888
|
||||
PROMPT=$'%{\e[0;34m%}%B┌─[%b%{\e[0m%}%{\e[1;32m%}%n%{\e[1;34m%}@%{\e[0m%}%{\e[0;36m%}%m%{\e[0;34m%}%B]%b%{\e[0m%} - %b%{\e[0;34m%}%B[%b%{\e[1;37m%}%~%{\e[0;34m%}%B]%b%{\e[0m%} - %{\e[0;34m%}%B[%b%{\e[0;33m%}%!%{\e[0;34m%}%B]%b%{\e[0m%}
|
||||
%{\e[0;34m%}%B└─%B[%{\e[1;35m%}$%{\e[0;34m%}%B]%{\e[0m%}%b '
|
||||
RPROMPT='[%*]'
|
||||
PS2=$' \e[0;34m%}%B>%{\e[0m%}%b '
|
||||
19
themes/eastwood.zsh-theme
Normal file
19
themes/eastwood.zsh-theme
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
#RVM settings
|
||||
if [[ -s ~/.rvm/scripts/rvm ]] ; then
|
||||
RPS1="%{$fg[yellow]%}rvm:%{$reset_color%}%{$fg[red]%}\$(~/.rvm/bin/rvm-prompt)%{$reset_color%} $EPS1"
|
||||
fi
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="%{$reset_color%}%{$fg[green]%}["
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="]%{$reset_color%}"
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}*%{$reset_color%}"
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
||||
|
||||
#Customized git status, oh-my-zsh currently does not allow render dirty status before branch
|
||||
git_custom_status() {
|
||||
local cb=$(current_branch)
|
||||
if [ -n "$cb" ]; then
|
||||
echo "$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_PREFIX$(current_branch)$ZSH_THEME_GIT_PROMPT_SUFFIX"
|
||||
fi
|
||||
}
|
||||
|
||||
PROMPT='$(git_custom_status)%{$fg[cyan]%}[%~% ]%{$reset_color%}%B$%b '
|
||||
6
themes/edvardm.zsh-theme
Normal file
6
themes/edvardm.zsh-theme
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg_bold[white]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$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]%})"
|
||||
12
themes/fletcherm.zsh-theme
Normal file
12
themes/fletcherm.zsh-theme
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
# Copied from old version of tonotdo's theme. LSCOLORS modified.
|
||||
PROMPT='%{$fg_no_bold[cyan]%}%n%{$fg_no_bold[magenta]%}•%{$fg_no_bold[green]%}%3~$(git_prompt_info)%{$reset_color%}» '
|
||||
RPROMPT='[%*]'
|
||||
|
||||
# git theming
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}(%{$fg_no_bold[red]%}"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX=""
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg_bold[blue]%})"
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[yellow]%}⚡%{$fg_bold[blue]%})"
|
||||
|
||||
export LSCOLORS="exfxcxdxbxegedabagacad"
|
||||
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:'
|
||||
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]%} ✱"
|
||||
6
themes/jbergantine.zsh-theme
Normal file
6
themes/jbergantine.zsh-theme
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[white]%}$(git_prompt_info)%{$fg_bold[white]%} % %{$reset_color%}'
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[white]%}) %{$fg[yellow]%}✗%{$reset_color%}"
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[white]%})"
|
||||
43
themes/josh.zsh-theme
Normal file
43
themes/josh.zsh-theme
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
grey='\e[0;90m'
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="%{$grey%}("
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY="%{$grey%}) %{$fg[yellow]%}✗%{$reset_color%}"
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN="%{$grey%})"
|
||||
|
||||
function josh_prompt {
|
||||
(( spare_width = ${COLUMNS} ))
|
||||
prompt=" "
|
||||
|
||||
branch=$(current_branch)
|
||||
ruby_version=$(rvm_prompt_info)
|
||||
path_size=${#PWD}
|
||||
branch_size=${#branch}
|
||||
ruby_size=${#ruby_version}
|
||||
user_machine_size=${#${(%):-%n@%m-}}
|
||||
|
||||
if [[ ${#branch} -eq 0 ]]
|
||||
then (( ruby_size = ruby_size + 1 ))
|
||||
else
|
||||
(( branch_size = branch_size + 4 ))
|
||||
if [[ -n $(git status -s 2> /dev/null) ]]; then
|
||||
(( branch_size = branch_size + 2 ))
|
||||
fi
|
||||
fi
|
||||
|
||||
(( spare_width = ${spare_width} - (${user_machine_size} + ${path_size} + ${branch_size} + ${ruby_size}) ))
|
||||
|
||||
while [ ${#prompt} -lt $spare_width ]; do
|
||||
prompt=" $prompt"
|
||||
done
|
||||
|
||||
prompt="%{%F{green}%}$PWD$prompt%{%F{red}%}$(rvm_prompt_info)%{$reset_color%} $(git_prompt_info)"
|
||||
|
||||
echo $prompt
|
||||
}
|
||||
|
||||
setopt prompt_subst
|
||||
|
||||
PROMPT='
|
||||
%n@%m $(josh_prompt)
|
||||
%(?,%{%F{green}%},%{%F{red}%})⚡%{$reset_color%} '
|
||||
16
themes/jreese.zsh-theme
Normal file
16
themes/jreese.zsh-theme
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
# 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
|
||||
local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
|
||||
|
||||
PROMPT='%{$fg[$NCOLOR]%}%n%{$fg[green]%}@%m%{$reset_color%} %~ \
|
||||
$(git_prompt_info)\
|
||||
%{$fg[red]%}%(!.#.»)%{$reset_color%} '
|
||||
PROMPT2='%{$fg[red]%}\ %{$reset_color%}'
|
||||
RPS1='${return_code}'
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[green]%}±%{$fg[yellow]%}"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} "
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY="⚡"
|
||||
|
||||
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=")"
|
||||
13
themes/kennethreitz.zsh-theme
Normal file
13
themes/kennethreitz.zsh-theme
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
|
||||
|
||||
PROMPT='%{$fg[green]%}%c \
|
||||
$(git_prompt_info)\
|
||||
%{$fg[red]%}%(!.#.»)%{$reset_color%} '
|
||||
PROMPT2='%{$fg[red]%}\ %{$reset_color%}'
|
||||
RPS1='%{$fg[blue]%}%~%{$reset_color%} ${return_code} '
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="%{$reset_color%}:: %{$fg[yellow]%}("
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX=")%{$reset_color%} "
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}*%{$fg[yellow]%}"
|
||||
|
||||
80
themes/linuxonly
Normal file
80
themes/linuxonly
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
# vim: set ts=2 textwidth=0
|
||||
|
||||
autoload -U add-zsh-hook
|
||||
autoload -Uz vcs_info
|
||||
local c0=$(printf "\033[0m")
|
||||
local c1=$(printf "\033[38;5;215m")
|
||||
local c2=$(printf "\033[38;5;209m")
|
||||
local c3=$(printf "\033[38;5;203m")
|
||||
local c4=$(printf "\033[33;4m")
|
||||
local c5=$(printf "\033[38;5;137m")
|
||||
local c6=$(printf "\033[38;5;240m")
|
||||
local c7=$(printf "\033[38;5;149m")
|
||||
local c8=$(printf "\033[38;5;126m")
|
||||
local c9=$(printf "\033[38;5;162m")
|
||||
|
||||
local foopath=$(perl /home/scp1/bin/foopath)
|
||||
|
||||
if [ "$TERM" = "linux" ]; then
|
||||
c1=$(printf "\033[34;1m")
|
||||
c2=$(printf "\033[35m")
|
||||
c3=$(printf "\033[31m")
|
||||
c4=$(printf "\033[31;1m")
|
||||
c5=$(printf "\033[32m")
|
||||
c6=$(printf "\033[32;1m")
|
||||
c7=$(printf "\033[33m")
|
||||
c8=$(printf "\033[33;1m")
|
||||
c9=$(printf "\033[34m")
|
||||
fi
|
||||
|
||||
#local newtv=$(perl $HOME/devel/newtv.pl)
|
||||
local newtv=''
|
||||
|
||||
zstyle ':vcs_info:*' actionformats \
|
||||
'%{$c8%}(%f%s)%{$c7%}-%F{5}[%F{2}%b%F{3}|%F{1}%a%F{5}]%f '
|
||||
zstyle ':vcs_info:*' formats \
|
||||
"%{$c8%}%s%{$c7%}:%{$c7%}(%{$c9%}%b%{$c7%})%f "
|
||||
zstyle ':vcs_info:(sv[nk]|bzr):*' branchformat '%b%F{1}:%F{3}%r'
|
||||
zstyle ':vcs_info:*' enable git
|
||||
|
||||
add-zsh-hook precmd prompt_jnrowe_precmd
|
||||
|
||||
prompt_jnrowe_precmd () {
|
||||
vcs_info
|
||||
|
||||
if [ "${vcs_info_msg_0_}" = "" ]; then
|
||||
#dir_status="|%F{3}%n%F{7}@%F{3}%m%F{7}:%F{9}%l%f"
|
||||
#dir_status="$c1%n%F{7}@%F{9}%m%F{7}:%F{12}%/"
|
||||
dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$c4%}%/ %{$c0%}(%{$c5%}%?%{$c0%})"
|
||||
#dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$foopath%} %{$c0%}(%{$c5%}%?%{$c0%})"
|
||||
|
||||
PROMPT='%{$fg_bold[green]%}%p%{$reset_color%}${vcs_info_msg_0_}${dir_status} ${ret_status}%{$reset_color%}
|
||||
> '
|
||||
elif [[ $(git diff --cached --name-status 2>/dev/null ) != "" ]]; then
|
||||
dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$c4%}%/ %{$c0%}(%{$c5%}%?%{$c0%})"
|
||||
PROMPT='${vcs_info_msg_0_}
|
||||
%{$fg_bold[green]%}%p%{$reset_color%}${dir_status} ${vcs_info_msg_0_}%{$reset_color%}
|
||||
> '
|
||||
|
||||
elif [[ $(git diff --name-status 2>/dev/null ) != "" ]]; then
|
||||
dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$c4%}%/ %{$c0%}(%{$c5%}%?%{$c0%})"
|
||||
|
||||
PROMPT='${vcs_info_msg_0_}
|
||||
%{$fg_bold[green]%}%p%{$reset_color%}${dir_status}%{$reset_color%}
|
||||
%{$c9%}·>%{$c0%} '
|
||||
else
|
||||
dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$c4%}%/ %{$c0%}(%{$c5%}%?%{$c0%})"
|
||||
PROMPT='${vcs_info_msg_0_}
|
||||
%{$fg_bold[green]%}%p%{$reset_color%}${dir_status} ${vcs_info_msg_0_}%{$reset_color%}
|
||||
> '
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$reset_color%} ${vcs_info_msg_0_}${dir_status}%{$reset_color%}
|
||||
#> '
|
||||
|
||||
# vim: set ft=zsh ts=4 sw=4 et:
|
||||
|
||||
|
||||
10
themes/lukerandall.zsh-theme
Normal file
10
themes/lukerandall.zsh-theme
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
# ZSH Theme - Preview: http://cl.ly/f701d00760f8059e06dc
|
||||
# Thanks to gallifrey, upon whose theme this is based
|
||||
|
||||
local return_code="%(?..%{$fg_bold[red]%}%? ↵%{$reset_color%})"
|
||||
|
||||
PROMPT='%{$fg_bold[green]%}%n@%m%{$reset_color%} %{$fg_bold[blue]%}%2~%{$reset_color%} $(git_prompt_info)%{$reset_color%}%B»%b '
|
||||
RPS1="${return_code}"
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}("
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX=") %{$reset_color%}"
|
||||
8
themes/macovsky-ruby.zsh-theme
Normal file
8
themes/macovsky-ruby.zsh-theme
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
# ZSH Theme - Preview: http://gyazo.com/8becc8a7ed5ab54a0262a470555c3eed.png
|
||||
local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
|
||||
|
||||
PROMPT='%{$fg[green]%}%~%{$reset_color%} %{$fg[red]%}‹$(~/.rvm/bin/rvm-prompt i v)› %{$reset_color%} $(git_prompt_info)%{$reset_color%}%B$%b '
|
||||
RPS1="${return_code}"
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}‹"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}"
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
# ZSH Theme - Preview: http://gyazo.com/8becc8a7ed5ab54a0262a470555c3eed.png
|
||||
local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
|
||||
|
||||
PROMPT='%{$fg[green]%}%~%{$reset_color%} $(git_prompt_info)%{$reset_color%}%B$%b '
|
||||
PROMPT='%{$fg[green]%}%~%{$reset_color%} %{$fg[red]%}‹$(~/.rvm/bin/rvm-prompt i v)› %{$reset_color%} $(git_prompt_info)%{$reset_color%}%B$%b '
|
||||
RPS1="${return_code}"
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}‹"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}"
|
||||
|
|
|
|||
9
themes/mattcable.zsh-theme
Normal file
9
themes/mattcable.zsh-theme
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
# based on robbyrussel.zsh-theme
|
||||
|
||||
PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'
|
||||
RPROMPT="%{$fg_bold[red]%}(%D{%m-%d %H:%M})%{$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]%})"
|
||||
6
themes/mgutz.zsh-theme
Normal file
6
themes/mgutz.zsh-theme
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
PROMPT='%{$fg_bold[magenta]%}%1~$(git_prompt_info) %{$fg_bold[magenta]%}%# %{$reset_color%}'
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[yellow]%}["
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY="*]"
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN="]"
|
||||
7
themes/mrtazz.zsh-theme
Normal file
7
themes/mrtazz.zsh-theme
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
PROMPT='%{$fg_bold[red]%}%m%{$reset_color%}:%{$fg[cyan]%}%c%{$reset_color%}:%# '
|
||||
RPROMPT='%{$fg_bold[green]%}$(git_prompt_info)%{$reset_color%}% '
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="<%{$fg[red]%}"
|
||||
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]%}>"
|
||||
14
themes/philips.zsh-theme
Normal file
14
themes/philips.zsh-theme
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
if [ "$(whoami)" = "root" ]; 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:'
|
||||
16
themes/pmcgee.zsh-theme
Normal file
16
themes/pmcgee.zsh-theme
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
if [ "$(whoami)" = "root" ]; then NCOLOR="red"; else NCOLOR="green"; fi
|
||||
|
||||
PROMPT='
|
||||
%{$fg[$NCOLOR]%}%B%n@%m%b%{$reset_color%} %{$fg[white]%}%B${PWD/#$HOME/~}%b%{$reset_color%}
|
||||
$(git_prompt_info)%(!.#.$) '
|
||||
RPROMPT='[%*]'
|
||||
|
||||
# git theming
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_no_bold[yellow]%}%B"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$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:'
|
||||
25
themes/prose.zsh-theme
Normal file
25
themes/prose.zsh-theme
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
function virtualenv_info {
|
||||
[ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') '
|
||||
}
|
||||
|
||||
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 box_name {
|
||||
[ -f ~/.box-name ] && cat ~/.box-name || hostname -s
|
||||
}
|
||||
|
||||
PROMPT='
|
||||
%{$fg[magenta]%}%n%{$reset_color%} at %{$fg[yellow]%}$(box_name)%{$reset_color%} in %{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}$(hg_prompt_info)$(git_prompt_info)
|
||||
$(virtualenv_info)$ '
|
||||
|
||||
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=""
|
||||
8
themes/rgm.zsh-theme
Normal file
8
themes/rgm.zsh-theme
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
PROMPT='
|
||||
%n@%m %{$fg[cyan]%}%~
|
||||
%? $(git_prompt_info)%{$fg_bold[blue]%}%% %{$reset_color%}'
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[red]%}"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} "
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}"
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%}"
|
||||
7
themes/skaro.zsh-theme
Normal file
7
themes/skaro.zsh-theme
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
PROMPT='%{$fg_bold[green]%}%h %{$fg[cyan]%}%2~ %{$fg_bold[blue]%}$(git_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]%})"
|
||||
|
||||
13
themes/sporty_256.zsh-theme
Normal file
13
themes/sporty_256.zsh-theme
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
# zsh theme requires 256 color enabled terminal
|
||||
# i.e TERM=xterm-256color
|
||||
# Preview - http://www.flickr.com/photos/adelcampo/4556482563/sizes/o/
|
||||
# based on robbyrussell's shell but louder!
|
||||
|
||||
PROMPT='%{$fg_bold[blue]%}$(git_prompt_info) %F{208}%c%f
|
||||
%{$fg_bold[white]%}%# %{$reset_color%}'
|
||||
RPROMPT='%B%F{208}%n%f%{$fg_bold[white]%}@%F{039}%m%f%{$reset_color%}'
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="%F{154}±|%f%F{124}"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}%B✘%b%F{154}|%f%{$reset_color%}"
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN=" %{$fg[green]%}✔%F{154}|"
|
||||
27
themes/takashiyoshida.zsh-theme
Normal file
27
themes/takashiyoshida.zsh-theme
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
#
|
||||
# PROMPT
|
||||
#
|
||||
PROMPT_BRACKET_BEGIN='%{$fg_bold[white]%}['
|
||||
PROMPT_HOST='%{$fg_bold[cyan]%}%m'
|
||||
PROMPT_SEPARATOR='%{$reset_color%}:'
|
||||
PROMPT_DIR='%{$fg_bold[yellow]%}%c'
|
||||
PROMPT_BRACKET_END='%{$fg_bold[white]%}]'
|
||||
|
||||
PROMPT_USER='%{$fg_bold[white]%}%n'
|
||||
PROMPT_SIGN='%{$reset_color%}%#'
|
||||
|
||||
GIT_PROMPT_INFO='$(git_prompt_info)'
|
||||
|
||||
# My current prompt looks like:
|
||||
# [host:current_dir] (git_prompt_info)
|
||||
# [username]%
|
||||
PROMPT="${PROMPT_BRACKET_BEGIN}${PROMPT_HOST}${PROMPT_SEPARATOR}${PROMPT_DIR}${PROMPT_BRACKET_END}${GIT_PROMPT_INFO}
|
||||
${PROMPT_BRACKET_BEGIN}${PROMPT_USER}${PROMPT_BRACKET_END}${PROMPT_SIGN} "
|
||||
|
||||
#
|
||||
# Git repository
|
||||
#
|
||||
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_CLEAN=''
|
||||
6
themes/theunraveler.zsh-theme
Normal file
6
themes/theunraveler.zsh-theme
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
# Comment
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX=' (git:'
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX=')'
|
||||
|
||||
PROMPT='%{$fg[magenta]%}[%c]$(git_prompt_info) $ %{$reset_color%}'
|
||||
29
themes/thomasjbradley.zsh-theme
Normal file
29
themes/thomasjbradley.zsh-theme
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
function prompt_char {
|
||||
git branch >/dev/null 2>/dev/null && echo '±' && return
|
||||
hg root >/dev/null 2>/dev/null && echo '☿' && return
|
||||
echo '○'
|
||||
}
|
||||
|
||||
function virtualenv_info {
|
||||
[ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') '
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
PROMPT='
|
||||
%{$fg[magenta]%}%n%{$reset_color%} at %{$fg[yellow]%}%m%{$reset_color%} in %{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}$(hg_prompt_info)$(git_prompt_info)
|
||||
$(virtualenv_info)$(prompt_char) '
|
||||
|
||||
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=""
|
||||
|
||||
. ~/bin/dotfiles/zsh/aliases
|
||||
7
themes/wezm+.zsh-theme
Normal file
7
themes/wezm+.zsh-theme
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
PROMPT='%{${fg_bold[yellow]}%}%n%{$reset_color%}%{${fg[yellow]}%}@%m%{$reset_color%} $(git_prompt_info)%(?,,%{${fg_bold[white]}%}[%?]%{$reset_color%} )%{$fg[yellow]%}%#%{$reset_color%} '
|
||||
RPROMPT='%{$fg[green]%}%~%{$reset_color%}'
|
||||
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[blue]%}("
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} "
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%})%{$fg[red]%}✗%{$reset_color%}"
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})"
|
||||
36
tools/install.sh
Executable file
36
tools/install.sh
Executable file
|
|
@ -0,0 +1,36 @@
|
|||
if [ -d ~/.oh-my-zsh ]
|
||||
then
|
||||
echo "You already have Oh My Zsh installed. You'll need to remove ~/.oh-my-zsh if you want to install"
|
||||
exit
|
||||
fi
|
||||
|
||||
echo "Cloning Oh My Zsh..."
|
||||
/usr/bin/env git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
|
||||
|
||||
echo "Looking for an existing zsh config..."
|
||||
if [ -f ~/.zshrc ] || [ -h ~/.zshrc ]
|
||||
then
|
||||
echo "Found ~/.zshrc. Backing up to ~/.zshrc.pre-oh-my-zsh";
|
||||
cp ~/.zshrc ~/.zshrc.pre-oh-my-zsh;
|
||||
rm ~/.zshrc;
|
||||
fi
|
||||
|
||||
echo "Using the Oh My Zsh template file and adding it to ~/.zshrc"
|
||||
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
|
||||
|
||||
echo "Copying your current PATH and adding it to the end of ~/.zshrc for you."
|
||||
echo "export PATH=$PATH" >> ~/.zshrc
|
||||
|
||||
echo "Time to change your default shell to zsh!"
|
||||
chsh -s "/usr/bin/env zsh"
|
||||
|
||||
echo ' __ __ '
|
||||
echo ' ____ / /_ ____ ___ __ __ ____ _____/ /_ '
|
||||
echo ' / __ \/ __ \ / __ `__ \/ / / / /_ / / ___/ __ \ '
|
||||
echo '/ /_/ / / / / / / / / / / /_/ / / /_(__ ) / / / '
|
||||
echo '\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/ '
|
||||
echo ' /____/'
|
||||
|
||||
echo "\n\n ....is now installed."
|
||||
/usr/bin/env zsh
|
||||
source ~/.zshrc
|
||||
12
tools/upgrade.sh
Normal file
12
tools/upgrade.sh
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
current_path=`pwd`
|
||||
echo "Upgrading Oh My Zsh"
|
||||
( cd $ZSH && git pull origin master )
|
||||
echo ' __ __ '
|
||||
echo ' ____ / /_ ____ ___ __ __ ____ _____/ /_ '
|
||||
echo ' / __ \/ __ \ / __ `__ \/ / / / /_ / / ___/ __ \ '
|
||||
echo '/ /_/ / / / / / / / / / / /_/ / / /_(__ ) / / / '
|
||||
echo '\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/ '
|
||||
echo ' /____/'
|
||||
echo "Hooray! Oh My Zsh has been updated and/or is at the current version. \nAny new updates will be reflected when you start your next terminal session."
|
||||
echo "To keep up on the latest, be sure to follow Oh My Zsh on twitter: http://twitter.com/ohmyzsh"
|
||||
cd $current_path
|
||||
Loading…
Add table
Add a link
Reference in a new issue