diff --git a/.zshrc b/.zshrc index b82db72..a5a62c9 100644 --- a/.zshrc +++ b/.zshrc @@ -104,6 +104,14 @@ if [ -z "${SUDO_USER}" ] && [ -z "${SSH_CONNECTION}" ] && [ -z "${TERM_PROGRAM}" tmux new -A -s local_tmux fi +# Use a history file per-pane in tmux +if [ -n "$TMUX_PANE" ]; then + hist_dir="${XDG_STATE_HOME:-${HOME}/.local/state}/zsh" + [ -d "$hist_dir" ] || mkdir -p "$hist_dir" + export HISTFILE="${hist_dir}/histfile.$TMUX_PANE" + setopt inc_append_history +fi + # Define a function to use autossh with a custom bashrc function assh() { remote_file=$(mktemp) @@ -129,6 +137,9 @@ which helm 1> /dev/null && source <(helm completion zsh) # doctl completion which doctl 1> /dev/null && source <(doctl completion zsh) +# OpenClaw Completion +[ -f "${HOME}/.openclaw/completions/openclaw.zsh" ] && source "${HOME}/.openclaw/completions/openclaw.zsh" + # Ensure zinit is installed ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git" [ ! -d $ZINIT_HOME ] && mkdir -p "$(dirname $ZINIT_HOME)"