diff options
author | Roman Kamyk <roman.kamyk@gmail.com> | 2011-02-05 11:48:46 +0100 |
---|---|---|
committer | Roman Kamyk <roman.kamyk@gmail.com> | 2011-02-05 11:48:46 +0100 |
commit | 3e260a9ef63ed8e73650c72049002e6f9edd0dc9 (patch) | |
tree | ff50ccfcc118375e11b5537bf08c9b8ad8edfe53 /lib | |
parent | 57e0b57434eb7f3b7d0fe0ca4849478477404e43 (diff) | |
parent | 01b0366f3e27cf30f3882870100f14625fc267d1 (diff) | |
download | zsh-3e260a9ef63ed8e73650c72049002e6f9edd0dc9.tar.gz zsh-3e260a9ef63ed8e73650c72049002e6f9edd0dc9.tar.bz2 zsh-3e260a9ef63ed8e73650c72049002e6f9edd0dc9.zip |
Merge branch 'master' of http://github.com/robbyrussell/oh-my-zsh
Diffstat (limited to 'lib')
-rw-r--r-- | lib/aliases.zsh | 2 | ||||
-rw-r--r-- | lib/appearance.zsh | 2 | ||||
-rw-r--r-- | lib/completion.zsh | 32 | ||||
-rw-r--r-- | lib/directories.zsh | 6 | ||||
-rw-r--r-- | lib/functions.zsh | 36 |
5 files changed, 70 insertions, 8 deletions
diff --git a/lib/aliases.zsh b/lib/aliases.zsh index d2d3aed81..b47de5bde 100644 --- a/lib/aliases.zsh +++ b/lib/aliases.zsh @@ -21,3 +21,5 @@ alias ll='ls -l' alias sl=ls # often screw this up alias afind='ack-grep -il' + +alias x=extract diff --git a/lib/appearance.zsh b/lib/appearance.zsh index ffee52b5e..aec67721a 100644 --- a/lib/appearance.zsh +++ b/lib/appearance.zsh @@ -34,5 +34,3 @@ ZSH_THEME_GIT_PROMPT_CLEAN="" # Text to display if the branch is c # Setup the prompt with pretty colors setopt prompt_subst -# Load the theme -source "$ZSH/themes/$ZSH_THEME.zsh-theme"
\ No newline at end of file diff --git a/lib/completion.zsh b/lib/completion.zsh index 52cc5b53c..9c2dfecca 100644 --- a/lib/completion.zsh +++ b/lib/completion.zsh @@ -34,9 +34,31 @@ zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm zstyle ':completion:*:cd:*' tag-order local-directories directory-stack path-directories cdpath=(.) +# use /etc/hosts and known_hosts for hostname completion +[ -r ~/.ssh/known_hosts ] && _ssh_hosts=(${${${${(f)"$(<$HOME/.ssh/known_hosts)"}:#[\|]*}%%\ *}%%,*}) || _ssh_hosts=() +[ -r /etc/hosts ] && : ${(A)_etc_hosts:=${(s: :)${(ps:\t:)${${(f)~~"$(</etc/hosts)"}%%\#*}##[:blank:]#[^[:blank:]]#}}} || _etc_hosts=() +hosts=( + "$_ssh_hosts[@]" + "$_etc_hosts[@]" + `hostname` + localhost +) +zstyle ':completion:*:hosts' hosts $hosts + +# Use caching so that commands like apt and dpkg complete are useable +zstyle ':completion::complete:*' use-cache 1 +zstyle ':completion::complete:*' cache-path ~/.oh-my-zsh/cache/ + +# Don't complete uninteresting users +zstyle ':completion:*:*:*:users' ignored-patterns \ + adm amanda apache avahi beaglidx bin cacti canna clamav daemon \ + dbus distcache dovecot fax ftp games gdm gkrellmd gopher \ + hacluster haldaemon halt hsqldb ident junkbust ldap lp mail \ + mailman mailnull mldonkey mysql nagios \ + named netdump news nfsnobody nobody nscd ntp nut nx openvpn \ + operator pcap postfix postgres privoxy pulse pvm quagga radvd \ + rpc rpcuser rpm shutdown squid sshd sync uucp vcsa xfs + +# ... unless we really want to. +zstyle '*' single-ignored show -# Load known hosts file for auto-completion with ssh and scp commands -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 diff --git a/lib/directories.zsh b/lib/directories.zsh index 56d7a2316..bb114f615 100644 --- a/lib/directories.zsh +++ b/lib/directories.zsh @@ -36,5 +36,9 @@ cd () { alias md='mkdir -p' alias rd=rmdir +alias d='dirs -v' -alias d='dirs -v'
\ No newline at end of file +# mkdir & cd to it +function mcd() { + mkdir -p "$1" && cd "$1"; +}
\ No newline at end of file diff --git a/lib/functions.zsh b/lib/functions.zsh index e3c0de43e..914f2ef25 100644 --- a/lib/functions.zsh +++ b/lib/functions.zsh @@ -37,3 +37,39 @@ function take() { mkdir -p $1 cd $1 } + +function extract() { + unset REMOVE_ARCHIVE + + if test "$1" = "-r"; then + REMOVE=1 + shift + fi + if [[ -f $1 ]]; then + case $1 in + *.tar.bz2) tar xvjf $1;; + *.tar.gz) tar xvzf $1;; + *.tar.xz) tar xvJf $1;; + *.tar.lzma) tar --lzma -xvf $1;; + *.bz2) bunzip $1;; + *.rar) unrar $1;; + *.gz) gunzip $1;; + *.tar) tar xvf $1;; + *.tbz2) tar xvjf $1;; + *.tgz) tar xvzf $1;; + *.zip) unzip $1;; + *.Z) uncompress $1;; + *.7z) 7z x $1;; + *) echo "'$1' cannot be extracted via >extract<";; + esac + + if [[ $REMOVE_ARCHIVE -eq 1 ]]; then + echo removing "$1"; + /bin/rm "$1"; + fi + + else + echo "'$1' is not a valid file" + fi +} + |