|
|
|
#
|
|
|
|
# Executes commands at the start of an interactive session.
|
|
|
|
#
|
|
|
|
#
|
|
|
|
|
|
|
|
#
|
|
|
|
# Set the list of directories that Zsh searches for programs.
|
|
|
|
#
|
|
|
|
fpath=(
|
|
|
|
$DOTFILES/zsh/functions
|
|
|
|
$fpath
|
|
|
|
)
|
|
|
|
|
|
|
|
typeset -gU fpath
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# Use zplug
|
|
|
|
#
|
|
|
|
export ZPLUG_HOME=$DOTFILES/zsh/zplug
|
|
|
|
if (( $+commands[termux-info] )); then
|
|
|
|
rm $ZPLUG_HOME/zcompdump # Broken in Termux
|
|
|
|
fi
|
|
|
|
if [[ -s "$ZPLUG_HOME/init.zsh" ]]; then
|
|
|
|
source "$ZPLUG_HOME/init.zsh"
|
|
|
|
|
|
|
|
zplug "sorin-ionescu/prezto", as:plugin, use:init.zsh
|
|
|
|
|
|
|
|
zplug "nojhan/liquidprompt", as:plugin
|
|
|
|
|
|
|
|
zplug check || zplug install
|
|
|
|
zplug load
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# Git
|
|
|
|
#
|
|
|
|
|
|
|
|
# Revive old gst alias from OMZ/git
|
|
|
|
alias gst="git status"
|
|
|
|
|
|
|
|
# git update fork
|
|
|
|
# Merge upstream
|
|
|
|
function gupf {
|
|
|
|
(
|
|
|
|
set -e
|
|
|
|
local LBRANCH=`git symbolic-ref --short HEAD`
|
|
|
|
local ORIGIN=${1-`git config --get branch.$LBRANCH.remote`}
|
|
|
|
local UPSTREAM=${2-upstream}
|
|
|
|
local OBRANCH=${3-$LBRANCH}
|
|
|
|
local UBRANCH=${4-$OBRANCH}
|
|
|
|
git fetch $ORIGIN
|
|
|
|
git fetch $UPSTREAM
|
|
|
|
git checkout -b merge $ORIGIN/$OBRANCH
|
|
|
|
git merge $UPSTREAM/$UBRANCH -m "merge upstream from `git ls-remote --get-url $UPSTREAM`"
|
|
|
|
git checkout $LBRANCH
|
|
|
|
git rebase merge
|
|
|
|
git branch -d merge
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# pacman/makepkg
|
|
|
|
#
|
|
|
|
alias mksrcinfo="makepkg --printsrcinfo >! .SRCINFO"
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# rsync
|
|
|
|
#
|
|
|
|
alias rsync="command rsync -e ssh -aXSPzs -vih8"
|
|
|
|
alias termux-rsync="command rsync -e 'ssh -p 8022' -rltXSPzzs -vih8"
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# NeoVim
|
|
|
|
#
|
|
|
|
if (( $+commands[nvim] )); then
|
|
|
|
alias vim=nvim
|
|
|
|
fi
|
|
|
|
|
|
|
|
#
|
|
|
|
# tmux
|
|
|
|
#
|
|
|
|
function tmux {
|
|
|
|
if [ $# -gt 0 ]; then
|
|
|
|
command tmux "$@"
|
|
|
|
else
|
|
|
|
command tmux new -As default
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# BusyBox
|
|
|
|
#
|
|
|
|
|
|
|
|
# Kill fancy aliases on BusyBox, since not all GNU options are supported
|
|
|
|
if (( $+commands[busybox] )); then
|
|
|
|
for cmd in `busybox --list`; do
|
|
|
|
if (( $+aliases[$cmd] )); then
|
|
|
|
__whence="`builtin whence -p $cmd`"
|
|
|
|
if [ -L "$__whence" ] && command readlink "$__whence" | command grep -q busybox; then
|
|
|
|
unalias $cmd
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
unset __whence
|
|
|
|
done
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# Konsole scroll buffer
|
|
|
|
#
|
|
|
|
function clearbuf {
|
|
|
|
echo -en "\e[3J"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# Misc.
|
|
|
|
#
|
|
|
|
alias lns="ln -sr"
|
|
|
|
|
|
|
|
#
|
|
|
|
# Please
|
|
|
|
#
|
|
|
|
function please {
|
|
|
|
if [ -z "$*" ]; then
|
|
|
|
sudo $(fc -ln -1)
|
|
|
|
else
|
|
|
|
sudo "$@"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# Local overrides
|
|
|
|
#
|
|
|
|
[[ -e "$DOTFILES/zsh/zshrc.local" ]] && source "$DOTFILES/zsh/zshrc.local"
|
|
|
|
|