mirror of
https://github.com/jimeh/dotfiles.git
synced 2026-02-19 13:26:40 +00:00
Improve shell start-up time by lazy-loading various tools
This commit is contained in:
@@ -7,5 +7,9 @@ alias hl="helm"
|
||||
alias mk="minikube"
|
||||
|
||||
if (( $+commands[kubectl] )); then
|
||||
eval "$(kubectl completion zsh)"
|
||||
# lazy-load kubectl setup
|
||||
_kubectl() {
|
||||
unset -f _kubectl
|
||||
eval "$(command kubectl completion zsh)"
|
||||
}
|
||||
fi
|
||||
|
||||
@@ -3,6 +3,4 @@
|
||||
#
|
||||
|
||||
# Ensure 256 color support in Linux
|
||||
if [[ "$(uname)" == "Linux" ]]; then
|
||||
export TERM="xterm-256color"
|
||||
fi
|
||||
export TERM="xterm-256color"
|
||||
|
||||
59
zsh/ruby.zsh
59
zsh/ruby.zsh
@@ -50,32 +50,51 @@ alias bo="bundle open"
|
||||
alias bp="bundle package"
|
||||
alias bu="bundle update"
|
||||
|
||||
# lazy-load rbenv
|
||||
rbenv() {
|
||||
eval "$(command rbenv init -)"
|
||||
rbenv "$@"
|
||||
}
|
||||
if (( $+commands[rbenv] )); then
|
||||
# lazy-load rbenv
|
||||
rbenv() {
|
||||
load-rbenv
|
||||
rbenv "$@"
|
||||
}
|
||||
|
||||
rbenv-each-version () {
|
||||
local current_version="$RBENV_VERSION"
|
||||
_rbenv() {
|
||||
load-rbenv
|
||||
_rbenv "$@"
|
||||
}
|
||||
|
||||
for v in $(ls "${HOME}/.rbenv/versions"); do
|
||||
echo "==> Ruby $v:"
|
||||
export RBENV_VERSION="$v"
|
||||
eval $*
|
||||
done
|
||||
compctl -K _rbenv rbenv
|
||||
|
||||
export RBENV_VERSION="$current_version"
|
||||
}
|
||||
load-rbenv() {
|
||||
unset -f load-rbenv _rbenv rbenv
|
||||
eval "$(command rbenv init -)"
|
||||
}
|
||||
|
||||
# lunchy auto-completion
|
||||
if which gem &> /dev/null && gem which lunchy &> /dev/null; then
|
||||
LUNCHY_DIR="$(dirname `gem which lunchy`)/../extras"
|
||||
if [ -f "$LUNCHY_DIR/lunchy-completion.zsh" ]; then
|
||||
. "$LUNCHY_DIR/lunchy-completion.zsh"
|
||||
fi
|
||||
rbenv-each-version () {
|
||||
local current_version="$RBENV_VERSION"
|
||||
|
||||
for v in $(ls "${HOME}/.rbenv/versions"); do
|
||||
echo "==> Ruby $v:"
|
||||
export RBENV_VERSION="$v"
|
||||
eval $*
|
||||
done
|
||||
|
||||
export RBENV_VERSION="$current_version"
|
||||
}
|
||||
fi
|
||||
|
||||
# lazy-load lunchy auto-completation
|
||||
_lunchy() {
|
||||
unset -f _lunchy
|
||||
local lunchy_dir
|
||||
if which gem &> /dev/null && gem which lunchy &> /dev/null; then
|
||||
lunchy_dir="$(dirname `gem which lunchy`)/../extras"
|
||||
if [ -f "${lunchy_dir}/lunchy-completion.bash" ]; then
|
||||
source "${lunchy_dir}/lunchy-completion.bash"
|
||||
fi
|
||||
fi
|
||||
_lunchy "$@"
|
||||
}
|
||||
|
||||
# Solargraph related commands
|
||||
|
||||
solargraph-install () {
|
||||
|
||||
36
zsh/tmux.zsh
36
zsh/tmux.zsh
@@ -12,19 +12,37 @@ fi
|
||||
|
||||
# Tmuxifier
|
||||
if [ -d "$DOTFILES/tmux/tmuxifier" ]; then
|
||||
if [ -d "$DOTPFILES/tmux-layouts" ]; then
|
||||
export TMUXIFIER_LAYOUT_PATH="$DOTPFILES/tmux-layouts"
|
||||
else
|
||||
export TMUXIFIER_LAYOUT_PATH="$HOME/.tmux-layouts"
|
||||
fi
|
||||
|
||||
path_prepend "$DOTFILES/tmux/tmuxifier/bin"
|
||||
eval "$(tmuxifier init -)"
|
||||
|
||||
alias m="tmuxifier"
|
||||
alias ms="tmuxifier load-session"
|
||||
alias mw="tmuxifier load-window"
|
||||
alias mm="tmuxifier load-session main"
|
||||
|
||||
# lazy-load tmuxifier
|
||||
tmuxifier() {
|
||||
load-tmuxifier
|
||||
tmuxifier "$@"
|
||||
}
|
||||
|
||||
_tmuxifier() {
|
||||
load-tmuxifier
|
||||
_tmuxifier "$@"
|
||||
}
|
||||
|
||||
compctl -K _tmuxifier tmuxifier
|
||||
|
||||
load-tmuxifier() {
|
||||
# unset lazy-load functions
|
||||
unset -f load-tmuxifier _tmuxifier tmuxifier
|
||||
|
||||
if [ -d "$DOTPFILES/tmux-layouts" ]; then
|
||||
export TMUXIFIER_LAYOUT_PATH="$DOTPFILES/tmux-layouts"
|
||||
else
|
||||
export TMUXIFIER_LAYOUT_PATH="$HOME/.tmux-layouts"
|
||||
fi
|
||||
|
||||
path_prepend "$DOTFILES/tmux/tmuxifier/bin"
|
||||
eval "$(command tmuxifier init -)"
|
||||
}
|
||||
fi
|
||||
|
||||
use-tmuxifier-dev() {
|
||||
|
||||
Reference in New Issue
Block a user