* Rename cmuxterm to cmux across entire codebase - Rename GitHub repos: manaflow-ai/cmuxterm -> manaflow-ai/cmux, manaflow-ai/homebrew-cmuxterm -> manaflow-ai/homebrew-cmux - Rename bundle IDs: com.cmuxterm.app -> com.cmux.app - Rename CLI: CLI/cmuxterm.swift -> CLI/cmux.swift - Rename homebrew submodule: homebrew-cmuxterm -> homebrew-cmux - Update all socket paths: /tmp/cmuxterm*.sock -> /tmp/cmux*.sock - Update all GitHub URLs, DMG names, Sparkle URLs - Update all source files, scripts, tests, docs, CI workflows * Bump version to 1.23.0
47 lines
1.9 KiB
Bash
47 lines
1.9 KiB
Bash
# vim:ft=zsh
|
|
#
|
|
# cmux ZDOTDIR bootstrap for zsh.
|
|
#
|
|
# GhosttyKit already uses a ZDOTDIR injection mechanism for zsh (setting ZDOTDIR
|
|
# to Ghostty's integration dir). cmux also needs to run its integration, but
|
|
# we must restore the user's real ZDOTDIR immediately so that:
|
|
# - /etc/zshrc sets HISTFILE relative to the real ZDOTDIR/HOME (shared history)
|
|
# - zsh loads the user's real .zprofile/.zshrc normally (no wrapper recursion)
|
|
#
|
|
# We restore ZDOTDIR from (in priority order):
|
|
# - GHOSTTY_ZSH_ZDOTDIR (set by GhosttyKit when it overwrote ZDOTDIR)
|
|
# - CMUX_ZSH_ZDOTDIR (set by cmux when it overwrote a user-provided ZDOTDIR)
|
|
# - unset (zsh treats unset ZDOTDIR as $HOME)
|
|
|
|
if [[ -n "${GHOSTTY_ZSH_ZDOTDIR+X}" ]]; then
|
|
builtin export ZDOTDIR="$GHOSTTY_ZSH_ZDOTDIR"
|
|
builtin unset GHOSTTY_ZSH_ZDOTDIR
|
|
elif [[ -n "${CMUX_ZSH_ZDOTDIR+X}" ]]; then
|
|
builtin export ZDOTDIR="$CMUX_ZSH_ZDOTDIR"
|
|
builtin unset CMUX_ZSH_ZDOTDIR
|
|
else
|
|
builtin unset ZDOTDIR
|
|
fi
|
|
|
|
{
|
|
# zsh treats unset ZDOTDIR as if it were HOME. We do the same.
|
|
builtin typeset _cmux_file="${ZDOTDIR-$HOME}/.zshenv"
|
|
[[ ! -r "$_cmux_file" ]] || builtin source -- "$_cmux_file"
|
|
} always {
|
|
if [[ -o interactive ]]; then
|
|
# We overwrote GhosttyKit's injected ZDOTDIR, so manually load Ghostty's
|
|
# zsh integration if available.
|
|
if [[ -n "${GHOSTTY_RESOURCES_DIR:-}" ]]; then
|
|
builtin typeset _cmux_ghostty="$GHOSTTY_RESOURCES_DIR/shell-integration/zsh/ghostty-integration"
|
|
[[ -r "$_cmux_ghostty" ]] && builtin source -- "$_cmux_ghostty"
|
|
fi
|
|
|
|
# Load cmux integration (unless disabled)
|
|
if [[ "${CMUX_SHELL_INTEGRATION:-1}" != "0" && -n "${CMUX_SHELL_INTEGRATION_DIR:-}" ]]; then
|
|
builtin typeset _cmux_integ="$CMUX_SHELL_INTEGRATION_DIR/cmux-zsh-integration.zsh"
|
|
[[ -r "$_cmux_integ" ]] && builtin source -- "$_cmux_integ"
|
|
fi
|
|
fi
|
|
|
|
builtin unset _cmux_file _cmux_ghostty _cmux_integ
|
|
}
|