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
587832f1
Commit
587832f1
authored
Jan 02, 2013
by
Peter Tillemans
Browse files
Merge branch 'master' of
https://github.com/robbyrussell/oh-my-zsh
parents
55cc936d
80a60325
Changes
83
Hide whitespace changes
Inline
Side-by-side
README.textile
View file @
587832f1
...
@@ -26,17 +26,20 @@ h3. The manual way
...
@@ -26,17 +26,20 @@ h3. The manual way
@git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh@
@git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh@
2.
Create a new zsh config by copying the zsh template we've provided.
2.
*OPTIONAL* Backup your existing ~/.zshrc file
*NOTE*: If you already have a ~/.zshrc file, you should back it up. @cp ~/.zshrc ~/.zshrc.orig@ in case you want to go back to your original settings.
@cp ~/.zshrc ~/.zshrc.orig@
3. Create a new zsh config by copying the zsh template we've provided.
@cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc@
@cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc@
3. Set zsh as your default shell:
4. Set zsh as your default shell:
@chsh -s /bin/zsh@
@chsh -s /bin/zsh@
4
. Start / restart zsh (open a new terminal is easy enough...)
5
. Start / restart zsh (open a new terminal is easy enough...)
h3. Problems?
h3. Problems?
...
...
lib/aliases.zsh
View file @
587832f1
...
@@ -8,6 +8,7 @@ alias -- -='cd -'
...
@@ -8,6 +8,7 @@ alias -- -='cd -'
# Super user
# Super user
alias
_
=
'sudo'
alias
_
=
'sudo'
alias
please
=
'sudo'
#alias g='grep -in'
#alias g='grep -in'
...
@@ -16,8 +17,9 @@ alias history='fc -l 1'
...
@@ -16,8 +17,9 @@ alias history='fc -l 1'
# List direcory contents
# List direcory contents
alias
lsa
=
'ls -lah'
alias
lsa
=
'ls -lah'
alias
l
=
'ls -l
a
'
alias
l
=
'ls -l
A1
'
alias
ll
=
'ls -l'
alias
ll
=
'ls -l'
alias
la
=
'ls -lA'
alias
sl
=
ls
# often screw this up
alias
sl
=
ls
# often screw this up
alias
afind
=
'ack-grep -il'
alias
afind
=
'ack-grep -il'
...
...
lib/completion.zsh
View file @
587832f1
...
@@ -32,7 +32,7 @@ zstyle ':completion:*:cd:*' tag-order local-directories directory-stack path-dir
...
@@ -32,7 +32,7 @@ zstyle ':completion:*:cd:*' tag-order local-directories directory-stack path-dir
cdpath
=(
.
)
cdpath
=(
.
)
# use /etc/hosts and known_hosts for hostname completion
# use /etc/hosts and known_hosts for hostname completion
[
-r
/etc/ssh/ssh_known_hosts
]
&&
_global_ssh_hosts
=(
${${${${
(f)
"
$(
</etc/ssh/ssh_known_hosts
)
"
}
:#[
\|]*
}
%%\ *
}
%%,*
}
)
||
_ssh_hosts
=()
[
-r
/etc/ssh/ssh_known_hosts
]
&&
_global_ssh_hosts
=(
${${${${
(f)
"
$(
</etc/ssh/ssh_known_hosts
)
"
}
:#[
\|]*
}
%%\ *
}
%%,*
}
)
||
_global
_ssh_hosts
=()
[
-r
~/.ssh/known_hosts
]
&&
_ssh_hosts
=(
${${${${
(f)
"
$(
<
$HOME
/.ssh/known_hosts
)
"
}
:#[
\|]*
}
%%\ *
}
%%,*
}
)
||
_ssh_hosts
=()
[
-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
=()
[
-r
/etc/hosts
]
&&
:
${
(A)_etc_hosts
:
=
${
(s
:
:
)
${
(ps
:
\t
:
)
${${
(f)~~
"
$(
</etc/hosts
)
"
}
%%\#*
}
##[
:blank:]#[^[:blank:]]#
}}}
||
_etc_hosts
=()
hosts
=(
hosts
=(
...
...
lib/directories.zsh
View file @
587832f1
...
@@ -26,9 +26,9 @@ cd () {
...
@@ -26,9 +26,9 @@ cd () {
elif
[[
"x
$*
"
==
"x...."
]]
;
then
elif
[[
"x
$*
"
==
"x...."
]]
;
then
cd
../../..
cd
../../..
elif
[[
"x
$*
"
==
"x....."
]]
;
then
elif
[[
"x
$*
"
==
"x....."
]]
;
then
cd
../../..
elif
[[
"x
$*
"
==
"x......"
]]
;
then
cd
../../../..
cd
../../../..
elif
[[
"x
$*
"
==
"x......"
]]
;
then
cd
../../../../..
else
else
builtin cd
"
$@
"
builtin cd
"
$@
"
fi
fi
...
@@ -37,8 +37,3 @@ cd () {
...
@@ -37,8 +37,3 @@ cd () {
alias
md
=
'mkdir -p'
alias
md
=
'mkdir -p'
alias
rd
=
rmdir
alias
rd
=
rmdir
alias
d
=
'dirs -v | head -10'
alias
d
=
'dirs -v | head -10'
# mkdir & cd to it
function
mcd
()
{
mkdir
-p
"
$1
"
&&
cd
"
$1
"
;
}
lib/functions.zsh
View file @
587832f1
function
zsh_stats
()
{
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
()
{
function
uninstall_oh_my_zsh
()
{
...
...
lib/git.zsh
View file @
587832f1
# get the name of the branch we are on
# get the name of the branch we are on
function
git_prompt_info
()
{
function
git_prompt_info
()
{
ref
=
$(
git symbolic-ref HEAD 2> /dev/null
)
||
return
ref
=
$(
git symbolic-ref HEAD 2> /dev/null
)
||
\
ref
=
$(
git rev-parse
--short
HEAD 2> /dev/null
)
||
return
echo
"
$ZSH_THEME_GIT_PROMPT_PREFIX
${
ref
#refs/heads/
}
$(
parse_git_dirty
)
$ZSH_THEME_GIT_PROMPT_SUFFIX
"
echo
"
$ZSH_THEME_GIT_PROMPT_PREFIX
${
ref
#refs/heads/
}
$(
parse_git_dirty
)
$ZSH_THEME_GIT_PROMPT_SUFFIX
"
}
}
...
@@ -18,6 +19,25 @@ parse_git_dirty() {
...
@@ -18,6 +19,25 @@ parse_git_dirty() {
fi
fi
}
}
# get the difference between the local and remote branches
git_remote_status
()
{
remote
=
${
$(
git rev-parse
--verify
${
hook_com
[branch]
}
@
{
upstream
}
--symbolic-full-name
2>/dev/null
)
/refs\/remotes\/
}
if
[[
-n
${
remote
}
]]
;
then
ahead
=
$(
git rev-list
${
hook_com
[branch]
}
@
{
upstream
}
..HEAD 2>/dev/null |
wc
-l
)
behind
=
$(
git rev-list HEAD..
${
hook_com
[branch]
}
@
{
upstream
}
2>/dev/null |
wc
-l
)
if
[
$ahead
-eq
0
]
&&
[
$behind
-gt
0
]
then
echo
"
$ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE
"
elif
[
$ahead
-gt
0
]
&&
[
$behind
-eq
0
]
then
echo
"
$ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE
"
elif
[
$ahead
-gt
0
]
&&
[
$behind
-gt
0
]
then
echo
"
$ZSH_THEME_GIT_PROMPT_DIVERGED_REMOTE
"
fi
fi
}
# Checks if there are commits ahead from remote
# Checks if there are commits ahead from remote
function
git_prompt_ahead
()
{
function
git_prompt_ahead
()
{
...
@@ -38,7 +58,7 @@ function git_prompt_long_sha() {
...
@@ -38,7 +58,7 @@ function git_prompt_long_sha() {
# Get the status of the working tree
# Get the status of the working tree
git_prompt_status
()
{
git_prompt_status
()
{
INDEX
=
$(
git status
--porcelain
2> /dev/null
)
INDEX
=
$(
git status
--porcelain
-b
2> /dev/null
)
STATUS
=
""
STATUS
=
""
if
$(
echo
"
$INDEX
"
|
grep
'^?? '
&> /dev/null
)
;
then
if
$(
echo
"
$INDEX
"
|
grep
'^?? '
&> /dev/null
)
;
then
STATUS
=
"
$ZSH_THEME_GIT_PROMPT_UNTRACKED$STATUS
"
STATUS
=
"
$ZSH_THEME_GIT_PROMPT_UNTRACKED$STATUS
"
...
@@ -60,18 +80,32 @@ git_prompt_status() {
...
@@ -60,18 +80,32 @@ git_prompt_status() {
fi
fi
if
$(
echo
"
$INDEX
"
|
grep
'^ D '
&> /dev/null
)
;
then
if
$(
echo
"
$INDEX
"
|
grep
'^ D '
&> /dev/null
)
;
then
STATUS
=
"
$ZSH_THEME_GIT_PROMPT_DELETED$STATUS
"
STATUS
=
"
$ZSH_THEME_GIT_PROMPT_DELETED$STATUS
"
elif
$(
echo
"
$INDEX
"
|
grep
'^D '
&> /dev/null
)
;
then
STATUS
=
"
$ZSH_THEME_GIT_PROMPT_DELETED$STATUS
"
elif
$(
echo
"
$INDEX
"
|
grep
'^AD '
&> /dev/null
)
;
then
elif
$(
echo
"
$INDEX
"
|
grep
'^AD '
&> /dev/null
)
;
then
STATUS
=
"
$ZSH_THEME_GIT_PROMPT_DELETED$STATUS
"
STATUS
=
"
$ZSH_THEME_GIT_PROMPT_DELETED$STATUS
"
fi
fi
if
$(
git rev-parse
--verify
refs/stash
>
/dev/null 2>&1
)
;
then
STATUS
=
"
$ZSH_THEME_GIT_PROMPT_STASHED$STATUS
"
fi
if
$(
echo
"
$INDEX
"
|
grep
'^UU '
&> /dev/null
)
;
then
if
$(
echo
"
$INDEX
"
|
grep
'^UU '
&> /dev/null
)
;
then
STATUS
=
"
$ZSH_THEME_GIT_PROMPT_UNMERGED$STATUS
"
STATUS
=
"
$ZSH_THEME_GIT_PROMPT_UNMERGED$STATUS
"
fi
fi
if
$(
echo
"
$INDEX
"
|
grep
'^## .*ahead'
&> /dev/null
)
;
then
STATUS
=
"
$ZSH_THEME_GIT_PROMPT_AHEAD$STATUS
"
fi
if
$(
echo
"
$INDEX
"
|
grep
'^## .*behind'
&> /dev/null
)
;
then
STATUS
=
"
$ZSH_THEME_GIT_PROMPT_BEHIND$STATUS
"
fi
if
$(
echo
"
$INDEX
"
|
grep
'^## .*diverged'
&> /dev/null
)
;
then
STATUS
=
"
$ZSH_THEME_GIT_PROMPT_DIVERGED$STATUS
"
fi
echo
$STATUS
echo
$STATUS
}
}
#compare the provided version of git to the version installed and on path
#compare the provided version of git to the version installed and on path
#prints 1 if input version <= installed version
#prints 1 if input version <= installed version
#prints -1 otherwise
#prints -1 otherwise
function
git_compare_version
()
{
function
git_compare_version
()
{
local
INPUT_GIT_VERSION
=
$1
;
local
INPUT_GIT_VERSION
=
$1
;
local
INSTALLED_GIT_VERSION
local
INSTALLED_GIT_VERSION
...
...
lib/misc.zsh
View file @
587832f1
...
@@ -9,5 +9,7 @@ bindkey "^[m" copy-prev-shell-word
...
@@ -9,5 +9,7 @@ bindkey "^[m" copy-prev-shell-word
setopt long_list_jobs
setopt long_list_jobs
## pager
## pager
export
PAGER
=
"less -R"
export
PAGER
=
"less"
export
LESS
=
"-R"
export
LC_CTYPE
=
$LANG
export
LC_CTYPE
=
$LANG
lib/rvm.zsh
View file @
587832f1
# get the name of the
branch we are
on
# get the name of the
ruby versi
on
function
rvm_prompt_info
()
{
function
rvm_prompt_info
()
{
ruby_version
=
$(
~/.rvm/bin/rvm-prompt 2> /dev/null
)
||
return
[
-f
$HOME
/.rvm/bin/rvm-prompt
]
||
return
[[
!
-z
$ruby_version
]]
&&
echo
"(
$ruby_version
)"
local
rvm_prompt
rvm_prompt
=
$(
$HOME
/.rvm/bin/rvm-prompt
${
ZSH_THEME_RVM_PROMPT_OPTIONS
}
2>/dev/null
)
[[
"
${
rvm_prompt
}
x"
==
"x"
]]
&&
return
echo
"
${
ZSH_THEME_RVM_PROMPT_PREFIX
:
=(
}${
rvm_prompt
}${
ZSH_THEME_RVM_PROMPT_SUFFIX
:
=)
}
"
}
}
lib/termsupport.zsh
View file @
587832f1
...
@@ -26,8 +26,8 @@ function omz_termsupport_precmd {
...
@@ -26,8 +26,8 @@ function omz_termsupport_precmd {
function
omz_termsupport_preexec
{
function
omz_termsupport_preexec
{
emulate
-L
zsh
emulate
-L
zsh
setopt extended_glob
setopt extended_glob
local
CMD
=
${
1
[(wr)^(*=*|sudo|ssh|-*)]
}
#cmd name only, or if this is sudo or ssh, the next cmd
local
CMD
=
${
1
[(wr)^(*=*|sudo|ssh|
rake|
-*)]
}
#cmd name only, or if this is sudo or ssh, the next cmd
title
"
$CMD
"
"%100>...>
$
2
%<<"
title
"
$CMD
"
"%100>...>
$
{
2
:gs/%/%%
}
%<<"
}
}
autoload
-U
add-zsh-hook
autoload
-U
add-zsh-hook
...
...
oh-my-zsh.sh
View file @
587832f1
...
@@ -11,7 +11,9 @@ fpath=($ZSH/functions $ZSH/completions $fpath)
...
@@ -11,7 +11,9 @@ fpath=($ZSH/functions $ZSH/completions $fpath)
# Load all of the config files in ~/oh-my-zsh that end in .zsh
# Load all of the config files in ~/oh-my-zsh that end in .zsh
# TIP: Add files you don't want in git to .gitignore
# TIP: Add files you don't want in git to .gitignore
for
config_file
(
$ZSH
/lib/
*
.zsh
)
source
$config_file
for
config_file
(
$ZSH
/lib/
*
.zsh
)
;
do
source
$config_file
done
# Set ZSH_CUSTOM to the path where your custom config files
# Set ZSH_CUSTOM to the path where your custom config files
# and plugins exists, or else we will use the default custom/
# and plugins exists, or else we will use the default custom/
...
@@ -51,7 +53,10 @@ for plugin ($plugins); do
...
@@ -51,7 +53,10 @@ for plugin ($plugins); do
done
done
# Load all of your custom configurations from custom/
# Load all of your custom configurations from custom/
for
config_file
(
$ZSH_CUSTOM
/
*
.zsh
(
N
))
source
$config_file
for
config_file
(
$ZSH_CUSTOM
/
*
.zsh
(
N
))
;
do
source
$config_file
done
unset
config_file
# Load the theme
# Load the theme
if
[
"
$ZSH_THEME
"
=
"random"
]
if
[
"
$ZSH_THEME
"
=
"random"
]
...
...
plugins/archlinux/archlinux.plugin.zsh
View file @
587832f1
...
@@ -11,7 +11,7 @@ if [[ -x `which yaourt` ]]; then
...
@@ -11,7 +11,7 @@ if [[ -x `which yaourt` ]]; then
alias
yaupg
=
'yaourt -Syu'
# Synchronize with repositories before upgrading packages that are out of date on the local system.
alias
yaupg
=
'yaourt -Syu'
# Synchronize with repositories before upgrading packages that are out of date on the local system.
alias
yasu
=
'yaourt --sucre'
# Same as yaupg, but without confirmation
alias
yasu
=
'yaourt --sucre'
# Same as yaupg, but without confirmation
alias
yain
=
'yaourt -S'
# Install specific package(s) from the repositories
alias
yain
=
'yaourt -S'
# Install specific package(s) from the repositories
alias
yains
=
'yaourt -U'
# Install specific package not from the repositories but from a file
alias
yains
=
'yaourt -U'
# Install specific package not from the repositories but from a file
alias
yare
=
'yaourt -R'
# Remove the specified package(s), retaining its configuration(s) and required dependencies
alias
yare
=
'yaourt -R'
# Remove the specified package(s), retaining its configuration(s) and required dependencies
alias
yarem
=
'yaourt -Rns'
# Remove the specified package(s), its configuration(s) and unneeded dependencies
alias
yarem
=
'yaourt -Rns'
# Remove the specified package(s), its configuration(s) and unneeded dependencies
alias
yarep
=
'yaourt -Si'
# Display information about a given package in the repositories
alias
yarep
=
'yaourt -Si'
# Display information about a given package in the repositories
...
@@ -35,7 +35,7 @@ fi
...
@@ -35,7 +35,7 @@ fi
# Pacman - https://wiki.archlinux.org/index.php/Pacman_Tips
# Pacman - https://wiki.archlinux.org/index.php/Pacman_Tips
alias
pacupg
=
'sudo pacman -Syu'
# Synchronize with repositories before upgrading packages that are out of date on the local system.
alias
pacupg
=
'sudo pacman -Syu'
# Synchronize with repositories before upgrading packages that are out of date on the local system.
alias
pacin
=
'sudo pacman -S'
# Install specific package(s) from the repositories
alias
pacin
=
'sudo pacman -S'
# Install specific package(s) from the repositories
alias
pacins
=
'sudo pacman -U'
# Install specific package not from the repositories but from a file
alias
pacins
=
'sudo pacman -U'
# Install specific package not from the repositories but from a file
alias
pacre
=
'sudo pacman -R'
# Remove the specified package(s), retaining its configuration(s) and required dependencies
alias
pacre
=
'sudo pacman -R'
# Remove the specified package(s), retaining its configuration(s) and required dependencies
alias
pacrem
=
'sudo pacman -Rns'
# Remove the specified package(s), its configuration(s) and unneeded dependencies
alias
pacrem
=
'sudo pacman -Rns'
# Remove the specified package(s), its configuration(s) and unneeded dependencies
alias
pacrep
=
'pacman -Si'
# Display information about a given package in the repositories
alias
pacrep
=
'pacman -Si'
# Display information about a given package in the repositories
...
@@ -75,3 +75,19 @@ pacdisowned() {
...
@@ -75,3 +75,19 @@ pacdisowned() {
comm
-23
"
$fs
"
"
$db
"
comm
-23
"
$fs
"
"
$db
"
}
}
pacmanallkeys
()
{
# Get all keys for developers and trusted users
curl https://www.archlinux.org/
{
developers,trustedusers
}
/ |
awk
-F
\"
'(/pgp.mit.edu/) {sub(/.*search=0x/,"");print $1}'
|
xargs
sudo
pacman-key
--recv-keys
}
pacmansignkeys
()
{
for
key
in
$*
;
do
sudo
pacman-key
--recv-keys
$key
sudo
pacman-key
--lsign-key
$key
printf
'trust\n3\n'
|
sudo
gpg
--homedir
/etc/pacman.d/gnupg
\
--no-permission-warning
--command-fd
0
--edit-key
$key
done
}
plugins/autojump/autojump.plugin.zsh
View file @
587832f1
...
@@ -3,9 +3,11 @@ if [ $commands[autojump] ]; then # check if autojump is installed
...
@@ -3,9 +3,11 @@ if [ $commands[autojump] ]; then # check if autojump is installed
.
/usr/share/autojump/autojump.zsh
.
/usr/share/autojump/autojump.zsh
elif
[
-f
/etc/profile.d/autojump.zsh
]
;
then
# manual installation
elif
[
-f
/etc/profile.d/autojump.zsh
]
;
then
# manual installation
.
/etc/profile.d/autojump.zsh
.
/etc/profile.d/autojump.zsh
elif
[
-f
$HOME
/.autojump/etc/profile.d/autojump.zsh
]
;
then
# manual user-local installation
.
$HOME
/.autojump/etc/profile.d/autojump.zsh
elif
[
-f
/opt/local/etc/profile.d/autojump.zsh
]
;
then
# mac os x with ports
elif
[
-f
/opt/local/etc/profile.d/autojump.zsh
]
;
then
# mac os x with ports
.
/opt/local/etc/profile.d/autojump.zsh
.
/opt/local/etc/profile.d/autojump.zsh
elif
[
$commands
[
brew]
-a
-f
`
brew
--prefix
`
/etc/autojump
]
;
then
# mac os x with brew
elif
[
$commands
[
brew]
-a
-f
`
brew
--prefix
`
/etc/autojump
.zsh
]
;
then
# mac os x with brew
.
`
brew
--prefix
`
/etc/autojump
.
`
brew
--prefix
`
/etc/autojump
.zsh
fi
fi
fi
fi
plugins/battery/battery.plugin.zsh
View file @
587832f1
if
[[
$(
acpi 2&>/dev/null |
grep
-c
'^Battery.*Discharging'
)
-gt
0
]]
;
then
###########################################
function
battery_pct_remaining
()
{
echo
"
$(
acpi |
cut
-f2
-d
','
|
tr
-cd
'[:digit:]'
)
"
}
# Battery plugin for oh-my-zsh #
function
battery_time_remaining
()
{
echo
$(
acpi |
cut
-f3
-d
','
)
}
# Original Author: Peter hoeg (peterhoeg) #
function
battery_pct_prompt
()
{
# Email: peter@speartail.com #
b
=
$(
battery_pct_remaining
)
###########################################
if
[
$b
-gt
50
]
;
then
# Author: Sean Jones (neuralsandwich) #
color
=
'green'
# Email: neuralsandwich@gmail.com #
elif
[
$b
-gt
20
]
;
then
# Modified to add support for Apple Mac #
color
=
'yellow'
###########################################
if
[[
$(
uname
)
==
"Darwin"
]]
;
then
function
battery_pct_remaining
()
{
if
[[
$(
ioreg
-rc
AppleSmartBattery |
grep
-c
'^.*"ExternalConnected"\ =\ No'
)
-eq
1
]]
;
then
typeset
-F
maxcapacity
=
$(
ioreg
-rc
"AppleSmartBattery"
|
grep
'^.*"MaxCapacity"\ =\ '
|
sed
-e
's/^.*"MaxCapacity"\ =\ //'
)
typeset
-F
currentcapacity
=
$(
ioreg
-rc
"AppleSmartBattery"
|
grep
'^.*"CurrentCapacity"\ =\ '
|
sed
-e
's/^.*CurrentCapacity"\ =\ //'
)
integer
i
=
$((
(
currentcapacity/maxcapacity
)
*
100
))
echo
$i
else
else
color
=
'red'
echo
"External Power"
fi
fi
echo
"%{
$fg
[
$color
]%}[
$(
battery_pct_remaining
)
%%]%{
$reset_color
%}"
}
}
else
error_msg
=
'no battery'
function
battery_time_remaining
()
{
function
battery_pct_remaining
()
{
echo
$error_msg
}
if
[[
$(
ioreg
-rc
AppleSmartBattery |
grep
-c
'^.*"ExternalConnected"\ =\ No'
)
-eq
1
]]
;
then
function
battery_time_remaining
()
{
echo
$error_msg
}
timeremaining
=
$(
ioreg
-rc
"AppleSmartBattery"
|
grep
'^.*"AvgTimeToEmpty"\ =\ '
|
sed
-e
's/^.*"AvgTimeToEmpty"\ =\ //'
)
function
battery_pct_prompt
()
{
echo
''
}
echo
"~
$((
timeremaining
/
60
))
:
$((
timeremaining
%
60
))
"
else
echo
"∞"
fi
}
function
battery_pct_prompt
()
{
if
[[
$(
ioreg
-rc
AppleSmartBattery |
grep
-c
'^.*"ExternalConnected"\ =\ No'
)
-eq
1
]]
;
then
b
=
$(
battery_pct_remaining
)
if
[
$b
-gt
50
]
;
then
color
=
'green'
elif
[
$b
-gt
20
]
;
then
color
=
'yellow'
else
color
=
'red'
fi
echo
"%{
$fg
[
$color
]%}[
$(
battery_pct_remaining
)
%%]%{
$reset_color
%}"
else
echo
""
fi
}
elif
[[
$(
uname
)
==
"Linux"
]]
;
then
if
[[
$(
acpi 2&>/dev/null |
grep
-c
'^Battery.*Discharging'
)
-gt
0
]]
;
then
function
battery_pct_remaining
()
{
echo
"
$(
acpi |
cut
-f2
-d
','
|
tr
-cd
'[:digit:]'
)
"
}
function
battery_time_remaining
()
{
echo
$(
acpi |
cut
-f3
-d
','
)
}
function
battery_pct_prompt
()
{
b
=
$(
battery_pct_remaining
)
if
[
$b
-gt
50
]
;
then
color
=
'green'
elif
[
$b
-gt
20
]
;
then
color
=
'yellow'
else
color
=
'red'
fi
echo
"%{
$fg
[
$color
]%}[
$(
battery_pct_remaining
)
%%]%{
$reset_color
%}"
}
else
error_msg
=
'no battery'
function
battery_pct_remaining
()
{
echo
$error_msg
}
function
battery_time_remaining
()
{
echo
$error_msg
}
function
battery_pct_prompt
()
{
echo
''
}
fi
fi
fi
plugins/bundler/bundler.plugin.zsh
View file @
587832f1
...
@@ -6,7 +6,7 @@ alias bu="bundle update"
...
@@ -6,7 +6,7 @@ alias bu="bundle update"
# The following is based on https://github.com/gma/bundler-exec
# The following is based on https://github.com/gma/bundler-exec
bundled_commands
=(
annotate cap capify cucumber foreman guard middleman nanoc rackup rainbows rake rspec ruby shotgun spec spork thin thor unicorn unicorn_rails puma
)
bundled_commands
=(
annotate cap capify cucumber foreman guard middleman nanoc rackup rainbows rake rspec ruby shotgun spec spork thin thor unicorn unicorn_rails puma
zeus
)
## Functions
## Functions
...
@@ -33,6 +33,7 @@ _run-with-bundler() {
...
@@ -33,6 +33,7 @@ _run-with-bundler() {
## Main program
## Main program
for
cmd
in
$bundled_commands
;
do
for
cmd
in
$bundled_commands
;
do
eval
"function unbundled_
$cmd
() {
$cmd
\$
@ }"
eval
"function bundled_
$cmd
() { _run-with-bundler
$cmd
\$
@}"
eval
"function bundled_
$cmd
() { _run-with-bundler
$cmd
\$
@}"
alias
$cmd
=
bundled_
$cmd
alias
$cmd
=
bundled_
$cmd
...
...
plugins/bwana/bwana.plugin.zsh
0 → 100644
View file @
587832f1
#
# Requires http://www.bruji.com/bwana/
#
if
[[
-e
/Applications/Bwana.app
]]
||
(
system_profiler
-detailLevel
mini SPApplicationsDataType |
grep
-q
Bwana
)
then
function
man
()
{
open
"man:
$1
"
}
else
echo
"Bwana lets you read man files in Safari through a man: URI scheme"
echo
"To use it within Zsh, install it from http://www.bruji.com/bwana/"
fi
plugins/cap/cap.plugin.zsh
deleted
100644 → 0
View file @
55cc936d
stat
-f
%m
.
>
/dev/null 2>&1
if
[
"
$?
"
=
0
]
;
then
stat_cmd
=(
stat
-f
%m
)
else
stat_cmd
=(
stat
-L
--format
=
%y
)
fi
# Cache filename
_cap_show_undescribed_tasks
=
0
# Cache filename
_cap_task_cache_file
=
'.cap_task_cache'
_cap_get_task_list
()
{
if
[
${
_cap_show_undescribed_tasks
}
-eq
0
]
;
then
cap
-T
|
grep
'^cap'
|
cut
-d
" "
-f
2
else
cap
-vT
|
grep
'^cap'
|
cut
-d
" "
-f
2
fi
}
_cap_does_task_list_need_generating
()
{
if
[
!
-f
${
_cap_task_cache_file
}
]
;
then return
0
;
else
accurate
=
$(
$stat_cmd
$_cap_task_cache_file
)
changed
=
$(
$stat_cmd
config/deploy.rb
)
return
$(
expr
$accurate
'>='
$changed
)
fi
}
function
_cap
()
{
if
[
-f
config/deploy.rb
]
;
then
if
_cap_does_task_list_need_generating
;
then
_cap_get_task_list
>
${
_cap_task_cache_file
}
fi
compadd
`
cat
${
_cap_task_cache_file
}
`
fi
}
compdef _cap cap
plugins/capistrano/_capistrano
0 → 100644
View file @
587832f1
#compdef cap
#autoload
if [ -f config/deploy.rb ]; then
if [[ ! -f .cap_tasks~ || config/deploy.rb -nt .cap_tasks~ ]]; then
echo "\nGenerating .cap_tasks~..." > /dev/stderr
cap --tasks | grep '#' | cut -d " " -f 2 > .cap_tasks~
fi
compadd `cat .cap_tasks~`
fi
plugins/coffee/_coffee
0 → 100644
View file @
587832f1
#compdef coffee
# ------------------------------------------------------------------------------
# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of the zsh-users nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# ------------------------------------------------------------------------------
# Description
# -----------
#
# Completion script for Coffee.js v0.6.11 (http://coffeejs.org)
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
# * Mario Fernandez (https://github.com/sirech)
#
# ------------------------------------------------------------------------------
local
curcontext
=
"
$curcontext
"
state line
ret
=
1
typeset
-A
opt_args
_arguments
-C
\
'(- *)'
{
-h
,--help
}
'[display this help message]'
\
'(- *)'
{
-v
,--version
}
'[display the version number]'
\
'(-b --bare)'
{
-b
,--bare
}
'[compile without a top-level function wrapper]'
\
'(-e --eval)'
{
-e
,--eval
}
'[pass a string from the command line as input]:Inline Script'
\
'(-i --interactive)'
{
-i
,--interactive
}
'[run an interactive CoffeeScript REPL]'
\
'(-j --join)'
{
-j
,--join
}
'[concatenate the source CoffeeScript before compiling]:Destination JS file:_files -g "*.js"'
\
'(-l --lint)'
{
-l
,--lint
}
'[pipe the compiled JavaScript through JavaScript Lint]'
\
'(--nodejs)--nodejs[pass options directly to the "node" binary]'
\
'(-c --compile)'
{
-c
,--compile
}
'[compile to JavaScript and save as .js files]'
\
'(-o --output)'
{
-o
,--output
}
'[set the output directory for compiled JavaScript]:Output Directory:_files -/'
\
'(-n -t -p)'
{
-n
,--nodes
}
'[print out the parse tree that the parser produces]'
\
'(-n -t -p)'
{
-p
,--print
}
'[print out the compiled JavaScript]'
\
'(-n -t -p)'
{
-t
,--tokens
}
'[print out the tokens that the lexer/rewriter produce]'
\
'(-r --require)'
{
-r
,--require
}
'[require a library before executing your script]:library'
\
'(-s --stdio)'
{
-s
,--stdio
}
'[listen for and compile scripts over stdio]'
\
'(-w --watch)'
{
-w
,--watch
}
'[watch scripts for changes and rerun commands]'
\
'*:script or directory:_files'
&&
ret
=
0
return
ret
# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et
plugins/command-not-found/command-not-found.plugin.zsh
View file @
587832f1
...
@@ -2,4 +2,4 @@
...
@@ -2,4 +2,4 @@
# as seen in http://www.porcheron.info/command-not-found-for-zsh/
# as seen in http://www.porcheron.info/command-not-found-for-zsh/
# this is installed in Ubuntu
# this is installed in Ubuntu
source
/etc/zsh_command_not_found
[[
-e
/etc/zsh_command_not_found
]]
&&
source
/etc/zsh_command_not_found
plugins/cp/cp.plugin.zsh
0 → 100644
View file @
587832f1
#Show progress while file is copying
# Rsync options are:
# -p - preserve permissions
# -o - preserve owner
# -g - preserve group
# -h - output in human-readable format
# --progress - display progress
# -b - instead of just overwriting an existing file, save the original
# --backup-dir=/tmp/rsync - move backup copies to "/tmp/rsync"
# -e /dev/null - only work on local files
# -- - everything after this is an argument, even if it looks like an option
alias
cpv
=
"rsync -poghb --backup-dir=/tmp/rsync -e /dev/null --progress --"
Prev
1
2
3
4
5
Next
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