mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-03-13 03:12:21 +01:00
* blessed/master: (75 commits) added exec command to docker plugin Quote path in case $HOME has a space in it. Update the list of Heroku Postgres commands fix(tools/check_for_upgrade): Don't source profile Fix aws.plugins.zsh check rule Revert PR #3359 as this is breaking stuff for many folks. Need to rethink how we handle system defaults differently on this Updated Yii2 command completion added node- before node version for consistency mira theme shows active node, ruby and java versions Add yii2 readme Added Yii2 command completion Change to alias and remove deprecated GREP_COLOR Tidy up the grep.zsh library Use unaliased grep in flag check Ignore .bzr folders in grep too Extract VCS folders definition to avoid repetition Add itunes shuffle command to OSX plugin. Fixed output issues webith websearch plugin. Fix dircycle plugin add current bookmark to rkj-repos theme ...
97 lines
3.5 KiB
Bash
97 lines
3.5 KiB
Bash
#
|
|
# Aliases
|
|
#
|
|
|
|
alias ta='tmux attach -t'
|
|
alias ts='tmux new-session -s'
|
|
alias tl='tmux list-sessions'
|
|
alias tksv='tmux kill-server'
|
|
alias tkss='tmux kill-session -t'
|
|
|
|
# Only run if tmux is actually installed
|
|
if which tmux &> /dev/null
|
|
then
|
|
# Configuration variables
|
|
#
|
|
# Automatically start tmux
|
|
[[ -n "$ZSH_TMUX_AUTOSTART" ]] || ZSH_TMUX_AUTOSTART=false
|
|
# Only autostart once. If set to false, tmux will attempt to
|
|
# autostart every time your zsh configs are reloaded.
|
|
[[ -n "$ZSH_TMUX_AUTOSTART_ONCE" ]] || ZSH_TMUX_AUTOSTART_ONCE=true
|
|
# Automatically connect to a previous session if it exists
|
|
[[ -n "$ZSH_TMUX_AUTOCONNECT" ]] || ZSH_TMUX_AUTOCONNECT=true
|
|
# Automatically close the terminal when tmux exits
|
|
[[ -n "$ZSH_TMUX_AUTOQUIT" ]] || ZSH_TMUX_AUTOQUIT=$ZSH_TMUX_AUTOSTART
|
|
# Set term to screen or screen-256color based on current terminal support
|
|
[[ -n "$ZSH_TMUX_FIXTERM" ]] || ZSH_TMUX_FIXTERM=true
|
|
# Set '-CC' option for iTerm2 tmux integration
|
|
[[ -n "$ZSH_TMUX_ITERM2" ]] || ZSH_TMUX_ITERM2=false
|
|
# The TERM to use for non-256 color terminals.
|
|
# Tmux states this should be screen, but you may need to change it on
|
|
# systems without the proper terminfo
|
|
[[ -n "$ZSH_TMUX_FIXTERM_WITHOUT_256COLOR" ]] || ZSH_TMUX_FIXTERM_WITHOUT_256COLOR="screen"
|
|
# The TERM to use for 256 color terminals.
|
|
# Tmux states this should be screen-256color, but you may need to change it on
|
|
# systems without the proper terminfo
|
|
[[ -n "$ZSH_TMUX_FIXTERM_WITH_256COLOR" ]] || ZSH_TMUX_FIXTERM_WITH_256COLOR="screen-256color"
|
|
|
|
|
|
# Get the absolute path to the current directory
|
|
local zsh_tmux_plugin_path="$(cd "$(dirname "$0")" && pwd)"
|
|
|
|
# Determine if the terminal supports 256 colors
|
|
if [[ `tput colors` == "256" ]]
|
|
then
|
|
export ZSH_TMUX_TERM=$ZSH_TMUX_FIXTERM_WITH_256COLOR
|
|
else
|
|
export ZSH_TMUX_TERM=$ZSH_TMUX_FIXTERM_WITHOUT_256COLOR
|
|
fi
|
|
|
|
# Set the correct local config file to use.
|
|
if [[ "$ZSH_TMUX_ITERM2" == "false" ]] && [[ -f $HOME/.tmux.conf ]]
|
|
then
|
|
#use this when they have a ~/.tmux.conf
|
|
export _ZSH_TMUX_FIXED_CONFIG="$zsh_tmux_plugin_path/tmux.extra.conf"
|
|
else
|
|
#use this when they don't have a ~/.tmux.conf
|
|
export _ZSH_TMUX_FIXED_CONFIG="$zsh_tmux_plugin_path/tmux.only.conf"
|
|
fi
|
|
|
|
# Wrapper function for tmux.
|
|
function _zsh_tmux_plugin_run()
|
|
{
|
|
# We have other arguments, just run them
|
|
if [[ -n "$@" ]]
|
|
then
|
|
\tmux $@
|
|
# Try to connect to an existing session.
|
|
elif [[ "$ZSH_TMUX_AUTOCONNECT" == "true" ]]
|
|
then
|
|
\tmux `[[ "$ZSH_TMUX_ITERM2" == "true" ]] && echo '-CC '` attach || \tmux `[[ "$ZSH_TMUX_ITERM2" == "true" ]] && echo '-CC '` `[[ "$ZSH_TMUX_FIXTERM" == "true" ]] && echo '-f '$_ZSH_TMUX_FIXED_CONFIG` new-session
|
|
[[ "$ZSH_TMUX_AUTOQUIT" == "true" ]] && exit
|
|
# Just run tmux, fixing the TERM variable if requested.
|
|
else
|
|
\tmux `[[ "$ZSH_TMUX_ITERM2" == "true" ]] && echo '-CC '` `[[ "$ZSH_TMUX_FIXTERM" == "true" ]] && echo '-f '$_ZSH_TMUX_FIXED_CONFIG`
|
|
[[ "$ZSH_TMUX_AUTOQUIT" == "true" ]] && exit
|
|
fi
|
|
}
|
|
|
|
# Use the completions for tmux for our function
|
|
compdef _tmux _zsh_tmux_plugin_run
|
|
|
|
# Alias tmux to our wrapper function.
|
|
alias tmux=_zsh_tmux_plugin_run
|
|
|
|
# Autostart if not already in tmux and enabled.
|
|
if [[ ! -n "$TMUX" && "$ZSH_TMUX_AUTOSTART" == "true" ]]
|
|
then
|
|
# Actually don't autostart if we already did and multiple autostarts are disabled.
|
|
if [[ "$ZSH_TMUX_AUTOSTART_ONCE" == "false" || "$ZSH_TMUX_AUTOSTARTED" != "true" ]]
|
|
then
|
|
export ZSH_TMUX_AUTOSTARTED=true
|
|
_zsh_tmux_plugin_run
|
|
fi
|
|
fi
|
|
else
|
|
print "zsh tmux plugin: tmux not found. Please install tmux before using this plugin."
|
|
fi
|