Moved hub into the git plugin.
This commit is contained in:
parent
62fc8d802e
commit
60f39d8d91
14
README.md
14
README.md
|
@ -4,29 +4,29 @@ A handful of functions, auto-complete helpers, and stuff that makes you shout...
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
`oh-my-zsh` should work with any recent release of [ZSH](http://www.zsh.org), but the
|
`oh-my-zsh` should work with any recent release of [Zsh](http://www.zsh.org), but the
|
||||||
minimum recommended version is 4.3.9.
|
minimum recommended version is 4.3.9.
|
||||||
|
|
||||||
1. Clone the repository.
|
1. Clone the repository.
|
||||||
|
|
||||||
`git clone git://github.com/sorin-ionescu/oh-my-zsh.git ~/.oh-my-zsh`
|
`git clone git://github.com/sorin-ionescu/oh-my-zsh.git ~/.oh-my-zsh`
|
||||||
|
|
||||||
2. Create a new ZSH configuration by copying the ZSH template provided.
|
2. Create a new Zsh configuration by copying the Zsh template provided.
|
||||||
|
|
||||||
**NOTE**: If you already have a `~/.zshrc` file, you should back it up with `cp
|
**NOTE**: If you already have a `~/.zshrc` file, you should back it up with `cp
|
||||||
~/.zshrc{,.orig}` in case you want to go back to your original settings.
|
~/.zshrc{,.orig}` in case you want to go back to your original settings.
|
||||||
|
|
||||||
cp ~/.oh-my-zsh/templates/zshrc.template.zsh ~/.zshrc
|
cp ~/.oh-my-zsh/templates/zshrc.template.zsh ~/.zshrc
|
||||||
|
|
||||||
3. Set ZSH as your default shell:
|
3. Set Zsh as your default shell:
|
||||||
|
|
||||||
`chsh -s /bin/zsh`
|
`chsh -s /bin/zsh`
|
||||||
|
|
||||||
4. Start / restart ZSH by opening a new terminal window or tab.
|
4. Start / restart Zsh by opening a new terminal window or tab.
|
||||||
|
|
||||||
### Problems?
|
### Problems?
|
||||||
|
|
||||||
If you are not able to find certain commands after switching to *Oh My ZSH*, you need
|
If you are not able to find certain commands after switching to *Oh My Zsh*, you need
|
||||||
to modify `PATH` in `~/.zshrc`, or better yet, in `~/functions/02.environment.zsh`
|
to modify `PATH` in `~/.zshrc`, or better yet, in `~/functions/02.environment.zsh`
|
||||||
(may be subject to merge conflicts).
|
(may be subject to merge conflicts).
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ to modify `PATH` in `~/.zshrc`, or better yet, in `~/functions/02.environment.zs
|
||||||
|
|
||||||
## Useful
|
## Useful
|
||||||
|
|
||||||
The [ZSH Reference Card](http://www.bash2zsh.com/zsh_refcard/refcard.pdf) is tasty.
|
The [Zsh Reference Card](http://www.bash2zsh.com/zsh_refcard/refcard.pdf) is tasty.
|
||||||
|
|
||||||
### Customization
|
### Customization
|
||||||
|
|
||||||
|
@ -51,7 +51,7 @@ If you have many related functions, you can organise them in a file in the
|
||||||
|
|
||||||
## Help out!
|
## Help out!
|
||||||
|
|
||||||
I am not a ZSH expert and suspect that there are improvements to be made. If you have
|
I am not a Zsh expert and suspect that there are improvements to be made. If you have
|
||||||
ideas on how to make the configuration easier to maintain or improve the performance,
|
ideas on how to make the configuration easier to maintain or improve the performance,
|
||||||
do not hesitate to fork and send pull requests!
|
do not hesitate to fork and send pull requests!
|
||||||
|
|
||||||
|
|
13
functions/duh
Normal file
13
functions/duh
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
# Displays human readable disk usage statistics.
|
||||||
|
function duh() {
|
||||||
|
(( $# == 0 )) && set -- *
|
||||||
|
if [[ "$OSTYPE" == linux* ]]; then
|
||||||
|
du -khsc "$@" | sort -h -r
|
||||||
|
else
|
||||||
|
du -kcs "$@" | awk '{ printf "%9.1fM %s\n", $1 / 1024, $2 } ' | sort -n -r
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
compdef _du duh
|
||||||
|
|
||||||
|
duh "$@"
|
||||||
|
|
7
functions/reload
Normal file
7
functions/reload
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# Reloads ~/.zshrc.
|
||||||
|
local zshrc="$HOME/.zshrc"
|
||||||
|
if [[ -n "$1" ]]; then
|
||||||
|
zshrc="$1"
|
||||||
|
fi
|
||||||
|
source "$zshrc"
|
||||||
|
|
|
@ -9,7 +9,7 @@ function check-bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
# Trap signals were generated with 'kill -l'.
|
# Trap signals were generated with 'kill -l'.
|
||||||
# DEBUG, EXIT, and ZERR are ZSH signals.
|
# DEBUG, EXIT, and ZERR are Zsh signals.
|
||||||
TRAP_SIGNALS=(
|
TRAP_SIGNALS=(
|
||||||
ABRT ALRM BUS CHLD CONT EMT FPE HUP ILL INFO INT IO KILL PIPE PROF QUIT
|
ABRT ALRM BUS CHLD CONT EMT FPE HUP ILL INFO INT IO KILL PIPE PROF QUIT
|
||||||
SEGV STOP SYS TERM TRAP TSTP TTIN TTOU URG USR1 USR2 VTALRM WINCH XCPU XFSZ
|
SEGV STOP SYS TERM TRAP TSTP TTIN TTOU URG USR1 USR2 VTALRM WINCH XCPU XFSZ
|
||||||
|
@ -19,12 +19,12 @@ TRAP_SIGNALS=(
|
||||||
# Adds a function to a list to be called when a trap is triggered.
|
# Adds a function to a list to be called when a trap is triggered.
|
||||||
function add-zsh-trap {
|
function add-zsh-trap {
|
||||||
if (( $# < 2 )); then
|
if (( $# < 2 )); then
|
||||||
echo "Usage: $0 type function"
|
print "Usage: $0 type function"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -z "$TRAP_SIGNALS[(r)$1]" ]]; then
|
if [[ -z "$TRAP_SIGNALS[(r)$1]" ]]; then
|
||||||
echo "$0: unknown signal: $1"
|
print "$0: unknown signal: $1"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
36
init.zsh
36
init.zsh
|
@ -1,4 +1,11 @@
|
||||||
# Initializes OH MY ZSH.
|
# Initializes Oh My Zsh.
|
||||||
|
|
||||||
|
# Check for the minimum supported version.
|
||||||
|
min_zsh_version=4.3.9
|
||||||
|
if ! autoload -Uz is-at-least || ! is-at-least "$min_zsh_version"; then
|
||||||
|
print "oh-my-zsh: The minimum supported Zsh version is $min_zsh_version."
|
||||||
|
fi
|
||||||
|
unset min_zsh_version
|
||||||
|
|
||||||
# Disable color in dumb terminals.
|
# Disable color in dumb terminals.
|
||||||
if [[ "$TERM" == 'dumb' ]]; then
|
if [[ "$TERM" == 'dumb' ]]; then
|
||||||
|
@ -7,10 +14,9 @@ fi
|
||||||
|
|
||||||
# Add functions to fpath.
|
# Add functions to fpath.
|
||||||
fpath=(
|
fpath=(
|
||||||
${0:h}/themes/*(/N)
|
${0:h}/themes/*(/FN)
|
||||||
${plugins:+${0:h}/plugins/${^plugins}}
|
${plugins:+${0:h}/plugins/${^plugins}/{functions,completions}(/FN)}
|
||||||
${0:h}/functions
|
${0:h}/{functions,completions}(/FN)
|
||||||
${0:h}/completions
|
|
||||||
$fpath
|
$fpath
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -29,14 +35,28 @@ source "${0:h}/alias.zsh"
|
||||||
source "${0:h}/spectrum.zsh"
|
source "${0:h}/spectrum.zsh"
|
||||||
source "${0:h}/utility.zsh"
|
source "${0:h}/utility.zsh"
|
||||||
|
|
||||||
|
# Autoload Zsh function builtins.
|
||||||
|
autoload -Uz age
|
||||||
|
autoload -Uz zargs
|
||||||
|
autoload -Uz zcalc
|
||||||
|
autoload -Uz zmv
|
||||||
|
|
||||||
# Source plugins defined in ~/.zshrc.
|
# Source plugins defined in ~/.zshrc.
|
||||||
for plugin in $plugins; do
|
for plugin in "$plugins[@]"; do
|
||||||
if [[ -f "${0:h}/plugins/$plugin/init.zsh" ]]; then
|
if [[ -f "${0:h}/plugins/$plugin/init.zsh" ]]; then
|
||||||
source "${0:h}/plugins/$plugin/init.zsh"
|
source "${0:h}/plugins/$plugin/init.zsh"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
unset plugin
|
unset plugin plugins
|
||||||
unset plugins
|
|
||||||
|
# Autoload Oh My Zsh functions.
|
||||||
|
for fdir in "$fpath[@]"; do
|
||||||
|
if [[ "$fdir" == ${0:h}/(|*/)functions ]]; then
|
||||||
|
for afunction in $fdir/[^_.]*(N.:t); do
|
||||||
|
autoload -Uz $afunction
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
# Set environment variables for launchd processes.
|
# Set environment variables for launchd processes.
|
||||||
if [[ "$OSTYPE" == darwin* ]]; then
|
if [[ "$OSTYPE" == darwin* ]]; then
|
||||||
|
|
|
@ -82,7 +82,7 @@ if [[ "$KEYMAP" == (emacs|) ]]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Bind to history substring search plugin if enabled;
|
# Bind to history substring search plugin if enabled;
|
||||||
# otherwise, bind to built-in ZSH history search.
|
# otherwise, bind to built-in Zsh history search.
|
||||||
if (( $+widgets[history-incremental-pattern-search-backward] )); then
|
if (( $+widgets[history-incremental-pattern-search-backward] )); then
|
||||||
bindkey "$keyinfo[Control]r" history-incremental-pattern-search-backward
|
bindkey "$keyinfo[Control]r" history-incremental-pattern-search-backward
|
||||||
bindkey "$keyinfo[Control]s" history-incremental-pattern-search-forward
|
bindkey "$keyinfo[Control]s" history-incremental-pattern-search-forward
|
||||||
|
@ -169,7 +169,7 @@ elif [[ "$KEYMAP" == 'vi' ]]; then
|
||||||
bindkey -M vicmd "G" end-of-history
|
bindkey -M vicmd "G" end-of-history
|
||||||
|
|
||||||
# Bind to history substring search plugin if enabled;
|
# Bind to history substring search plugin if enabled;
|
||||||
# otherwise, bind to built-in ZSH history search.
|
# otherwise, bind to built-in Zsh history search.
|
||||||
if (( $+plugins[(er)history-substring-search] )); then
|
if (( $+plugins[(er)history-substring-search] )); then
|
||||||
bindkey -M vicmd "k" history-substring-search-up
|
bindkey -M vicmd "k" history-substring-search-up
|
||||||
bindkey -M vicmd "j" history-substring-search-down
|
bindkey -M vicmd "j" history-substring-search-down
|
||||||
|
@ -194,7 +194,7 @@ elif [[ "$KEYMAP" == 'vi' ]]; then
|
||||||
bindkey -M viins "$keyinfo[Control]s" history-incremental-search-forward
|
bindkey -M viins "$keyinfo[Control]s" history-incremental-search-forward
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "oh-my-zsh: KEYMAP must be set 'emacs' or 'vi' but is set to '$KEYMAP'" >&2
|
print "oh-my-zsh: KEYMAP must be set 'emacs' or 'vi' but is set to '$KEYMAP'" >&2
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
68
plugins/archive/functions/extract
Normal file
68
plugins/archive/functions/extract
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
local remove_archive
|
||||||
|
local success
|
||||||
|
local file_name
|
||||||
|
local extract_dir
|
||||||
|
|
||||||
|
if (( $# == 0 )); then
|
||||||
|
print "Usage: extract [-option] [file ...]"
|
||||||
|
print
|
||||||
|
print "Options:"
|
||||||
|
print " -r, --remove Remove archive."
|
||||||
|
print
|
||||||
|
print "Report bugs to <sorin.ionescu@gmail.com>."
|
||||||
|
fi
|
||||||
|
|
||||||
|
remove_archive=1
|
||||||
|
if [[ "$1" == "-r" ]] || [[ "$1" == "--remove" ]]; then
|
||||||
|
remove_archive=0
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
|
while (( $# > 0 )); do
|
||||||
|
if [[ ! -f "$1" ]]; then
|
||||||
|
print "extract: '$1' is not a valid file" 1>&2
|
||||||
|
shift
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
success=0
|
||||||
|
file_name="${1:t}"
|
||||||
|
extract_dir="${file_name:r}"
|
||||||
|
case "$1" in
|
||||||
|
(*.tar.gz|*.tgz) tar xvzf "$1" ;;
|
||||||
|
(*.tar.bz2|*.tbz|*.tbz2) tar xvjf "$1" ;;
|
||||||
|
(*.tar.xz|*.txz) tar --xz --help &> /dev/null \
|
||||||
|
&& tar --xz -xvf "$1" \
|
||||||
|
|| xzcat "$1" | tar xvf - ;;
|
||||||
|
(*.tar.zma|*.tlz) tar --lzma --help &> /dev/null \
|
||||||
|
&& tar --lzma -xvf "$1" \
|
||||||
|
|| lzcat "$1" | tar xvf - ;;
|
||||||
|
(*.tar) tar xvf "$1" ;;
|
||||||
|
(*.gz) gunzip "$1" ;;
|
||||||
|
(*.bz2) bunzip2 "$1" ;;
|
||||||
|
(*.xz) unxz "$1" ;;
|
||||||
|
(*.lzma) unlzma "$1" ;;
|
||||||
|
(*.Z) uncompress "$1" ;;
|
||||||
|
(*.zip) unzip "$1" -d $extract_dir ;;
|
||||||
|
(*.rar) unrar e -ad "$1" ;;
|
||||||
|
(*.7z) 7za x "$1" ;;
|
||||||
|
(*.deb)
|
||||||
|
mkdir -p "$extract_dir/control"
|
||||||
|
mkdir -p "$extract_dir/data"
|
||||||
|
cd "$extract_dir"; ar vx "../${1}" > /dev/null
|
||||||
|
cd control; tar xzvf ../control.tar.gz
|
||||||
|
cd ../data; tar xzvf ../data.tar.gz
|
||||||
|
cd ..; rm *.tar.gz debian-binary
|
||||||
|
cd ..
|
||||||
|
;;
|
||||||
|
(*)
|
||||||
|
print "extract: '$1' cannot be extracted" 1>&2
|
||||||
|
success=1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
(( success = $success > 0 ? $success : $? ))
|
||||||
|
(( $success == 0 )) && (( $remove_archive == 0 )) && rm "$1"
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
45
plugins/archive/functions/ls-archive
Normal file
45
plugins/archive/functions/ls-archive
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
local verbose
|
||||||
|
|
||||||
|
if (( $# == 0 )); then
|
||||||
|
print "Usage: extract [-option] [file ...]"
|
||||||
|
print
|
||||||
|
print "Options:"
|
||||||
|
print " -v, --verbose Verbose archive listing."
|
||||||
|
print
|
||||||
|
print "Report bugs to <sorin.ionescu@gmail.com>."
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$1" == "-v" ]] || [[ "$1" == "--verbose" ]]; then
|
||||||
|
verbose=0
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
|
while (( $# > 0 )); do
|
||||||
|
if [[ ! -f "$1" ]]; then
|
||||||
|
print "extract: '$1' is not a valid file" 1>&2
|
||||||
|
shift
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
(*.tar.gz|*.tgz) tar t${verbose:+v}vzf "$1" ;;
|
||||||
|
(*.tar.bz2|*.tbz|*.tbz2) tar t${verbose:+v}jf "$1" ;;
|
||||||
|
(*.tar.xz|*.txz) tar --xz --help &> /dev/null \
|
||||||
|
&& tar --xz -t${verbose:+v}f "$1" \
|
||||||
|
|| xzcat "$1" | tar t${verbose:+v}f - ;;
|
||||||
|
(*.tar.zma|*.tlz) tar --lzma --help &> /dev/null \
|
||||||
|
&& tar --lzma -t${verbose:+v}f "$1" \
|
||||||
|
|| lzcat "$1" | tar x${verbose:+v}f - ;;
|
||||||
|
(*.tar) tar t${verbose:+v}f "$1" ;;
|
||||||
|
(*.zip) unzip -l${verbose:+v} "$1" ;;
|
||||||
|
(*.rar) unrar ${${verbose:+v}:-l} "$1" ;;
|
||||||
|
(*.7z) 7za l "$1" ;;
|
||||||
|
(*)
|
||||||
|
print "ls-archive: '$1' cannot be listed" 1>&2
|
||||||
|
success=1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
|
@ -1,125 +0,0 @@
|
||||||
# ------------------------------------------------------------------------------
|
|
||||||
# FILE: extract.plugin.zsh
|
|
||||||
# DESCRIPTION: oh-my-zsh plugin file.
|
|
||||||
# AUTHOR: Sorin Ionescu <sorin.ionescu@gmail.com>
|
|
||||||
# VERSION: 1.0.2
|
|
||||||
# ------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
function extract() {
|
|
||||||
local remove_archive
|
|
||||||
local success
|
|
||||||
local file_name
|
|
||||||
local extract_dir
|
|
||||||
|
|
||||||
if (( $# == 0 )); then
|
|
||||||
echo "Usage: extract [-option] [file ...]"
|
|
||||||
echo
|
|
||||||
echo "Options:"
|
|
||||||
echo " -r, --remove Remove archive."
|
|
||||||
echo
|
|
||||||
echo "Report bugs to <sorin.ionescu@gmail.com>."
|
|
||||||
fi
|
|
||||||
|
|
||||||
remove_archive=1
|
|
||||||
if [[ "$1" == "-r" ]] || [[ "$1" == "--remove" ]]; then
|
|
||||||
remove_archive=0
|
|
||||||
shift
|
|
||||||
fi
|
|
||||||
|
|
||||||
while (( $# > 0 )); do
|
|
||||||
if [[ ! -f "$1" ]]; then
|
|
||||||
echo "extract: '$1' is not a valid file" 1>&2
|
|
||||||
shift
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
|
|
||||||
success=0
|
|
||||||
file_name="$( basename "$1" )"
|
|
||||||
extract_dir="$( echo "$file_name" | sed "s/\.${1##*.}//g" )"
|
|
||||||
case "$1" in
|
|
||||||
(*.tar.gz|*.tgz) tar xvzf "$1" ;;
|
|
||||||
(*.tar.bz2|*.tbz|*.tbz2) tar xvjf "$1" ;;
|
|
||||||
(*.tar.xz|*.txz) tar --xz --help &> /dev/null \
|
|
||||||
&& tar --xz -xvf "$1" \
|
|
||||||
|| xzcat "$1" | tar xvf - ;;
|
|
||||||
(*.tar.zma|*.tlz) tar --lzma --help &> /dev/null \
|
|
||||||
&& tar --lzma -xvf "$1" \
|
|
||||||
|| lzcat "$1" | tar xvf - ;;
|
|
||||||
(*.tar) tar xvf "$1" ;;
|
|
||||||
(*.gz) gunzip "$1" ;;
|
|
||||||
(*.bz2) bunzip2 "$1" ;;
|
|
||||||
(*.xz) unxz "$1" ;;
|
|
||||||
(*.lzma) unlzma "$1" ;;
|
|
||||||
(*.Z) uncompress "$1" ;;
|
|
||||||
(*.zip) unzip "$1" -d $extract_dir ;;
|
|
||||||
(*.rar) unrar e -ad "$1" ;;
|
|
||||||
(*.7z) 7za x "$1" ;;
|
|
||||||
(*.deb)
|
|
||||||
mkdir -p "$extract_dir/control"
|
|
||||||
mkdir -p "$extract_dir/data"
|
|
||||||
cd "$extract_dir"; ar vx "../${1}" > /dev/null
|
|
||||||
cd control; tar xzvf ../control.tar.gz
|
|
||||||
cd ../data; tar xzvf ../data.tar.gz
|
|
||||||
cd ..; rm *.tar.gz debian-binary
|
|
||||||
cd ..
|
|
||||||
;;
|
|
||||||
(*)
|
|
||||||
echo "extract: '$1' cannot be extracted" 1>&2
|
|
||||||
success=1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
(( success = $success > 0 ? $success : $? ))
|
|
||||||
(( $success == 0 )) && (( $remove_archive == 0 )) && rm "$1"
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
function ls-archive() {
|
|
||||||
local verbose
|
|
||||||
|
|
||||||
if (( $# == 0 )); then
|
|
||||||
echo "Usage: extract [-option] [file ...]"
|
|
||||||
echo
|
|
||||||
echo "Options:"
|
|
||||||
echo " -v, --verbose Verbose archive listing."
|
|
||||||
echo
|
|
||||||
echo "Report bugs to <sorin.ionescu@gmail.com>."
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$1" == "-v" ]] || [[ "$1" == "--verbose" ]]; then
|
|
||||||
verbose=0
|
|
||||||
shift
|
|
||||||
fi
|
|
||||||
|
|
||||||
while (( $# > 0 )); do
|
|
||||||
if [[ ! -f "$1" ]]; then
|
|
||||||
echo "extract: '$1' is not a valid file" 1>&2
|
|
||||||
shift
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
(*.tar.gz|*.tgz) tar t${verbose:+v}vzf "$1" ;;
|
|
||||||
(*.tar.bz2|*.tbz|*.tbz2) tar t${verbose:+v}jf "$1" ;;
|
|
||||||
(*.tar.xz|*.txz) tar --xz --help &> /dev/null \
|
|
||||||
&& tar --xz -t${verbose:+v}f "$1" \
|
|
||||||
|| xzcat "$1" | tar t${verbose:+v}f - ;;
|
|
||||||
(*.tar.zma|*.tlz) tar --lzma --help &> /dev/null \
|
|
||||||
&& tar --lzma -t${verbose:+v}f "$1" \
|
|
||||||
|| lzcat "$1" | tar x${verbose:+v}f - ;;
|
|
||||||
(*.tar) tar t${verbose:+v}f "$1" ;;
|
|
||||||
(*.zip) unzip -l${verbose:+v} "$1" ;;
|
|
||||||
(*.rar) unrar ${${verbose:+v}:-l} "$1" ;;
|
|
||||||
(*.7z) 7za l "$1" ;;
|
|
||||||
(*)
|
|
||||||
echo "ls-archive: '$1' cannot be listed" 1>&2
|
|
||||||
success=1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
|
@ -6,5 +6,5 @@ alias bl='b list'
|
||||||
alias bo='b open'
|
alias bo='b open'
|
||||||
alias bp='b package'
|
alias bp='b package'
|
||||||
alias bu='b update'
|
alias bu='b update'
|
||||||
alias binit="bi && b package && echo '\nvendor/ruby' >>! .gitignore"
|
alias binit="bi && b package && print '\nvendor/ruby' >>! .gitignore"
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Uses the command-not-found package ZSH support as seen in
|
# Uses the command-not-found package Zsh support as seen in
|
||||||
# http://www.porcheron.info/command-not-found-for-zsh/ and
|
# http://www.porcheron.info/command-not-found-for-zsh/ and
|
||||||
# installed in Ubuntu.
|
# installed in Ubuntu.
|
||||||
|
|
||||||
|
|
9
plugins/dpkg/functions/apt-copy
Normal file
9
plugins/dpkg/functions/apt-copy
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
# Create a simple script that can be used to 'duplicate' a system.
|
||||||
|
print '#!/bin/sh'"\n" > apt-copy.sh
|
||||||
|
|
||||||
|
list=$(perl -m'AptPkg::Cache' -e '$c=AptPkg::Cache->new; for (keys %$c){ push @a, $_ if $c->{$_}->{'CurrentState'} eq 'Installed';} print "$_ " for sort @a;')
|
||||||
|
|
||||||
|
print 'aptitude install '"$list\n" >> apt-copy.sh
|
||||||
|
|
||||||
|
chmod +x apt-copy.sh
|
||||||
|
|
10
plugins/dpkg/functions/dbb-build
Normal file
10
plugins/dpkg/functions/dbb-build
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
# Kernel-package building shortcut.
|
||||||
|
MAKEFLAGS='' # Temporarily unset MAKEFLAGS ( '-j3' will fail ).
|
||||||
|
appendage='-custom' # This shows up in $ (uname -r ).
|
||||||
|
revision=$(date +"%Y%m%d") # This shows up in the .deb file name.
|
||||||
|
|
||||||
|
make-kpkg clean
|
||||||
|
|
||||||
|
time fakeroot make-kpkg --append-to-version "$appendage" --revision \
|
||||||
|
"$revision" kernel_image kernel_headers
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
# Debian ZSH Aliases and Functions
|
|
||||||
|
|
||||||
# Aliases
|
# Aliases
|
||||||
alias as="aptitude -F \"* %p -> %d \n(%v/%V)\" --no-gui --disable-columns search" # Search package.
|
alias as="aptitude -F \"* %p -> %d \n(%v/%V)\" --no-gui --disable-columns search" # Search package.
|
||||||
alias ad="sudo apt-get update" # Update packages lists.
|
alias ad="sudo apt-get update" # Update packages lists.
|
||||||
|
@ -22,28 +20,3 @@ alias debc='time dpkg-buildpackage -rfakeroot -us -uc'
|
||||||
# Remove ALL kernel images and headers EXCEPT the one in use.
|
# Remove ALL kernel images and headers EXCEPT the one in use.
|
||||||
alias kclean='su -c '\''aptitude remove -P ?and(~i~nlinux-(ima|hea) ?not(~n`uname -r`))'\'' root'
|
alias kclean='su -c '\''aptitude remove -P ?and(~i~nlinux-(ima|hea) ?not(~n`uname -r`))'\'' root'
|
||||||
|
|
||||||
# Functions
|
|
||||||
|
|
||||||
# Create a simple script that can be used to 'duplicate' a system.
|
|
||||||
function apt-copy() {
|
|
||||||
print '#!/bin/sh'"\n" > apt-copy.sh
|
|
||||||
|
|
||||||
list=$(perl -m'AptPkg::Cache' -e '$c=AptPkg::Cache->new; for (keys %$c){ push @a, $_ if $c->{$_}->{'CurrentState'} eq 'Installed';} print "$_ " for sort @a;')
|
|
||||||
|
|
||||||
print 'aptitude install '"$list\n" >> apt-copy.sh
|
|
||||||
|
|
||||||
chmod +x apt-copy.sh
|
|
||||||
}
|
|
||||||
|
|
||||||
# Kernel-package building shortcut.
|
|
||||||
function dbb-build() {
|
|
||||||
MAKEFLAGS='' # Temporarily unset MAKEFLAGS ( '-j3' will fail ).
|
|
||||||
appendage='-custom' # This shows up in $ (uname -r ).
|
|
||||||
revision=$(date +"%Y%m%d") # This shows up in the .deb file name.
|
|
||||||
|
|
||||||
make-kpkg clean
|
|
||||||
|
|
||||||
time fakeroot make-kpkg --append-to-version "$appendage" --revision \
|
|
||||||
"$revision" kernel_image kernel_headers
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,13 @@
|
||||||
# Get the latest Git completion.
|
# Get the latest Git completion.
|
||||||
completion_file="${0:h}/_git"
|
completion_file="${0:h}/completions/_git"
|
||||||
completion_file_url='http://zsh.git.sourceforge.net/git/gitweb.cgi?p=zsh/zsh;a=blob_plain;f=Completion/Unix/Command/_git;hb=HEAD'
|
completion_file_url='http://zsh.git.sourceforge.net/git/gitweb.cgi?p=zsh/zsh;a=blob_plain;f=Completion/Unix/Command/_git;hb=HEAD'
|
||||||
if [[ ! -e "$completion_file" ]] && (( $+commands[git] )); then
|
if [[ ! -e "$completion_file" ]] && (( $+commands[git] )); then
|
||||||
|
# Remove empty completions directory.
|
||||||
|
if [[ -d "${completion_file:h}"(/^F) ]]; then
|
||||||
|
rmdir "${completion_file:h}" 2> /dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
if mkdir -p "${completion_file:h}" > /dev/null; then
|
||||||
if (( $+commands[curl] )); then
|
if (( $+commands[curl] )); then
|
||||||
curl -L "$completion_file_url" -o "$completion_file" &> /dev/null &!
|
curl -L "$completion_file_url" -o "$completion_file" &> /dev/null &!
|
||||||
fi
|
fi
|
||||||
|
@ -10,6 +16,7 @@ if [[ ! -e "$completion_file" ]] && (( $+commands[git] )); then
|
||||||
wget -C "$completion_file_url" -O "$completion_file" &> /dev/null &!
|
wget -C "$completion_file_url" -O "$completion_file" &> /dev/null &!
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
unset completion_file
|
unset completion_file
|
||||||
unset completion_file_url
|
unset completion_file_url
|
||||||
|
|
||||||
|
|
9
plugins/git/functions/git-branch
Normal file
9
plugins/git/functions/git-branch
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
# Gets the current branch.
|
||||||
|
local ref="$(git symbolic-ref HEAD 2> /dev/null)"
|
||||||
|
if [[ -n "$ref" ]]; then
|
||||||
|
print "${ref#refs/heads/}"
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
22
plugins/git/functions/git-hub
Normal file
22
plugins/git/functions/git-hub
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
# Open the GitHub repository in the browser.
|
||||||
|
local url=$(
|
||||||
|
git config -l \
|
||||||
|
| grep "remote.origin.url" \
|
||||||
|
| sed -En "s/remote.origin.url=(git|https?)(@|:\/\/)github.com(:|\/)(.+)\/(.+).git/https:\/\/github.com\/\4\/\5/p"
|
||||||
|
)
|
||||||
|
|
||||||
|
if [[ -n "$url" ]]; then
|
||||||
|
url="${url}/tree/${$(git-branch):-master}"
|
||||||
|
|
||||||
|
if (( $+commands[$BROWSER] )); then
|
||||||
|
"$BROWSER" "$url"
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
print "fatal: Browser not set or set to a non-existent browser." >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
print "fatal: Not a Git repository or origin remote not set." >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
|
@ -1,22 +1,3 @@
|
||||||
# The default styles.
|
|
||||||
zstyle ':git-info:' action 'action:%s' # %s - Special action name (am, merge, rebase).
|
|
||||||
zstyle ':git-info:' added 'added:%a' # %a - Indicator to notify of added files.
|
|
||||||
zstyle ':git-info:' ahead 'ahead:%A' # %A - Indicator to notify of ahead branch.
|
|
||||||
zstyle ':git-info:' behind 'behind:%B' # %B - Indicator to notify of behind branch.
|
|
||||||
zstyle ':git-info:' branch '%b' # %b - Branch name.
|
|
||||||
zstyle ':git-info:' clean 'clean' # %C - Indicator to notify of clean branch.
|
|
||||||
zstyle ':git-info:' commit 'commit:%c' # %c - SHA-1 hash.
|
|
||||||
zstyle ':git-info:' deleted 'deleted:%d' # %d - Indicator to notify of deleted files.
|
|
||||||
zstyle ':git-info:' dirty 'dirty' # %D - Indicator to notify of dirty branch.
|
|
||||||
zstyle ':git-info:' modified 'modified:%m' # %m - Indicator to notify of modified files.
|
|
||||||
zstyle ':git-info:' remote '%R' # %R - Remote name.
|
|
||||||
zstyle ':git-info:' renamed 'renamed:%r' # %r - Indicator to notify of renamed files.
|
|
||||||
zstyle ':git-info:' stashed 'stashed:%S' # %S - Indicator to notify of stashed files.
|
|
||||||
zstyle ':git-info:' unmerged 'unmerged:%U' # %U - Indicator to notify of unmerged files.
|
|
||||||
zstyle ':git-info:' untracked 'untracked:%u' # %u - Indicator to notify of untracked files.
|
|
||||||
zstyle ':git-info:' prompt ' git:(%b %D%C)' # Left prompt.
|
|
||||||
zstyle ':git-info:' rprompt '' # Right prompt.
|
|
||||||
|
|
||||||
# Gets the Git special action (am, merge, rebase, etc.).
|
# Gets the Git special action (am, merge, rebase, etc.).
|
||||||
# Borrowed from vcs_info and edited.
|
# Borrowed from vcs_info and edited.
|
||||||
function _git-action() {
|
function _git-action() {
|
||||||
|
@ -36,7 +17,7 @@ function _git-action() {
|
||||||
else
|
else
|
||||||
action='am/rebase'
|
action='am/rebase'
|
||||||
fi
|
fi
|
||||||
echo "$action"
|
print "$action"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
@ -45,7 +26,7 @@ function _git-action() {
|
||||||
"${git_dir}/rebase-merge/interactive" \
|
"${git_dir}/rebase-merge/interactive" \
|
||||||
"${git_dir}/.dotest-merge/interactive"; do
|
"${git_dir}/.dotest-merge/interactive"; do
|
||||||
if [[ -f "$action_dir" ]]; then
|
if [[ -f "$action_dir" ]]; then
|
||||||
echo 'rebase-i'
|
print 'rebase-i'
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
@ -54,23 +35,23 @@ function _git-action() {
|
||||||
"${git_dir}/rebase-merge" \
|
"${git_dir}/rebase-merge" \
|
||||||
"${git_dir}/.dotest-merge"; do
|
"${git_dir}/.dotest-merge"; do
|
||||||
if [[ -d "$action_dir" ]]; then
|
if [[ -d "$action_dir" ]]; then
|
||||||
echo 'rebase-m'
|
print 'rebase-m'
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
if [[ -f "${git_dir}/MERGE_HEAD" ]]; then
|
if [[ -f "${git_dir}/MERGE_HEAD" ]]; then
|
||||||
echo 'merge'
|
print 'merge'
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -f "${git_dir}/CHERRY_PICK_HEAD" ]]; then
|
if [[ -f "${git_dir}/CHERRY_PICK_HEAD" ]]; then
|
||||||
echo 'cherry-pick'
|
print 'cherry-pick'
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -f "${git_dir}/BISECT_LOG" ]]; then
|
if [[ -f "${git_dir}/BISECT_LOG" ]]; then
|
||||||
echo 'bisect'
|
print 'bisect'
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -175,7 +156,7 @@ function git-info() {
|
||||||
elif [[ "$1" == [Oo][Ff][Ff] ]]; then
|
elif [[ "$1" == [Oo][Ff][Ff] ]]; then
|
||||||
git config --bool prompt.showinfo false
|
git config --bool prompt.showinfo false
|
||||||
else
|
else
|
||||||
echo "Usage: $0 [ on | off ]"
|
print "Usage: $0 [ on | off ]"
|
||||||
fi
|
fi
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
@ -355,3 +336,5 @@ function git-info() {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
git-info "$@"
|
||||||
|
|
9
plugins/git/functions/git-root
Normal file
9
plugins/git/functions/git-root
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
# Gets the repository root.
|
||||||
|
local root="$(git rev-parse --show-toplevel 2> /dev/null)"
|
||||||
|
if [[ -n "$root" ]]; then
|
||||||
|
print "$root"
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
# Aliases
|
|
||||||
|
|
||||||
# Hub by defunkt
|
# Hub by defunkt
|
||||||
# https://github.com/defunkt/hub
|
# https://github.com/defunkt/hub
|
||||||
if (( $+commands[hub] )); then
|
if (( $+commands[hub] )); then
|
|
@ -6,8 +6,8 @@
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
# Source plugin files.
|
# Source plugin files.
|
||||||
source "${0:h}/utility.zsh"
|
|
||||||
source "${0:h}/alias.zsh"
|
source "${0:h}/alias.zsh"
|
||||||
source "${0:h}/info.zsh"
|
source "${0:h}/hub.zsh"
|
||||||
|
source "${0:h}/style.zsh"
|
||||||
source "${0:h}/completion.zsh"
|
source "${0:h}/completion.zsh"
|
||||||
|
|
||||||
|
|
18
plugins/git/style.zsh
Normal file
18
plugins/git/style.zsh
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# The default styles.
|
||||||
|
zstyle ':git-info:' action 'action:%s' # %s - Special action name (am, merge, rebase).
|
||||||
|
zstyle ':git-info:' added 'added:%a' # %a - Indicator to notify of added files.
|
||||||
|
zstyle ':git-info:' ahead 'ahead:%A' # %A - Indicator to notify of ahead branch.
|
||||||
|
zstyle ':git-info:' behind 'behind:%B' # %B - Indicator to notify of behind branch.
|
||||||
|
zstyle ':git-info:' branch '%b' # %b - Branch name.
|
||||||
|
zstyle ':git-info:' clean 'clean' # %C - Indicator to notify of clean branch.
|
||||||
|
zstyle ':git-info:' commit 'commit:%c' # %c - SHA-1 hash.
|
||||||
|
zstyle ':git-info:' deleted 'deleted:%d' # %d - Indicator to notify of deleted files.
|
||||||
|
zstyle ':git-info:' dirty 'dirty' # %D - Indicator to notify of dirty branch.
|
||||||
|
zstyle ':git-info:' modified 'modified:%m' # %m - Indicator to notify of modified files.
|
||||||
|
zstyle ':git-info:' remote '%R' # %R - Remote name.
|
||||||
|
zstyle ':git-info:' renamed 'renamed:%r' # %r - Indicator to notify of renamed files.
|
||||||
|
zstyle ':git-info:' stashed 'stashed:%S' # %S - Indicator to notify of stashed files.
|
||||||
|
zstyle ':git-info:' unmerged 'unmerged:%U' # %U - Indicator to notify of unmerged files.
|
||||||
|
zstyle ':git-info:' untracked 'untracked:%u' # %u - Indicator to notify of untracked files.
|
||||||
|
zstyle ':git-info:' prompt ' git:(%b %D%C)' # Left prompt.
|
||||||
|
zstyle ':git-info:' rprompt '' # Right prompt.
|
|
@ -1,46 +0,0 @@
|
||||||
# Gets the current branch.
|
|
||||||
function git-branch() {
|
|
||||||
local ref="$(git symbolic-ref HEAD 2> /dev/null)"
|
|
||||||
if [[ -n "$ref" ]]; then
|
|
||||||
echo "${ref#refs/heads/}"
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Gets the repository root.
|
|
||||||
function git-root() {
|
|
||||||
local root="$(git rev-parse --show-toplevel 2> /dev/null)"
|
|
||||||
if [[ -n "$root" ]]; then
|
|
||||||
echo "$root"
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Open the GitHub repository in the browser.
|
|
||||||
function git-hub() {
|
|
||||||
local url=$(
|
|
||||||
git config -l \
|
|
||||||
| grep "remote.origin.url" \
|
|
||||||
| sed -En "s/remote.origin.url=(git|https?)(@|:\/\/)github.com(:|\/)(.+)\/(.+).git/https:\/\/github.com\/\4\/\5/p"
|
|
||||||
)
|
|
||||||
|
|
||||||
if [[ -n "$url" ]]; then
|
|
||||||
url="${url}/tree/${$(git-branch):-master}"
|
|
||||||
|
|
||||||
if (( $+commands[$BROWSER] )); then
|
|
||||||
"$BROWSER" "$url"
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
echo "fatal: Browser not set or set to a non-existent browser." >&2
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "fatal: Not a Git repository or origin remote not set." >&2
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
To activate this script, load it into an interactive ZSH session:
|
To activate this script, load it into an interactive Zsh session:
|
||||||
|
|
||||||
% source history-substring-search.zsh
|
% source history-substring-search.zsh
|
||||||
|
|
||||||
|
|
|
@ -147,9 +147,9 @@ if [[ $+functions[_zsh_highlight] -eq 0 ]]; then
|
||||||
# Rebind all ZLE widgets to make them invoke _zsh_highlights.
|
# Rebind all ZLE widgets to make them invoke _zsh_highlights.
|
||||||
_zsh_highlight_bind_widgets()
|
_zsh_highlight_bind_widgets()
|
||||||
{
|
{
|
||||||
# Load ZSH module zsh/zleparameter, needed to override user defined widgets.
|
# Load Zsh module zsh/zleparameter, needed to override user defined widgets.
|
||||||
zmodload zsh/zleparameter 2>/dev/null || {
|
zmodload zsh/zleparameter 2>/dev/null || {
|
||||||
echo 'zsh-syntax-highlighting: failed loading zsh/zleparameter.' >&2
|
print 'zsh-syntax-highlighting: failed loading zsh/zleparameter.' >&2
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -176,7 +176,7 @@ if [[ $+functions[_zsh_highlight] -eq 0 ]]; then
|
||||||
zle -N $cur_widget _zsh_highlight_widget_$cur_widget";;
|
zle -N $cur_widget _zsh_highlight_widget_$cur_widget";;
|
||||||
|
|
||||||
# Default: unhandled case.
|
# Default: unhandled case.
|
||||||
*) echo "zsh-syntax-highlighting: unhandled ZLE widget '$cur_widget'" >&2 ;;
|
*) print "zsh-syntax-highlighting: unhandled ZLE widget '$cur_widget'" >&2 ;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
@ -347,7 +347,7 @@ function _history-substring-search-down-buffer() {
|
||||||
|
|
||||||
function _history-substring-search-up-history() {
|
function _history-substring-search-up-history() {
|
||||||
#
|
#
|
||||||
# Behave like up in ZSH, except clear the $BUFFER
|
# Behave like up in Zsh, except clear the $BUFFER
|
||||||
# when beginning of history is reached like in Fish.
|
# when beginning of history is reached like in Fish.
|
||||||
#
|
#
|
||||||
if [[ -z $_history_substring_search_query ]]; then
|
if [[ -z $_history_substring_search_query ]]; then
|
||||||
|
@ -369,7 +369,7 @@ function _history-substring-search-up-history() {
|
||||||
|
|
||||||
function _history-substring-search-down-history() {
|
function _history-substring-search-down-history() {
|
||||||
#
|
#
|
||||||
# Behave like down-history in ZSH, except clear the
|
# Behave like down-history in Zsh, except clear the
|
||||||
# $BUFFER when end of history is reached like in Fish.
|
# $BUFFER when end of history is reached like in Fish.
|
||||||
#
|
#
|
||||||
if [[ -z $_history_substring_search_query ]]; then
|
if [[ -z $_history_substring_search_query ]]; then
|
||||||
|
|
|
@ -3,7 +3,6 @@ alias kate='kate >/dev/null 2>&1' # Silent start.
|
||||||
|
|
||||||
# Functions
|
# Functions
|
||||||
function kt() {
|
function kt() {
|
||||||
cd "$1"
|
cd "$1" && kate .
|
||||||
kate "$1"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
4
plugins/node/functions/node-docs
Normal file
4
plugins/node/functions/node-docs
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
# Open the node api for your current version to the optional section.
|
||||||
|
# TODO: Make the sections easier to use.
|
||||||
|
open "http://nodejs.org/docs/$(node --version)/api/all.html#${1}"
|
||||||
|
|
|
@ -9,9 +9,3 @@ else
|
||||||
fi
|
fi
|
||||||
unset cache_file
|
unset cache_file
|
||||||
|
|
||||||
# Open the node api for your current version to the optional section.
|
|
||||||
# TODO: Make the sections easier to use.
|
|
||||||
function node-docs() {
|
|
||||||
open "http://nodejs.org/docs/$(node --version)/api/all.html#$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
10
plugins/osx/README.md
Normal file
10
plugins/osx/README.md
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
Provides the following commands.
|
||||||
|
|
||||||
|
- `tab` create a new tab (works in both _Terminal_ and _iTerm_).
|
||||||
|
- `pfd` print current _Finder_ directory.
|
||||||
|
- `pfs` print current _Finder_ selection.
|
||||||
|
- `cdf` cd to current _Finder_ directory.
|
||||||
|
- `pushdf` pushd to current _Finder_ directory.
|
||||||
|
- `ql` quick look at files.
|
||||||
|
- `manp` Open MAN pages in _Preview.app_.
|
||||||
|
- `trash` Move files and folders to _Trash_.
|
|
@ -1,5 +0,0 @@
|
||||||
#compdef man-preview
|
|
||||||
#autoload
|
|
||||||
|
|
||||||
_man
|
|
||||||
|
|
6
plugins/osx/functions/pfd
Normal file
6
plugins/osx/functions/pfd
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
osascript 2>/dev/null <<EOF
|
||||||
|
tell application "Finder"
|
||||||
|
return POSIX path of (target of window 1 as alias)
|
||||||
|
end tell
|
||||||
|
EOF
|
||||||
|
|
11
plugins/osx/functions/pfs
Normal file
11
plugins/osx/functions/pfs
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
osascript 2>/dev/null <<EOF
|
||||||
|
set output to ""
|
||||||
|
tell application "Finder" to set the_selection to selection
|
||||||
|
set item_count to count the_selection
|
||||||
|
repeat with item_index from 1 to count the_selection
|
||||||
|
if item_index is less than item_count then set the_delimiter to "\n"
|
||||||
|
if item_index is item_count then set the_delimiter to ""
|
||||||
|
set output to output & ((item item_index of the_selection as alias)'s POSIX path) & the_delimiter
|
||||||
|
end repeat
|
||||||
|
EOF
|
||||||
|
|
34
plugins/osx/functions/tab
Normal file
34
plugins/osx/functions/tab
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
local command="cd \\\"$PWD\\\""
|
||||||
|
(( $# > 0 )) && command="${command}; $*"
|
||||||
|
|
||||||
|
the_app=$(
|
||||||
|
osascript 2>/dev/null <<EOF
|
||||||
|
tell application "System Events"
|
||||||
|
name of first item of (every process whose frontmost is true)
|
||||||
|
end tell
|
||||||
|
EOF
|
||||||
|
)
|
||||||
|
|
||||||
|
[[ "$the_app" == 'Terminal' ]] && {
|
||||||
|
osascript 2>/dev/null <<EOF
|
||||||
|
tell application "System Events"
|
||||||
|
tell process "Terminal" to keystroke "t" using command down
|
||||||
|
tell application "Terminal" to do script "${command}" in front window
|
||||||
|
end tell
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
[[ "$the_app" == 'iTerm' ]] && {
|
||||||
|
osascript 2>/dev/null <<EOF
|
||||||
|
tell application "iTerm"
|
||||||
|
set current_terminal to current terminal
|
||||||
|
tell current_terminal
|
||||||
|
launch session "Default Session"
|
||||||
|
set current_session to current session
|
||||||
|
tell current_session
|
||||||
|
write text "${command}"
|
||||||
|
end tell
|
||||||
|
end tell
|
||||||
|
end tell
|
||||||
|
EOF
|
||||||
|
}
|
13
plugins/osx/functions/trash
Normal file
13
plugins/osx/functions/trash
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
local trash_dir="${HOME}/.Trash"
|
||||||
|
local trash_item
|
||||||
|
local item
|
||||||
|
for item in "${@}"; do
|
||||||
|
if [[ -e "${item}" ]] || [[ -L "${item}" ]]; then
|
||||||
|
trash_item="${trash_dir}/${item:t}"
|
||||||
|
if [[ -e "${trash_item}" ]] || [[ -L "${trash_item}" ]]; then
|
||||||
|
trash_item="${trash_item} $(date "+%H-%M-%S")"
|
||||||
|
fi
|
||||||
|
mv -f "${item}" "${trash_item}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
|
@ -1,103 +1,23 @@
|
||||||
# ------------------------------------------------------------------------------
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
# FILE: osx.plugin.zsh
|
|
||||||
# DESCRIPTION: oh-my-zsh plugin file.
|
|
||||||
# AUTHOR: Sorin Ionescu <sorin.ionescu@gmail.com>
|
|
||||||
# VERSION: 1.0.2
|
|
||||||
# ------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
|
# Change directory to the current Finder directory.
|
||||||
|
alias cdf='cd "$(pfd)"'
|
||||||
|
|
||||||
function tab() {
|
# Push directory to the current Finder directory.
|
||||||
local command="cd \\\"$PWD\\\""
|
alias pushdf='pushd "$(pfd)"'
|
||||||
(( $# > 0 )) && command="${command}; $*"
|
|
||||||
|
|
||||||
the_app=$(
|
# Open files in Quick Look.
|
||||||
osascript 2>/dev/null <<EOF
|
function ql() {
|
||||||
tell application "System Events"
|
(( $# > 0 )) && qlmanage -p "$@" &> /dev/null
|
||||||
name of first item of (every process whose frontmost is true)
|
|
||||||
end tell
|
|
||||||
EOF
|
|
||||||
)
|
|
||||||
|
|
||||||
[[ "$the_app" == 'Terminal' ]] && {
|
|
||||||
osascript 2>/dev/null <<EOF
|
|
||||||
tell application "System Events"
|
|
||||||
tell process "Terminal" to keystroke "t" using command down
|
|
||||||
tell application "Terminal" to do script "${command}" in front window
|
|
||||||
end tell
|
|
||||||
EOF
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[[ "$the_app" == 'iTerm' ]] && {
|
# Open man pages in Preview.
|
||||||
osascript 2>/dev/null <<EOF
|
function manp() {
|
||||||
tell application "iTerm"
|
(( $# > 0 )) && man -t "$@" | open -f -a Preview
|
||||||
set current_terminal to current terminal
|
|
||||||
tell current_terminal
|
|
||||||
launch session "Default Session"
|
|
||||||
set current_session to current session
|
|
||||||
tell current_session
|
|
||||||
write text "${command}"
|
|
||||||
end tell
|
|
||||||
end tell
|
|
||||||
end tell
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function pfd() {
|
|
||||||
osascript 2>/dev/null <<EOF
|
|
||||||
tell application "Finder"
|
|
||||||
return POSIX path of (target of window 1 as alias)
|
|
||||||
end tell
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
|
|
||||||
function pfs() {
|
|
||||||
osascript 2>/dev/null <<EOF
|
|
||||||
set output to ""
|
|
||||||
tell application "Finder" to set the_selection to selection
|
|
||||||
set item_count to count the_selection
|
|
||||||
repeat with item_index from 1 to count the_selection
|
|
||||||
if item_index is less than item_count then set the_delimiter to "\n"
|
|
||||||
if item_index is item_count then set the_delimiter to ""
|
|
||||||
set output to output & ((item item_index of the_selection as alias)'s POSIX path) & the_delimiter
|
|
||||||
end repeat
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
|
|
||||||
function cdf() {
|
|
||||||
cd "$(pfd)"
|
|
||||||
}
|
|
||||||
|
|
||||||
function pushdf() {
|
|
||||||
pushd "$(pfd)"
|
|
||||||
}
|
|
||||||
|
|
||||||
function quick-look() {
|
|
||||||
(( $# > 0 )) && qlmanage -p $* &>/dev/null &
|
|
||||||
}
|
|
||||||
|
|
||||||
function man-preview() {
|
|
||||||
man -t "$@" | open -f -a Preview
|
|
||||||
}
|
|
||||||
|
|
||||||
function trash() {
|
|
||||||
local trash_dir="${HOME}/.Trash"
|
|
||||||
local temp_ifs=$IFS
|
|
||||||
IFS=$'\n'
|
|
||||||
for item in "$@"; do
|
|
||||||
if [[ -e "$item" ]]; then
|
|
||||||
item_name="$(basename $item)"
|
|
||||||
if [[ -e "${trash_dir}/${item_name}" ]]; then
|
|
||||||
mv -f "$item" "${trash_dir}/${item_name} $(date "+%H-%M-%S")"
|
|
||||||
else
|
|
||||||
mv -f "$item" "${trash_dir}/"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
IFS=$temp_ifs
|
|
||||||
}
|
}
|
||||||
|
compdef _man manp
|
||||||
|
|
||||||
|
# Delete .DS_Store and __MACOSX directories.
|
||||||
function rm-osx-cruft() {
|
function rm-osx-cruft() {
|
||||||
find ${@:-$PWD} \( -type f -name ".DS_Store" \) -o \( -type d -name '__MACOSX' \) -delete
|
find "${@:-$PWD}" \( -type f -name '.DS_Store' \) -o \( -type d -name '__MACOSX' \) -print0 | xargs rm -rf
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
16
plugins/pacman/functions/pacdisowned
Normal file
16
plugins/pacman/functions/pacdisowned
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
# List disowned files.
|
||||||
|
tmp="${TMPDIR-/tmp}/pacman-disowned-$UID-$$"
|
||||||
|
db="$tmp/db"
|
||||||
|
fs="$tmp/fs"
|
||||||
|
|
||||||
|
mkdir "$tmp"
|
||||||
|
trap 'rm -rf "$tmp"' EXIT
|
||||||
|
|
||||||
|
pacman -Qlq | sort -u > "$db"
|
||||||
|
|
||||||
|
find /bin /etc /lib /sbin /usr \
|
||||||
|
! -name lost+found \
|
||||||
|
\( -type d -printf '%p/\n' -o -print \) | sort > "$fs"
|
||||||
|
|
||||||
|
comm -23 "$fs" "$db"
|
||||||
|
|
4
plugins/pacman/functions/paclist
Normal file
4
plugins/pacman/functions/paclist
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
# List explicitly installed packages.
|
||||||
|
sudo pacman -Qei $(pacman -Qu|cut -d" " -f 1) \
|
||||||
|
| awk ' BEGIN {FS=":"}/^Name/{printf("\033[1;36m%s\033[1;37m", $2)}/^Description/{print $2}'
|
||||||
|
|
|
@ -1,26 +1,48 @@
|
||||||
# Archlinux ZSH Aliases and Functions
|
# Arch Linux Zsh Aliases and Functions
|
||||||
#
|
#
|
||||||
# Pacman Tips:
|
# Pacman Tips:
|
||||||
# https://wiki.archlinux.org/index.php/Pacman_Tips
|
# https://wiki.archlinux.org/index.php/Pacman_Tips
|
||||||
|
|
||||||
# Yaourt Aliases
|
# Yaourt Aliases
|
||||||
if (( $+commands[yaourt] )); then
|
if (( $+commands[yaourt] )); then
|
||||||
function arch-upgrade() {
|
# Upgrade Arch Linux.
|
||||||
yaourt -Syu
|
alias arch-upgrade='yaourt -Syu'
|
||||||
}
|
|
||||||
|
|
||||||
alias yaconf='yaourt -C' # Fix all configuration files with vimdiff.
|
# Fix all configuration files with vimdiff.
|
||||||
alias yaupg='yaourt -Syu' # Synchronize with repositories before upgrading packages that are out of date on the local system.
|
alias yaconf='yaourt -C'
|
||||||
alias yain='yaourt -S' # Install specific package(s) from the repositories.
|
|
||||||
alias yains='yaourt -U' # Install specific package(s) not from the repositories but from a file .
|
# Synchronize with repositories before upgrading packages that are out of date on the local system.
|
||||||
alias yare='yaourt -R' # Remove the specified package(s), retaining its configuration(s) and required dependencies.
|
alias yaupg='yaourt -Syu'
|
||||||
alias yarem='yaourt -Rns' # Remove the specified package(s), its configuration(s) and unneeded dependencies.
|
|
||||||
alias yarep='yaourt -Si' # Display information about a given package in the repositories.
|
# Install specific package(s) from the repositories.
|
||||||
alias yareps='yaourt -Ss' # Search for package(s) in the repositories.
|
alias yain='yaourt -S'
|
||||||
alias yaloc='yaourt -Qi' # Display information about a given package in the local database.
|
|
||||||
alias yalocs='yaourt -Qs' # Search for package(s) in the local database.
|
# Install specific package(s) not from the repositories but from a file .
|
||||||
alias yamir='yaourt -Syy' # Force refresh of all package lists after updating /etc/pacman.d/mirrorlist
|
alias yains='yaourt -U'
|
||||||
alias yainsd='yaourt -S --asdeps' # Install given package(s) as dependencies of another package
|
|
||||||
|
# Remove the specified package(s), retaining its configuration(s) and required dependencies.
|
||||||
|
alias yare='yaourt -R'
|
||||||
|
|
||||||
|
# Remove the specified package(s), its configuration(s) and unneeded dependencies.
|
||||||
|
alias yarem='yaourt -Rns'
|
||||||
|
|
||||||
|
# Display information about a given package in the repositories.
|
||||||
|
alias yarep='yaourt -Si'
|
||||||
|
|
||||||
|
# Search for package(s) in the repositories.
|
||||||
|
alias yareps='yaourt -Ss'
|
||||||
|
|
||||||
|
# Display information about a given package in the local database.
|
||||||
|
alias yaloc='yaourt -Qi'
|
||||||
|
|
||||||
|
# Search for package(s) in the local database.
|
||||||
|
alias yalocs='yaourt -Qs'
|
||||||
|
|
||||||
|
# Force refresh of all package lists after updating /etc/pacman.d/mirrorlist
|
||||||
|
alias yamir='yaourt -Syy'
|
||||||
|
|
||||||
|
# Install given package(s) as dependencies of another package
|
||||||
|
alias yainsd='yaourt -S --asdeps'
|
||||||
|
|
||||||
# Update and refresh the local package and ABS databases against repositories.
|
# Update and refresh the local package and ABS databases against repositories.
|
||||||
if (( $+commands[abs] )); then
|
if (( $+commands[abs] )); then
|
||||||
|
@ -29,25 +51,49 @@ if (( $+commands[yaourt] )); then
|
||||||
alias yaupd='yaourt -Sy'
|
alias yaupd='yaourt -Sy'
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
function arch-upgrade() {
|
# Upgrade Arch Linux.
|
||||||
sudo pacman -Syu
|
alias arch-upgrade='sudo pacman -Syu'
|
||||||
}
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Pacman Aliaases
|
# Pacman Aliases
|
||||||
alias pacupg='sudo pacman -Syu' # Synchronize with repositories before upgrading packages that are out of date on the local system.
|
# Synchronize with repositories before upgrading packages that are out of date on the local system.
|
||||||
alias pacin='sudo pacman -S' # Install specific package(s) from the repositories.
|
alias pacupg='sudo pacman -Syu'
|
||||||
alias pacins='sudo pacman -U' # Install specific package not from the repositories but from a file.
|
|
||||||
alias pacre='sudo pacman -R' # Remove the specified package(s), retaining its configuration(s) and required dependencies.
|
# Install specific package(s) from the repositories.
|
||||||
alias pacrem='sudo pacman -Rns' # Remove the specified package(s), its configuration(s) and unneeded dependencies.
|
alias pacin='sudo pacman -S'
|
||||||
alias pacrep='pacman -Si' # Display information about a given package in the repositories.
|
|
||||||
alias pacreps='pacman -Ss' # Search for package(s) in the repositories.
|
# Install specific package not from the repositories but from a file.
|
||||||
alias pacloc='pacman -Qi' # Display information about a given package in the local database.
|
alias pacins='sudo pacman -U'
|
||||||
alias paclocs='pacman -Qs' # Search for package(s) in the local database.
|
|
||||||
alias pacinsd='sudo pacman -S --asdeps' # Install given package(s) as dependencies of another package.
|
# Remove the specified package(s), retaining its configuration(s) and required dependencies.
|
||||||
alias pacmir='sudo pacman -Syy' # Force refresh of all package lists after updating /etc/pacman.d/mirrorlist.
|
alias pacre='sudo pacman -R'
|
||||||
alias paclsorphans='sudo pacman -Qdt' # List orphan packages(s).
|
|
||||||
alias pacrmorphans='sudo pacman -Rs $(pacman -Qtdq)' # Remove orphan package(s).
|
# Remove the specified package(s), its configuration(s) and unneeded dependencies.
|
||||||
|
alias pacrem='sudo pacman -Rns'
|
||||||
|
|
||||||
|
# Display information about a given package in the repositories.
|
||||||
|
alias pacrep='pacman -Si'
|
||||||
|
|
||||||
|
# Search for package(s) in the repositories.
|
||||||
|
alias pacreps='pacman -Ss'
|
||||||
|
|
||||||
|
# Display information about a given package in the local database.
|
||||||
|
alias pacloc='pacman -Qi'
|
||||||
|
|
||||||
|
# Search for package(s) in the local database.
|
||||||
|
alias paclocs='pacman -Qs'
|
||||||
|
|
||||||
|
# Install given package(s) as dependencies of another package.
|
||||||
|
alias pacinsd='sudo pacman -S --asdeps'
|
||||||
|
|
||||||
|
# Force refresh of all package lists after updating /etc/pacman.d/mirrorlist.
|
||||||
|
alias pacmir='sudo pacman -Syy'
|
||||||
|
|
||||||
|
# List orphan packages(s).
|
||||||
|
alias paclsorphans='sudo pacman -Qdt'
|
||||||
|
|
||||||
|
# Remove orphan package(s).
|
||||||
|
alias pacrmorphans='sudo pacman -Rs $(pacman -Qtdq)'
|
||||||
|
|
||||||
# Update and refresh the local package and ABS databases against repositories.
|
# Update and refresh the local package and ABS databases against repositories.
|
||||||
if (( $+commands[abs] )); then
|
if (( $+commands[abs] )); then
|
||||||
|
@ -56,27 +102,3 @@ else
|
||||||
alias pacupd='sudo pacman -Sy'
|
alias pacupd='sudo pacman -Sy'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# List explicitly installed packages.
|
|
||||||
function paclist() {
|
|
||||||
sudo pacman -Qei $(pacman -Qu|cut -d" " -f 1) \
|
|
||||||
| awk ' BEGIN {FS=":"}/^Name/{printf("\033[1;36m%s\033[1;37m", $2)}/^Description/{print $2}'
|
|
||||||
}
|
|
||||||
|
|
||||||
# List disowned files.
|
|
||||||
function pacdisowned() {
|
|
||||||
tmp="${TMPDIR-/tmp}/pacman-disowned-$UID-$$"
|
|
||||||
db="$tmp/db"
|
|
||||||
fs="$tmp/fs"
|
|
||||||
|
|
||||||
mkdir "$tmp"
|
|
||||||
trap 'rm -rf "$tmp"' EXIT
|
|
||||||
|
|
||||||
pacman -Qlq | sort -u > "$db"
|
|
||||||
|
|
||||||
find /bin /etc /lib /sbin /usr \
|
|
||||||
! -name lost+found \
|
|
||||||
\( -type d -printf '%p/\n' -o -print \) | sort > "$fs"
|
|
||||||
|
|
||||||
comm -23 "$fs" "$db"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
12
plugins/perl/functions/pgs
Normal file
12
plugins/perl/functions/pgs
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
# Perl Global Substitution
|
||||||
|
if (( $# < 2 )); then
|
||||||
|
print "Usage: $0 find replace [file ...]" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
local find="$1"
|
||||||
|
local replace="$2"
|
||||||
|
repeat 2 shift
|
||||||
|
|
||||||
|
perl -i.orig -pe 's/'"$find"'/'"$replace"'/g' "$@"
|
||||||
|
|
11
plugins/perl/functions/prep
Normal file
11
plugins/perl/functions/prep
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
# Perl grep since 'grep -P' is terrible.
|
||||||
|
if (( $# < 1 )) ; then
|
||||||
|
print "Usage: $0 pattern [file ...]" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
local pattern="$1"
|
||||||
|
shift
|
||||||
|
|
||||||
|
perl -nle 'print if /'"$pattern"'/;' "$@"
|
||||||
|
|
|
@ -42,30 +42,3 @@ alias pbu='perlbrew use'
|
||||||
alias ple='perl -wlne'
|
alias ple='perl -wlne'
|
||||||
alias pd='perldoc'
|
alias pd='perldoc'
|
||||||
|
|
||||||
# Perl Global Substitution
|
|
||||||
function pgs() {
|
|
||||||
if (( $# < 2 )) ; then
|
|
||||||
echo "Usage: $0 find replace [file ...]" >&2
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
local find="$1"
|
|
||||||
local replace="$2"
|
|
||||||
repeat 2 shift
|
|
||||||
|
|
||||||
perl -i.orig -pe 's/'"$find"'/'"$replace"'/g' "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Perl grep since 'grep -P' is terrible.
|
|
||||||
function prep() {
|
|
||||||
if (( $# < 1 )) ; then
|
|
||||||
echo "Usage: $0 pattern [file ...]" >&2
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
local pattern="$1"
|
|
||||||
shift
|
|
||||||
|
|
||||||
perl -nle 'print if /'"$pattern"'/;' "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ if [[ "$OSTYPE" == darwin* ]]; then
|
||||||
# gem is slow; cache its output.
|
# gem is slow; cache its output.
|
||||||
cache_file="${0:h}/cache.zsh"
|
cache_file="${0:h}/cache.zsh"
|
||||||
if [[ ! -f "$cache_file" ]]; then
|
if [[ ! -f "$cache_file" ]]; then
|
||||||
echo export GEM_PATH=$GEM_HOME:$(gem env gempath) >! "$cache_file"
|
print export GEM_PATH=$GEM_HOME:$(gem env gempath) >! "$cache_file"
|
||||||
source "$cache_file"
|
source "$cache_file"
|
||||||
else
|
else
|
||||||
source "$cache_file"
|
source "$cache_file"
|
||||||
|
|
|
@ -28,13 +28,13 @@ function _ssh-agent-start() {
|
||||||
local -a identities
|
local -a identities
|
||||||
|
|
||||||
# Start ssh-agent and setup environment.
|
# Start ssh-agent and setup environment.
|
||||||
/usr/bin/env ssh-agent | sed 's/^echo/#echo/' > "${_ssh_agent_env}"
|
/usr/bin/env ssh-agent | sed 's/^print/#print/' > "${_ssh_agent_env}"
|
||||||
chmod 600 "${_ssh_agent_env}"
|
chmod 600 "${_ssh_agent_env}"
|
||||||
source "${_ssh_agent_env}" > /dev/null
|
source "${_ssh_agent_env}" > /dev/null
|
||||||
|
|
||||||
# Load identies.
|
# Load identies.
|
||||||
zstyle -a :omz:plugins:ssh-agent identities identities
|
zstyle -a :omz:plugins:ssh-agent identities identities
|
||||||
echo starting...
|
print starting...
|
||||||
/usr/bin/ssh-add "$HOME/.ssh/${^identities}"
|
/usr/bin/ssh-add "$HOME/.ssh/${^identities}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,6 @@ alias mr='mate CHANGELOG app config db lib public script spec test'
|
||||||
|
|
||||||
# Functions
|
# Functions
|
||||||
function tm() {
|
function tm() {
|
||||||
cd $1
|
cd "$1" && mate .
|
||||||
mate $1
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
13
plugins/wakeonlan/functions/wake
Normal file
13
plugins/wakeonlan/functions/wake
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
local config_file="$HOME/.wakeonlan/$1"
|
||||||
|
if [[ ! -f "$config_file" ]]; then
|
||||||
|
print "$0: $1: There is no such device file." >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if (( ! $+commands[wakeonlan] )); then
|
||||||
|
print "$0: Can't find wakeonlan. Is it installed?" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
wakeonlan -f "$config_file"
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
function wake() {
|
|
||||||
local config_file="$HOME/.wakeonlan/$1"
|
|
||||||
if [[ ! -f "$config_file" ]]; then
|
|
||||||
echo "$0: $1: There is no such device file." >&2
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if (( ! $+commands[wakeonlan] )); then
|
|
||||||
echo "$0: Can't find wakeonlan. Is it installed?" >&2
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
wakeonlan -f "$config_file"
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# A script to make using 256 colors in ZSH less painful.
|
# A script to make using 256 colors in Zsh less painful.
|
||||||
# P.C. Shyamshankar <sykora@lucentbeing.com>
|
# P.C. Shyamshankar <sykora@lucentbeing.com>
|
||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Path to oh-my-zsh.
|
# Set the path to Oh My Zsh.
|
||||||
OMZ="$HOME/.oh-my-zsh"
|
OMZ="$HOME/.oh-my-zsh"
|
||||||
|
|
||||||
# Set the key mapping style to 'emacs' or 'vi'.
|
# Set the key mapping style to 'emacs' or 'vi'.
|
||||||
|
@ -23,7 +23,7 @@ COMPLETION_INDICATOR='false'
|
||||||
# Example: plugins=(git lighthouse rails ruby textmate)
|
# Example: plugins=(git lighthouse rails ruby textmate)
|
||||||
plugins=(git)
|
plugins=(git)
|
||||||
|
|
||||||
# This will make you scream: OH MY ZSH!
|
# This will make you shout: OH MY ZSHELL!
|
||||||
source "$OMZ/init.zsh"
|
source "$OMZ/init.zsh"
|
||||||
|
|
||||||
# Load the prompt theme (type prompt -l to list all themes).
|
# Load the prompt theme (type prompt -l to list all themes).
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# Prompt for ZSH:
|
# Prompt for Zsh:
|
||||||
# * One line.
|
# * One line.
|
||||||
# * VCS info on the right prompt.
|
# * VCS info on the right prompt.
|
||||||
# * Only shows the path on the left prompt by default.
|
# * Only shows the path on the left prompt by default.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Prompt style and colors based on Steve Losh's Prose theme:
|
# Prompt style and colors based on Steve Losh's Prose theme:
|
||||||
# http://github.com/sjl/oh-my-zsh/blob/master/themes/prose.zsh-theme
|
# http://github.com/sjl/oh-my-zsh/blob/master/themes/prose.zsh-theme
|
||||||
#
|
#
|
||||||
# vcs_info modifications from Bart Trojanowski's zsh prompt:
|
# vcs_info modifications from Bart Trojanowski's Zsh prompt:
|
||||||
# http://www.jukie.net/bart/blog/pimping-out-zsh-prompt
|
# http://www.jukie.net/bart/blog/pimping-out-zsh-prompt
|
||||||
#
|
#
|
||||||
# Git untracked files modification from Brian Carper:
|
# Git untracked files modification from Brian Carper:
|
||||||
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
function virtualenv_info() {
|
function virtualenv_info() {
|
||||||
if [[ -n "$VIRTUAL_ENV" ]]; then
|
if [[ -n "$VIRTUAL_ENV" ]]; then
|
||||||
echo '('`basename $VIRTUAL_ENV`') '
|
print "(${VIRTUAL_ENV:t}) "
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
60
utility.zsh
60
utility.zsh
|
@ -1,84 +1,46 @@
|
||||||
# Lists the ten most used commands.
|
# Lists the ten most used commands.
|
||||||
function history-stat() {
|
alias history-stat="history | awk '{print \$2}' | sort | uniq -c | sort -n -r | head"
|
||||||
history | awk '{print $2}' | sort | uniq -c | sort -n -r | head
|
|
||||||
}
|
# Serves a directory via HTTP.
|
||||||
|
alias http-serve='python -m SimpleHTTPServer'
|
||||||
|
|
||||||
# Makes a directory and changes to it.
|
# Makes a directory and changes to it.
|
||||||
function mkdcd() {
|
function mkdcd() {
|
||||||
mkdir -p "$@"
|
[[ -n "$1" ]] && mkdir -p "$1" && cd "$1"
|
||||||
cd "$argv[-1]"
|
|
||||||
}
|
}
|
||||||
compdef _mkdir mkdcd
|
compdef _mkdir mkdcd
|
||||||
|
|
||||||
# Changes to a directory and lists its contents.
|
# Changes to a directory and lists its contents.
|
||||||
function cdll() {
|
function cdll() {
|
||||||
builtin cd "$@"
|
builtin cd "$1" && ll
|
||||||
ll
|
|
||||||
}
|
}
|
||||||
compdef _cd cdll
|
compdef _cd cdll
|
||||||
|
|
||||||
# Pushes an entry onto the directory stack and lists its contents.
|
# Pushes an entry onto the directory stack and lists its contents.
|
||||||
function pushdll() {
|
function pushdll() {
|
||||||
builtin pushd "$@"
|
builtin pushd "$1" && ll
|
||||||
ll
|
|
||||||
}
|
}
|
||||||
compdef _cd pushdll
|
compdef _cd pushdll
|
||||||
|
|
||||||
# Pops an entry off the directory stack and lists its contents.
|
# Pops an entry off the directory stack and lists its contents.
|
||||||
function popdll() {
|
function popdll() {
|
||||||
builtin popd "$@"
|
builtin popd "$1" && ll
|
||||||
ll
|
|
||||||
}
|
}
|
||||||
compdef _cd popdll
|
compdef _cd popdll
|
||||||
|
|
||||||
# Gets ownership.
|
|
||||||
function gown() {
|
|
||||||
sudo chown -R "${USER}" "${1:-.}"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Reloads ~/.zshrc.
|
|
||||||
function reload() {
|
|
||||||
local zshrc="$HOME/.zshrc"
|
|
||||||
if [[ -n "$1" ]]; then
|
|
||||||
zshrc="$1"
|
|
||||||
fi
|
|
||||||
source "$zshrc"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Provides a simple calculator.
|
|
||||||
function calc() {
|
|
||||||
echo "scale=4; $@" | bc -l
|
|
||||||
}
|
|
||||||
|
|
||||||
# Displays human readable disk usage statistics.
|
|
||||||
function duh() {
|
|
||||||
(( $# == 0 )) && set -- *
|
|
||||||
if [[ "$OSTYPE" == linux* ]]; then
|
|
||||||
du -khsc "$@" | sort -h -r
|
|
||||||
else
|
|
||||||
du -kcs "$@" | awk '{ printf "%9.1fM %s\n", $1 / 1024, $2 } ' | sort -n -r
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
compdef _du duh
|
|
||||||
|
|
||||||
# Prints columns 1 2 3 ... n.
|
# Prints columns 1 2 3 ... n.
|
||||||
function slit() {
|
function slit() {
|
||||||
awk "{ print $(for n; do echo -n "\$$n,"; done | sed 's/,$//') }"
|
awk "{ print $(for n; do print -n "\$$n,"; done | sed 's/,$//') }"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Displays user owned process status.
|
# Displays user owned process status.
|
||||||
function pmine() {
|
function pmine() {
|
||||||
ps "$@" -u "$USER" -o pid,%cpu,%mem,command
|
ps "$@" -U "$USER" -o pid,%cpu,%mem,command
|
||||||
}
|
}
|
||||||
compdef _ps pmine
|
compdef _ps pmine
|
||||||
|
|
||||||
# Finds files and executes a command on them.
|
# Finds files and executes a command on them.
|
||||||
function findexec() {
|
function find-exec() {
|
||||||
find . -type f -iname "*${1:-}*" -exec "${2:-file}" '{}' \;
|
find . -type f -iname "*${1:-}*" -exec "${2:-file}" '{}' \;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Serves a directory via HTTP.
|
|
||||||
function httpserve() {
|
|
||||||
python -m SimpleHTTPServer "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue