commit
143dd165e9
33 changed files with 445 additions and 25 deletions
@ -1,5 +1,5 @@ |
|||||||
locals.zsh |
locals.zsh |
||||||
log/.zsh_history |
log/.zsh_history |
||||||
projects.zsh |
projects.zsh |
||||||
custom/*.zsh |
custom/* |
||||||
!custom/example.zsh |
!custom/example.zsh |
||||||
@ -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 |
||||||
@ -1,4 +1,4 @@ |
|||||||
# add brew completion function to path |
# add gem completion function to path |
||||||
fpath=($ZSH/plugins/gem $fpath) |
fpath=($ZSH/plugins/gem $fpath) |
||||||
autoload -U compinit |
autoload -U compinit |
||||||
compinit -i |
compinit -i |
||||||
|
|||||||
@ -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 |
||||||
@ -0,0 +1,8 @@ |
|||||||
|
alias rs='ruby script/rails server' |
||||||
|
alias rg='ruby script/rails generate' |
||||||
|
alias rd='ruby script/rails destroy' |
||||||
|
alias rp='ruby script/rails plugin' |
||||||
|
alias rdbm='rake db:migrate db:test:clone' |
||||||
|
alias rc='ruby script/rails console' |
||||||
|
alias rd='ruby script/rais server --debugger' |
||||||
|
alias devlog='tail -f log/development.log' |
||||||
@ -0,0 +1,42 @@ |
|||||||
|
function svn_prompt_info { |
||||||
|
if [[ -d .svn ]]; then |
||||||
|
echo "$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_PREFIX\ |
||||||
|
$ZSH_THEME_REPO_NAME_COLOR$(svn_get_repo_name)$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_SUFFIX$ZSH_PROMPT_BASE_COLOR$(svn_dirty)$ZSH_PROMPT_BASE_COLOR" |
||||||
|
fi |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
function in_svn() { |
||||||
|
if [[ -d .svn ]]; then |
||||||
|
echo 1 |
||||||
|
fi |
||||||
|
} |
||||||
|
|
||||||
|
function svn_get_repo_name { |
||||||
|
if [ is_svn ]; then |
||||||
|
svn info | sed -n 's/Repository\ Root:\ .*\///p' | read SVN_ROOT |
||||||
|
|
||||||
|
svn info | sed -n "s/URL:\ .*$SVN_ROOT\///p" | sed "s/\/.*$//" |
||||||
|
fi |
||||||
|
} |
||||||
|
|
||||||
|
function svn_get_rev_nr { |
||||||
|
if [ is_svn ]; then |
||||||
|
svn info 2> /dev/null | sed -n s/Revision:\ //p |
||||||
|
fi |
||||||
|
} |
||||||
|
|
||||||
|
function svn_dirty_choose { |
||||||
|
if [ is_svn ]; then |
||||||
|
s=$(svn status 2>/dev/null) |
||||||
|
if [ $s ]; then |
||||||
|
echo $1 |
||||||
|
else |
||||||
|
echo $2 |
||||||
|
fi |
||||||
|
fi |
||||||
|
} |
||||||
|
|
||||||
|
function svn_dirty { |
||||||
|
svn_dirty_choose $ZSH_THEME_SVN_PROMPT_DIRTY $ZSH_THEME_SVN_PROMPT_CLEAN |
||||||
|
} |
||||||
@ -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 |
||||||
@ -0,0 +1,3 @@ |
|||||||
|
fpath=($ZSH/plugins/vagrant $fpath) |
||||||
|
autoload -U compinit |
||||||
|
compinit -i |
||||||
@ -0,0 +1,18 @@ |
|||||||
|
# the svn plugin has to be activated for this to work. |
||||||
|
|
||||||
|
PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%}$(svn_prompt_info)%{$reset_color%}' |
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}" |
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" |
||||||
|
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%})%{$fg[yellow]%} ✗ %{$reset_color%}" |
||||||
|
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%}) " |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ZSH_PROMPT_BASE_COLOR="%{$fg_bold[blue]%}" |
||||||
|
ZSH_THEME_REPO_NAME_COLOR="%{$fg_bold[red]%}" |
||||||
|
|
||||||
|
ZSH_THEME_SVN_PROMPT_PREFIX="svn:(" |
||||||
|
ZSH_THEME_SVN_PROMPT_SUFFIX=")" |
||||||
|
ZSH_THEME_SVN_PROMPT_DIRTY="%{$fg[red]%} ✘ %{$reset_color%}" |
||||||
|
ZSH_THEME_SVN_PROMPT_CLEAN=" " |
||||||
@ -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%}" |
||||||
@ -0,0 +1,56 @@ |
|||||||
|
# the idea of this theme is to contain a lot of info in a small string, by |
||||||
|
# compressing some parts and colorcoding, which bring useful visual cues, |
||||||
|
# while limiting the amount of colors and such to keep it easy on the eyes. |
||||||
|
# When a command exited >0, the timestamp will be in red and the exit code |
||||||
|
# will be on the right edge. |
||||||
|
# The exit code visual cues will only display once. |
||||||
|
# (i.e. they will be reset, even if you hit enter a few times on empty command prompts) |
||||||
|
|
||||||
|
typeset -A host_repr |
||||||
|
|
||||||
|
# translate hostnames into shortened, colorcoded strings |
||||||
|
host_repr=('dieter-ws-a7n8x-arch' "%{$fg_bold[green]%}ws" 'dieter-p4sci-arch' "%{$fg_bold[blue]%}p4") |
||||||
|
|
||||||
|
# local time, color coded by last return code |
||||||
|
time_enabled="%(?.%{$fg[green]%}.%{$fg[red]%})%*%{$reset_color%}" |
||||||
|
time_disabled="%{$fg[green]%}%*%{$reset_color%}" |
||||||
|
time=$time_enabled |
||||||
|
|
||||||
|
# user part, color coded by privileges |
||||||
|
local user="%(!.%{$fg[blue]%}.%{$fg[blue]%})%n%{$reset_color%}" |
||||||
|
|
||||||
|
# Hostname part. compressed and colorcoded per host_repr array |
||||||
|
# if not found, regular hostname in default color |
||||||
|
local host="@${host_repr[$(hostname)]:-$(hostname)}%{$reset_color%}" |
||||||
|
|
||||||
|
# Compacted $PWD |
||||||
|
local pwd="%{$fg[blue]%}%c%{$reset_color%}" |
||||||
|
|
||||||
|
PROMPT='${time} ${user}${host} ${pwd} $(git_prompt_info)' |
||||||
|
|
||||||
|
# i would prefer 1 icon that shows the "most drastic" deviation from HEAD, |
||||||
|
# but lets see how this works out |
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}" |
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} " |
||||||
|
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%} %{$fg[yellow]%}?%{$fg[green]%}%{$reset_color%}" |
||||||
|
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[green]%}" |
||||||
|
|
||||||
|
# elaborate exitcode on the right when >0 |
||||||
|
return_code_enabled="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" |
||||||
|
return_code_disabled= |
||||||
|
return_code=$return_code_enabled |
||||||
|
|
||||||
|
RPS1='${return_code}' |
||||||
|
|
||||||
|
function accept-line-or-clear-warning () { |
||||||
|
if [[ -z $BUFFER ]]; then |
||||||
|
time=$time_disabled |
||||||
|
return_code=$return_code_disabled |
||||||
|
else |
||||||
|
time=$time_enabled |
||||||
|
return_code=$return_code_enabled |
||||||
|
fi |
||||||
|
zle accept-line |
||||||
|
} |
||||||
|
zle -N accept-line-or-clear-warning |
||||||
|
bindkey '^M' accept-line-or-clear-warning |
||||||
@ -0,0 +1,9 @@ |
|||||||
|
# ZSH Theme emulating the Fish shell's default prompt. |
||||||
|
|
||||||
|
local user_color='green'; [ $UID -eq 0 ] && user_color='red' |
||||||
|
PROMPT='%n@%m %{$fg[$user_color]%}%~%{$reset_color%}%(!.#.>) ' |
||||||
|
PROMPT2='%{$fg[red]%}\ %{$reset_color%}' |
||||||
|
RPS1='%(?..%{$fg[red]%}%? ↵%{$reset_color%})$(git_prompt_info)' |
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[cyan]%}" |
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" |
||||||
@ -0,0 +1,19 @@ |
|||||||
|
if [ "$(whoami)" = "root" ] |
||||||
|
then CARETCOLOR="red" |
||||||
|
else CARETCOLOR="blue" |
||||||
|
fi |
||||||
|
|
||||||
|
local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" |
||||||
|
|
||||||
|
PROMPT='%m%{${fg_bold[magenta]}%} :: %{$reset_color%}%{${fg[green]}%}%3~ $(git_prompt_info)%{${fg_bold[$CARETCOLOR]}%}%#%{${reset_color}%} ' |
||||||
|
|
||||||
|
RPS1='$(vi_mode_prompt_info) ${return_code}' |
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[cyan]%}‹" |
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}" |
||||||
|
|
||||||
|
MODE_INDICATOR="%{$fg_bold[magenta]%}<%{$reset_color%}%{$fg[magenta]%}<<%{$reset_color%}" |
||||||
|
|
||||||
|
# TODO use 265 colors |
||||||
|
#MODE_INDICATOR="$FX[bold]$FG[020]<$FX[no_bold]%{$fg[blue]%}<<%{$reset_color%}" |
||||||
|
# TODO use two lines if git |
||||||
@ -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=") " |
||||||
@ -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=")" |
||||||
@ -0,0 +1,6 @@ |
|||||||
|
# ZSH Theme - Preview: http://cl.ly/350F0F0k1M2y3A2i3p1S |
||||||
|
|
||||||
|
PROMPT='λ %~/ $(git_prompt_info)%{$reset_color%}' |
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[green]%}" |
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} " |
||||||
@ -0,0 +1,24 @@ |
|||||||
|
# /|/ Code by Stephen |
||||||
|
# /|/ "Rixius" Middleton |
||||||
|
# |
||||||
|
# name in folder (github) |
||||||
|
# ± if in github repo, or ≥ if otherwise Time in 24-hour format is on right. |
||||||
|
function collapse_pwd { |
||||||
|
echo $(pwd | sed -e "s,^$HOME,~,") |
||||||
|
} |
||||||
|
function prompt_char { |
||||||
|
echo -n "%{$bg[white]%}%{$fg[red]%}" |
||||||
|
git branch >/dev/null 2>/dev/null && echo "±%{$reset_color%}" && return |
||||||
|
echo "≥%{$reset_color%}" |
||||||
|
} |
||||||
|
RIXIUS_PRE="%{$bg[white]%}%{$fg[red]%}" |
||||||
|
|
||||||
|
PROMPT=' |
||||||
|
%{$RIXIUS_PRE%}%n%{$reset_color%} in %{$fg_bold[green]%}$(collapse_pwd)%{$reset_color%}$(git_prompt_info) |
||||||
|
$(prompt_char) ' |
||||||
|
RPROMPT='%{$RIXIUS_PRE%}%T%{$reset_color%}' |
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}" |
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" |
||||||
|
ZSH_THEME_GIT_PROMPT_DIRTY=" %{$RIXIUS_PRE%}!%{$reset_color%}" |
||||||
|
ZSH_THEME_GIT_PROMPT_CLEAN=" %{$RIXIUS_PRE%}√%{$reset_color%}" |
||||||
@ -1,6 +1,16 @@ |
|||||||
# Comment |
# Comment |
||||||
|
|
||||||
ZSH_THEME_GIT_PROMPT_PREFIX=' (git:' |
PROMPT='%{$fg[magenta]%}[%c] %{$reset_color%}' |
||||||
ZSH_THEME_GIT_PROMPT_SUFFIX=')' |
|
||||||
|
|
||||||
PROMPT='%{$fg[magenta]%}[%c]$(git_prompt_info) $ %{$reset_color%}' |
RPROMPT='%{$fg[magenta]%}$(git_prompt_info)%{$reset_color%} $(git_prompt_status)%{$reset_color%}' |
||||||
|
|
||||||
|
ZSH_THEME_GIT_PROMPT_PREFIX="" |
||||||
|
ZSH_THEME_GIT_PROMPT_SUFFIX="" |
||||||
|
ZSH_THEME_GIT_PROMPT_DIRTY="" |
||||||
|
ZSH_THEME_GIT_PROMPT_CLEAN="" |
||||||
|
ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[cyan]%} ✈" |
||||||
|
ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[yellow]%} ✭" |
||||||
|
ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✗" |
||||||
|
ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[blue]%} ➦" |
||||||
|
ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[magenta]%} ✂" |
||||||
|
ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[grey]%} ✱" |
||||||
Loading…
Reference in new issue