Browse Source

Merge branch 'master' of git://github.com/robbyrussell/oh-my-zsh

Conflicts:
	lib/termsupport.zsh
Fredrik Appelberg 13 years ago
parent
commit
0a89611921

+ 10 - 8
README.textile

@@ -8,7 +8,7 @@ h2. Setup
 
 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
 
@@ -54,16 +54,18 @@ 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).
 
-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!
 
 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!
 
 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!

+ 0 - 1
lib/completion.zsh

@@ -4,7 +4,6 @@ unsetopt menu_complete   # do not autoselect the first completion entry
 unsetopt flowcontrol
 setopt auto_menu         # show completion menu on succesive tab press
 setopt complete_in_word
-setopt complete_aliases
 setopt always_to_end
 
 WORDCHARS=''

+ 8 - 5
lib/termsupport.zsh

@@ -3,11 +3,12 @@
 #Fully support screen, iterm, and probably most modern xterm and rxvt
 #Limited support for Apple Terminal (Terminal can't set window or tab separately)
 function title {
-  if [[ "$TERM" == "screen" ]]; then 
-    print -Pn "\ek$1\e\\" #set screen hardstatus, usually truncated at 20 chars
-  elif [[ ("$TERM" =~ "^xterm") ]] || [[ ("$TERM" == "rxvt") ]] || [[ "$TERM_PROGRAM" == "iTerm.app" ]]; then
-    print -Pn "\e]2;$2\a" #set window name
-    print -Pn "\e]1;$1\a" #set icon (=tab) name (will override window name on broken terminal)
+  [ "$DISABLE_AUTO_TITLE" != "true" ] || return
+  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
+    print -Pn "\e]2;$2:q\a" #set window name
+    print -Pn "\e]1;$1:q\a" #set icon (=tab) name (will override window name on broken terminal)
   fi
 }
 
@@ -21,6 +22,8 @@ function precmd {
 
 #Appears at the beginning of (and during) of command execution
 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
   title "$CMD" "%100>...>$2%<<"
 }

+ 19 - 2
plugins/git/git.plugin.zsh

@@ -1,22 +1,36 @@
 # Aliases
 alias g='git'
+compdef g=git
 alias gst='git status'
+compdef _git gst=git-status
 alias gl='git pull'
+compdef _git gl=git-pull
 alias gup='git fetch && git rebase'
+compdef _git gup=git-fetch
 alias gp='git push'
-alias gd='git diff | mate'
-alias gdv='git diff -w "$@" | vim -R -'
+compdef _git gp=git-push
+gdv() { git-diff -w "$@" | view - }
+compdef _git gdv=git-diff
 alias gc='git commit -v'
+compdef _git gc=git-commit
 alias gca='git commit -v -a'
+compdef _git gca=git-commit
 alias gco='git checkout'
+compdef _git gco=git-checkout
 alias gb='git branch'
+compdef _git gb=git-branch
 alias gba='git branch -a'
+compdef _git gba=git-branch
 alias gcount='git shortlog -sn'
+compdef gcount=git
 alias gcp='git cherry-pick'
+compdef _git gcp=git-cherry-pick
 alias glg='git log --stat --max-count=5'
+compdef _git glg=git-log
 
 # Git and svn mix
 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
@@ -29,5 +43,8 @@ function current_branch() {
 
 # these aliases take advantage of the previous function
 alias ggpull='git pull origin $(current_branch)'
+compdef ggpull=git
 alias ggpush='git push origin $(current_branch)'
+compdef ggpush=git
 alias ggpnp='git pull origin $(current_branch) && git push origin $(current_branch)'
+compdef ggpnp=git

+ 7 - 0
plugins/github/github.plugin.zsh

@@ -1,3 +1,10 @@
+# hub alias from defunkt
+# https://github.com/defunkt/hub
+if [ "$commands[(I)hub]" ]; then
+    # eval `hub alias -s zsh`
+    function git(){hub "$@"}
+fi
+
 # add github completion function to path
 fpath=($ZSH/plugins/github $fpath)
 autoload -U compinit

+ 19 - 0
plugins/npm/_npm

@@ -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 "$@"

+ 4 - 0
plugins/npm/npm.plugin.zsh

@@ -0,0 +1,4 @@
+# add npm completion function to path
+fpath=($ZSH/plugins/npm $fpath)
+autoload -U compinit
+compinit -i

+ 3 - 0
templates/zshrc.zsh-template

@@ -14,6 +14,9 @@ export ZSH_THEME="robbyrussell"
 # Uncomment following line if you want to disable colors in ls
 # 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/*)
 # Example format: plugins=(rails git textmate ruby lighthouse)
 plugins=(git)

+ 10 - 0
themes/frisk.zsh-theme

@@ -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=""

+ 21 - 0
themes/kolo.zsh-theme

@@ -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 - 0
themes/kphoen.zsh-theme

@@ -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