Merged pull request #270 from sankara/d03a6176aacd583993c02c7e837d10751c431875.
Basic autocompletion for Leiningen (fixed pull request)
This commit is contained in:
commit
232d204bc0
|
@ -8,7 +8,7 @@ h2. Setup
|
||||||
|
|
||||||
h3. The automatic installer... (do you trust me?)
|
h3. The automatic installer... (do you trust me?)
|
||||||
|
|
||||||
@wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh@
|
@wget --no-check-certificate https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh@
|
||||||
|
|
||||||
h3. The manual way
|
h3. The manual way
|
||||||
|
|
||||||
|
@ -54,12 +54,6 @@ h3. Uninstalling
|
||||||
|
|
||||||
If you want to uninstall it, just run @uninstall_oh_my_zsh@ from the command line and it'll remove itself and revert you to bash (or your previous zsh config).
|
If you want to uninstall it, just run @uninstall_oh_my_zsh@ from the command line and it'll remove itself and revert you to bash (or your previous zsh config).
|
||||||
|
|
||||||
h2. Thanks
|
|
||||||
|
|
||||||
* Rick Olson (technoweenie) might remember some of the configuration, which I took from a pastie a few years ago.
|
|
||||||
* Marcel (noradio) provided Rick the original zsh configuration.
|
|
||||||
* Nicholas (ulysses) for the "rake autocompletion code":http://weblog.rubyonrails.org/2006/3/9/fast-rake-task-completion-for-zsh.
|
|
||||||
|
|
||||||
h2. Help out!
|
h2. Help out!
|
||||||
|
|
||||||
I'm far from being a zsh-expert and suspect there are many ways to improve. If you have ideas on how to make the configuration easier to maintain (and faster), don't hesitate to fork and send pull requests!
|
I'm far from being a zsh-expert and suspect there are many ways to improve. If you have ideas on how to make the configuration easier to maintain (and faster), don't hesitate to fork and send pull requests!
|
||||||
|
@ -67,3 +61,11 @@ I'm far from being a zsh-expert and suspect there are many ways to improve. If y
|
||||||
h3. Send us your theme!
|
h3. Send us your theme!
|
||||||
|
|
||||||
I'm hoping to collect a bunch of themes for our command prompts. You can see existing ones in the @themes/@ directory.
|
I'm hoping to collect a bunch of themes for our command prompts. You can see existing ones in the @themes/@ directory.
|
||||||
|
|
||||||
|
h2. Contributors
|
||||||
|
|
||||||
|
This project wouldn't exist without all of our awesome users and contributors.
|
||||||
|
|
||||||
|
* "View our growing list of contributors":https://github.com/robbyrussell/oh-my-zsh/contributors
|
||||||
|
|
||||||
|
Thank you so much!
|
|
@ -4,14 +4,10 @@ unsetopt menu_complete # do not autoselect the first completion entry
|
||||||
unsetopt flowcontrol
|
unsetopt flowcontrol
|
||||||
setopt auto_menu # show completion menu on succesive tab press
|
setopt auto_menu # show completion menu on succesive tab press
|
||||||
setopt complete_in_word
|
setopt complete_in_word
|
||||||
setopt complete_aliases
|
|
||||||
setopt always_to_end
|
setopt always_to_end
|
||||||
|
|
||||||
WORDCHARS=''
|
WORDCHARS=''
|
||||||
|
|
||||||
autoload -U compinit
|
|
||||||
compinit -i
|
|
||||||
|
|
||||||
zmodload -i zsh/complist
|
zmodload -i zsh/complist
|
||||||
|
|
||||||
## case-insensitive (all),partial-word and then substring completion
|
## case-insensitive (all),partial-word and then substring completion
|
||||||
|
|
20
lib/git.zsh
20
lib/git.zsh
|
@ -4,6 +4,7 @@ function git_prompt_info() {
|
||||||
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"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Checks if working tree is dirty
|
||||||
parse_git_dirty() {
|
parse_git_dirty() {
|
||||||
if [[ -n $(git status -s 2> /dev/null) ]]; then
|
if [[ -n $(git status -s 2> /dev/null) ]]; then
|
||||||
echo "$ZSH_THEME_GIT_PROMPT_DIRTY"
|
echo "$ZSH_THEME_GIT_PROMPT_DIRTY"
|
||||||
|
@ -12,7 +13,24 @@ parse_git_dirty () {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# get the status of the working tree
|
# Checks if there are commits ahead from remote
|
||||||
|
function git_prompt_ahead() {
|
||||||
|
if $(echo "$(git log origin/master..HEAD 2> /dev/null)" | grep '^commit' &> /dev/null); then
|
||||||
|
echo "$ZSH_THEME_GIT_PROMPT_AHEAD"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Formats prompt string for current git commit short SHA
|
||||||
|
function git_prompt_short_sha() {
|
||||||
|
SHA=$(git rev-parse --short HEAD 2> /dev/null) && echo "$ZSH_THEME_GIT_PROMPT_SHA_BEFORE$SHA$ZSH_THEME_GIT_PROMPT_SHA_AFTER"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Formats prompt string for current git commit long SHA
|
||||||
|
function git_prompt_long_sha() {
|
||||||
|
SHA=$(git rev-parse HEAD 2> /dev/null) && echo "$ZSH_THEME_GIT_PROMPT_SHA_BEFORE$SHA$ZSH_THEME_GIT_PROMPT_SHA_AFTER"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Get the status of the working tree
|
||||||
git_prompt_status() {
|
git_prompt_status() {
|
||||||
INDEX=$(git status --porcelain 2> /dev/null)
|
INDEX=$(git status --porcelain 2> /dev/null)
|
||||||
STATUS=""
|
STATUS=""
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
# TODO: Explain what some of this does..
|
# TODO: Explain what some of this does..
|
||||||
autoload -U compinit
|
|
||||||
compinit -i
|
|
||||||
|
|
||||||
bindkey -e
|
bindkey -e
|
||||||
bindkey '\ew' kill-region
|
bindkey '\ew' kill-region
|
||||||
|
|
|
@ -3,11 +3,12 @@
|
||||||
#Fully support screen, iterm, and probably most modern xterm and rxvt
|
#Fully support screen, iterm, and probably most modern xterm and rxvt
|
||||||
#Limited support for Apple Terminal (Terminal can't set window or tab separately)
|
#Limited support for Apple Terminal (Terminal can't set window or tab separately)
|
||||||
function title {
|
function title {
|
||||||
if [[ "$TERM" == "screen" ]]; then
|
[ "$DISABLE_AUTO_TITLE" != "true" ] || return
|
||||||
print -Pn "\ek$1\e\\" #set screen hardstatus, usually truncated at 20 chars
|
if [[ $TERM =~ "^screen" ]]; then
|
||||||
|
print -Pn "\ek$1:q\e\\" #set screen hardstatus, usually truncated at 20 chars
|
||||||
elif [[ ($TERM =~ "^xterm") ]] || [[ ($TERM == "rxvt") ]] || [[ "$TERM_PROGRAM" == "iTerm.app" ]]; then
|
elif [[ ($TERM =~ "^xterm") ]] || [[ ($TERM == "rxvt") ]] || [[ "$TERM_PROGRAM" == "iTerm.app" ]]; then
|
||||||
print -Pn "\e]2;$2\a" #set window name
|
print -Pn "\e]2;$2:q\a" #set window name
|
||||||
print -Pn "\e]1;$1\a" #set icon (=tab) name (will override window name on broken terminal)
|
print -Pn "\e]1;$1:q\a" #set icon (=tab) name (will override window name on broken terminal)
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,6 +22,8 @@ function precmd {
|
||||||
|
|
||||||
#Appears at the beginning of (and during) of command execution
|
#Appears at the beginning of (and during) of command execution
|
||||||
function preexec {
|
function preexec {
|
||||||
|
emulate -L zsh
|
||||||
|
setopt extended_glob
|
||||||
local CMD=${1[(wr)^(*=*|sudo|ssh|-*)]} #cmd name only, or if this is sudo or ssh, the next cmd
|
local CMD=${1[(wr)^(*=*|sudo|ssh|-*)]} #cmd name only, or if this is sudo or ssh, the next cmd
|
||||||
title "$CMD" "%100>...>$2%<<"
|
title "$CMD" "%100>...>$2%<<"
|
||||||
}
|
}
|
||||||
|
|
31
oh-my-zsh.sh
31
oh-my-zsh.sh
|
@ -7,15 +7,38 @@ fpath=($ZSH/functions $fpath)
|
||||||
# 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) source $config_file
|
||||||
|
|
||||||
|
# Add all defined plugins to fpath
|
||||||
|
plugin=${plugin:=()}
|
||||||
|
for plugin ($plugins) fpath=($ZSH/plugins/$plugin $fpath)
|
||||||
|
|
||||||
|
# Load and run compinit
|
||||||
|
autoload -U compinit
|
||||||
|
compinit -i
|
||||||
|
|
||||||
|
# Load all of the plugins that were defined in ~/.zshrc
|
||||||
|
for plugin ($plugins); do
|
||||||
|
if [ -f $ZSH/plugins/$plugin/$plugin.plugin.zsh ]; then
|
||||||
|
source $ZSH/plugins/$plugin/$plugin.plugin.zsh
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
# Load all of your custom configurations from custom/
|
# Load all of your custom configurations from custom/
|
||||||
for config_file ($ZSH/custom/*.zsh) source $config_file
|
for config_file ($ZSH/custom/*.zsh) source $config_file
|
||||||
|
|
||||||
# Load all of the plugins that were defined in ~/.zshrc
|
|
||||||
plugin=${plugin:=()}
|
|
||||||
for plugin ($plugins) source $ZSH/plugins/$plugin/$plugin.plugin.zsh
|
|
||||||
|
|
||||||
# Load the theme
|
# Load the theme
|
||||||
|
# Check for updates on initial load...
|
||||||
|
if [ "$ZSH_THEME" = "random" ]
|
||||||
|
then
|
||||||
|
themes=($ZSH/themes/*zsh-theme)
|
||||||
|
N=${#themes[@]}
|
||||||
|
((N=RANDOM%N))
|
||||||
|
RANDOM_THEME=${themes[$N]}
|
||||||
|
source "$RANDOM_THEME"
|
||||||
|
echo "[oh-my-zsh] Random theme '$RANDOM_THEME' loaded..."
|
||||||
|
else
|
||||||
source "$ZSH/themes/$ZSH_THEME.zsh-theme"
|
source "$ZSH/themes/$ZSH_THEME.zsh-theme"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Check for updates on initial load...
|
# Check for updates on initial load...
|
||||||
if [ "$DISABLE_AUTO_UPDATE" = "true" ]
|
if [ "$DISABLE_AUTO_UPDATE" = "true" ]
|
||||||
|
|
|
@ -31,6 +31,7 @@ _1st_arguments=(
|
||||||
'search:search for a formula (/regex/ or string)'
|
'search:search for a formula (/regex/ or string)'
|
||||||
'unlink:unlink a formula'
|
'unlink:unlink a formula'
|
||||||
'update:freshen up links'
|
'update:freshen up links'
|
||||||
|
'upgrade:upgrade outdated formulae'
|
||||||
'uses:show formulas which depend on a formula'
|
'uses:show formulas which depend on a formula'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
# add brew completion function to path
|
|
||||||
fpath=($ZSH/plugins/brew $fpath)
|
|
||||||
autoload -U compinit
|
|
||||||
compinit -i
|
|
|
@ -1,4 +0,0 @@
|
||||||
# add cpanm completion function to path
|
|
||||||
fpath=($ZSH/plugins/cpanm $fpath)
|
|
||||||
autoload -U compinit
|
|
||||||
compinit -i
|
|
|
@ -9,4 +9,5 @@ alias ar="sudo apt-get remove --purge && \
|
||||||
sudo apt-get autoremove --purge" # remove package
|
sudo apt-get autoremove --purge" # remove package
|
||||||
alias ap="apt-cache policy" # apt policy
|
alias ap="apt-cache policy" # apt policy
|
||||||
alias av="apt-cache show" # show package info
|
alias av="apt-cache show" # show package info
|
||||||
|
alias acs="apt-cache search" # search package
|
||||||
alias ac="sudo apt-get clean && sudo apt-get autoclean" # clean apt cache
|
alias ac="sudo apt-get clean && sudo apt-get autoclean" # clean apt cache
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
# add gem completion function to path
|
|
||||||
fpath=($ZSH/plugins/gem $fpath)
|
|
||||||
autoload -U compinit
|
|
||||||
compinit -i
|
|
|
@ -1,22 +1,36 @@
|
||||||
# Aliases
|
# Aliases
|
||||||
alias g='git'
|
alias g='git'
|
||||||
|
compdef g=git
|
||||||
alias gst='git status'
|
alias gst='git status'
|
||||||
|
compdef _git gst=git-status
|
||||||
alias gl='git pull'
|
alias gl='git pull'
|
||||||
|
compdef _git gl=git-pull
|
||||||
alias gup='git fetch && git rebase'
|
alias gup='git fetch && git rebase'
|
||||||
|
compdef _git gup=git-fetch
|
||||||
alias gp='git push'
|
alias gp='git push'
|
||||||
alias gd='git diff | mate'
|
compdef _git gp=git-push
|
||||||
alias gdv='git diff -w "$@" | vim -R -'
|
gdv() { git-diff -w "$@" | view - }
|
||||||
|
compdef _git gdv=git-diff
|
||||||
alias gc='git commit -v'
|
alias gc='git commit -v'
|
||||||
|
compdef _git gc=git-commit
|
||||||
alias gca='git commit -v -a'
|
alias gca='git commit -v -a'
|
||||||
|
compdef _git gca=git-commit
|
||||||
alias gco='git checkout'
|
alias gco='git checkout'
|
||||||
|
compdef _git gco=git-checkout
|
||||||
alias gb='git branch'
|
alias gb='git branch'
|
||||||
|
compdef _git gb=git-branch
|
||||||
alias gba='git branch -a'
|
alias gba='git branch -a'
|
||||||
|
compdef _git gba=git-branch
|
||||||
alias gcount='git shortlog -sn'
|
alias gcount='git shortlog -sn'
|
||||||
|
compdef gcount=git
|
||||||
alias gcp='git cherry-pick'
|
alias gcp='git cherry-pick'
|
||||||
|
compdef _git gcp=git-cherry-pick
|
||||||
alias glg='git log --stat --max-count=5'
|
alias glg='git log --stat --max-count=5'
|
||||||
|
compdef _git glg=git-log
|
||||||
|
|
||||||
# Git and svn mix
|
# Git and svn mix
|
||||||
alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk'
|
alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk'
|
||||||
|
compdef git-svn-dcommit-push=git
|
||||||
|
|
||||||
#
|
#
|
||||||
# Will return the current branch name
|
# Will return the current branch name
|
||||||
|
@ -29,5 +43,8 @@ function current_branch() {
|
||||||
|
|
||||||
# these aliases take advantage of the previous function
|
# these aliases take advantage of the previous function
|
||||||
alias ggpull='git pull origin $(current_branch)'
|
alias ggpull='git pull origin $(current_branch)'
|
||||||
|
compdef ggpull=git
|
||||||
alias ggpush='git push origin $(current_branch)'
|
alias ggpush='git push origin $(current_branch)'
|
||||||
|
compdef ggpush=git
|
||||||
alias ggpnp='git pull origin $(current_branch) && git push origin $(current_branch)'
|
alias ggpnp='git pull origin $(current_branch) && git push origin $(current_branch)'
|
||||||
|
compdef ggpnp=git
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
# add github completion function to path
|
# hub alias from defunkt
|
||||||
fpath=($ZSH/plugins/github $fpath)
|
# https://github.com/defunkt/hub
|
||||||
autoload -U compinit
|
if [ "$commands[(I)hub]" ]; then
|
||||||
compinit -i
|
# eval `hub alias -s zsh`
|
||||||
|
function git(){hub "$@"}
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,3 @@ alias puni="sudo port uninstall inactive"
|
||||||
alias puo="sudo port upgrade outdated"
|
alias puo="sudo port upgrade outdated"
|
||||||
alias pup="psu && puo"
|
alias pup="psu && puo"
|
||||||
|
|
||||||
# add macports completion function to path
|
|
||||||
fpath=($ZSH/plugins/macports $fpath)
|
|
||||||
autoload -U compinit
|
|
||||||
compinit -i
|
|
||||||
|
|
8
plugins/mysql-macports/mysql-macports.plugin.zsh
Normal file
8
plugins/mysql-macports/mysql-macports.plugin.zsh
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
# commands to control local mysql-server installation
|
||||||
|
# paths are for osx installation via macports
|
||||||
|
|
||||||
|
alias mysqlstart='sudo /opt/local/share/mysql5/mysql/mysql.server start'
|
||||||
|
alias mysqlstop='sudo /opt/local/share/mysql5/mysql/mysql.server stop'
|
||||||
|
alias mysqlrestart='sudo /opt/local/share/mysql5/mysql/mysql.server restart'
|
||||||
|
|
||||||
|
alias mysqlstatus='mysqladmin5 -u root -p ping'
|
|
@ -1,6 +0,0 @@
|
||||||
# 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'
|
|
19
plugins/npm/_npm
Normal file
19
plugins/npm/_npm
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
#compdef npm
|
||||||
|
|
||||||
|
# Node Package Manager 0.3.15 completion, letting npm do all the completion work
|
||||||
|
|
||||||
|
_npm() {
|
||||||
|
compadd -- $(_npm_complete $words)
|
||||||
|
}
|
||||||
|
|
||||||
|
# We want to show all errors of any substance, but never the "npm (not )ok" one.
|
||||||
|
# (Also doesn't consider "ERR! no match found" worth breaking the terminal for.)
|
||||||
|
_npm_complete() {
|
||||||
|
local ask_npm
|
||||||
|
ask_npm=(npm completion --color false --loglevel error -- $@)
|
||||||
|
{ _call_program npm $ask_npm 2>&1 >&3 \
|
||||||
|
| egrep -v '^(npm (not |)ok|ERR! no match found)$' >&2; \
|
||||||
|
} 3>&1
|
||||||
|
}
|
||||||
|
|
||||||
|
_npm "$@"
|
|
@ -1,4 +0,0 @@
|
||||||
# add brew completion function to path
|
|
||||||
fpath=($ZSH/plugins/pip $fpath)
|
|
||||||
autoload -U compinit
|
|
||||||
compinit -i
|
|
|
@ -1,10 +1,30 @@
|
||||||
alias rs='ruby script/rails server'
|
# Rails 3 aliases, backwards-compatible with Rails 2.
|
||||||
alias rg='ruby script/rails generate'
|
|
||||||
alias rd='ruby script/rails destroy'
|
function _bundle_command {
|
||||||
alias rp='ruby script/rails plugin'
|
if command -v bundle && [ -e "Gemfile" ]; then
|
||||||
|
bundle exec $@
|
||||||
|
else
|
||||||
|
$@
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function _rails_command () {
|
||||||
|
if [ -e "script/server" ]; then
|
||||||
|
ruby script/$@
|
||||||
|
else
|
||||||
|
ruby script/rails $@
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
alias rc='_rails_command console'
|
||||||
|
alias rd='_rails_command destroy'
|
||||||
|
alias rdb='_rails_command dbconsole'
|
||||||
alias rdbm='rake db:migrate db:test:clone'
|
alias rdbm='rake db:migrate db:test:clone'
|
||||||
alias rdbmr='rake db:migrate && rake db:migrate:redo'
|
alias rg='_rails_command generate'
|
||||||
alias rc='ruby script/rails console'
|
alias rp='_rails_command plugin'
|
||||||
alias rd='ruby script/rails server --debugger'
|
alias rs='_rails_command server'
|
||||||
|
alias rsd='_rails_command server --debugger'
|
||||||
alias devlog='tail -f log/development.log'
|
alias devlog='tail -f log/development.log'
|
||||||
|
|
||||||
|
alias rspec='_bundle_command rspec'
|
||||||
|
alias cuke='_bundle_command cucumber'
|
||||||
|
|
142
plugins/redis-cli/_redis-cli
Normal file
142
plugins/redis-cli/_redis-cli
Normal file
|
@ -0,0 +1,142 @@
|
||||||
|
#compdef redis-cli rec
|
||||||
|
#autoload
|
||||||
|
|
||||||
|
#redis cli completion, based off homebrew completion (ref. 2011-04-14)
|
||||||
|
|
||||||
|
local -a _1st_arguments
|
||||||
|
_1st_arguments=(
|
||||||
|
'append:append a value to a key'
|
||||||
|
'auth:authenticate to the server'
|
||||||
|
'bgrewriteeaof:asynchronously rewrite the append-only file'
|
||||||
|
'bgsave:asynchornously save the dataset to disk'
|
||||||
|
'blpop:remove and get the first element in a list, or block until one is available'
|
||||||
|
'brpop:remove and get the last element in a list, or block until one is available'
|
||||||
|
'brpoplpush:pop a value from a list, push it to another list and return it; or block until one is available'
|
||||||
|
# 'config get:get the value of a configuration parameter'
|
||||||
|
# 'config set:set a configuration parameter to the given value'
|
||||||
|
# 'config resetstat: reset the stats returned by INFO'
|
||||||
|
'dbsize:return the number of keys in the selected database'
|
||||||
|
# 'debug object:get debugging information about a key'
|
||||||
|
# 'debug setgfault:make the server crash'
|
||||||
|
'decr:decrement the integer value of a key by one'
|
||||||
|
'decrby:decrement the integet value of a key by the given number'
|
||||||
|
'del:delete a key'
|
||||||
|
'discard:discard all commands issued after MULTI'
|
||||||
|
'echo:echo the given string'
|
||||||
|
'exec:execute all commands issued after a MULTI'
|
||||||
|
'exists:determine if a key exists'
|
||||||
|
'expire:set the time to live for a key, in seconds'
|
||||||
|
'expireat:set the expiration for a key as a UNIX timestamp'
|
||||||
|
'flushall:remove all keys from all databases'
|
||||||
|
'flushdb:remove all keys from the current database'
|
||||||
|
'get:get the value of a key'
|
||||||
|
'getbit:returns the bit value at offset in the string value stored at key'
|
||||||
|
'getrange:get a substring of the string stored at a key'
|
||||||
|
'getset:set the string value of a key and return its old value'
|
||||||
|
'hdel:delete a hash field'
|
||||||
|
'hexists:determine if a hash field exists'
|
||||||
|
'hget:get the value of a hash field'
|
||||||
|
'hgetall:get all the fields and values in a hash'
|
||||||
|
'hincrby:increment the integer value of a hash field by the given number'
|
||||||
|
'hkeys:get all the fields in a hash'
|
||||||
|
'hlen:get the number of fields in a hash'
|
||||||
|
'hmget:get the values of all the given hash fields'
|
||||||
|
'hmset:set multiple hash fields to multiple values'
|
||||||
|
'hset:set the string value of a hash field'
|
||||||
|
'hsetnx:set the value of a hash field, only if the field does not exist'
|
||||||
|
'hvals:get all the values in a hash'
|
||||||
|
'incr:increment the integer value of a key by one'
|
||||||
|
'incrby:increment the integer value of a key by the given number'
|
||||||
|
'info:get information and statistics about the server'
|
||||||
|
'keys:find all keys matching the given pattern'
|
||||||
|
'lastsave:get the UNIX timestamp of the last successful save to disk'
|
||||||
|
'lindex:get an element from a list by its index'
|
||||||
|
'linset:insert an element before or after another element in a list'
|
||||||
|
'llen:get the length of a list'
|
||||||
|
'lpop:remove and get the first element in a list'
|
||||||
|
'lpush:prepend a value to a list'
|
||||||
|
'lpushx:prepend a value to a list, only if the list exists'
|
||||||
|
'lrange:get a range of elements from a list'
|
||||||
|
'lrem:remove elements from a list'
|
||||||
|
'lset:set the value of an element in a list by its index'
|
||||||
|
'ltrim:trim a list to the specified range'
|
||||||
|
'mget:get the values of all the given keys'
|
||||||
|
'monitor:listen for all requests received by the server in real time'
|
||||||
|
'move:move a key to another database'
|
||||||
|
'mset:set multiple keys to muliple values'
|
||||||
|
'msetnx:set multiple keys tom ultiple values, only if none of the keys exist'
|
||||||
|
'multi:mark the start of a transaction block'
|
||||||
|
'object:inspect the internals of Redis objects'
|
||||||
|
'persist:remove the expiration from a key'
|
||||||
|
'ping:ping the server'
|
||||||
|
'psubscribe:listen for messages published to channels matching the given patterns'
|
||||||
|
'publish:post a message to a channel'
|
||||||
|
'punsubscribe:stop listening for messages posted to channels matching the given patterns'
|
||||||
|
'quit:close the connection'
|
||||||
|
'randomkey:return a random key from the keyspace'
|
||||||
|
'rename:rename a key'
|
||||||
|
'renamenx:rename a key, only if the new key does not exist'
|
||||||
|
'rpop:remove and get the last element in a list'
|
||||||
|
'rpoplpush:remove the last element in a list, append it to another list and return it'
|
||||||
|
'rpush:append a value to a list'
|
||||||
|
'rpushx:append a value to a list, only if the list exists'
|
||||||
|
'sadd:add a member to a set'
|
||||||
|
'save:synchronously save the dataset to disk'
|
||||||
|
'scard:get the number of members in a set'
|
||||||
|
'sdiff:subtract multiple sets'
|
||||||
|
'sdiffstore:subtract multiple sets and store the resulting set in a key'
|
||||||
|
'select:change the selected database for the current connection'
|
||||||
|
'set:set the string value of a key'
|
||||||
|
'setbit:sets or clears the bit at offset in the string value stored at key'
|
||||||
|
'setex:set the value and expiration of a key'
|
||||||
|
'setnx:set the value of a key, only if the key does not exist'
|
||||||
|
'setrange:overwrite part of a string at key starting at the specified offset'
|
||||||
|
'shutdown:synchronously save the dataset to disk and then shut down the server'
|
||||||
|
'sinter:intersect multiple sets'
|
||||||
|
'sinterstore:intersect multiple sets and store the resulting set in a key'
|
||||||
|
'sismember:determine if a given value is a member of a set'
|
||||||
|
'slaveof:make the server a slave of another instance, or promote it as master'
|
||||||
|
'smembers:get all the members in a set'
|
||||||
|
'smove:move a member from one set to another'
|
||||||
|
'sort:sort the elements in a list, set or sorted set'
|
||||||
|
'spop:remove and return a random member from a set'
|
||||||
|
'srandmember:get a random member from a set'
|
||||||
|
'srem:remove a member from a set'
|
||||||
|
'strlen:get the length of the value stored in a key'
|
||||||
|
'subscribe:listen for messages published to the given channels'
|
||||||
|
'sunion:add multiple sets'
|
||||||
|
'sunionstore:add multiple sets and store the resulting set in a key'
|
||||||
|
'ttl:get the time to live for a key'
|
||||||
|
'type:determine the type stored at key'
|
||||||
|
'unsubscribe:stop listening for messages posted to the given channels'
|
||||||
|
'unwatch:forget about all watched keys'
|
||||||
|
'watch:watch the given keys to determine execution of the MULTI/EXEC block'
|
||||||
|
'zadd:add a member to a sorted set, or update its score if it already exists'
|
||||||
|
'zcard:get the number of members in a sorted set'
|
||||||
|
'zcount:count the members in a sorted set with scores within the given values'
|
||||||
|
'zincrby:increment the score of a member in a sorted set'
|
||||||
|
'zinterstore:intersect multiple sorted sets and store the resulting sorted set in a new key'
|
||||||
|
'zrange:return a range of members in a sorted set, by index'
|
||||||
|
'zrangebyscore:return a range of members in a sorted set, by score'
|
||||||
|
'zrank:determine the index of a member in a sorted set'
|
||||||
|
'zrem:remove a member from a sorted set'
|
||||||
|
'zremrangebyrank:remove all members in a sorted set within the given indexes'
|
||||||
|
'zremrangebyscore:remove all members in a sorted set within the given scores'
|
||||||
|
'zrevrange:return a range of membrs in a sorted set, by index, with scores ordered from high to low'
|
||||||
|
'zrevrangebyscore:return a range of members in a sorted set, by score, with scores ordered from high to low'
|
||||||
|
'zrevrank:determine the index of a member in a sorted set, with scores ordered from high to low'
|
||||||
|
'zscore:get the score associated with the given member in a sorted set'
|
||||||
|
'zunionstore:add multiple sorted sets and store te resulting sorted set in a new key'
|
||||||
|
)
|
||||||
|
|
||||||
|
local expl
|
||||||
|
|
||||||
|
_arguments \
|
||||||
|
'(-v --version)'{-v,--version}'[show version]' \
|
||||||
|
'(-h --help)'{-h,--help}'[show help]' \
|
||||||
|
'*:: :->subcmds' && return 0
|
||||||
|
|
||||||
|
if (( CURRENT == 1 )); then
|
||||||
|
_describe -t commands "redis-cli subcommand" _1st_arguments
|
||||||
|
return
|
||||||
|
fi
|
|
@ -1,3 +0,0 @@
|
||||||
fpath=($ZSH/plugins/vagrant $fpath)
|
|
||||||
autoload -U compinit
|
|
||||||
compinit -i
|
|
12
plugins/yum/yum.plugin.zsh
Normal file
12
plugins/yum/yum.plugin.zsh
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
## Aliases
|
||||||
|
|
||||||
|
alias ys="yum search" # search package
|
||||||
|
alias yp="yum info" # show package info
|
||||||
|
alias yl="yum list" # list packages
|
||||||
|
alias yli="yum list installed" # print all installed packages
|
||||||
|
|
||||||
|
alias yu="sudo yum update" # upgrate packages
|
||||||
|
alias yi="sudo yum install" # install package
|
||||||
|
alias yr="sudo yum remove" # remove package
|
||||||
|
alias yrl="sudo yum remove --remove-leaves" # remove package and leaves
|
||||||
|
alias yc="sudo yum clean all" # clean cache
|
|
@ -1,8 +1,10 @@
|
||||||
# Path to your oh-my-zsh configuration.
|
# Path to your oh-my-zsh configuration.
|
||||||
export ZSH=$HOME/.oh-my-zsh
|
export ZSH=$HOME/.oh-my-zsh
|
||||||
|
|
||||||
# Set to the name theme to load.
|
# Set name of the theme to load.
|
||||||
# Look in ~/.oh-my-zsh/themes/
|
# Look in ~/.oh-my-zsh/themes/
|
||||||
|
# Optionally, if you set this to "random", it'll load a random theme each
|
||||||
|
# time that oh-my-zsh is loaded.
|
||||||
export ZSH_THEME="robbyrussell"
|
export ZSH_THEME="robbyrussell"
|
||||||
|
|
||||||
# Set to this to use case-sensitive completion
|
# Set to this to use case-sensitive completion
|
||||||
|
@ -14,6 +16,9 @@ export ZSH_THEME="robbyrussell"
|
||||||
# Uncomment following line if you want to disable colors in ls
|
# Uncomment following line if you want to disable colors in ls
|
||||||
# export DISABLE_LS_COLORS="true"
|
# export DISABLE_LS_COLORS="true"
|
||||||
|
|
||||||
|
# Uncomment following line if you want to disable autosetting terminal title.
|
||||||
|
# export DISABLE_AUTO_TITLE="true"
|
||||||
|
|
||||||
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
|
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
|
||||||
# Example format: plugins=(rails git textmate ruby lighthouse)
|
# Example format: plugins=(rails git textmate ruby lighthouse)
|
||||||
plugins=(git)
|
plugins=(git)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
PROMPT='%{$fg[blue]%}%n%{$reset_color%} on %{$fg[red]%}%M%{$reset_color%} in %{$fg[blue]%}%~%b%{$reset_color%}$(git_time_since_commit)$(git_prompt_info)
|
PROMPT='%{$fg[blue]%}%n%{$reset_color%} on %{$fg[red]%}%M%{$reset_color%} in %{$fg[blue]%}%~%b%{$reset_color%}$(git_time_since_commit)$(check_git_prompt_info)
|
||||||
$ '
|
$ '
|
||||||
|
|
||||||
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[white]%}"
|
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[white]%}"
|
||||||
|
@ -16,6 +16,29 @@ ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM="%{$fg[yellow]%}"
|
||||||
ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG="%{$fg[red]%}"
|
ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG="%{$fg[red]%}"
|
||||||
ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL="%{$fg[cyan]%}"
|
ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL="%{$fg[cyan]%}"
|
||||||
|
|
||||||
|
|
||||||
|
# Git sometimes goes into a detached head state. git_prompt_info doesn't
|
||||||
|
# return anything in this case. So wrap it in another function and check
|
||||||
|
# for an empty string.
|
||||||
|
function check_git_prompt_info() {
|
||||||
|
if git rev-parse --git-dir > /dev/null 2>&1; then
|
||||||
|
if [[ -z $(git_prompt_info) ]]; then
|
||||||
|
echo "%{$fg[magenta]%}detached-head%{$reset_color%})"
|
||||||
|
else
|
||||||
|
echo "$(git_prompt_info)"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Determine if we are using a gemset.
|
||||||
|
function rvm_gemset() {
|
||||||
|
GEMSET=`rvm gemset list | grep '=>' | cut -b4-`
|
||||||
|
if [[ -n $GEMSET ]]; then
|
||||||
|
echo "%{$fg[yellow]%}$GEMSET%{$reset_color%}|"
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
# Determine the time since last commit. If branch is clean,
|
# Determine the time since last commit. If branch is clean,
|
||||||
# use a neutral color, otherwise colors will vary according to time.
|
# use a neutral color, otherwise colors will vary according to time.
|
||||||
function git_time_since_commit() {
|
function git_time_since_commit() {
|
||||||
|
@ -49,15 +72,15 @@ function git_time_since_commit() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$HOURS" -gt 24 ]; then
|
if [ "$HOURS" -gt 24 ]; then
|
||||||
echo "($COLOR${DAYS}d${SUB_HOURS}h${SUB_MINUTES}m%{$reset_color%}|"
|
echo "($(rvm_gemset)$COLOR${DAYS}d${SUB_HOURS}h${SUB_MINUTES}m%{$reset_color%}|"
|
||||||
elif [ "$MINUTES" -gt 60 ]; then
|
elif [ "$MINUTES" -gt 60 ]; then
|
||||||
echo "($COLOR${HOURS}h${SUB_MINUTES}m%{$reset_color%}|"
|
echo "($(rvm_gemset)$COLOR${HOURS}h${SUB_MINUTES}m%{$reset_color%}|"
|
||||||
else
|
else
|
||||||
echo "($COLOR${MINUTES}m%{$reset_color%}|"
|
echo "($(rvm_gemset)$COLOR${MINUTES}m%{$reset_color%}|"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL"
|
COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL"
|
||||||
echo "($COLOR~|"
|
echo "($(rvm_gemset)$COLOR~|"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@ local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
|
||||||
|
|
||||||
local user_host='%{$terminfo[bold]$fg[green]%}%n@%m%{$reset_color%}'
|
local user_host='%{$terminfo[bold]$fg[green]%}%n@%m%{$reset_color%}'
|
||||||
local current_dir='%{$terminfo[bold]$fg[blue]%} %~%{$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 rvm_ruby='%{$fg[red]%}‹$(rvm-prompt i v g)›%{$reset_color%}'
|
||||||
local git_branch='$(git_prompt_info)%{$reset_color%}'
|
local git_branch='$(git_prompt_info)%{$reset_color%}'
|
||||||
|
|
||||||
PROMPT="╭─${user_host} ${current_dir} ${rvm_ruby} ${git_branch}
|
PROMPT="╭─${user_host} ${current_dir} ${rvm_ruby} ${git_branch}
|
||||||
|
|
85
themes/dogenpunk.zsh-theme
Normal file
85
themes/dogenpunk.zsh-theme
Normal file
|
@ -0,0 +1,85 @@
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# FILE: dogenpunk.zsh-theme
|
||||||
|
# DESCRIPTION: oh-my-zsh theme file.
|
||||||
|
# AUTHOR: Matthew Nelson (dogenpunk@gmail.com)
|
||||||
|
# VERSION: 0.1
|
||||||
|
# SCREENSHOT: coming soon
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
MODE_INDICATOR="%{$fg_bold[red]%}❮%{$reset_color%}%{$fg[red]%}❮❮%{$reset_color%}"
|
||||||
|
local return_status="%{$fg[red]%}%(?..⏎)%{$reset_color%}"
|
||||||
|
|
||||||
|
PROMPT='%{$fg[blue]%}%m%{$reset_color%}%{$fg_bold[white]%} ओम् %{$reset_color%}%{$fg[cyan]%}%~:%{$reset_color%}$(git_time_since_commit)$(git_prompt_info)
|
||||||
|
%{$fg[red]%}%!%{$reset_color%} $(prompt_char) '
|
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[green]%}git%{$reset_color%}@%{$bg[white]%}%{$fg[black]%}"
|
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%})"
|
||||||
|
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}!%{$reset_color%}"
|
||||||
|
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
||||||
|
|
||||||
|
RPROMPT='${return_status}$(git_prompt_status)%{$reset_color%}'
|
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[green]%} ✚"
|
||||||
|
ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[blue]%} ✹"
|
||||||
|
ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✖"
|
||||||
|
ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[magenta]%} ➜"
|
||||||
|
ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[yellow]%} ═"
|
||||||
|
ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%} ✭"
|
||||||
|
|
||||||
|
function prompt_char() {
|
||||||
|
git branch >/dev/null 2>/dev/null && echo "%{$fg[green]%}±%{$reset_color%}" && return
|
||||||
|
hg root >/dev/null 2>/dev/null && echo "%{$fg_bold[red]%}☿%{$reset_color%}" && return
|
||||||
|
echo "%{$fg[cyan]%}◯ %{$reset_color%}"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Colors vary depending on time lapsed.
|
||||||
|
ZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT="%{$fg[green]%}"
|
||||||
|
ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM="%{$fg[yellow]%}"
|
||||||
|
ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG="%{$fg[red]%}"
|
||||||
|
ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL="%{$fg[cyan]%}"
|
||||||
|
|
||||||
|
# Determine the time since last commit. If branch is clean,
|
||||||
|
# use a neutral color, otherwise colors will vary according to time.
|
||||||
|
function git_time_since_commit() {
|
||||||
|
if git rev-parse --git-dir > /dev/null 2>&1; then
|
||||||
|
# Only proceed if there is actually a commit.
|
||||||
|
if [[ $(git log 2>&1 > /dev/null | grep -c "^fatal: bad default revision") == 0 ]]; then
|
||||||
|
# Get the last commit.
|
||||||
|
last_commit=`git log --pretty=format:'%at' -1 2> /dev/null`
|
||||||
|
now=`date +%s`
|
||||||
|
seconds_since_last_commit=$((now-last_commit))
|
||||||
|
|
||||||
|
# Totals
|
||||||
|
MINUTES=$((seconds_since_last_commit / 60))
|
||||||
|
HOURS=$((seconds_since_last_commit/3600))
|
||||||
|
|
||||||
|
# Sub-hours and sub-minutes
|
||||||
|
DAYS=$((seconds_since_last_commit / 86400))
|
||||||
|
SUB_HOURS=$((HOURS % 24))
|
||||||
|
SUB_MINUTES=$((MINUTES % 60))
|
||||||
|
|
||||||
|
if [[ -n $(git status -s 2> /dev/null) ]]; then
|
||||||
|
if [ "$MINUTES" -gt 30 ]; then
|
||||||
|
COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG"
|
||||||
|
elif [ "$MINUTES" -gt 10 ]; then
|
||||||
|
COLOR="$ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM"
|
||||||
|
else
|
||||||
|
COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$HOURS" -gt 24 ]; then
|
||||||
|
echo "($COLOR${DAYS}d${SUB_HOURS}h${SUB_MINUTES}m%{$reset_color%}|"
|
||||||
|
elif [ "$MINUTES" -gt 60 ]; then
|
||||||
|
echo "($COLOR${HOURS}h${SUB_MINUTES}m%{$reset_color%}|"
|
||||||
|
else
|
||||||
|
echo "($COLOR${MINUTES}m%{$reset_color%}|"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
COLOR="$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL"
|
||||||
|
echo "($COLOR~|"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
10
themes/frisk.zsh-theme
Normal file
10
themes/frisk.zsh-theme
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
PROMPT=$'
|
||||||
|
%{$fg[blue]%}%/%{$reset_color%} $(git_prompt_info)%{$fg[white]%}[%n@%m]%{$reset_color%} %{$fg[white]%}[%T]%{$reset_color%}
|
||||||
|
%{$fg_bold[black]%}>%{$reset_color%} '
|
||||||
|
|
||||||
|
PROMPT2="%{$fg_blod[black]%}%_> %{$reset_color%}"
|
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[green]%}["
|
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX="]%{$reset_color%} "
|
||||||
|
ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}*%{$fg[green]%}"
|
||||||
|
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
19
themes/gallois.zsh-theme
Normal file
19
themes/gallois.zsh-theme
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
||||||
|
#RVM and git settings
|
||||||
|
if [[ -s ~/.rvm/scripts/rvm ]] ; then
|
||||||
|
RPS1='$(git_custom_status)%{$fg[red]%}[`~/.rvm/bin/rvm-prompt`]%{$reset_color%} $EPS1'
|
||||||
|
fi
|
||||||
|
|
||||||
|
PROMPT='%{$fg[cyan]%}[%~% ]%(?.%{$fg[green]%}.%{$fg[red]%})%B$%b '
|
137
themes/jonathan.zsh-theme
Normal file
137
themes/jonathan.zsh-theme
Normal file
|
@ -0,0 +1,137 @@
|
||||||
|
function precmd {
|
||||||
|
local TERMWIDTH
|
||||||
|
(( TERMWIDTH = ${COLUMNS} - 1 ))
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
# Truncate the path if it's too long.
|
||||||
|
|
||||||
|
PR_FILLBAR=""
|
||||||
|
PR_PWDLEN=""
|
||||||
|
|
||||||
|
local promptsize=${#${(%):---(%n@%m:%l)---()--}}
|
||||||
|
local rubyprompt=`rvm_prompt_info`
|
||||||
|
local rubypromptsize=${#${rubyprompt}}
|
||||||
|
local pwdsize=${#${(%):-%~}}
|
||||||
|
|
||||||
|
if [[ "$promptsize + $rubypromptsize + $pwdsize" -gt $TERMWIDTH ]]; then
|
||||||
|
((PR_PWDLEN=$TERMWIDTH - $promptsize))
|
||||||
|
else
|
||||||
|
PR_FILLBAR="\${(l.(($TERMWIDTH - ($promptsize + $rubypromptsize + $pwdsize)))..${PR_HBAR}.)}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
setopt extended_glob
|
||||||
|
preexec () {
|
||||||
|
if [[ "$TERM" == "screen" ]]; then
|
||||||
|
local CMD=${1[(wr)^(*=*|sudo|-*)]}
|
||||||
|
echo -n "\ek$CMD\e\\"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
setprompt () {
|
||||||
|
###
|
||||||
|
# Need this so the prompt will work.
|
||||||
|
|
||||||
|
setopt prompt_subst
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
# See if we can use colors.
|
||||||
|
|
||||||
|
autoload colors zsh/terminfo
|
||||||
|
if [[ "$terminfo[colors]" -ge 8 ]]; then
|
||||||
|
colors
|
||||||
|
fi
|
||||||
|
for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE GREY; do
|
||||||
|
eval PR_$color='%{$terminfo[bold]$fg[${(L)color}]%}'
|
||||||
|
eval PR_LIGHT_$color='%{$fg[${(L)color}]%}'
|
||||||
|
(( count = $count + 1 ))
|
||||||
|
done
|
||||||
|
PR_NO_COLOUR="%{$terminfo[sgr0]%}"
|
||||||
|
|
||||||
|
###
|
||||||
|
# Modify Git prompt
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[green]%}"
|
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
|
||||||
|
ZSH_THEME_GIT_PROMPT_DIRTY=""
|
||||||
|
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[green]%} ✚"
|
||||||
|
ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[blue]%} ✹"
|
||||||
|
ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✖"
|
||||||
|
ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[magenta]%} ➜"
|
||||||
|
ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[yellow]%} ═"
|
||||||
|
ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%} ✭"
|
||||||
|
|
||||||
|
###
|
||||||
|
# See if we can use extended characters to look nicer.
|
||||||
|
|
||||||
|
typeset -A altchar
|
||||||
|
set -A altchar ${(s..)terminfo[acsc]}
|
||||||
|
PR_SET_CHARSET="%{$terminfo[enacs]%}"
|
||||||
|
PR_SHIFT_IN="%{$terminfo[smacs]%}"
|
||||||
|
PR_SHIFT_OUT="%{$terminfo[rmacs]%}"
|
||||||
|
PR_HBAR=${altchar[q]:--}
|
||||||
|
PR_ULCORNER=${altchar[l]:--}
|
||||||
|
PR_LLCORNER=${altchar[m]:--}
|
||||||
|
PR_LRCORNER=${altchar[j]:--}
|
||||||
|
PR_URCORNER=${altchar[k]:--}
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
# Decide if we need to set titlebar text.
|
||||||
|
|
||||||
|
case $TERM in
|
||||||
|
xterm*)
|
||||||
|
PR_TITLEBAR=$'%{\e]0;%(!.-=*[ROOT]*=- | .)%n@%m:%~ | ${COLUMNS}x${LINES} | %y\a%}'
|
||||||
|
;;
|
||||||
|
screen)
|
||||||
|
PR_TITLEBAR=$'%{\e_screen \005 (\005t) | %(!.-=[ROOT]=- | .)%n@%m:%~ | ${COLUMNS}x${LINES} | %y\e\\%}'
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
PR_TITLEBAR=''
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
# Decide whether to set a screen title
|
||||||
|
if [[ "$TERM" == "screen" ]]; then
|
||||||
|
PR_STITLE=$'%{\ekzsh\e\\%}'
|
||||||
|
else
|
||||||
|
PR_STITLE=''
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
# Finally, the prompt.
|
||||||
|
|
||||||
|
PROMPT='$PR_SET_CHARSET$PR_STITLE${(e)PR_TITLEBAR}\
|
||||||
|
$PR_CYAN$PR_SHIFT_IN$PR_ULCORNER$PR_HBAR$PR_SHIFT_OUT$PR_GREY(\
|
||||||
|
$PR_GREEN%$PR_PWDLEN<...<%~%<<\
|
||||||
|
$PR_GREY)`rvm_prompt_info`$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_HBAR${(e)PR_FILLBAR}$PR_HBAR$PR_SHIFT_OUT$PR_GREY(\
|
||||||
|
$PR_CYAN%(!.%SROOT%s.%n)$PR_GREY@$PR_GREEN%m:%l\
|
||||||
|
$PR_GREY)$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_URCORNER$PR_SHIFT_OUT\
|
||||||
|
|
||||||
|
$PR_CYAN$PR_SHIFT_IN$PR_LLCORNER$PR_BLUE$PR_HBAR$PR_SHIFT_OUT(\
|
||||||
|
$PR_YELLOW%D{%H:%M:%S}\
|
||||||
|
$PR_LIGHT_BLUE%{$reset_color%}`git_prompt_info``git_prompt_status`$PR_BLUE)$PR_CYAN$PR_SHIFT_IN$PR_HBAR\
|
||||||
|
$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\
|
||||||
|
>$PR_NO_COLOUR '
|
||||||
|
|
||||||
|
# display exitcode on the right when >0
|
||||||
|
return_code="%(?..%{$fg[red]%}%? ↵ %{$reset_color%})"
|
||||||
|
RPROMPT=' $return_code$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_BLUE$PR_HBAR$PR_SHIFT_OUT\
|
||||||
|
($PR_YELLOW%D{%a,%b%d}$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_CYAN$PR_LRCORNER$PR_SHIFT_OUT$PR_NO_COLOUR'
|
||||||
|
|
||||||
|
PS2='$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\
|
||||||
|
$PR_BLUE$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT(\
|
||||||
|
$PR_LIGHT_GREEN%_$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\
|
||||||
|
$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT$PR_NO_COLOUR '
|
||||||
|
}
|
||||||
|
|
||||||
|
setprompt
|
8
themes/jtriley.zsh-theme
Normal file
8
themes/jtriley.zsh-theme
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
#PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'
|
||||||
|
PROMPT="%{$fg_bold[cyan]%}%T%{$fg_bold[green]%} %{$fg_bold[white]%}%n%{$fg[magenta]%}@%{$fg_bold[white]%}%m %{$fg_bold[green]%}%d
|
||||||
|
%{$fg_bold[yellow]%}%% $(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]%})"
|
21
themes/kolo.zsh-theme
Normal file
21
themes/kolo.zsh-theme
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
autoload -U colors && colors
|
||||||
|
|
||||||
|
autoload -Uz vcs_info
|
||||||
|
|
||||||
|
zstyle ':vcs_info:*' stagedstr '%F{green}●'
|
||||||
|
zstyle ':vcs_info:*' unstagedstr '%F{yellow}●'
|
||||||
|
zstyle ':vcs_info:*' check-for-changes true
|
||||||
|
zstyle ':vcs_info:(sv[nk]|bzr):*' branchformat '%b%F{1}:%F{11}%r'
|
||||||
|
zstyle ':vcs_info:*' enable git svn
|
||||||
|
precmd () {
|
||||||
|
if [[ -z $(git ls-files --other --exclude-standard 2> /dev/null) ]] {
|
||||||
|
zstyle ':vcs_info:*' formats ' [%b%c%u%B%F{green}]'
|
||||||
|
} else {
|
||||||
|
zstyle ':vcs_info:*' formats ' [%b%c%u%B%F{red}●%F{green}]'
|
||||||
|
}
|
||||||
|
|
||||||
|
vcs_info
|
||||||
|
}
|
||||||
|
|
||||||
|
setopt prompt_subst
|
||||||
|
PROMPT='%B%F{magenta}%c%B%F{green}${vcs_info_msg_0_}%B%F{magenta} %{$reset_color%}%% '
|
50
themes/kphoen.zsh-theme
Normal file
50
themes/kphoen.zsh-theme
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# FILE: kphoen.zsh-theme
|
||||||
|
# DESCRIPTION: oh-my-zsh theme file.
|
||||||
|
# AUTHOR: Kévin Gomez (geek63@gmail.com)
|
||||||
|
# VERSION: 1.0.0
|
||||||
|
# SCREENSHOT:
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
if [[ "$TERM" != "dumb" ]] && [[ "$DISABLE_LS_COLORS" != "true" ]]; then
|
||||||
|
PROMPT='[%{$fg[red]%}%n%{$reset_color%}@%{$fg[magenta]%}%m%{$reset_color%}:%{$fg[blue]%}%~%{$reset_color%}$(git_prompt_info)]
|
||||||
|
%# '
|
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[green]%}"
|
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
|
||||||
|
ZSH_THEME_GIT_PROMPT_DIRTY=""
|
||||||
|
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
||||||
|
|
||||||
|
# display exitcode on the right when >0
|
||||||
|
return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
|
||||||
|
|
||||||
|
RPROMPT='${return_code}$(git_prompt_status)%{$reset_color%}'
|
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[green]%} ✚"
|
||||||
|
ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[blue]%} ✹"
|
||||||
|
ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✖"
|
||||||
|
ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[magenta]%} ➜"
|
||||||
|
ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[yellow]%} ═"
|
||||||
|
ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%} ✭"
|
||||||
|
else
|
||||||
|
PROMPT='[%n@%m:%~$(git_prompt_info)]
|
||||||
|
%# '
|
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX=" on"
|
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX=""
|
||||||
|
ZSH_THEME_GIT_PROMPT_DIRTY=""
|
||||||
|
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
||||||
|
|
||||||
|
# display exitcode on the right when >0
|
||||||
|
return_code="%(?..%? ↵)"
|
||||||
|
|
||||||
|
RPROMPT='${return_code}$(git_prompt_status)'
|
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_ADDED=" ✚"
|
||||||
|
ZSH_THEME_GIT_PROMPT_MODIFIED=" ✹"
|
||||||
|
ZSH_THEME_GIT_PROMPT_DELETED=" ✖"
|
||||||
|
ZSH_THEME_GIT_PROMPT_RENAMED=" ➜"
|
||||||
|
ZSH_THEME_GIT_PROMPT_UNMERGED=" ═"
|
||||||
|
ZSH_THEME_GIT_PROMPT_UNTRACKED=" ✭"
|
||||||
|
fi
|
14
themes/murilasso.zsh-theme
Normal file
14
themes/murilasso.zsh-theme
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
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_prompt_info)%{$reset_color%}'
|
||||||
|
local git_branch='%{$fg[blue]%}$(git_prompt_info)%{$reset_color%}'
|
||||||
|
|
||||||
|
PROMPT="${user_host}:${current_dir} ${rvm_ruby}
|
||||||
|
${git_branch} %B$%b "
|
||||||
|
RPS1="${return_code}"
|
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX=""
|
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX=""
|
||||||
|
ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}✗%{$reset_color%}"
|
||||||
|
ZSH_THEME_GIT_PROMPT_CLEAN=" %{$fg[green]%}✔%{$reset_color%}"
|
|
@ -5,7 +5,7 @@ then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Cloning Oh My Zsh..."
|
echo "Cloning Oh My Zsh..."
|
||||||
/usr/bin/env git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
|
/usr/bin/env git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
|
||||||
|
|
||||||
echo "Looking for an existing zsh config..."
|
echo "Looking for an existing zsh config..."
|
||||||
if [ -f ~/.zshrc ] || [ -h ~/.zshrc ]
|
if [ -f ~/.zshrc ] || [ -h ~/.zshrc ]
|
||||||
|
@ -22,7 +22,7 @@ echo "Copying your current PATH and adding it to the end of ~/.zshrc for you."
|
||||||
echo "export PATH=$PATH" >> ~/.zshrc
|
echo "export PATH=$PATH" >> ~/.zshrc
|
||||||
|
|
||||||
echo "Time to change your default shell to zsh!"
|
echo "Time to change your default shell to zsh!"
|
||||||
chsh -s "/usr/bin/env zsh"
|
chsh -s `which zsh`
|
||||||
|
|
||||||
echo ' __ __ '
|
echo ' __ __ '
|
||||||
echo ' ____ / /_ ____ ___ __ __ ____ _____/ /_ '
|
echo ' ____ / /_ ____ ___ __ __ ____ _____/ /_ '
|
||||||
|
|
Loading…
Reference in a new issue