diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/aliases.zsh | 1 | ||||
-rw-r--r-- | lib/completion.zsh | 2 | ||||
-rw-r--r-- | lib/correction.zsh | 20 | ||||
-rw-r--r-- | lib/directories.zsh | 1 | ||||
-rw-r--r-- | lib/functions.zsh | 6 | ||||
-rw-r--r-- | lib/git.zsh | 16 | ||||
-rw-r--r-- | lib/grep.zsh | 23 | ||||
-rw-r--r-- | lib/key-bindings.zsh | 4 | ||||
-rw-r--r-- | lib/termsupport.zsh | 10 |
9 files changed, 51 insertions, 32 deletions
diff --git a/lib/aliases.zsh b/lib/aliases.zsh index 3044c9660..aae865046 100644 --- a/lib/aliases.zsh +++ b/lib/aliases.zsh @@ -30,7 +30,6 @@ alias lsa='ls -lah' alias l='ls -lah' alias ll='ls -lh' alias la='ls -lAh' -alias sl=ls # often screw this up alias afind='ack-grep -il' diff --git a/lib/completion.zsh b/lib/completion.zsh index c54249c52..fa1d97f48 100644 --- a/lib/completion.zsh +++ b/lib/completion.zsh @@ -44,7 +44,7 @@ zstyle ':completion:*:*:*:users' ignored-patterns \ named netdump news nfsnobody nobody nscd ntp nut nx obsrun openvpn \ operator pcap polkitd postfix postgres privoxy pulse pvm quagga radvd \ rpc rpcuser rpm rtkit scard shutdown squid sshd statd svn sync tftp \ - usbmux uucp vcsa wwwrun xfs + usbmux uucp vcsa wwwrun xfs '_*' # ... unless we really want to. zstyle '*' single-ignored show diff --git a/lib/correction.zsh b/lib/correction.zsh index 47eb83b1d..3e1415a0b 100644 --- a/lib/correction.zsh +++ b/lib/correction.zsh @@ -1,13 +1,13 @@ -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' -alias sudo='nocorrect sudo' - if [[ "$ENABLE_CORRECTION" == "true" ]]; then + alias ebuild='nocorrect ebuild' + alias gist='nocorrect gist' + alias heroku='nocorrect heroku' + alias hpodder='nocorrect hpodder' + alias man='nocorrect man' + alias mkdir='nocorrect mkdir' + alias mv='nocorrect mv' + alias mysql='nocorrect mysql' + alias sudo='nocorrect sudo' + setopt correct_all fi diff --git a/lib/directories.zsh b/lib/directories.zsh index 1896945f4..02743e0c7 100644 --- a/lib/directories.zsh +++ b/lib/directories.zsh @@ -1,5 +1,4 @@ # Changing/making/removing directory -setopt auto_name_dirs setopt auto_pushd setopt pushd_ignore_dups setopt pushdminus diff --git a/lib/functions.zsh b/lib/functions.zsh index aaf8a03e3..17f5f9cbf 100644 --- a/lib/functions.zsh +++ b/lib/functions.zsh @@ -1,13 +1,13 @@ function zsh_stats() { - history | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n20 + fc -l 1 | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n20 } function uninstall_oh_my_zsh() { - /usr/bin/env ZSH=$ZSH /bin/sh $ZSH/tools/uninstall.sh + env ZSH=$ZSH /bin/sh $ZSH/tools/uninstall.sh } function upgrade_oh_my_zsh() { - /usr/bin/env ZSH=$ZSH /bin/sh $ZSH/tools/upgrade.sh + env ZSH=$ZSH /bin/sh $ZSH/tools/upgrade.sh } function take() { diff --git a/lib/git.zsh b/lib/git.zsh index 305a77aff..e1ca9b113 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -1,8 +1,8 @@ # get the name of the branch we are on function git_prompt_info() { - if [[ "$(git config --get oh-my-zsh.hide-status)" != "1" ]]; then + if [[ "$(command git config --get oh-my-zsh.hide-status 2>/dev/null)" != "1" ]]; then ref=$(command git symbolic-ref HEAD 2> /dev/null) || \ - ref=$(command git rev-parse --short HEAD 2> /dev/null) || return + ref=$(command git rev-parse --short HEAD 2> /dev/null) || return 0 echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX" fi } @@ -13,7 +13,7 @@ parse_git_dirty() { local SUBMODULE_SYNTAX='' local GIT_STATUS='' local CLEAN_MESSAGE='nothing to commit (working directory clean)' - if [[ "$(command git config --get oh-my-zsh.hide-status)" != "1" ]]; then + if [[ "$(command git config --get oh-my-zsh.hide-dirty)" != "1" ]]; then if [[ $POST_1_7_2_GIT -gt 0 ]]; then SUBMODULE_SYNTAX="--ignore-submodules=dirty" fi @@ -54,11 +54,19 @@ git_remote_status() { # Checks if there are commits ahead from remote function git_prompt_ahead() { - if $(echo "$(command git log origin/$(current_branch)..HEAD 2> /dev/null)" | grep '^commit' &> /dev/null); then + if $(echo "$(command git log @{upstream}..HEAD 2> /dev/null)" | grep '^commit' &> /dev/null); then echo "$ZSH_THEME_GIT_PROMPT_AHEAD" fi } +# Gets the number of commits ahead from remote +function git_commits_ahead() { + if $(echo "$(command git log @{upstream}..HEAD 2> /dev/null)" | grep '^commit' &> /dev/null); then + COMMITS=$(command git log @{upstream}..HEAD | grep '^commit' | wc -l | tr -d ' ') + echo "$ZSH_THEME_GIT_COMMITS_AHEAD_PREFIX$COMMITS$ZSH_THEME_GIT_COMMITS_AHEAD_SUFFIX" + fi +} + # Formats prompt string for current git commit short SHA function git_prompt_short_sha() { SHA=$(command git rev-parse --short HEAD 2> /dev/null) && echo "$ZSH_THEME_GIT_PROMPT_SHA_BEFORE$SHA$ZSH_THEME_GIT_PROMPT_SHA_AFTER" diff --git a/lib/grep.zsh b/lib/grep.zsh index 977435ee4..276fec382 100644 --- a/lib/grep.zsh +++ b/lib/grep.zsh @@ -3,11 +3,22 @@ # Examples: http://rubyurl.com/ZXv # -# avoid VCS folders -GREP_OPTIONS= -for PATTERN in .cvs .git .hg .svn; do - GREP_OPTIONS+="--exclude-dir=$PATTERN " -done -GREP_OPTIONS+="--color=auto" +GREP_OPTIONS="--color=auto" + +# avoid VCS folders (if the necessary grep flags are available) +grep-flag-available() { + echo | grep $1 "" >/dev/null 2>&1 +} +if grep-flag-available --exclude-dir=.cvs; then + for PATTERN in .cvs .git .hg .svn; do + GREP_OPTIONS+=" --exclude-dir=$PATTERN" + done +elif grep-flag-available --exclude=.cvs; then + for PATTERN in .cvs .git .hg .svn; do + GREP_OPTIONS+=" --exclude=$PATTERN" + done +fi +unfunction grep-flag-available + export GREP_OPTIONS="$GREP_OPTIONS" export GREP_COLOR='1;32' diff --git a/lib/key-bindings.zsh b/lib/key-bindings.zsh index 5f3f237c7..9063c6a18 100644 --- a/lib/key-bindings.zsh +++ b/lib/key-bindings.zsh @@ -46,8 +46,8 @@ bindkey ' ' magic-space # [Space] - do history exp bindkey '^[[1;5C' forward-word # [Ctrl-RightArrow] - move forward one word bindkey '^[[1;5D' backward-word # [Ctrl-LeftArrow] - move backward one word -if [[ "${terminfo[kdch1]}" != "" ]]; then - bindkey "${terminfo[kdch1]}" reverse-menu-complete # [Shift-Tab] - move through the completion menu backwards +if [[ "${terminfo[kcbt]}" != "" ]]; then + bindkey "${terminfo[kcbt]}" reverse-menu-complete # [Shift-Tab] - move through the completion menu backwards fi bindkey '^?' backward-delete-char # [Backspace] - delete backward diff --git a/lib/termsupport.zsh b/lib/termsupport.zsh index 5f2fe63d4..9d6681603 100644 --- a/lib/termsupport.zsh +++ b/lib/termsupport.zsh @@ -26,11 +26,13 @@ function omz_termsupport_precmd { function omz_termsupport_preexec { emulate -L zsh setopt extended_glob - local CMD=${1[(wr)^(*=*|sudo|ssh|rake|-*)]} #cmd name only, or if this is sudo or ssh, the next cmd + + # cmd name only, or if this is sudo or ssh, the next cmd + local CMD=${1[(wr)^(*=*|sudo|ssh|rake|-*)]:gs/%/%%} local LINE="${2:gs/%/%%}" + title '$CMD' '%100>...>$LINE%<<' } -autoload -U add-zsh-hook -add-zsh-hook precmd omz_termsupport_precmd -add-zsh-hook preexec omz_termsupport_preexec +precmd_functions+=(omz_termsupport_precmd) +preexec_functions+=(omz_termsupport_preexec) |