Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Ohmyzsh
Commits
12f416b1
Commit
12f416b1
authored
Nov 28, 2012
by
Hauke Stange
Browse files
Merge branch 'master' of github.com:Partyschaum/oh-my-zsh
parents
5d6252c6
3d762283
Changes
11
Expand all
Hide whitespace changes
Inline
Side-by-side
lib/functions.zsh
View file @
12f416b1
function
zsh_stats
()
{
history
|
awk
'{
print $2}'
|
sort
|
uniq
-c
|
sort
-
r
n
|
head
history
|
awk
'{
CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}'
|
grep
-v
"./"
| column
-c3
-s
" "
-t
|
sort
-n
r
|
nl
|
head
-n20
}
function
uninstall_oh_my_zsh
()
{
...
...
plugins/debian/debian.plugin.zsh
View file @
12f416b1
...
...
@@ -61,7 +61,8 @@ if [[ $use_sudo -eq 1 ]]; then
# Install all .deb files in the current directory.
# Warning: you will need to put the glob in single quotes if you use:
# glob_subst
alias
di
=
'sudo dpkg -i ./*.deb'
alias
dia
=
'sudo dpkg -i ./*.deb'
alias
di
=
'sudo dpkg -i'
# Remove ALL kernel images and headers EXCEPT the one in use
alias
kclean
=
'sudo aptitude remove -P ?and(~i~nlinux-(ima|hea) \
...
...
@@ -100,7 +101,8 @@ else
# Install all .deb files in the current directory
# Assumes glob_subst is off
alias di='
su
-lc
"dpkg -i ./*.deb"
root
'
alias dia='
su
-lc
"dpkg -i ./*.deb"
root
'
alias di='
su
-lc
"dpkg -i"
root
'
# Remove ALL kernel images and headers EXCEPT the one in use
alias kclean='
su
-lc
'\''aptitude remove -P ?and(~i~nlinux-(ima|hea) \
...
...
plugins/git/git.plugin.zsh
View file @
12f416b1
...
...
@@ -39,6 +39,10 @@ compdef _git gm=git-merge
alias
grh
=
'git reset HEAD'
alias
grhh
=
'git reset HEAD --hard'
# Will cd into the top of the current repository
# or submodule.
alias
grt
=
'cd $(git rev-parse --show-toplevel || echo ".")'
# Git and svn mix
alias
git-svn-dcommit-push
=
'git svn dcommit && git push github master:svntrunk'
compdef git-svn-dcommit-push
=
git
...
...
plugins/gitfast/_git
0 → 100644
View file @
12f416b1
#compdef git gitk
# zsh completion wrapper for git
#
# You need git's bash completion script installed somewhere, by default on the
# same directory as this script.
#
# If your script is on ~/.git-completion.sh instead, you can configure it on
# your ~/.zshrc:
#
# zstyle ':completion:*:*:git:*' script ~/.git-completion.sh
#
# The recommended way to install this script is to copy to
# '~/.zsh/completion/_git', and then add the following to your ~/.zshrc file:
#
# fpath=(~/.zsh/completion $fpath)
complete ()
{
# do nothing
return 0
}
zstyle -s ":completion:*:*:git:*" script script
test -z "$script" && script="$(dirname ${funcsourcetrace[1]%:*})"/git-completion.bash
ZSH_VERSION='' . "$script"
__gitcomp ()
{
emulate -L zsh
local cur_="${3-$cur}"
case "$cur_" in
--*=)
;;
*)
local c IFS=$' \t\n'
local -a array
for c in ${=1}; do
c="$c${4-}"
case $c in
--*=*|*.) ;;
*) c="$c " ;;
esac
array+=("$c")
done
compset -P '*[=:]'
compadd -Q -S '' -p "${2-}" -a -- array && _ret=0
;;
esac
}
__gitcomp_nl ()
{
emulate -L zsh
local IFS=$'\n'
compset -P '*[=:]'
compadd -Q -S "${4- }" -p "${2-}" -- ${=1} && _ret=0
}
_git ()
{
local _ret=1
() {
emulate -L ksh
local cur cword prev
cur=${words[CURRENT-1]}
prev=${words[CURRENT-2]}
let cword=CURRENT-1
__${service}_main
}
let _ret && _default -S '' && _ret=0
return _ret
}
_git
plugins/gitfast/git-completion.bash
0 → 100644
View file @
12f416b1
This diff is collapsed.
Click to expand it.
plugins/gitfast/git-prompt.sh
0 → 100644
View file @
12f416b1
# bash/zsh git prompt support
#
# Copyright (C) 2006,2007 Shawn O. Pearce <spearce@spearce.org>
# Distributed under the GNU General Public License, version 2.0.
#
# This script allows you to see the current branch in your prompt.
#
# To enable:
#
# 1) Copy this file to somewhere (e.g. ~/.git-prompt.sh).
# 2) Add the following line to your .bashrc/.zshrc:
# source ~/.git-prompt.sh
# 3) Change your PS1 to also show the current branch:
# Bash: PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ '
# ZSH: PS1='[%n@%m %c$(__git_ps1 " (%s)")]\$ '
#
# The argument to __git_ps1 will be displayed only if you are currently
# in a git repository. The %s token will be the name of the current
# branch.
#
# In addition, if you set GIT_PS1_SHOWDIRTYSTATE to a nonempty value,
# unstaged (*) and staged (+) changes will be shown next to the branch
# name. You can configure this per-repository with the
# bash.showDirtyState variable, which defaults to true once
# GIT_PS1_SHOWDIRTYSTATE is enabled.
#
# You can also see if currently something is stashed, by setting
# GIT_PS1_SHOWSTASHSTATE to a nonempty value. If something is stashed,
# then a '$' will be shown next to the branch name.
#
# If you would like to see if there're untracked files, then you can set
# GIT_PS1_SHOWUNTRACKEDFILES to a nonempty value. If there're untracked
# files, then a '%' will be shown next to the branch name.
#
# If you would like to see the difference between HEAD and its upstream,
# set GIT_PS1_SHOWUPSTREAM="auto". A "<" indicates you are behind, ">"
# indicates you are ahead, "<>" indicates you have diverged and "="
# indicates that there is no difference. You can further control
# behaviour by setting GIT_PS1_SHOWUPSTREAM to a space-separated list
# of values:
#
# verbose show number of commits ahead/behind (+/-) upstream
# legacy don't use the '--count' option available in recent
# versions of git-rev-list
# git always compare HEAD to @{upstream}
# svn always compare HEAD to your SVN upstream
#
# By default, __git_ps1 will compare HEAD to your SVN upstream if it can
# find one, or @{upstream} otherwise. Once you have set
# GIT_PS1_SHOWUPSTREAM, you can override it on a per-repository basis by
# setting the bash.showUpstream config variable.
# __gitdir accepts 0 or 1 arguments (i.e., location)
# returns location of .git repo
__gitdir
()
{
# Note: this function is duplicated in git-completion.bash
# When updating it, make sure you update the other one to match.
if
[
-z
"
${
1
-
}
"
]
;
then
if
[
-n
"
${
__git_dir
-
}
"
]
;
then
echo
"
$__git_dir
"
elif
[
-n
"
${
GIT_DIR
-
}
"
]
;
then
test
-d
"
${
GIT_DIR
-
}
"
||
return
1
echo
"
$GIT_DIR
"
elif
[
-d
.git
]
;
then
echo
.git
else
git rev-parse
--git-dir
2>/dev/null
fi
elif
[
-d
"
$1
/.git"
]
;
then
echo
"
$1
/.git"
else
echo
"
$1
"
fi
}
# stores the divergence from upstream in $p
# used by GIT_PS1_SHOWUPSTREAM
__git_ps1_show_upstream
()
{
local
key value
local
svn_remote svn_url_pattern count n
local
upstream
=
git
legacy
=
""
verbose
=
""
svn_remote
=()
# get some config options from git-config
local
output
=
"
$(
git config
-z
--get-regexp
'^(svn-remote\..*\.url|bash\.showupstream)$'
2>/dev/null |
tr
'\0\n'
'\n '
)
"
while
read
-r
key value
;
do
case
"
$key
"
in
bash.showupstream
)
GIT_PS1_SHOWUPSTREAM
=
"
$value
"
if
[[
-z
"
${
GIT_PS1_SHOWUPSTREAM
}
"
]]
;
then
p
=
""
return
fi
;;
svn-remote.
*
.url
)
svn_remote[
$((${#
svn_remote
[@]
}
+
1
))
]=
"
$value
"
svn_url_pattern+
=
"
\\
|
$value
"
upstream
=
svn+git
# default upstream is SVN if available, else git
;;
esac
done
<<<
"
$output
"
# parse configuration values
for
option
in
${
GIT_PS1_SHOWUPSTREAM
}
;
do
case
"
$option
"
in
git|svn
)
upstream
=
"
$option
"
;;
verbose
)
verbose
=
1
;;
legacy
)
legacy
=
1
;;
esac
done
# Find our upstream
case
"
$upstream
"
in
git
)
upstream
=
"@{upstream}"
;;
svn
*
)
# get the upstream from the "git-svn-id: ..." in a commit message
# (git-svn uses essentially the same procedure internally)
local
svn_upstream
=(
$(
git log
--first-parent
-1
\
--grep
=
"^git-svn-id:
\(
${
svn_url_pattern
#??
}
\)
"
2>/dev/null
)
)
if
[[
0
-ne
${#
svn_upstream
[@]
}
]]
;
then
svn_upstream
=
${
svn_upstream
[
${#
svn_upstream
[@]
}
- 2 ]
}
svn_upstream
=
${
svn_upstream
%@*
}
local
n_stop
=
"
${#
svn_remote
[@]
}
"
for
((
n
=
1
;
n <
=
n_stop
;
n++
))
;
do
svn_upstream
=
${
svn_upstream
#
${
svn_remote
[
$n
]
}}
done
if
[[
-z
"
$svn_upstream
"
]]
;
then
# default branch name for checkouts with no layout:
upstream
=
${
GIT_SVN_ID
:-
git
-svn
}
else
upstream
=
${
svn_upstream
#/
}
fi
elif
[[
"svn+git"
=
"
$upstream
"
]]
;
then
upstream
=
"@{upstream}"
fi
;;
esac
# Find how many commits we are ahead/behind our upstream
if
[[
-z
"
$legacy
"
]]
;
then
count
=
"
$(
git rev-list
--count
--left-right
\
"
$upstream
"
...HEAD 2>/dev/null
)
"
else
# produce equivalent output to --count for older versions of git
local
commits
if
commits
=
"
$(
git rev-list
--left-right
"
$upstream
"
...HEAD 2>/dev/null
)
"
then
local
commit
behind
=
0
ahead
=
0
for
commit
in
$commits
do
case
"
$commit
"
in
"<"
*
)
((
behind++
))
;;
*
)
((
ahead++
))
;;
esac
done
count
=
"
$behind
$ahead
"
else
count
=
""
fi
fi
# calculate the result
if
[[
-z
"
$verbose
"
]]
;
then
case
"
$count
"
in
""
)
# no upstream
p
=
""
;;
"0 0"
)
# equal to upstream
p
=
"="
;;
"0 "
*
)
# ahead of upstream
p
=
">"
;;
*
" 0"
)
# behind upstream
p
=
"<"
;;
*
)
# diverged from upstream
p
=
"<>"
;;
esac
else
case
"
$count
"
in
""
)
# no upstream
p
=
""
;;
"0 0"
)
# equal to upstream
p
=
" u="
;;
"0 "
*
)
# ahead of upstream
p
=
" u+
${
count
#0
}
"
;;
*
" 0"
)
# behind upstream
p
=
" u-
${
count
% 0
}
"
;;
*
)
# diverged from upstream
p
=
" u+
${
count
#*
}
-
${
count
% *
}
"
;;
esac
fi
}
# __git_ps1 accepts 0 or 1 arguments (i.e., format string)
# returns text to add to bash PS1 prompt (includes branch name)
__git_ps1
()
{
local
g
=
"
$(
__gitdir
)
"
if
[
-n
"
$g
"
]
;
then
local
r
=
""
local
b
=
""
if
[
-f
"
$g
/rebase-merge/interactive"
]
;
then
r
=
"|REBASE-i"
b
=
"
$(
cat
"
$g
/rebase-merge/head-name"
)
"
elif
[
-d
"
$g
/rebase-merge"
]
;
then
r
=
"|REBASE-m"
b
=
"
$(
cat
"
$g
/rebase-merge/head-name"
)
"
else
if
[
-d
"
$g
/rebase-apply"
]
;
then
if
[
-f
"
$g
/rebase-apply/rebasing"
]
;
then
r
=
"|REBASE"
elif
[
-f
"
$g
/rebase-apply/applying"
]
;
then
r
=
"|AM"
else
r
=
"|AM/REBASE"
fi
elif
[
-f
"
$g
/MERGE_HEAD"
]
;
then
r
=
"|MERGING"
elif
[
-f
"
$g
/CHERRY_PICK_HEAD"
]
;
then
r
=
"|CHERRY-PICKING"
elif
[
-f
"
$g
/BISECT_LOG"
]
;
then
r
=
"|BISECTING"
fi
b
=
"
$(
git symbolic-ref HEAD 2>/dev/null
)
"
||
{
b
=
"
$(
case
"
${
GIT_PS1_DESCRIBE_STYLE
-
}
"
in
(
contains
)
git describe
--contains
HEAD
;;
(
branch
)
git describe
--contains
--all
HEAD
;;
(
describe
)
git describe HEAD
;;
(
*
|
default
)
git describe
--tags
--exact-match
HEAD
;;
esac
2>/dev/null
)
"
||
b
=
"
$(
cut
-c1-7
"
$g
/HEAD"
2>/dev/null
)
..."
||
b
=
"unknown"
b
=
"(
$b
)"
}
fi
local
w
=
""
local
i
=
""
local
s
=
""
local
u
=
""
local
c
=
""
local
p
=
""
if
[
"true"
=
"
$(
git rev-parse
--is-inside-git-dir
2>/dev/null
)
"
]
;
then
if
[
"true"
=
"
$(
git rev-parse
--is-bare-repository
2>/dev/null
)
"
]
;
then
c
=
"BARE:"
else
b
=
"GIT_DIR!"
fi
elif
[
"true"
=
"
$(
git rev-parse
--is-inside-work-tree
2>/dev/null
)
"
]
;
then
if
[
-n
"
${
GIT_PS1_SHOWDIRTYSTATE
-
}
"
]
;
then
if
[
"
$(
git config
--bool
bash.showDirtyState
)
"
!=
"false"
]
;
then
git diff
--no-ext-diff
--quiet
--exit-code
||
w
=
"*"
if
git rev-parse
--quiet
--verify
HEAD
>
/dev/null
;
then
git diff-index
--cached
--quiet
HEAD
--
||
i
=
"+"
else
i
=
"#"
fi
fi
fi
if
[
-n
"
${
GIT_PS1_SHOWSTASHSTATE
-
}
"
]
;
then
git rev-parse
--verify
refs/stash
>
/dev/null 2>&1
&&
s
=
"$"
fi
if
[
-n
"
${
GIT_PS1_SHOWUNTRACKEDFILES
-
}
"
]
;
then
if
[
-n
"
$(
git ls-files
--others
--exclude-standard
)
"
]
;
then
u
=
"%"
fi
fi
if
[
-n
"
${
GIT_PS1_SHOWUPSTREAM
-
}
"
]
;
then
__git_ps1_show_upstream
fi
fi
local
f
=
"
$w$i$s$u
"
printf
--
"
${
1
:-
(%s)
}
"
"
$c
${
b
##refs/heads/
}${
f
:+
$f
}
$r$p
"
fi
}
plugins/gitfast/gitfast.plugin.zsh
0 → 100644
View file @
12f416b1
dir
=
$(
dirname
$0
)
source
$dir
/../git/git.plugin.zsh
source
$dir
/git-prompt.sh
function
git_prompt_info
()
{
__git_ps1
"
${
ZSH_THEME_GIT_PROMPT_PREFIX
//\%/%%
}
%s
${
ZSH_THEME_GIT_PROMPT_SUFFIX
//\%/%%
}
"
}
plugins/mvn/mvn.plugin.zsh
View file @
12f416b1
# mvn-color based on https://gist.github.com/1027800
export
BOLD
=
`
tput bold
`
export
UNDERLINE_ON
=
`
tput smul
`
export
UNDERLINE_OFF
=
`
tput rmul
`
export
TEXT_BLACK
=
`
tput setaf 0
`
export
TEXT_RED
=
`
tput setaf 1
`
export
TEXT_GREEN
=
`
tput setaf 2
`
export
TEXT_YELLOW
=
`
tput setaf 3
`
export
TEXT_BLUE
=
`
tput setaf 4
`
export
TEXT_MAGENTA
=
`
tput setaf 5
`
export
TEXT_CYAN
=
`
tput setaf 6
`
export
TEXT_WHITE
=
`
tput setaf 7
`
export
BACKGROUND_BLACK
=
`
tput setab 0
`
export
BACKGROUND_RED
=
`
tput setab 1
`
export
BACKGROUND_GREEN
=
`
tput setab 2
`
export
BACKGROUND_YELLOW
=
`
tput setab 3
`
export
BACKGROUND_BLUE
=
`
tput setab 4
`
export
BACKGROUND_MAGENTA
=
`
tput setab 5
`
export
BACKGROUND_CYAN
=
`
tput setab 6
`
export
BACKGROUND_WHITE
=
`
tput setab 7
`
export
RESET_FORMATTING
=
`
tput sgr0
`
# Wrapper function for Maven's mvn command.
mvn-color
()
{
# Filter mvn output using sed
mvn
$@
|
sed
-e
"s/
\(\[
INFO
\]\ \-
.*
\)
/
${
TEXT_BLUE
}${
BOLD
}
\1
/g"
\
-e
"s/
\(\[
INFO
\]\ \[
.*
\)
/
${
RESET_FORMATTING
}${
BOLD
}
\1
${
RESET_FORMATTING
}
/g"
\
-e
"s/
\(\[
INFO
\]\
BUILD SUCCESSFUL
\)
/
${
BOLD
}${
TEXT_GREEN
}
\1
${
RESET_FORMATTING
}
/g"
\
-e
"s/
\(\[
WARNING
\]
.*
\)
/
${
BOLD
}${
TEXT_YELLOW
}
\1
${
RESET_FORMATTING
}
/g"
\
-e
"s/
\(\[
ERROR
\]
.*
\)
/
${
BOLD
}${
TEXT_RED
}
\1
${
RESET_FORMATTING
}
/g"
\
-e
"s/Tests run:
\(
[^,]*
\)
, Failures:
\(
[^,]*
\)
, Errors:
\(
[^,]*
\)
, Skipped:
\(
[^,]*
\)
/
${
BOLD
}${
TEXT_GREEN
}
Tests run:
\1
${
RESET_FORMATTING
}
, Failures:
${
BOLD
}${
TEXT_RED
}
\2
${
RESET_FORMATTING
}
, Errors:
${
BOLD
}${
TEXT_RED
}
\3
${
RESET_FORMATTING
}
, Skipped:
${
BOLD
}${
TEXT_YELLOW
}
\4
${
RESET_FORMATTING
}
/g"
# Make sure formatting is reset
echo
-ne
${
RESET_FORMATTING
}
}
# Override the mvn command with the colorized one.
#alias mvn="mvn-color"
# aliases
alias
mvncie
=
'mvn clean install eclipse:eclipse'
alias
mvnci
=
'mvn clean install'
alias
mvne
=
'mvn eclipse:eclipse'
alias
mvnce
=
'mvn clean eclipse:clean eclipse:eclipse'
alias
mvnd
=
'mvn deploy'
alias
mvnp
=
'mvn package'
alias
mvnc
=
'mvn clean'
alias
mvncom
=
'mvn compile'
alias
mvnt
=
'mvn test'
alias
mvnag
=
'mvn archetype:generate'
function
listMavenCompletions
{
reply
=(
cli:execute cli:execute-phase archetype:generate generate-sources compile clean
install test
test-compile deploy package cobertura:cobertura jetty:run gwt:run gwt:debug
-DskipTests
-Dmaven
.test.skip
=
true
-DarchetypeCatalog
=
http://tapestry.formos.com/maven-snapshot-repository
-Dtest
=
`
if
[
-d
./src
]
;
then
find ./src
-type
f |
grep
-v
svn |
sed
's?.*/\([^/]*\)\..*?-Dtest=\1?'
;
fi
`
)
;
}
compctl
-K
listMavenCompletions mvn
\ No newline at end of file
compctl
-K
listMavenCompletions mvn
plugins/sublime/sublime.plugin.zsh
View file @
12f416b1
...
...
@@ -2,7 +2,11 @@
#unamestr = 'uname'
if
[[
$(
'uname'
)
==
'Linux'
]]
;
then
alias
st
=
'/usr/bin/sublime_text&'
if
[
-f
'/usr/bin/sublime_text'
]
;
then
alias
st
=
'/usr/bin/sublime_text&'
else
alias
st
=
'/usr/bin/sublime-text&'
fi
elif
[[
$(
'uname'
)
==
'Darwin'
]]
;
then
alias
st
=
'/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl'
fi
...
...
plugins/svn/svn.plugin.zsh
View file @
12f416b1
...
...
@@ -28,8 +28,8 @@ function svn_get_rev_nr {
function
svn_dirty_choose
{
if
[
$(
in_svn
)
]
;
then
s
=
$(
svn status
|
grep
-E
'^\s*[ACDIM!?L]'
2>/dev/null
)
if
[
$
s
]
;
then
svn status
2> /dev/null |
grep
-E
q
'^\s*[ACDIM!?L]'
if
[
$
pipestatus
[
-1
]
-ne
0
]
;
then
echo
$1
else
echo
$2
...
...
themes/agnoster.zsh-theme
View file @
12f416b1
...
...
@@ -95,7 +95,7 @@ prompt_dir() {
prompt_status
()
{
local
symbols
symbols
=()
[[
$RETVAL
-ne
0
]]
&&
symbols+
=
"%{%F{red}%}
✘
"
[[
$RETVAL
-ne
0
]]
&&
symbols+
=
"%{%F{red}%}
$RETVAL
"
[[
$UID
-eq
0
]]
&&
symbols+
=
"%{%F{yellow}%}⚡"
[[
$(
jobs
-l
|
wc
-l
)
-gt
0
]]
&&
symbols+
=
"%{%F{cyan}%}⚙"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment