summary refs log tree commit diff
path: root/.zsh
diff options
context:
space:
mode:
Diffstat (limited to '.zsh')
-rw-r--r--.zsh/aliases.zsh58
-rw-r--r--.zsh/gitprompt.zsh68
-rw-r--r--.zsh/title.zsh12
3 files changed, 97 insertions, 41 deletions
diff --git a/.zsh/aliases.zsh b/.zsh/aliases.zsh
new file mode 100644
index 00000000..39d27603
--- /dev/null
+++ b/.zsh/aliases.zsh
@@ -0,0 +1,58 @@
+function reload {
+  source ~/.zshrc
+  reset
+}
+
+function mkcd {
+  mkdir $@
+  if [ "$1" = "-p" ]; then
+    cd $2
+  else
+    cd $1
+  fi
+}
+
+function home.programble.me {
+  ssh -R 8071:localhost:$1 quartz
+}
+
+
+alias killlall='killall'
+alias irb='ripl'
+alias l='ls'
+alias ll='ls'
+
+alias ls='ls --color=auto'
+alias grep='grep --color=auto'
+alias rm='rm -vI'
+
+alias gvim='gvim 2> /dev/null'
+
+alias sprunge='curl -F "sprunge=<-" http://sprunge.us'
+
+if which hub &> /dev/null; then
+  compdef hub=git
+  alias git=hub
+fi
+
+alias g=git
+alias ga='git add'
+alias gb='git branch'
+alias gc='git commit'
+alias gcl='git clone'
+alias gco='git checkout'
+alias gd='git diff'
+alias gi='git init'
+alias gl='git log'
+alias glg="git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative --color"
+alias gm='git merge'
+alias gmv='git mv'
+alias gp='git push'
+alias gpom='git pull origin master'
+alias gr='git remote'
+alias grm='git rm'
+alias gs='git status -sb'
+alias gsh='git show'
+alias gst='git stash'
+alias gt='git tag'
+alias gu='git pull'
diff --git a/.zsh/gitprompt.zsh b/.zsh/gitprompt.zsh
index 0a420786..433481b9 100644
--- a/.zsh/gitprompt.zsh
+++ b/.zsh/gitprompt.zsh
@@ -1,50 +1,50 @@
 # Ported from http://sebastiancelis.com/2009/11/16/zsh-prompt-git-users/
 
-function gitprompt_update
-{
-  unset __CURRENT_GIT_BRANCH
-  unset __CURRENT_GIT_BRANCH_STATUS
-  unset __CURRENT_GIT_BRANCH_IS_DIRTY
+function _gitprompt_update {
+  unset _git_branch
+  unset _git_status
+  unset _git_dirty
 
-  local st="$(git status 2>/dev/null)"
+  local st="$(git status 2> /dev/null)"
   if [[ -n "$st" ]]; then
     local -a arr
     arr=(${(f)st})
 
     if [[ $arr[1] =~ 'Not currently on any branch.' ]]; then
-      __CURRENT_GIT_BRANCH='no-branch'
+      _git_branch='none'
     else
-      __CURRENT_GIT_BRANCH="${arr[1][(w)4]}";
+      _git_branch="${arr[1][(w)-1]}"
     fi
 
     if [[ $arr[2] =~ 'Your branch is' ]]; then
       if [[ $arr[2] =~ 'ahead' ]]; then
-        __CURRENT_GIT_BRANCH_STATUS='ahead'
+        _git_status='ahead'
       elif [[ $arr[2] =~ 'diverged' ]]; then
-        __CURRENT_GIT_BRANCH_STATUS='diverged'
+        _git_status='diverged'
       else
-        __CURRENT_GIT_BRANCH_STATUS='behind'
+        _git_status='behind'
       fi
     fi
 
-    if [[ ! $st =~ 'nothing' ]]; then # Untracked files count as clean
-      __CURRENT_GIT_BRANCH_IS_DIRTY='1'
+    if [[ ! $st =~ 'nothing' ]]; then
+      _git_dirty=1
     fi
   fi
 }
 
-# Changed around the formatting here a bunch
-function gitprompt
-{
-  if [ -n "$__CURRENT_GIT_BRANCH" ]; then
-    local s="%{${fg[yellow]}%}"
-    if [ -n "$__CURRENT_GIT_BRANCH_IS_DIRTY" ]; then
+function gitprompt {
+  if [[ -n "$_git_branch" ]]; then
+    local s
+    [[ -z "$1" ]] && s="%{${fg[yellow]}%}"
+
+    if [[ -n "$_git_dirty" ]]; then
       s+="⚡"
     else
       s+=":"
     fi
-    s+="$__CURRENT_GIT_BRANCH"
-    case "$__CURRENT_GIT_BRANCH_STATUS" in
+
+    s+="$_git_branch"
+    case "$_git_status" in
       ahead)
         s+="↑"
         ;;
@@ -56,24 +56,18 @@ function gitprompt
         ;;
     esac
 
-    echo $s
+    echo "$s"
   fi
 }
 
-function gitprompt_preexec
-{
-  case "$1" in
-    g*) # Switched from git* to also detect my short aliases
-      __EXECUTED_GIT_COMMAND=1
-      ;;
-  esac
+function _gitprompt_preexec {
+  [[ "$1" =~ "^g" ]] && _git_command=1
 }
 
-function gitprompt_precmd
-{
-  if [ -n "$__EXECUTED_GIT_COMMAND" ]; then
-    gitprompt_update
-    unset __EXECUTED_GIT_COMMAND
+function _gitprompt_precmd {
+  if [[ -n "$_git_command" ]]; then
+    _gitprompt_update
+    unset _git_command
   fi
 }
 
@@ -81,6 +75,6 @@ typeset -ga preexec_functions
 typeset -ga precmd_functions
 typeset -ga chpwd_functions
 
-preexec_functions+='gitprompt_preexec'
-precmd_functions+='gitprompt_precmd'
-chpwd_functions+='gitprompt_update'
+preexec_functions+='_gitprompt_preexec'
+precmd_functions+='_gitprompt_precmd'
+chpwd_functions+='_gitprompt_update'
diff --git a/.zsh/title.zsh b/.zsh/title.zsh
index b0d7ad70..5a00c458 100644
--- a/.zsh/title.zsh
+++ b/.zsh/title.zsh
@@ -1,9 +1,9 @@
 function _title {
-  echo -en "\033]0;$@\a"
+  print -Pn "\033]0;$@\a"
 }
 
 function title {
-  if [ -n "$1" ]; then
+  if [[ -n "$1" ]]; then
     _title_custom=1
     _title $@
   else
@@ -13,14 +13,18 @@ function title {
 }
 
 function _title_preexec {
-  [ -z "$_title_custom" ] && _title "$1"
+  [[ -z "$_title_custom" ]] && _title "$1"
 }
 
+unset _title_host
+[[ -n "$SSH_CLIENT" ]] && _title_host='%m:'
+
 function _title_precmd {
-  [ -z "$_title_custom" ] && _title zsh
+  [[ -z "$_title_custom" ]] && _title '$_title_host%1~$(gitprompt nocolor)'
 }
 
 typeset -ga preexec_functions
 typeset -ga precmd_functions
+
 preexec_functions+='_title_preexec'
 precmd_functions+='_title_precmd'