From 926d116259ee46b718d2a2fa068dcc6d1bbd426f Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Mon, 18 Jan 2010 11:46:41 -0500 Subject: [PATCH 01/61] Add a new "prose" theme. --- themes/prose.zsh-theme | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 themes/prose.zsh-theme diff --git a/themes/prose.zsh-theme b/themes/prose.zsh-theme new file mode 100644 index 000000000..d83361e61 --- /dev/null +++ b/themes/prose.zsh-theme @@ -0,0 +1,32 @@ +function prompt_char { + git branch >/dev/null 2>/dev/null && echo '±' && return + hg root >/dev/null 2>/dev/null && echo '☿' && return + echo '○' +} + +function battery_charge { + echo `$BAT_CHARGE` 2>/dev/null +} + +function virtualenv_info { + [ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') ' +} + +function hg_prompt_info { + hg prompt --angle-brackets "\ +< on %{$fg[magenta]%}%{$reset_color%}>\ +< at %{$fg[yellow]%}%{$reset_color%}>\ +%{$fg[green]%}%{$reset_color%}< +patches: >" 2>/dev/null +} + +PROMPT=' +%{$fg[magenta]%}%n%{$reset_color%} at %{$fg[yellow]%}%m%{$reset_color%} in %{$fg_bold[green]%}%~%{$reset_color%}$(hg_prompt_info)$(git_prompt_info) +$(virtualenv_info)$(prompt_char) ' + +RPROMPT='$(battery_charge)' + +ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%}!" +ZSH_THEME_GIT_PROMPT_CLEAN="" From 0f711cab40a8d838e7bffd3a114bd1c689e7b952 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Mon, 18 Jan 2010 11:47:06 -0500 Subject: [PATCH 02/61] Switch around the .gitignore a bit to account for symlinking. --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index f84db6dc2..18a09e24d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ locals.zsh log/.zsh_history projects.zsh +custom custom/*.zsh -!custom/example.zsh \ No newline at end of file +!custom/example.zsh From d136031d3552c4c136a210809c2df6981cc80d39 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Wed, 20 Jan 2010 00:40:13 -0500 Subject: [PATCH 03/61] Fix the collapsed-pwd. --- themes/prose.zsh-theme | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/themes/prose.zsh-theme b/themes/prose.zsh-theme index d83361e61..319e620f5 100644 --- a/themes/prose.zsh-theme +++ b/themes/prose.zsh-theme @@ -1,3 +1,7 @@ +function collapse_pwd { + echo $(pwd | sed -e "s,^$HOME,~,") +} + function prompt_char { git branch >/dev/null 2>/dev/null && echo '±' && return hg root >/dev/null 2>/dev/null && echo '☿' && return @@ -21,7 +25,7 @@ patches: Date: Wed, 20 Jan 2010 00:41:41 -0500 Subject: [PATCH 04/61] Add annoying OS X files to the ignore. --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 18a09e24d..e173dab09 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ projects.zsh custom custom/*.zsh !custom/example.zsh + +.DS_Store From 3d22ee248c6bce357c018a93d31f8d292d2cb4cd Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Wed, 20 Jan 2010 12:12:48 -0500 Subject: [PATCH 05/61] Improve the git prompt. --- lib/git.zsh | 16 ++++++++++++---- themes/prose.zsh-theme | 1 + 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/lib/git.zsh b/lib/git.zsh index 629a08b0e..a34140d89 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -5,10 +5,18 @@ function git_prompt_info() { } parse_git_dirty () { - if [[ $((git status 2> /dev/null) | tail -n1) != "nothing to commit (working directory clean)" ]]; then - echo "$ZSH_THEME_GIT_PROMPT_DIRTY" - else - echo "$ZSH_THEME_GIT_PROMPT_CLEAN" + gitstat=$(git status 2>/dev/null | grep '\(# Untracked\|# Changes\|# Changed but not updated:\)') + + if [[ $(echo ${gitstat} | grep -c "^# Changes to be committed:$") > 0 ]]; then + echo -n "$ZSH_THEME_GIT_PROMPT_DIRTY" + fi + + if [[ $(echo ${gitstat} | grep -c "^\(# Untracked files:\|# Changed but not updated:\)$") > 0 ]]; then + echo -n "$ZSH_THEME_GIT_PROMPT_UNTRACKED" + fi + + if [[ $(echo ${gitstat} | wc -l | tr -d ' ') == 0 ]]; then + echo -n "$ZSH_THEME_GIT_PROMPT_CLEAN" fi } diff --git a/themes/prose.zsh-theme b/themes/prose.zsh-theme index 319e620f5..9071ee07f 100644 --- a/themes/prose.zsh-theme +++ b/themes/prose.zsh-theme @@ -33,4 +33,5 @@ RPROMPT='$(battery_charge)' ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}" ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%}!" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[green]%}?" ZSH_THEME_GIT_PROMPT_CLEAN="" From 6ec9f8c1688c3e99e301632aa818763c28fad896 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Mon, 25 Jan 2010 09:06:45 -0500 Subject: [PATCH 06/61] Clear new tabs. --- lib/functions.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/functions.zsh b/lib/functions.zsh index 74b93f00e..aa974e5c2 100644 --- a/lib/functions.zsh +++ b/lib/functions.zsh @@ -44,7 +44,7 @@ function tab() { end tell application "Terminal" activate - do script with command "cd \"$PWD\"; $*" in window 1 + do script with command "cd \"$PWD\"; clear; $*" in window 1 end tell EOF } From 26866cf4be95b1e1bfc427a8228b8e6e3d5c62b9 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Mon, 1 Feb 2010 18:43:54 -0500 Subject: [PATCH 07/61] themes/prose: Replace collapse_pwd with a built-in version. --- themes/prose.zsh-theme | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/themes/prose.zsh-theme b/themes/prose.zsh-theme index 9071ee07f..cab930f87 100644 --- a/themes/prose.zsh-theme +++ b/themes/prose.zsh-theme @@ -1,7 +1,3 @@ -function collapse_pwd { - echo $(pwd | sed -e "s,^$HOME,~,") -} - function prompt_char { git branch >/dev/null 2>/dev/null && echo '±' && return hg root >/dev/null 2>/dev/null && echo '☿' && return @@ -25,7 +21,7 @@ patches: Date: Mon, 1 Feb 2010 23:31:59 -0700 Subject: [PATCH 08/61] Initial merge, adding vi key bindings and RPROMPT clock --- themes/mattcable.zsh-theme | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 themes/mattcable.zsh-theme diff --git a/themes/mattcable.zsh-theme b/themes/mattcable.zsh-theme new file mode 100644 index 000000000..29ef6a22b --- /dev/null +++ b/themes/mattcable.zsh-theme @@ -0,0 +1,9 @@ +# based on robbyrussel.zsh-theme + +PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' +RPROMPT="%{$fg_bold[red]%}(%D{%m-%d %H:%M})%{$reset_color%}" + +ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})" From 2e9ab0b8eafa8188754e27624117cda5463eccda Mon Sep 17 00:00:00 2001 From: Matt Cable Date: Mon, 1 Feb 2010 23:44:57 -0700 Subject: [PATCH 09/61] vi keybindings --- lib/key-bindings.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/key-bindings.zsh b/lib/key-bindings.zsh index 87e47bab6..f6cf45ce3 100644 --- a/lib/key-bindings.zsh +++ b/lib/key-bindings.zsh @@ -2,7 +2,7 @@ autoload -U compinit compinit -bindkey -e +bindkey -v bindkey '\ew' kill-region bindkey -s '\el' "ls\n" bindkey -s '\e.' "..\n" From 35e544f76f4e39c6f5d5fb42db61f96e62b92077 Mon Sep 17 00:00:00 2001 From: Matt Cable Date: Mon, 1 Feb 2010 23:46:20 -0700 Subject: [PATCH 10/61] Changed default theme --- templates/zshrc.zsh-template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/zshrc.zsh-template b/templates/zshrc.zsh-template index d905be04b..5d4072186 100644 --- a/templates/zshrc.zsh-template +++ b/templates/zshrc.zsh-template @@ -3,7 +3,7 @@ export ZSH=$HOME/.oh-my-zsh # Set to the name theme to load. # Look in ~/.oh-my-zsh/themes/ -export ZSH_THEME="robbyrussell" +export ZSH_THEME="mattcable" # Set to this to use case-sensitive completion # export CASE_SENSITIVE="true" From 2b6116039b42da1d4deca9a954819fe1458a4c84 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Tue, 2 Feb 2010 09:11:41 -0500 Subject: [PATCH 11/61] Add bare dot aliases for backing out of directories. --- lib/directories.zsh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/directories.zsh b/lib/directories.zsh index 56d7a2316..146a5b069 100644 --- a/lib/directories.zsh +++ b/lib/directories.zsh @@ -4,6 +4,9 @@ setopt auto_pushd setopt pushd_ignore_dups alias ..='cd ..' +alias ...='cd ../..' +alias ....='cd ../../..' +alias .....='cd ../../../..' alias cd..='cd ..' alias cd...='cd ../..' alias cd....='cd ../../..' From 863b28411fa9b96ad4ef7f296ee8c1548af51d21 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Tue, 2 Feb 2010 09:21:54 -0500 Subject: [PATCH 12/61] Load zmv to help with complex renames. --- lib/misc.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/misc.zsh b/lib/misc.zsh index 4c1743657..bf68182e1 100644 --- a/lib/misc.zsh +++ b/lib/misc.zsh @@ -3,6 +3,7 @@ autoload -U url-quote-magic zle -N self-insert url-quote-magic ## file rename magick +autoload -U zmv bindkey "^[m" copy-prev-shell-word ## jobs From 7bde96c7b207a9989fac19882c4553f7b0d07670 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Tue, 2 Feb 2010 09:26:02 -0500 Subject: [PATCH 13/61] Add a file for Python-related things. --- lib/python.zsh | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 lib/python.zsh diff --git a/lib/python.zsh b/lib/python.zsh new file mode 100644 index 000000000..79c8e151e --- /dev/null +++ b/lib/python.zsh @@ -0,0 +1,3 @@ +function wo() { + [ -f './.venv' ] && workon `cat ./.venv` +} From db2302a59cc6e37f1b94871c94df6a4908141f19 Mon Sep 17 00:00:00 2001 From: Matt Cable Date: Tue, 2 Feb 2010 10:39:11 -0700 Subject: [PATCH 14/61] git_prompt_info didn't account for empty gitstat case. Problem was only noticable with non-empty $ZSH_THEME_GIT_PROMPT_CLEAN --- lib/git.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/git.zsh b/lib/git.zsh index a34140d89..31fa77c10 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -15,7 +15,7 @@ parse_git_dirty () { echo -n "$ZSH_THEME_GIT_PROMPT_UNTRACKED" fi - if [[ $(echo ${gitstat} | wc -l | tr -d ' ') == 0 ]]; then + if [[ $(echo ${gitstat} | grep -v '^$' | wc -l | tr -d ' ') == 0 ]]; then echo -n "$ZSH_THEME_GIT_PROMPT_CLEAN" fi } From e5fa536313178aa37713b575c00b5fe4139102a8 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Tue, 2 Feb 2010 19:22:28 -0500 Subject: [PATCH 15/61] Undo the VI keybinding change and switch my prompt to be the default. --- lib/key-bindings.zsh | 2 +- templates/zshrc.zsh-template | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/key-bindings.zsh b/lib/key-bindings.zsh index f6cf45ce3..87e47bab6 100644 --- a/lib/key-bindings.zsh +++ b/lib/key-bindings.zsh @@ -2,7 +2,7 @@ autoload -U compinit compinit -bindkey -v +bindkey -e bindkey '\ew' kill-region bindkey -s '\el' "ls\n" bindkey -s '\e.' "..\n" diff --git a/templates/zshrc.zsh-template b/templates/zshrc.zsh-template index 5d4072186..ef1e645d5 100644 --- a/templates/zshrc.zsh-template +++ b/templates/zshrc.zsh-template @@ -3,7 +3,7 @@ export ZSH=$HOME/.oh-my-zsh # Set to the name theme to load. # Look in ~/.oh-my-zsh/themes/ -export ZSH_THEME="mattcable" +export ZSH_THEME="prose" # Set to this to use case-sensitive completion # export CASE_SENSITIVE="true" From db18f4361beac88fd8f31fe9ac67113fdef146e3 Mon Sep 17 00:00:00 2001 From: Ole Reifschneider Date: Tue, 19 Jan 2010 15:51:54 +0100 Subject: [PATCH 16/61] lib/completion: Don't select the first item of completion list. Based on a commit by: Ole Reifschneider --- lib/completion.zsh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/completion.zsh b/lib/completion.zsh index 46b6d8f65..0e2e38849 100644 --- a/lib/completion.zsh +++ b/lib/completion.zsh @@ -1,6 +1,5 @@ ## fixme - the load process here seems a bit bizarre -setopt noautomenu setopt complete_in_word setopt always_to_end @@ -30,7 +29,7 @@ unsetopt MENU_COMPLETE # should this be in keybindings? bindkey -M menuselect '^o' accept-and-infer-next-history -zstyle ':completion:*:*:*:*:*' menu yes select +zstyle ':completion:*:*:*:*:*' menu select # zstyle ':completion:*:*:*:*:processes' force-list always zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01' From 66e9fa165ddbe079f5e9a5a81ed09d1be8ccbc1d Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Tue, 16 Feb 2010 17:31:21 -0500 Subject: [PATCH 17/61] Trash all the ruby/git cruft and tweak completion a bit. --- lib/aliases.zsh | 35 ---------------------------------- lib/appearance.zsh | 1 - lib/completion.zsh | 18 ++++++------------ lib/directories.zsh | 10 +++++++++- lib/functions.zsh | 21 --------------------- lib/git.zsh | 15 --------------- lib/key-bindings.zsh | 20 -------------------- lib/misc.zsh | 2 +- lib/rake_completion.zsh | 42 ----------------------------------------- 9 files changed, 16 insertions(+), 148 deletions(-) delete mode 100644 lib/rake_completion.zsh diff --git a/lib/aliases.zsh b/lib/aliases.zsh index f97daf41a..eac15103f 100644 --- a/lib/aliases.zsh +++ b/lib/aliases.zsh @@ -5,49 +5,14 @@ alias pu='pushd' alias po='popd' alias ss='thin --stats "/thin/stats" start' -alias sg='ruby script/generate' -alias sd='ruby script/destroy' -alias sp='ruby script/plugin' -alias ssp='ruby script/spec' -alias rdbm='rake db:migrate' -alias sc='ruby script/console' -alias sd='ruby script/server --debugger' alias devlog='tail -f log/development.log' -# Basic directory operations -alias .='pwd' -alias ...='cd ../..' -alias -- -='cd -' - # Super user alias _='sudo' alias ss='sudo su -' -#alias g='grep -in' - # Show history alias history='fc -l 1' -# List direcory contents -alias lsa='ls -lah' -alias l='ls -la' -alias ll='ls -alr' -alias sl=ls # often screw this up - -alias sgem='sudo gem' - -# Find ruby file -alias rfind='find . -name *.rb | xargs grep -n' -alias afind='ack-grep -il' - -# Git and svn mix -alias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk' - # TextMate alias et='mate . &' -alias ett='mate app config lib db public spec test Rakefile Capfile Todo &' -alias etp='mate app config lib db public spec test vendor/plugins vendor/gems Rakefile Capfile Todo &' -alias etts='mate app config lib db public script spec test vendor/plugins vendor/gems Rakefile Capfile Todo &' - -# Editor Ruby file in TextMate -alias mr='mate CHANGELOG app config db lib public script spec test' diff --git a/lib/appearance.zsh b/lib/appearance.zsh index ffee52b5e..0fd7f463f 100644 --- a/lib/appearance.zsh +++ b/lib/appearance.zsh @@ -1,7 +1,6 @@ # ls colors autoload colors; colors; export LSCOLORS="Gxfxcxdxbxegedabagacad" -#export LS_COLORS # Enable ls colors if [ "$DISABLE_LS_COLORS" != "true" ] diff --git a/lib/completion.zsh b/lib/completion.zsh index 0e2e38849..dbf8572a6 100644 --- a/lib/completion.zsh +++ b/lib/completion.zsh @@ -1,7 +1,8 @@ ## fixme - the load process here seems a bit bizarre +unsetopt noautomenu setopt complete_in_word -setopt always_to_end +unsetopt always_to_end unsetopt flowcontrol @@ -12,7 +13,7 @@ compinit zmodload -i zsh/complist -## case-insensitive (all),partial-word and then substring completion +# case-insensitive (all), partial-word and then substring completion if [ "x$CASE_SENSITIVE" = "xtrue" ]; then zstyle ':completion:*' matcher-list 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' unset CASE_SENSITIVE @@ -22,15 +23,14 @@ fi zstyle ':completion:*' list-colors '' - unsetopt MENU_COMPLETE -#setopt AUTO_MENU +setopt AUTO_MENU # should this be in keybindings? bindkey -M menuselect '^o' accept-and-infer-next-history -zstyle ':completion:*:*:*:*:*' menu select -# zstyle ':completion:*:*:*:*:processes' force-list always +zstyle ':completion:*:*:*:*:*' menu select=1 +zstyle ':completion:*:*:*:*:processes' force-list always zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01' zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm -w -w" @@ -40,9 +40,3 @@ if [ -f ~/.ssh/known_hosts ]; then zstyle ':completion:*' hosts $( sed 's/[, ].*$//' $HOME/.ssh/known_hosts ) zstyle ':completion:*:*:(ssh|scp):*:*' hosts `sed 's/^\([^ ,]*\).*$/\1/' ~/.ssh/known_hosts` fi - -# Complete on history -#zstyle ':completion:*:history-words' stop yes -#zstyle ':completion:*:history-words' remove-all-dups yes -#zstyle ':completion:*:history-words' list false -#zstyle ':completion:*:history-words' menu yes diff --git a/lib/directories.zsh b/lib/directories.zsh index 146a5b069..3fd274fc9 100644 --- a/lib/directories.zsh +++ b/lib/directories.zsh @@ -3,6 +3,8 @@ setopt auto_name_dirs setopt auto_pushd setopt pushd_ignore_dups +alias -- -='cd -' +alias .='pwd' alias ..='cd ..' alias ...='cd ../..' alias ....='cd ../../..' @@ -40,4 +42,10 @@ cd () { alias md='mkdir -p' alias rd=rmdir -alias d='dirs -v' \ No newline at end of file +alias d='dirs -v' + +# List direcory contents +alias lsa='ls -lah' +alias l='ls -la' +alias ll='ls -alr' +alias sl=ls diff --git a/lib/functions.zsh b/lib/functions.zsh index aa974e5c2..d272b6460 100644 --- a/lib/functions.zsh +++ b/lib/functions.zsh @@ -21,10 +21,6 @@ function preexec { title $cmd[1]:t "$cmd[2,-1]" } -function remote_console() { - /usr/bin/env ssh $1 "( cd $2 && ruby script/console production )" -} - function zsh_stats() { history | awk '{print $2}' | sort | uniq -c | sort -rn | head } @@ -58,20 +54,3 @@ function tm() { cd $1 mate $1 } - -# To use: add a .lighthouse file into your directory with the URL to the -# individual project. For example: -# https://rails.lighthouseapp.com/projects/8994 -# Example usage: http://screencast.com/t/ZDgwNDUwNT -open_lighthouse_ticket () { - if [ ! -f .lighthouse-url ]; then - echo "There is no .lighthouse file in the current directory..." - return 0; - else - lighthouse_url=$(cat .lighthouse-url); - echo "Opening ticket #$1"; - `open $lighthouse_url/tickets/$1`; - fi -} - -alias lho='open_lighthouse_ticket' diff --git a/lib/git.zsh b/lib/git.zsh index 31fa77c10..7628d9e8a 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -28,18 +28,3 @@ function current_branch() { ref=$(git symbolic-ref HEAD 2> /dev/null) || return echo ${ref#refs/heads/} } - -# Aliases -alias g='git' -alias gst='git status' -alias gl='git pull' -alias gup='git fetch && git rebase' -alias gp='git push' -alias gd='git diff | mate' -alias gdv='git diff -w "$@" | vim -R -' -alias gc='git commit -v' -alias gca='git commit -v -a' -alias gb='git branch' -alias gba='git branch -a' -alias gcount='git shortlog -sn' -alias gcp='git cherry-pick' diff --git a/lib/key-bindings.zsh b/lib/key-bindings.zsh index 87e47bab6..134a0bcbd 100644 --- a/lib/key-bindings.zsh +++ b/lib/key-bindings.zsh @@ -19,23 +19,3 @@ bindkey "^[[1~" beginning-of-line bindkey "^[[F" end-of-line bindkey "^[[4~" end-of-line bindkey ' ' magic-space # also do history expansion on space - - -# consider emacs keybindings: - -#bindkey -e ## emacs key bindings -# -#bindkey '^[[A' up-line-or-search -#bindkey '^[[B' down-line-or-search -#bindkey '^[^[[C' emacs-forward-word -#bindkey '^[^[[D' emacs-backward-word -# -#bindkey -s '^X^Z' '%-^M' -#bindkey '^[e' expand-cmd-path -#bindkey '^[^I' reverse-menu-complete -#bindkey '^X^N' accept-and-infer-next-history -#bindkey '^W' kill-region -#bindkey '^I' complete-word -## Fix weird sequence that rxvt produces -#bindkey -s '^[[Z' '\t' -# \ No newline at end of file diff --git a/lib/misc.zsh b/lib/misc.zsh index bf68182e1..d09375044 100644 --- a/lib/misc.zsh +++ b/lib/misc.zsh @@ -10,5 +10,5 @@ bindkey "^[m" copy-prev-shell-word setopt long_list_jobs ## pager -export PAGER=less +export PAGER='less -R' export LC_CTYPE=en_US.UTF-8 diff --git a/lib/rake_completion.zsh b/lib/rake_completion.zsh deleted file mode 100644 index c425a625e..000000000 --- a/lib/rake_completion.zsh +++ /dev/null @@ -1,42 +0,0 @@ -_rake_does_task_list_need_generating () { - if [ ! -f .rake_tasks~ ]; then return 0; - else - accurate=$(stat -f%m .rake_tasks~) - changed=$(stat -f%m Rakefile) - return $(expr $accurate '>=' $changed) - fi -} - -_rake () { - if [ -f Rakefile ]; then - if _rake_does_task_list_need_generating; then - echo "\nGenerating .rake_tasks~..." > /dev/stderr - rake --silent --tasks | cut -d " " -f 2 > .rake_tasks~ - fi - compadd `cat .rake_tasks~` - fi -} - -compctl -K _rake rake - -function _cap_does_task_list_need_generating () { - if [ ! -f .cap_tasks~ ]; then return 0; - else - accurate=$(stat -f%m .cap_tasks~) - changed=$(stat -f%m config/deploy.rb) - return $(expr $accurate '>=' $changed) - fi -} - -function _cap () { - if [ -f config/deploy.rb ]; then - if _cap_does_task_list_need_generating; then - echo "\nGenerating .cap_tasks~..." > /dev/stderr - cap show_tasks -q | cut -d " " -f 1 | sed -e '/^ *$/D' -e '1,2D' -> .cap_tasks~ - fi - compadd `cat .cap_tasks~` - fi -} - -compctl -K _cap cap From ce4dc6fac28028d82099b969bead1966bfbfb0ad Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Sat, 27 Feb 2010 16:55:53 -0500 Subject: [PATCH 18/61] Add the cdv alias to cd to the virtualenvs directory. --- lib/python.zsh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/python.zsh b/lib/python.zsh index 79c8e151e..1eeb65741 100644 --- a/lib/python.zsh +++ b/lib/python.zsh @@ -1,3 +1,5 @@ function wo() { [ -f './.venv' ] && workon `cat ./.venv` } + +alias cdv='cd $WORKON_HOME' From 9d43c16f4e1d0617bcb615275be5483e0cfadadb Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Wed, 10 Mar 2010 09:18:52 -0500 Subject: [PATCH 19/61] Add the pman function to view man pages as PDFs. --- lib/misc.zsh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/misc.zsh b/lib/misc.zsh index d09375044..a608f9dda 100644 --- a/lib/misc.zsh +++ b/lib/misc.zsh @@ -12,3 +12,8 @@ setopt long_list_jobs ## pager export PAGER='less -R' export LC_CTYPE=en_US.UTF-8 + +## pretty man pages +function pman() { + man $1 -t | open -f -a Preview +} \ No newline at end of file From f7e528b4a155aa59475157c18af50ffdfd548d2f Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Thu, 18 Mar 2010 15:44:13 -0400 Subject: [PATCH 20/61] Add some useful Django-related aliases. --- lib/django.zsh | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 lib/django.zsh diff --git a/lib/django.zsh b/lib/django.zsh new file mode 100644 index 000000000..0d563ab5d --- /dev/null +++ b/lib/django.zsh @@ -0,0 +1,6 @@ +alias pmr='python manage.py runserver' +alias pmrp='python manage.py runserver_plus' +alias pmrpg='pmrp --adminmedia=`pwd`/media/admin' +alias pmsdb='python manage.py syncdb' +alias pms='python manage.py shell' +alias pmlf='python manage.py loaddata fixtures/*' From 9cc2d0964beb4249434e773819a9345da713573b Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Fri, 23 Apr 2010 11:20:24 -0400 Subject: [PATCH 21/61] Add the cdp function. --- lib/python.zsh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/python.zsh b/lib/python.zsh index 1eeb65741..f1e507c48 100644 --- a/lib/python.zsh +++ b/lib/python.zsh @@ -3,3 +3,9 @@ function wo() { } alias cdv='cd $WORKON_HOME' + +function cdp () { + cd "$(python -c "import os.path as _, ${1}; \ + print _.dirname(_.realpath(${1}.__file__[:-1]))" + )" +} \ No newline at end of file From ad2d5b0bf5f348c927934de62a8ea313750a9adb Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Fri, 23 Apr 2010 21:10:06 -0400 Subject: [PATCH 22/61] Add some simple Redis aliases. --- lib/redis.zsh | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 lib/redis.zsh diff --git a/lib/redis.zsh b/lib/redis.zsh new file mode 100644 index 000000000..751a01a84 --- /dev/null +++ b/lib/redis.zsh @@ -0,0 +1,2 @@ +alias res='./redis-server' +alias rec='./redis-cli' From 1df9ea8c2888b90fa42e7762e00227fe8fc14d24 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Fri, 30 Apr 2010 10:25:30 -0400 Subject: [PATCH 23/61] Add the pj function to easily prettify JSON. --- lib/misc.zsh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/misc.zsh b/lib/misc.zsh index a608f9dda..b85bdf212 100644 --- a/lib/misc.zsh +++ b/lib/misc.zsh @@ -16,4 +16,9 @@ export LC_CTYPE=en_US.UTF-8 ## pretty man pages function pman() { man $1 -t | open -f -a Preview +} + +## pretty JSON +function pj() { + python -mjson.tool } \ No newline at end of file From 0be470c37d12e58e0977ecc25ec861eed3b148c0 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Fri, 30 Apr 2010 15:11:26 -0400 Subject: [PATCH 24/61] Add some Gunicorn aliases and the oo alias. --- lib/django.zsh | 4 ++++ lib/misc.zsh | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/django.zsh b/lib/django.zsh index 0d563ab5d..901c2f6ef 100644 --- a/lib/django.zsh +++ b/lib/django.zsh @@ -4,3 +4,7 @@ alias pmrpg='pmrp --adminmedia=`pwd`/media/admin' alias pmsdb='python manage.py syncdb' alias pms='python manage.py shell' alias pmlf='python manage.py loaddata fixtures/*' + +alias gs='gunicorn_django' +alias gk='kill `cat .gunicorn.pid`' +alias gl='tail -f .gunicorn.log' \ No newline at end of file diff --git a/lib/misc.zsh b/lib/misc.zsh index b85bdf212..aa033dec3 100644 --- a/lib/misc.zsh +++ b/lib/misc.zsh @@ -21,4 +21,7 @@ function pman() { ## pretty JSON function pj() { python -mjson.tool -} \ No newline at end of file +} + +## Open current directory +alias oo='open .' \ No newline at end of file From 01680434ff31f19eb05b6c29251430f5f8f311a5 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Fri, 30 Apr 2010 15:13:51 -0400 Subject: [PATCH 25/61] Add some Supervisord aliases. --- lib/supervisord.zsh | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 lib/supervisord.zsh diff --git a/lib/supervisord.zsh b/lib/supervisord.zsh new file mode 100644 index 000000000..b09effb67 --- /dev/null +++ b/lib/supervisord.zsh @@ -0,0 +1,2 @@ +alias ssd='sudo supervisord' +alias ssc='sudo supervisorctl' \ No newline at end of file From 37303d022e1d8a47dec56fda4c7f946fd9437d87 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Fri, 30 Apr 2010 15:26:03 -0400 Subject: [PATCH 26/61] Move over a few more aliases from my personal .zshrc. --- lib/directories.zsh | 1 + lib/django.zsh | 3 ++- lib/misc.zsh | 11 ++++++++++- lib/python.zsh | 2 +- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/lib/directories.zsh b/lib/directories.zsh index 3fd274fc9..fbd90f888 100644 --- a/lib/directories.zsh +++ b/lib/directories.zsh @@ -48,4 +48,5 @@ alias d='dirs -v' alias lsa='ls -lah' alias l='ls -la' alias ll='ls -alr' +alias ls='ls -Goh' alias sl=ls diff --git a/lib/django.zsh b/lib/django.zsh index 901c2f6ef..b1d2c9974 100644 --- a/lib/django.zsh +++ b/lib/django.zsh @@ -1,3 +1,4 @@ +alias pm='python manage.py' alias pmr='python manage.py runserver' alias pmrp='python manage.py runserver_plus' alias pmrpg='pmrp --adminmedia=`pwd`/media/admin' @@ -7,4 +8,4 @@ alias pmlf='python manage.py loaddata fixtures/*' alias gs='gunicorn_django' alias gk='kill `cat .gunicorn.pid`' -alias gl='tail -f .gunicorn.log' \ No newline at end of file +alias gl='tail -f .gunicorn.log' diff --git a/lib/misc.zsh b/lib/misc.zsh index aa033dec3..722412a82 100644 --- a/lib/misc.zsh +++ b/lib/misc.zsh @@ -24,4 +24,13 @@ function pj() { } ## Open current directory -alias oo='open .' \ No newline at end of file +alias oo='open .' + +## Start a local SMTP server and dump emails sent to it to the console +alias smtpconsole='python -m smtpd -n -c DebuggingServer localhost:1025' + +## Serve the current folder on port 80 +alias serve_this='python -m SimpleHTTPServer' + +## Highlight-aware less command +alias hl='less -R' \ No newline at end of file diff --git a/lib/python.zsh b/lib/python.zsh index f1e507c48..7c17a097e 100644 --- a/lib/python.zsh +++ b/lib/python.zsh @@ -1,7 +1,7 @@ function wo() { [ -f './.venv' ] && workon `cat ./.venv` } - +alias deact='deactivate' alias cdv='cd $WORKON_HOME' function cdp () { From 4ea95c3c166df3d7201fa44f3a67f12ca711c8ca Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Tue, 4 May 2010 14:36:48 -0400 Subject: [PATCH 27/61] Start a custom version of startapp. --- lib/django.zsh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/django.zsh b/lib/django.zsh index b1d2c9974..2e0eeeaaa 100644 --- a/lib/django.zsh +++ b/lib/django.zsh @@ -9,3 +9,11 @@ alias pmlf='python manage.py loaddata fixtures/*' alias gs='gunicorn_django' alias gk='kill `cat .gunicorn.pid`' alias gl='tail -f .gunicorn.log' + +function djapp() { + mkdir -p $1/templates/$1 + touch $1/__init__.py + echo "from django.db import models\n\n" > $1/models.py + echo "from django.contrib import admin\nfrom $1.models import *\n\n" > $1/admin.py + echo "from django.conf.urls.defaults import *\n\n" > $1/urls.py +} \ No newline at end of file From 968aaf26271d6a88841c4204389eccd8eac8010e Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Wed, 5 May 2010 13:01:28 -0400 Subject: [PATCH 28/61] Start using tree. --- lib/directories.zsh | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/directories.zsh b/lib/directories.zsh index fbd90f888..4c7fd2394 100644 --- a/lib/directories.zsh +++ b/lib/directories.zsh @@ -45,8 +45,13 @@ alias rd=rmdir alias d='dirs -v' # List direcory contents -alias lsa='ls -lah' -alias l='ls -la' -alias ll='ls -alr' -alias ls='ls -Goh' -alias sl=ls +alias l1='tree --dirsfirst -ChFL 1' +alias l2='tree --dirsfirst -ChFL 2' +alias l3='tree --dirsfirst -ChFL 3' + +alias ll1='tree --dirsfirst -ChFupDaL 1' +alias ll2='tree --dirsfirst -ChFupDaL 2' +alias ll3='tree --dirsfirst -ChFupDaL 3' + +alias l='l1' +alias ll='ll1' \ No newline at end of file From 2d82f60bfc1138f5cd3e59b6c91f60c51d274855 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Thu, 8 Jul 2010 10:27:45 -0400 Subject: [PATCH 29/61] lib/django: add a pmsp alias --- lib/directories.zsh | 2 +- lib/django.zsh | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/directories.zsh b/lib/directories.zsh index 4c7fd2394..9065011f9 100644 --- a/lib/directories.zsh +++ b/lib/directories.zsh @@ -54,4 +54,4 @@ alias ll2='tree --dirsfirst -ChFupDaL 2' alias ll3='tree --dirsfirst -ChFupDaL 3' alias l='l1' -alias ll='ll1' \ No newline at end of file +alias ll='ll1' diff --git a/lib/django.zsh b/lib/django.zsh index 2e0eeeaaa..14b11f5ce 100644 --- a/lib/django.zsh +++ b/lib/django.zsh @@ -4,6 +4,7 @@ alias pmrp='python manage.py runserver_plus' alias pmrpg='pmrp --adminmedia=`pwd`/media/admin' alias pmsdb='python manage.py syncdb' alias pms='python manage.py shell' +alias pmsp='python manage.py shell_plus' alias pmlf='python manage.py loaddata fixtures/*' alias gs='gunicorn_django' @@ -16,4 +17,4 @@ function djapp() { echo "from django.db import models\n\n" > $1/models.py echo "from django.contrib import admin\nfrom $1.models import *\n\n" > $1/admin.py echo "from django.conf.urls.defaults import *\n\n" > $1/urls.py -} \ No newline at end of file +} From e13b2dc811484018eb9e3e876328d235eba20194 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Wed, 14 Jul 2010 10:04:44 -0400 Subject: [PATCH 30/61] Add an alias for quick looking. --- lib/misc.zsh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/misc.zsh b/lib/misc.zsh index 722412a82..607ee8649 100644 --- a/lib/misc.zsh +++ b/lib/misc.zsh @@ -26,6 +26,9 @@ function pj() { ## Open current directory alias oo='open .' +## Quick-look a file (^C to close) +alias ql='qlmanage -p 2>/dev/null' + ## Start a local SMTP server and dump emails sent to it to the console alias smtpconsole='python -m smtpd -n -c DebuggingServer localhost:1025' @@ -33,4 +36,4 @@ alias smtpconsole='python -m smtpd -n -c DebuggingServer localhost:1025' alias serve_this='python -m SimpleHTTPServer' ## Highlight-aware less command -alias hl='less -R' \ No newline at end of file +alias hl='less -R' From d52ac73a988e2b7e001f0cd42f90005649017691 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Wed, 21 Jul 2010 16:37:09 -0400 Subject: [PATCH 31/61] Update Mercurial tab completion functions. --- functions/_hg | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/functions/_hg b/functions/_hg index 6028baa24..9f9863690 100644 --- a/functions/_hg +++ b/functions/_hg @@ -1,4 +1,3 @@ - #compdef hg # Zsh completion script for mercurial. Rename this file to _hg and copy @@ -359,7 +358,7 @@ _hg_pat_opts=( _hg_diff_opts=( '(--text -a)'{-a,--text}'[treat all files as text]' '(--git -g)'{-g,--git}'[use git extended diff format]' - "--nodates[don't include dates in diff headers]") + "--nodates[omit dates from diff headers]") _hg_dryrun_opts=( '(--dry-run -n)'{-n,--dry-run}'[do not perform actions, just print output]') @@ -735,6 +734,11 @@ _hg_cmd_status() { '*:files:_files' } +_hg_cmd_summary() { + _arguments -s -w : $_hg_global_opts \ + '--remote[check for push and pull]' +} + _hg_cmd_tag() { _arguments -s -w : $_hg_global_opts \ '(--local -l)'{-l,--local}'[make the tag local]' \ From 7ab8155aa89d5cd5e371438508ac6abce001a35c Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Wed, 21 Jul 2010 16:38:12 -0400 Subject: [PATCH 32/61] Remove the example script to make custom symlinkable. --- custom/example.zsh | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 custom/example.zsh diff --git a/custom/example.zsh b/custom/example.zsh deleted file mode 100644 index 28ffcae25..000000000 --- a/custom/example.zsh +++ /dev/null @@ -1,5 +0,0 @@ -# Add yourself some shortcuts to projects you often work on -# Example: -# -# brainstormr=/Users/robbyrussell/Projects/development/planetargon/brainstormr -# \ No newline at end of file From 8b78c0135f0e01ad07526b6fdab440ed01840390 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Wed, 21 Jul 2010 16:52:28 -0400 Subject: [PATCH 33/61] Remove some unused aliases/functions. --- lib/directories.zsh | 10 ---------- lib/functions.zsh | 12 ------------ 2 files changed, 22 deletions(-) diff --git a/lib/directories.zsh b/lib/directories.zsh index 9065011f9..0070ad882 100644 --- a/lib/directories.zsh +++ b/lib/directories.zsh @@ -15,16 +15,6 @@ alias cd....='cd ../../..' alias cd.....='cd ../../../..' alias cd/='cd /' -alias 1='cd -' -alias 2='cd +2' -alias 3='cd +3' -alias 4='cd +4' -alias 5='cd +5' -alias 6='cd +6' -alias 7='cd +7' -alias 8='cd +8' -alias 9='cd +9' - cd () { if [[ "x$*" == "x..." ]]; then cd ../.. diff --git a/lib/functions.zsh b/lib/functions.zsh index 75f27efd3..96f7e26a7 100644 --- a/lib/functions.zsh +++ b/lib/functions.zsh @@ -32,15 +32,3 @@ function uninstall_oh_my_zsh() { function upgrade_oh_my_zsh() { /bin/sh $ZSH/tools/upgrade.sh } - -function tab() { - osascript 2>/dev/null < Date: Tue, 27 Jul 2010 15:12:23 -0400 Subject: [PATCH 34/61] django: add pmt --- lib/django.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/django.zsh b/lib/django.zsh index 14b11f5ce..b72160adc 100644 --- a/lib/django.zsh +++ b/lib/django.zsh @@ -6,6 +6,7 @@ alias pmsdb='python manage.py syncdb' alias pms='python manage.py shell' alias pmsp='python manage.py shell_plus' alias pmlf='python manage.py loaddata fixtures/*' +alias pmt='python -W ignore::DeprecationWarning manage.py test' alias gs='gunicorn_django' alias gk='kill `cat .gunicorn.pid`' From f2dad51a2c8e3ab47fa00bd89f07b2ebe07d1901 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Thu, 12 Aug 2010 09:20:12 -0400 Subject: [PATCH 35/61] lib/python: lazily load the extremely slow virtualenvwrapper --- lib/python.zsh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/python.zsh b/lib/python.zsh index 7c17a097e..3f740b4c9 100644 --- a/lib/python.zsh +++ b/lib/python.zsh @@ -1,5 +1,7 @@ function wo() { - [ -f './.venv' ] && workon `cat ./.venv` + [ "$VEW_SOURCED" ] || source "$VEW_PATH" + [ -f './.venv' ] && workon `cat ./.venv` || workon $1 + export VEW_SOURCED=1 } alias deact='deactivate' alias cdv='cd $WORKON_HOME' @@ -8,4 +10,4 @@ function cdp () { cd "$(python -c "import os.path as _, ${1}; \ print _.dirname(_.realpath(${1}.__file__[:-1]))" )" -} \ No newline at end of file +} From 3e4947673687b94139f819b39de86d9a2fdc2eb8 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Thu, 12 Aug 2010 09:34:14 -0400 Subject: [PATCH 36/61] lib: prune some things to load faster --- lib/aliases.zsh | 9 --------- lib/correction.zsh | 4 ---- lib/grep.zsh | 6 ------ lib/misc.zsh | 8 ++++++++ lib/rvm.zsh | 7 ------- 5 files changed, 8 insertions(+), 26 deletions(-) delete mode 100644 lib/aliases.zsh delete mode 100644 lib/grep.zsh delete mode 100644 lib/rvm.zsh diff --git a/lib/aliases.zsh b/lib/aliases.zsh deleted file mode 100644 index eabafbc4d..000000000 --- a/lib/aliases.zsh +++ /dev/null @@ -1,9 +0,0 @@ -# Push and pop directories on directory stack -alias pu='pushd' -alias po='popd' - -# Super user -alias _='sudo' - -# Show history -alias history='fc -l 1' diff --git a/lib/correction.zsh b/lib/correction.zsh index fc60dcdbd..0ad789881 100644 --- a/lib/correction.zsh +++ b/lib/correction.zsh @@ -4,7 +4,3 @@ alias man='nocorrect man' alias mv='nocorrect mv' alias mysql='nocorrect mysql' alias mkdir='nocorrect mkdir' -alias gist='nocorrect gist' -alias heroku='nocorrect heroku' -alias ebuild='nocorrect ebuild' -alias hpodder='nocorrect hpodder' diff --git a/lib/grep.zsh b/lib/grep.zsh deleted file mode 100644 index 93c4270b6..000000000 --- a/lib/grep.zsh +++ /dev/null @@ -1,6 +0,0 @@ -# -# Color grep results -# Examples: http://rubyurl.com/ZXv -# -export GREP_OPTIONS='--color=auto' -export GREP_COLOR='1;32' \ No newline at end of file diff --git a/lib/misc.zsh b/lib/misc.zsh index 607ee8649..b1a14140c 100644 --- a/lib/misc.zsh +++ b/lib/misc.zsh @@ -37,3 +37,11 @@ alias serve_this='python -m SimpleHTTPServer' ## Highlight-aware less command alias hl='less -R' + +## Show history +alias history='fc -l 1' + +## Color grep results +## Examples: http://rubyurl.com/ZXv +export GREP_OPTIONS='--color=auto' +export GREP_COLOR='1;32' diff --git a/lib/rvm.zsh b/lib/rvm.zsh deleted file mode 100644 index 597be1b33..000000000 --- a/lib/rvm.zsh +++ /dev/null @@ -1,7 +0,0 @@ -# get the name of the branch we are on -function rvm_prompt_info() { - ruby_version=$(~/.rvm/bin/rvm-prompt 2> /dev/null) || return - echo "($ruby_version)" -} - - From edda7793d535e9e25f4a5067252f6f6c6cac571b Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Wed, 18 Aug 2010 03:54:35 -0400 Subject: [PATCH 37/61] Add Vim undo files to the .gitignore. --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index e173dab09..67262f05b 100644 --- a/.gitignore +++ b/.gitignore @@ -4,5 +4,6 @@ projects.zsh custom custom/*.zsh !custom/example.zsh +*.un~ .DS_Store From c279e2af8f0a0d2e3791012b526b7b6b09c97b86 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Wed, 18 Aug 2010 03:54:54 -0400 Subject: [PATCH 38/61] themes/prose: remove the battery charge prompt --- themes/prose.zsh-theme | 6 ------ 1 file changed, 6 deletions(-) diff --git a/themes/prose.zsh-theme b/themes/prose.zsh-theme index cab930f87..74c59c071 100644 --- a/themes/prose.zsh-theme +++ b/themes/prose.zsh-theme @@ -4,10 +4,6 @@ function prompt_char { echo '○' } -function battery_charge { - echo `$BAT_CHARGE` 2>/dev/null -} - function virtualenv_info { [ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') ' } @@ -24,8 +20,6 @@ PROMPT=' %{$fg[magenta]%}%n%{$reset_color%} at %{$fg[yellow]%}%m%{$reset_color%} in %{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}$(hg_prompt_info)$(git_prompt_info) $(virtualenv_info)$(prompt_char) ' -RPROMPT='$(battery_charge)' - ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}" ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%}!" From 8f292a08a97b77142b85a98633ce9c1a5101ace4 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Wed, 18 Aug 2010 03:59:36 -0400 Subject: [PATCH 39/61] themes/prose: add .box-name support --- themes/prose.zsh-theme | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/themes/prose.zsh-theme b/themes/prose.zsh-theme index 74c59c071..d64a7ab67 100644 --- a/themes/prose.zsh-theme +++ b/themes/prose.zsh-theme @@ -16,8 +16,12 @@ function hg_prompt_info { patches: >" 2>/dev/null } +function box_name { + [ -f ~/.box-name ] && cat ~/.box-name || hostname -s +} + PROMPT=' -%{$fg[magenta]%}%n%{$reset_color%} at %{$fg[yellow]%}%m%{$reset_color%} in %{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}$(hg_prompt_info)$(git_prompt_info) +%{$fg[magenta]%}%n%{$reset_color%} at %{$fg[yellow]%}$(box_name)%{$reset_color%} in %{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}$(hg_prompt_info)$(git_prompt_info) $(virtualenv_info)$(prompt_char) ' ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}" From 036ab9aa0854b5446aa702a517dc876c60f5be25 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Tue, 24 Aug 2010 14:30:31 -0400 Subject: [PATCH 40/61] lib/misc: add cj function --- lib/misc.zsh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/misc.zsh b/lib/misc.zsh index b1a14140c..6641ca4ea 100644 --- a/lib/misc.zsh +++ b/lib/misc.zsh @@ -23,6 +23,11 @@ function pj() { python -mjson.tool } +## curl JSON +function cj() { + curl -sS $@ | pj +} + ## Open current directory alias oo='open .' From cd4d2c8163632d2bbb530a131b64a20027ea9d50 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Fri, 24 Sep 2010 10:56:31 -0400 Subject: [PATCH 41/61] themes/prose: Remove prompt_char to make the prompt faster. --- themes/prose.zsh-theme | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/themes/prose.zsh-theme b/themes/prose.zsh-theme index d64a7ab67..9ade9e573 100644 --- a/themes/prose.zsh-theme +++ b/themes/prose.zsh-theme @@ -1,9 +1,3 @@ -function prompt_char { - git branch >/dev/null 2>/dev/null && echo '±' && return - hg root >/dev/null 2>/dev/null && echo '☿' && return - echo '○' -} - function virtualenv_info { [ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') ' } @@ -22,7 +16,7 @@ function box_name { PROMPT=' %{$fg[magenta]%}%n%{$reset_color%} at %{$fg[yellow]%}$(box_name)%{$reset_color%} in %{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}$(hg_prompt_info)$(git_prompt_info) -$(virtualenv_info)$(prompt_char) ' +$(virtualenv_info)$ ' ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}" ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" From f2f09f0ae6ed10a7e6e16c9bc111e4d4bd9d5258 Mon Sep 17 00:00:00 2001 From: webflo Date: Tue, 28 Sep 2010 13:58:58 +0200 Subject: [PATCH 42/61] fix path to github repository and installation instructions --- README.textile | 6 +++--- tools/install.sh | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.textile b/README.textile index 8b1b6875a..7d7ac4bc2 100644 --- a/README.textile +++ b/README.textile @@ -8,14 +8,14 @@ h2. Setup h3. The automatic installer... (do you trust me?) -@wget http://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh@ +@wget http://github.com/sjl/oh-my-zsh/raw/master/tools/install.sh -O - | sh@ h3. The manual way 1. Clone the repository - @git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh@ + @git clone git://github.com/sjl/oh-my-zsh.git ~/.oh-my-zsh@ 2. Create a new zsh config by copying the zsh template we've provided. @@ -38,7 +38,7 @@ h2. Usage * enable the plugins you want in your @~/.zshrc@ (take a look at @plugins/@ to see what's possible) ** example: @plugins=(git osx ruby)@ * Theme support: Change the @ZSH_THEME@ environment variable in @~/.zshrc@. -** Take a look at the "current themes":http://wiki.github.com/robbyrussell/oh-my-zsh/themes that come bundled with _Oh My Zsh_. +** Take a look at the "current themes":http://wiki.github.com/sjl/oh-my-zsh/themes that come bundled with _Oh My Zsh_. * much much more... take a look at @lib/@ what _Oh My Zsh_ offers... h2. Useful diff --git a/tools/install.sh b/tools/install.sh index 004b252f4..f441674d4 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -5,7 +5,7 @@ then fi 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 git://github.com/sjl/oh-my-zsh.git ~/.oh-my-zsh echo "Looking for an existing zsh config..." if [ -f ~/.zshrc ] || [ -h ~/.zshrc ] From ee28db27fca924501bef66ef8d23d955743775d2 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Wed, 6 Oct 2010 18:24:00 -0400 Subject: [PATCH 43/61] Remove terminal title junk. --- lib/functions.zsh | 27 +++++---------------------- lib/termsupport.zsh | 21 --------------------- 2 files changed, 5 insertions(+), 43 deletions(-) delete mode 100644 lib/termsupport.zsh diff --git a/lib/functions.zsh b/lib/functions.zsh index 96f7e26a7..558955b23 100644 --- a/lib/functions.zsh +++ b/lib/functions.zsh @@ -1,25 +1,8 @@ -## fixme, i duplicated this in xterms - oops -function title { - if [[ $TERM == "screen" ]]; then - # Use these two for GNU Screen: - print -nR $'\033k'$1$'\033'\\\ - - print -nR $'\033]0;'$2$'\a' - elif [[ $TERM == "xterm" || $TERM == "rxvt" ]]; then - # Use this one instead for XTerms: - print -nR $'\033]0;'$*$'\a' - fi -} - -function precmd { - title zsh "$PWD" -} - -function preexec { - emulate -L zsh - local -a cmd; cmd=(${(z)1}) - title $cmd[1]:t "$cmd[2,-1]" -} +#function preexec { + #emulate -L zsh + #local -a cmd; cmd=(${(z)1}) + #title $cmd[1]:t "$cmd[2,-1]" +#} function zsh_stats() { history | awk '{print $2}' | sort | uniq -c | sort -rn | head diff --git a/lib/termsupport.zsh b/lib/termsupport.zsh deleted file mode 100644 index fef978748..000000000 --- a/lib/termsupport.zsh +++ /dev/null @@ -1,21 +0,0 @@ -case "$TERM" in - xterm*|rxvt*) - preexec () { - print -Pn "\e]0;%n@%m: $1\a" # xterm - } - precmd () { - print -Pn "\e]0;%n@%m: %~\a" # xterm - } - ;; - screen*) - preexec () { - local CMD=${1[(wr)^(*=*|sudo|ssh|-*)]} - echo -ne "\ek$CMD\e\\" - print -Pn "\e]0;%n@%m: $1\a" # xterm - } - precmd () { - echo -ne "\ekzsh\e\\" - print -Pn "\e]0;%n@%m: %~\a" # xterm - } - ;; -esac \ No newline at end of file From 95d695f6958a2b80ef2591aa20b102d6f7ee227e Mon Sep 17 00:00:00 2001 From: Julien Nicoulaud Date: Sat, 20 Nov 2010 16:10:27 +0100 Subject: [PATCH 44/61] Add a plugin that emulates Fish style live command coloring. --- .../command-coloring.plugin.zsh | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 plugins/command-coloring/command-coloring.plugin.zsh diff --git a/plugins/command-coloring/command-coloring.plugin.zsh b/plugins/command-coloring/command-coloring.plugin.zsh new file mode 100644 index 000000000..677f5fdec --- /dev/null +++ b/plugins/command-coloring/command-coloring.plugin.zsh @@ -0,0 +1,53 @@ +#!/usr/bin/env zsh +# ------------------------------------------------------------------------------ +# Fish style live command coloring. +# From: http://www.zsh.org/mla/users/2010/msg00692.html +# ------------------------------------------------------------------------------ + +# Required options. +setopt extendedglob + +# Token types styles. +# See http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#SEC135 +ZLE_RESERVED_WORD_STYLE='bold' +ZLE_ALIAS_STYLE='bold' +ZLE_BUILTIN_STYLE='bold' +ZLE_FUNCTION_STYLE='bold' +ZLE_COMMAND_STYLE='bold' +ZLE_COMMAND_UNKNOWN_TOKEN_STYLE='fg=red,bold' +ZLE_TOKENS_FOLLOWED_BY_COMMANDS=('|' '||' ';' '&' '&&' 'sudo' 'start' 'time' 'strace') + +# Recolorize the current ZLE buffer. +colorize-zle-buffer() { + region_highlight=() + colorize=true + start_pos=0 + for arg in ${(z)BUFFER}; do + ((start_pos+=${#BUFFER[$start_pos+1,-1]}-${#${BUFFER[$start_pos+1,-1]## #}})) + ((end_pos=$start_pos+${#arg})) + if $colorize; then + colorize=false + res=$(LC_ALL=C builtin type $arg 2>/dev/null) + case $res in + *'reserved word'*) style=$ZLE_RESERVED_WORD_STYLE;; + *'an alias'*) style=$ZLE_ALIAS_STYLE;; + *'shell builtin'*) style=$ZLE_BUILTIN_STYLE;; + *'shell function'*) style=$ZLE_FUNCTION_STYLE;; + *"$cmd is"*) style=$ZLE_COMMAND_STYLE;; + *) style=$ZLE_COMMAND_UNKNOWN_TOKEN_STYLE;; + esac + region_highlight+=("$start_pos $end_pos $style") + fi + [[ ${${ZLE_TOKENS_FOLLOWED_BY_COMMANDS[(r)${arg//|/\|}]}:+yes} = 'yes' ]] && colorize=true + start_pos=$end_pos + done +} + +# Bind the function to ZLE events. +colorize-hook-self-insert() { builtin zle .self-insert && colorize-zle-buffer } +colorize-hook-backward-delete-char() { builtin zle .backward-delete-char && colorize-zle-buffer } +colorize-hook-vi-backward-delete-char() { builtin zle .vi-backward-delete-char && colorize-zle-buffer } + +zle -N self-insert colorize-hook-self-insert +zle -N backward-delete-char colorize-hook-backward-delete-char +zle -N vi-backward-delete-char colorize-hook-vi-backward-delete-char From d1136186c79b9dc2767ef0147a6556ec09f2b477 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Tue, 23 Nov 2010 10:52:11 -0500 Subject: [PATCH 45/61] lib/django: add South aliases --- lib/django.zsh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/django.zsh b/lib/django.zsh index b72160adc..4075a5150 100644 --- a/lib/django.zsh +++ b/lib/django.zsh @@ -8,6 +8,15 @@ alias pmsp='python manage.py shell_plus' alias pmlf='python manage.py loaddata fixtures/*' alias pmt='python -W ignore::DeprecationWarning manage.py test' +alias pmdm='python manage.py datamigration' +alias pmsm='python manage.py schemamigration --auto' +alias pmsi='python manage.py schemamigration --initial' +alias pmm='python manage.py migrate' +alias pmma='python manage.py migrate --all' +alias pmml='python manage.py migrate --list' +alias pmmf='python manage.py migrate --fake' +alias pmcats='python manage.py convert_to_south' + alias gs='gunicorn_django' alias gk='kill `cat .gunicorn.pid`' alias gl='tail -f .gunicorn.log' From 9bedf2977a3358441ce01665983798cc69dc353f Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Tue, 23 Nov 2010 10:59:11 -0500 Subject: [PATCH 46/61] lib/misc: add the "What the hell did I do the other day?" function --- lib/misc.zsh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/misc.zsh b/lib/misc.zsh index 6641ca4ea..a6a07c73c 100644 --- a/lib/misc.zsh +++ b/lib/misc.zsh @@ -50,3 +50,13 @@ alias history='fc -l 1' ## Examples: http://rubyurl.com/ZXv export GREP_OPTIONS='--color=auto' export GREP_COLOR='1;32' + +# What the hell did I do the other day? +function whatthehelldididoon() { + for repo in `find . -name '.hg'` + do + echo $repo + hg .. -R $repo/.. -d "$1" -u 'Steve Losh' + done +} + From 5aa37062a57d5535f9f39abe882b03014f20ad5b Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Thu, 23 Dec 2010 11:23:50 -0500 Subject: [PATCH 47/61] Add kennethreitz' Fabric tab completion as a plugin. --- plugins/fabric/fabric.plugin.zsh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 plugins/fabric/fabric.plugin.zsh diff --git a/plugins/fabric/fabric.plugin.zsh b/plugins/fabric/fabric.plugin.zsh new file mode 100644 index 000000000..119be9e67 --- /dev/null +++ b/plugins/fabric/fabric.plugin.zsh @@ -0,0 +1,19 @@ +#!zsh +# +# Installation +# ------------ +# +# To achieve fabfile completion nirvana: +# +# Copy this file somewhere (e.g. ~/.fab-comletion.zsh) and put the following line in your .zshrc: +# +# source ~/.fab-comletion.zsh +# +# Or, use this file as a oh-my-zsh plugin. +# + +_fab_list() { + reply=(`fab --shortlist`) +} +compctl -K _fab_list fab + From ef5e8b18f5dfb9593622b6686257befd7ad110b5 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Mon, 27 Dec 2010 14:36:21 -0500 Subject: [PATCH 48/61] Better syntax highlighting. --- .../command-coloring.plugin.zsh | 114 +++++++++++++----- 1 file changed, 85 insertions(+), 29 deletions(-) diff --git a/plugins/command-coloring/command-coloring.plugin.zsh b/plugins/command-coloring/command-coloring.plugin.zsh index 677f5fdec..1a9fe9594 100644 --- a/plugins/command-coloring/command-coloring.plugin.zsh +++ b/plugins/command-coloring/command-coloring.plugin.zsh @@ -1,53 +1,109 @@ #!/usr/bin/env zsh -# ------------------------------------------------------------------------------ -# Fish style live command coloring. -# From: http://www.zsh.org/mla/users/2010/msg00692.html -# ------------------------------------------------------------------------------ - -# Required options. -setopt extendedglob +# Copyleft 2010 zsh-syntax-highlighting contributors +# http://github.com/nicoulaj/zsh-syntax-highlighting +# All wrongs reserved. # Token types styles. # See http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#SEC135 -ZLE_RESERVED_WORD_STYLE='bold' -ZLE_ALIAS_STYLE='bold' -ZLE_BUILTIN_STYLE='bold' -ZLE_FUNCTION_STYLE='bold' -ZLE_COMMAND_STYLE='bold' +ZLE_RESERVED_WORD_STYLE='fg=yellow,bold' +ZLE_ALIAS_STYLE='fg=green,bold' +ZLE_BUILTIN_STYLE='fg=green,bold' +ZLE_FUNCTION_STYLE='fg=green,bold' +ZLE_COMMAND_STYLE='fg=green,bold' +ZLE_PATH_STYLE='fg=white,underline' ZLE_COMMAND_UNKNOWN_TOKEN_STYLE='fg=red,bold' -ZLE_TOKENS_FOLLOWED_BY_COMMANDS=('|' '||' ';' '&' '&&' 'sudo' 'start' 'time' 'strace') + +ZLE_HYPHEN_CLI_OPTION='fg=yellow,bold' +ZLE_DOUBLE_HYPHEN_CLI_OPTION='fg=green,bold' +ZLE_SINGLE_QUOTED='fg=magenta,bold' +ZLE_DOUBLE_QUOTED='fg=red,bold' +ZLE_BACK_QUOTED='fg=cyan,bold' +ZLE_GLOBING='fg=blue,bold' + +ZLE_DEFAULT='fg=white,normal' + +ZLE_TOKENS_FOLLOWED_BY_COMMANDS=('|' '||' ';' '&' '&&' 'sudo' 'start' 'time' 'strace' 'noglob' 'command' 'builtin') + +_check_path() { + [[ -z $arg ]] && return 1 + [[ -e $arg ]] && return 0 + [[ ! -e ${arg:h} ]] && return 1 + [[ ${#BUFFER} == $end_pos && -n $(print $arg*(N)) ]] && return 0 + return 1 +} # Recolorize the current ZLE buffer. colorize-zle-buffer() { + setopt localoptions extendedglob region_highlight=() colorize=true start_pos=0 for arg in ${(z)BUFFER}; do - ((start_pos+=${#BUFFER[$start_pos+1,-1]}-${#${BUFFER[$start_pos+1,-1]## #}})) + ((start_pos+=${#BUFFER[$start_pos+1,-1]}-${#${BUFFER[$start_pos+1,-1]##[[:space:]]#}})) ((end_pos=$start_pos+${#arg})) if $colorize; then colorize=false - res=$(LC_ALL=C builtin type $arg 2>/dev/null) + res=$(LC_ALL=C builtin type -w $arg 2>/dev/null) case $res in - *'reserved word'*) style=$ZLE_RESERVED_WORD_STYLE;; - *'an alias'*) style=$ZLE_ALIAS_STYLE;; - *'shell builtin'*) style=$ZLE_BUILTIN_STYLE;; - *'shell function'*) style=$ZLE_FUNCTION_STYLE;; - *"$cmd is"*) style=$ZLE_COMMAND_STYLE;; - *) style=$ZLE_COMMAND_UNKNOWN_TOKEN_STYLE;; + *': reserved') style=$ZLE_RESERVED_WORD_STYLE;; + *': alias') style=$ZLE_ALIAS_STYLE;; + *': builtin') style=$ZLE_BUILTIN_STYLE;; + *': function') style=$ZLE_FUNCTION_STYLE;; + *': command') style=$ZLE_COMMAND_STYLE;; + *) + if _check_path; then + style=$ZLE_PATH_STYLE + else + style=$ZLE_COMMAND_UNKNOWN_TOKEN_STYLE + fi + ;; esac - region_highlight+=("$start_pos $end_pos $style") + else + case $arg in + '--'*) style=$ZLE_DOUBLE_HYPHEN_CLI_OPTION;; + '-'*) style=$ZLE_HYPHEN_CLI_OPTION;; + "'"*"'") style=$ZLE_SINGLE_QUOTED;; + '"'*'"') style=$ZLE_DOUBLE_QUOTED;; + '`'*'`') style=$ZLE_BACK_QUOTED;; + *"*"*) style=$ZLE_GLOBING;; + *) + style=$ZLE_DEFAULT + _check_path && style=$ZLE_PATH_STYLE + ;; + esac fi - [[ ${${ZLE_TOKENS_FOLLOWED_BY_COMMANDS[(r)${arg//|/\|}]}:+yes} = 'yes' ]] && colorize=true + region_highlight+=("$start_pos $end_pos $style") + [[ ${${ZLE_TOKENS_FOLLOWED_BY_COMMANDS[(r)${arg//|/\|}]:-}:+yes} = 'yes' ]] && colorize=true start_pos=$end_pos done } # Bind the function to ZLE events. -colorize-hook-self-insert() { builtin zle .self-insert && colorize-zle-buffer } -colorize-hook-backward-delete-char() { builtin zle .backward-delete-char && colorize-zle-buffer } -colorize-hook-vi-backward-delete-char() { builtin zle .vi-backward-delete-char && colorize-zle-buffer } +ZLE_COLORED_FUNCTIONS=( + self-insert + delete-char + backward-delete-char + kill-word + backward-kill-word + up-line-or-history + down-line-or-history + beginning-of-history + end-of-history + undo + redo + yank +) + +for f in $ZLE_COLORED_FUNCTIONS; do + eval "$f() { zle .$f && colorize-zle-buffer } ; zle -N $f" +done + +# Expand or complete hack + +# create an expansion widget which mimics the original "expand-or-complete" (you can see the default setup using "zle -l -L") +zle -C orig-expand-or-complete .expand-or-complete _main_complete + +# use the orig-expand-or-complete inside the colorize function (for some reason, using the ".expand-or-complete" widget doesn't work the same) +expand-or-complete() { builtin zle orig-expand-or-complete && colorize-zle-buffer } +zle -N expand-or-complete -zle -N self-insert colorize-hook-self-insert -zle -N backward-delete-char colorize-hook-backward-delete-char -zle -N vi-backward-delete-char colorize-hook-vi-backward-delete-char From fee5b95415abfe5ef89d02388115f62ff92425a4 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Mon, 27 Dec 2010 14:52:50 -0500 Subject: [PATCH 49/61] Syntax highlighting colors. --- plugins/command-coloring/command-coloring.plugin.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/command-coloring/command-coloring.plugin.zsh b/plugins/command-coloring/command-coloring.plugin.zsh index 1a9fe9594..c0d2ce6bc 100644 --- a/plugins/command-coloring/command-coloring.plugin.zsh +++ b/plugins/command-coloring/command-coloring.plugin.zsh @@ -14,9 +14,9 @@ ZLE_PATH_STYLE='fg=white,underline' ZLE_COMMAND_UNKNOWN_TOKEN_STYLE='fg=red,bold' ZLE_HYPHEN_CLI_OPTION='fg=yellow,bold' -ZLE_DOUBLE_HYPHEN_CLI_OPTION='fg=green,bold' +ZLE_DOUBLE_HYPHEN_CLI_OPTION='fg=yellow,bold' ZLE_SINGLE_QUOTED='fg=magenta,bold' -ZLE_DOUBLE_QUOTED='fg=red,bold' +ZLE_DOUBLE_QUOTED='fg=magenta,bold' ZLE_BACK_QUOTED='fg=cyan,bold' ZLE_GLOBING='fg=blue,bold' From 0503e60d9a9e99dfb6550fbb2a6cd8173c23e8c9 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Thu, 6 Jan 2011 18:19:21 -0500 Subject: [PATCH 50/61] lib/directories: remove the useless . alias --- lib/directories.zsh | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/directories.zsh b/lib/directories.zsh index 0070ad882..a97cf9c67 100644 --- a/lib/directories.zsh +++ b/lib/directories.zsh @@ -4,7 +4,6 @@ setopt auto_pushd setopt pushd_ignore_dups alias -- -='cd -' -alias .='pwd' alias ..='cd ..' alias ...='cd ../..' alias ....='cd ../../..' From 6b9f12edc1fe820af10b30c69a2179953588d049 Mon Sep 17 00:00:00 2001 From: Shawn Sorichetti Date: Wed, 2 Feb 2011 13:50:00 -0500 Subject: [PATCH 51/61] created a vim-mode plugin as I like to use ^r for searching, and the arrow keys --- plugins/vim-mode/vim-mode | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 plugins/vim-mode/vim-mode diff --git a/plugins/vim-mode/vim-mode b/plugins/vim-mode/vim-mode new file mode 100644 index 000000000..da7752133 --- /dev/null +++ b/plugins/vim-mode/vim-mode @@ -0,0 +1,23 @@ +# TODO: Explain what some of this does.. +autoload -U compinit +compinit -i + +bindkey -v # I like my VI keybindings but I also like to use these others +bindkey '\ew' kill-region +bindkey -s '\el' "ls\n" +bindkey -s '\e.' "..\n" +bindkey '^r' history-incremental-search-backward +bindkey "^[[5~" up-line-or-history +bindkey "^[[6~" down-line-or-history + +# make search up and down work, so partially type and hit up/down to find relevant stuff +bindkey '^[[A' up-line-or-search +bindkey '^[[B' down-line-or-search + +bindkey "^[[H" beginning-of-line +bindkey "^[[1~" beginning-of-line +bindkey "^[[F" end-of-line +bindkey "^[[4~" end-of-line +bindkey ' ' magic-space # also do history expansion on space + +bindkey '^[[Z' reverse-menu-complete From cd2f1ef5c0c0861ae627b4fc92377a0da98856d9 Mon Sep 17 00:00:00 2001 From: Shawn Sorichetti Date: Wed, 2 Feb 2011 14:07:45 -0500 Subject: [PATCH 52/61] renamed to follow naming standard --- plugins/vim-mode/{vim-mode => vim-mode.plugin.zsh} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename plugins/vim-mode/{vim-mode => vim-mode.plugin.zsh} (100%) diff --git a/plugins/vim-mode/vim-mode b/plugins/vim-mode/vim-mode.plugin.zsh similarity index 100% rename from plugins/vim-mode/vim-mode rename to plugins/vim-mode/vim-mode.plugin.zsh From 44253498fc1d27104f7dcf49e821e17d77aeb845 Mon Sep 17 00:00:00 2001 From: Shawn Sorichetti Date: Thu, 24 Feb 2011 08:56:18 -0500 Subject: [PATCH 53/61] add subversion plugin --- plugins/svn/svn.plugin.zsh | 42 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 plugins/svn/svn.plugin.zsh diff --git a/plugins/svn/svn.plugin.zsh b/plugins/svn/svn.plugin.zsh new file mode 100644 index 000000000..e7fd1481f --- /dev/null +++ b/plugins/svn/svn.plugin.zsh @@ -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 +} From 57af129fc70a4ef6a736b5be20c64e606dbda457 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Thu, 24 Mar 2011 15:04:35 -0400 Subject: [PATCH 54/61] Add encrypt/decrypt. --- lib/misc.zsh | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/lib/misc.zsh b/lib/misc.zsh index a6a07c73c..0b5acdd9a 100644 --- a/lib/misc.zsh +++ b/lib/misc.zsh @@ -17,16 +17,14 @@ export LC_CTYPE=en_US.UTF-8 function pman() { man $1 -t | open -f -a Preview } - +# ## pretty JSON function pj() { python -mjson.tool } -## curl JSON -function cj() { - curl -sS $@ | pj -} + + ## Open current directory alias oo='open .' @@ -51,12 +49,10 @@ alias history='fc -l 1' export GREP_OPTIONS='--color=auto' export GREP_COLOR='1;32' -# What the hell did I do the other day? -function whatthehelldididoon() { - for repo in `find . -name '.hg'` - do - echo $repo - hg .. -R $repo/.. -d "$1" -u 'Steve Losh' - done +# Quick and dirty encryption +function encrypt() { + openssl des3 -a -in $1 -out $1.des3 +} +function decrypt() { + openssl des3 -d -a -in $1 -out ${1%.des3} } - From 9f202fc05f85755ab8beeb7f276aea47ad49bb07 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Thu, 7 Apr 2011 10:21:43 -0400 Subject: [PATCH 55/61] themes/prose: make the Mercurial binary configurable --- themes/prose.zsh-theme | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/themes/prose.zsh-theme b/themes/prose.zsh-theme index 9ade9e573..8f7f75943 100644 --- a/themes/prose.zsh-theme +++ b/themes/prose.zsh-theme @@ -1,9 +1,13 @@ +if [ "x$OH_MY_ZSH_HG" = "x" ]; then + OH_MY_ZSH_HG="hg" +fi + function virtualenv_info { [ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') ' } function hg_prompt_info { - hg prompt --angle-brackets "\ + $OH_MY_ZSH_HG prompt --angle-brackets "\ < on %{$fg[magenta]%}%{$reset_color%}>\ < at %{$fg[yellow]%}%{$reset_color%}>\ %{$fg[green]%}%{$reset_color%}< From 7f2d8f61c7c4852c3ec9a24f5642c780d798ad30 Mon Sep 17 00:00:00 2001 From: Shawn Sorichetti Date: Mon, 2 May 2011 15:41:56 -0400 Subject: [PATCH 56/61] missing a carriage return after function declaration --- lib/directories.zsh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/directories.zsh b/lib/directories.zsh index 1c8c4bf54..cf884040f 100644 --- a/lib/directories.zsh +++ b/lib/directories.zsh @@ -31,7 +31,9 @@ alias d='dirs -v' # mkdir & cd to it function mcd() { mkdir -p "$1" && cd "$1"; -}alias d='dirs -v' +} + +alias d='dirs -v' # List direcory contents alias l1='tree --dirsfirst -ChFL 1' From db8efc9a7b2a1a4b01b60f8b8a2ba0afd8fa4431 Mon Sep 17 00:00:00 2001 From: Shawn Sorichetti Date: Thu, 12 May 2011 09:18:59 -0400 Subject: [PATCH 57/61] switched to git.zsh from original --- lib/git.zsh | 8 -------- 1 file changed, 8 deletions(-) diff --git a/lib/git.zsh b/lib/git.zsh index 9f6b1ecb4..e96f075be 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -11,14 +11,6 @@ parse_git_dirty() { else echo "$ZSH_THEME_GIT_PROMPT_CLEAN" fi - - if [[ $(echo ${gitstat} | grep -c "^\(# Untracked files:\|# Changed but not updated:\)$") > 0 ]]; then - echo -n "$ZSH_THEME_GIT_PROMPT_UNTRACKED" - fi - - if [[ $(echo ${gitstat} | grep -v '^$' | wc -l | tr -d ' ') == 0 ]]; then - echo -n "$ZSH_THEME_GIT_PROMPT_CLEAN" - fi } # Checks if there are commits ahead from remote From 2833427020c1516e2a5a4ccb0c5c4c1e9ef1c9a7 Mon Sep 17 00:00:00 2001 From: Steve Losh Date: Fri, 3 Jun 2011 16:09:51 -0400 Subject: [PATCH 58/61] Add the rprompt with the retval indicator. --- themes/prose.zsh-theme | 3 +++ 1 file changed, 3 insertions(+) diff --git a/themes/prose.zsh-theme b/themes/prose.zsh-theme index 8f7f75943..51c1967d8 100644 --- a/themes/prose.zsh-theme +++ b/themes/prose.zsh-theme @@ -27,3 +27,6 @@ ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%}!" ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[green]%}?" ZSH_THEME_GIT_PROMPT_CLEAN="" + +local return_status="%{$fg[red]%}%(?..⏎)%{$reset_color%}" +RPROMPT='${return_status}%{$reset_color%}' From cd387dba2770da39c8384d9f3a9367b8d7467fba Mon Sep 17 00:00:00 2001 From: Shawn Sorichetti Date: Thu, 26 Jan 2012 10:38:16 -0500 Subject: [PATCH 59/61] Create my own theme to customize the prompts based on git_prompt_staus. Theme is based on Steve Losh's prose.zsh-theme. --- themes/hide.zsh-theme | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 themes/hide.zsh-theme diff --git a/themes/hide.zsh-theme b/themes/hide.zsh-theme new file mode 100644 index 000000000..4c116be0f --- /dev/null +++ b/themes/hide.zsh-theme @@ -0,0 +1,34 @@ +if [ "x$OH_MY_ZSH_HG" = "x" ]; then + OH_MY_ZSH_HG="hg" +fi + +function virtualenv_info { + [ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') ' +} + +function hg_prompt_info { + $OH_MY_ZSH_HG prompt --angle-brackets "\ +< on %{$fg[magenta]%}%{$reset_color%}>\ +< at %{$fg[yellow]%}%{$reset_color%}>\ +%{$fg[green]%}%{$reset_color%}< +patches: >" 2>/dev/null +} + +function box_name { + [ -f ~/.box-name ] && cat ~/.box-name || hostname -s +} + + +ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[yellow]%}:" +ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[green]%}!" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[green]%}?" +ZSH_THEME_GIT_PROMPT_CLEAN=":" + +PROMPT=' +%{$fg[magenta]%}%n%{$reset_color%} at %{$fg[yellow]%}$(box_name)%{$reset_color%} in %{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}$(hg_prompt_info)$(git_prompt_info)$(git_prompt_status) +$(virtualenv_info)$ ' + +local return_status="%{$fg[red]%}%(?..⏎)%{$reset_color%}" +RPROMPT='${return_status}%{$reset_color%}' From 6e6143ca4ae053a6a78b6d97ef3ab2bf9c13c9ea Mon Sep 17 00:00:00 2001 From: Shawn Sorichetti Date: Thu, 26 Jan 2012 11:16:46 -0500 Subject: [PATCH 60/61] Replace the echo and grep commands on $INDEX with shell comparisons. Saves the forking. --- lib/git.zsh | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/git.zsh b/lib/git.zsh index defa062c6..9819f7faa 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -34,30 +34,30 @@ function git_prompt_long_sha() { git_prompt_status() { INDEX=$(git status --porcelain 2> /dev/null) STATUS="" - if $(echo "$INDEX" | grep '^?? ' &> /dev/null); then + if [ "${INDEX#?? }" != "$INDEX" ]; then STATUS="$ZSH_THEME_GIT_PROMPT_UNTRACKED$STATUS" fi - if $(echo "$INDEX" | grep '^A ' &> /dev/null); then + if [ "${INDEX#A }" != "$INDEX" ]; then STATUS="$ZSH_THEME_GIT_PROMPT_ADDED$STATUS" - elif $(echo "$INDEX" | grep '^M ' &> /dev/null); then + elif [ "${INDEX#M }" != "$INDEX" ]; then STATUS="$ZSH_THEME_GIT_PROMPT_ADDED$STATUS" fi - if $(echo "$INDEX" | grep '^ M ' &> /dev/null); then + if [ "${INDEX# M }" != "$INDEX" ]; then STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS" - elif $(echo "$INDEX" | grep '^AM ' &> /dev/null); then + elif [ "${INDEX#AM }" != "$INDEX" ]; then STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS" - elif $(echo "$INDEX" | grep '^ T ' &> /dev/null); then + elif [ "${INDEX# T }" != "$INDEX" ]; then STATUS="$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS" fi - if $(echo "$INDEX" | grep '^R ' &> /dev/null); then + if [ "${INDEX#R }" != "$INDEX" ]; then STATUS="$ZSH_THEME_GIT_PROMPT_RENAMED$STATUS" fi - if $(echo "$INDEX" | grep '^ D ' &> /dev/null); then + if [ "${INDEX# D }" != "$INDEX" ]; then STATUS="$ZSH_THEME_GIT_PROMPT_DELETED$STATUS" - elif $(echo "$INDEX" | grep '^AD ' &> /dev/null); then + elif [ "${INDEX#AD }" != "$INDEX" ]; then STATUS="$ZSH_THEME_GIT_PROMPT_DELETED$STATUS" fi - if $(echo "$INDEX" | grep '^UU ' &> /dev/null); then + if [ "${INDEX#UU }" != "$INDEX" ]; then STATUS="$ZSH_THEME_GIT_PROMPT_UNMERGED$STATUS" fi echo $STATUS From cd9b5774bb0ccd0ce9e83c1a133bafc1fec9cc89 Mon Sep 17 00:00:00 2001 From: Shawn Sorichetti Date: Fri, 3 Feb 2012 16:33:29 -0500 Subject: [PATCH 61/61] change what symbols are used for different git statuses. Didn't like the previous ones as they conflicted with what I'm used to. --- themes/hide.zsh-theme | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/themes/hide.zsh-theme b/themes/hide.zsh-theme index 4c116be0f..ecbb123d0 100644 --- a/themes/hide.zsh-theme +++ b/themes/hide.zsh-theme @@ -21,13 +21,14 @@ function box_name { ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}" ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" -ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[yellow]%}:" -ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[green]%}!" -ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[green]%}?" +ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[green]%}?" +ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[green]%}!" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[yellow]%}:" +ZSH_THEME_GIT_PROMPT_DIRTY="" ZSH_THEME_GIT_PROMPT_CLEAN=":" PROMPT=' -%{$fg[magenta]%}%n%{$reset_color%} at %{$fg[yellow]%}$(box_name)%{$reset_color%} in %{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}$(hg_prompt_info)$(git_prompt_info)$(git_prompt_status) +%{$fg[magenta]%}%n%{$reset_color%} at %{$fg[yellow]%}$(box_name)%{$reset_color%} in %{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}$(hg_prompt_info)$(git_prompt_info)$(git_prompt_status)%{$reset_color%} $(virtualenv_info)$ ' local return_status="%{$fg[red]%}%(?..⏎)%{$reset_color%}"