'[' '-n' "${TERM-}" ']' || 'export' TERM='xterm-256color' '[' '-n' "${WT_SESSION-}" ']' && 'export' COLORTERM="${COLORTERM:-truecolor}" if '[' '-n' "${ZSH_VERSION-}" ']'; then if '[' '-n' "${_foxshell_source_called+x}" ']'; then if '[' "${ZDOTDIR:-$HOME}" '=' "$HOME" ']'; then >&2 'printf' '\033[33mfoxshell\033[0m: please use \033[4;32mexec\033[0m \033[32mzsh\033[0m instead of \033[32msource\033[0m \033[4m~/.zshenv\033[0m\n' else >&2 'printf' '\033[33mfoxshell\033[0m: please use \033[4;32mexec\033[0m \033[32mzsh\033[0m instead of \033[32msource\033[0m \033[4;33m"$ZDOTDIR"\033[0;4m/.zshenv\033[0m\n' fi 'return' '1' fi 'typeset' '-gri' _foxshell_source_called='1' 'emulate' 'zsh' 'setopt' \ 'always_to_end' 'auto_cd' 'auto_param_slash' \ 'auto_pushd' 'c_bases' 'auto_menu' \ 'extended_glob' 'extended_history' 'hist_expire_dups_first' \ 'hist_find_no_dups' 'hist_ignore_dups' 'hist_ignore_space' \ 'hist_verify' 'interactive_comments' 'multios' \ 'no_aliases' 'no_bg_nice' 'no_bg_nice' \ 'no_flow_control' 'no_prompt_bang' 'no_prompt_subst' \ 'prompt_cr' 'prompt_percent' 'prompt_sp' \ 'share_history' 'typeset_silent' 'hist_save_no_dups' \ 'no_auto_remove_slash' 'no_list_types' 'no_beep' if '[' '!' '-e' "${${TMPPREFIX:-/tmp/zsh}:h}" ']'; then if '[' '-n' "$TMPDIR" '-a' '-d' "$TMPDIR" '-a' '-w' "$TMPDIR" ']'; then 'export' TMPPREFIX="${TMPDIR%/}/zsh" elif '[' '-d' "/tmp" '-a' '-w' "/tmp" ']'; then 'export' TMPPREFIX="/tmp/zsh" fi fi if '[' "$TERMINFO" '!=' ~/'.terminfo' ']' && '[' '-e' ~/".terminfo/$TERM[1]/$TERM" ']'; then 'export' TERMINFO=~/'.terminfo' fi 'set' '-A' '_foxshell_script_argv' "$@" if '[' '-n' "${ZSH_SCRIPT+X}${ZSH_EXECUTION_STRING+X}" ']'; then 'typeset' '-gri' _foxshell_zle='0' else 'typeset' '-gri' _foxshell_zle='1' PS1="%B%F{2}%n@%m%f %F{4}%~%f %F{%(?.2.1)}%#%f%b " RPS1="%B%F{3}foxshell recovery mode%f%b" WORDCHARS='' ZLE_REMOVE_SUFFIX_CHARS='' HISTSIZE='1000000000' SAVEHIST='1000000000' if '[' '-n' "$HISTFILE" ']'; then 'typeset' '-gri' _foxshell_custom_histfile='1' else 'typeset' '-gri' _foxshell_custom_histfile='0' HISTFILE="${ZDOTDIR:-$HOME}/.zsh_history" fi if '[' '-n' "${_foxshell_ssh_feedback-}" ']'; then { 'print' '-r' '--' "HISTFILE=${(q)HISTFILE}" >"$_foxshell_ssh_feedback"; } 2>'/dev/null' 'unset' '_foxshell_ssh_feedback' fi if '[' '-n' "${_FOXSHELL_LINES-}" '-a' '-n' "${_FOXSHELL_COLUMNS-}" ']'; then 'typeset' '-gi' LINES='_FOXSHELL_LINES' 'typeset' '-gi' COLUMNS='_FOXSHELL_COLUMNS' 'unset' '_FOXSHELL_LINES' '_FOXSHELL_COLUMNS' fi 'bindkey' '-d' 'bindkey' '-e' 'bindkey' '-s' '^[OM' '^M' 'bindkey' '-s' '^[Ok' '+' 'bindkey' '-s' '^[Om' '-' 'bindkey' '-s' '^[Oj' '*' 'bindkey' '-s' '^[Oo' '/' 'bindkey' '-s' '^[OX' '=' 'bindkey' '-s' '^[OH' '^[[H' 'bindkey' '-s' '^[OF' '^[[F' 'bindkey' '-s' '^[OA' '^[[A' 'bindkey' '-s' '^[OB' '^[[B' 'bindkey' '-s' '^[OD' '^[[D' 'bindkey' '-s' '^[OC' '^[[C' 'bindkey' '-s' '^[[1~' '^[[H' 'bindkey' '-s' '^[[4~' '^[[F' 'bindkey' '-s' '^[Od' '^[[1;5D' 'bindkey' '-s' '^[Oc' '^[[1;5C' 'bindkey' '-s' '^[^[[D' '^[[1;3D' 'bindkey' '-s' '^[^[[C' '^[[1;3C' 'bindkey' '-s' '^[[7~' '^[[H' 'bindkey' '-s' '^[[8~' '^[[F' 'bindkey' '-s' '^[[3\^' '^[[3;5~' 'bindkey' '-s' '^[^[[3~' '^[[3;3~' 'bindkey' '-s' '^[[1;9D' '^[[1;3D' 'bindkey' '-s' '^[[1;9C' '^[[1;3C' 'bindkey' '^[[H' 'beginning-of-line' 'bindkey' '^[[F' 'end-of-line' 'bindkey' '^[[3~' 'delete-char' 'bindkey' '^[[3;5~' 'kill-word' 'bindkey' '^[[3;3~' 'kill-word' 'bindkey' '^[k' 'backward-kill-line' 'bindkey' '^[K' 'backward-kill-line' 'bindkey' '^[j' 'kill-buffer' 'bindkey' '^[J' 'kill-buffer' 'bindkey' '^[/' 'redo' 'bindkey' '^[[1;3D' 'backward-word' 'bindkey' '^[[1;5D' 'backward-word' 'bindkey' '^[[1;3C' 'forward-word' 'bindkey' '^[[1;5C' 'forward-word' if '[' '-n' "${_FOXSHELL_ORIG_CWD-}" ']'; then 'builtin' 'cd' '-q' '--' "${(g:oce:)_FOXSHELL_ORIG_CWD}" 2>'/dev/null' || 'builtin' 'cd' '-q' 'builtin' 'unset' '_FOXSHELL_ORIG_CWD' 'builtin' 'eval' 'dirstack=()' else "builtin" "eval" ' if [[ "${(%):-%1/}" == "foxshell-tmux-cwd-"<->-<->-* ]]; then [[ -r "./tmux"(#qNU) ]] && _foxshell_x="$("builtin" "source" "--" "./tmux" "list-clients" "-F" "#{client_tty} #{pane_id}" 2>"/dev/null")" && _foxshell_x="${${(@M)${(f)_foxshell_x}:#${${${(%):-%1/}#foxshell-tmux-cwd-<->-<->-}//.//} %<->}##* }" && [[ "$_foxshell_x" == "%"<-> ]] && _foxshell_x="$("builtin" "source" "--" "./tmux" "display-message" "-t" "$_foxshell_x" "-p" "#{pane_current_path}" 2>"/dev/null")" && [[ -n "$_foxshell_x" ]] && "builtin" "cd" "-q" "--" "$_foxshell_x" 2>"/dev/null" || "builtin" "cd" "-q" "builtin" "unset" "_foxshell_x" dirstack=() fi' fi fi fi if '[' '-n' "${FOXSHELL-}" ']' && '[' "${FOXSHELL_URL-}" '=' 'https://git.foxdale.tech/Arctic/foxshell/raw/branch/main' ']' && '[' '-z' "${FOXSHELL##/*}" '-a' '-r' "$FOXSHELL"/foxshell/main.zsh ']'; then if '.' "$FOXSHELL"/foxshell/main.zsh; then 'setopt' 'aliases' 'return' fi 'unset' '_foxshell_bootstrap' else _foxshell_bootstrap='1' fi if '[' '-n' "${_foxshell_bootstrap-}" ']'; then 'unset' '_foxshell_bootstrap' ( if '[' '-z' "${FOXSHELL-}" ]; then >&2 'printf' '\033[33mfoxshell\033[0m: missing required parameter: \033[31mFOXSHELL\033[0m\n' >&2 'printf' '\n' if '[' "${ZDOTDIR:-$HOME}" '=' "$HOME" ']'; then >&2 'printf' 'It must be set in \033[4m~/.zshenv\033[0m:\n' else >&2 'printf' 'It must be set in \033[4;33m"$ZDOTDIR"\033[0;4m/.zshenv\033[0m:\n' fi >&2 'printf' '\n' >&2 'printf' ' \033[32m:\033[0m \033[33m"${FOXSHELL:=${XDG_CACHE_HOME:-$HOME/.cache}/foxshell}"\033[0m\n' >&2 'printf' '\n' >&2 'printf' 'Note: The leading colon (\033[32m:\033[0m) is necessary.\n' 'exit' '1' fi if '[' '-n' "${FOXSHELL##/*}" ']'; then >&2 'printf' '\033[33mfoxshell\033[0m: invalid \033[1mFOXSHELL\033[0m parameter: \033[31m%s\033[0m\n' "$FOXSHELL" >&2 'printf' '\n' if '[' "${ZDOTDIR:-$HOME}" '=' "$HOME" ']'; then >&2 'printf' 'It comes from \033[4m~/.zshenv\033[0m. Correct value example:\n' else >&2 'printf' 'It comes from \033[4;33m"$ZDOTDIR"\033[0;4m/.zshenv\033[0m. Correct value example:\n' fi >&2 'printf' '\n' >&2 'printf' ' \033[32m:\033[0m \033[33m"${FOXSHELL:=${XDG_CACHE_HOME:-$HOME/.cache}/foxshell}"\033[0m\n' >&2 'printf' '\n' >&2 'printf' 'Note: The leading colon (\033[32m:\033[0m) is necessary.\n' 'exit' '1' fi if '[' '!' '-r' "$FOXSHELL"/foxshell.zsh ']'; then >&2 'printf' '\033[33mfoxshell\033[0m: confusing \033[4mfoxshell.zsh\033[0m location\n' >&2 'printf' '\n' if '[' "${ZDOTDIR:-$HOME}" '=' "$HOME" ']'; then >&2 'printf' 'Please fix \033[4m~/.zshenv\033[0m. Correct initialization example:\n' else >&2 'printf' 'Please fix \033[4;33m"$ZDOTDIR"\033[0;4m/.zshenv\033[0m. Correct initialization example:\n' fi >&2 'printf' '\n' >&2 'printf' ' \033[32m:\033[0m \033[33m"${FOXSHELL:=${XDG_CACHE_HOME:-$HOME/.cache}/foxshell}"\033[0m\n' >&2 'printf' ' \033[32m.\033[0m \033[4;33m"$FOXSHELL"\033[0;4m/foxshell.zsh\033[0m || \033[32mreturn\033[0m\n' >&2 'printf' '\n' >&2 'printf' 'Note: The leading colon (\033[32m:\033[0m) and dot (\033[32m.\033[0m) are necessary.\n' 'exit' '1' fi if '[' '-z' "${FOXSHELL_URL-}" ]; then >&2 'printf' '\033[33mfoxshell\033[0m: missing required parameter: \033[31mFOXSHELL_URL\033[0m\n' >&2 'printf' '\n' if '[' "${ZDOTDIR:-$HOME}" '=' "$HOME" ']'; then >&2 'printf' 'It must be set in \033[4m~/.zshenv\033[0m:\n' else >&2 'printf' 'It must be set in \033[4;33m"$ZDOTDIR"\033[0;4m/.zshenv\033[0m:\n' fi >&2 'printf' '\n' >&2 'printf' ' FOXSHELL_URL=\033[33m"https://git.foxdale.tech/Arctic/foxshell/raw/branch/main"\033[0m\n' >&2 'printf' '\n' 'exit' '1' fi v="${FOXSHELL_URL#https://git.foxdale.tech/Arctic/foxshell/raw/branch/}" if '[' '-z' "$v" '-o' "$v" '=' "$FOXSHELL_URL" ']'; then >&2 'printf' '\033[33mfoxshell\033[0m: invalid \033[1mFOXSHELL_URL\033[0m: \033[31m%s\033[0m\n' "$FOXSHELL_URL" >&2 'printf' '\n' if '[' "${ZDOTDIR:-$HOME}" '=' "$HOME" ']'; then >&2 'printf' 'It comes from \033[4m~/.zshenv\033[0m. Correct value example:\n' else >&2 'printf' 'It comes from \033[4;33m"$ZDOTDIR"\033[0;4m/.zshenv\033[0m. Correct value example:\n' fi >&2 'printf' '\n' >&2 'printf' ' FOXSHELL_URL=\033[33m"https://git.foxdale.tech/Arctic/foxshell/raw/branch/main"\033[0m\n' >&2 'printf' '\n' 'exit' '1' fi if '[' "$v" '!=' 'main' ']'; then >&2 'printf' '\033[33mfoxshell\033[0m: unsupported \033[1mFOXSHELL_URL\033[0m: \033[31m%s\033[0m\n' "$FOXSHELL_URL" >&2 'printf' '\n' if '[' "${ZDOTDIR:-$HOME}" '=' "$HOME" ']'; then >&2 'printf' 'It comes from \033[4m~/.zshenv\033[0m. Correct value example:\n' else >&2 'printf' 'It comes from \033[4;33m"$ZDOTDIR"\033[0;4m/.zshenv\033[0m. Correct value example:\n' fi >&2 'printf' '\n' >&2 'printf' ' FOXSHELL_URL=\033[33m"%s"\033[0m\n' "https://git.foxdale.tech/Arctic/foxshell/raw/branch/main" >&2 'printf' '\n' 'exit' '1' fi if '[' "$FOXSHELL_UPDATING" '=' '1' ']'; then >&2 'printf' '\033[33mfoxshell\033[0m: updating \033[1m%s\033[0m\n' "foxshell" else >&2 'printf' '\033[33mfoxshell\033[0m: installing \033[1m%s\033[0m\n' "foxshell" fi '[' "${EUID:-x}" '!=' '0' '-a' -n "${HOME-}" ']' && '[' "$FOXSHELL" = "$HOME"/.cache/foxshell ']' && '[' '!' '-d' "$HOME"/.cache ']' && 'command' 'mkdir' '-p' '--' "$HOME"/.cache 2>'/dev/null' && 'command' 'chmod' 'go-rwx' '--' "$HOME"/.cache 2>'/dev/null' || 'true' 'command' 'rm' '-rf' '--' "$HOME"/.cache/foxshell 2>'/dev/null' && 'command' 'rmdir' '--' "$HOME"/.cache 2>'/dev/null' 'command' 'mkdir' '-p' '--' "$FOXSHELL" || 'exit' tmpdir="$('command' 'mktemp' '-d' "$FOXSHELL"/tmp.XXXXXXXXXX)" || 'exit' 'command' 'chmod' 'go-rwx' '--' "$tmpdir" || 'exit' 'set' '-E' 'trap' 'command rm -rf -- "$tmpdir"; exit 1' 'ERR' 'set' '+E' dir="$FOXSHELL"/foxshell FOXSHELL_PACKAGE_NAME='foxshell' FOXSHELL_PACKAGE_DIR="$tmpdir"/foxshell FOXSHELL_PACKAGE_URL="$FOXSHELL_URL" # Download from git repository url="https://git.foxdale.tech/Arctic/foxshell/archive/main.tar.gz" if 'command' -v 'curl' >'/dev/null' 2>&1; then 'command' 'curl' '-fsSL' '--' "$url" | { 'command' 'tar' '-C' "$tmpdir" '-xzf' '-' } || 'exit' elif 'command' -v 'wget' >'/dev/null' 2>&1; then 'command' 'wget' '-O' '-' '--' "$url" | { 'command' 'tar' '-C' "$tmpdir" '-xzf' '-' } || 'exit' else >&2 'printf' '\033[33mfoxshell\033[0m: please install \033[32mcurl\033[0m or \033[32mwget\033[0m\n' 'exit' '1' fi 'export' 'FOXSHELL' 'export' 'FOXSHELL_PACKAGE_NAME' 'export' 'FOXSHELL_PACKAGE_DIR' 'export' 'FOXSHELL_PACKAGE_URL' if '[' "$FOXSHELL_UPDATING" '=' '1' ']'; then "sh" "$tmpdir"/foxshell/sc/setup '-n' "$FOXSHELL" '-o' "$FOXSHELL_UPDATING" || 'exit' else "sh" "$tmpdir"/foxshell/sc/setup '-n' "$FOXSHELL" || 'exit' fi 'command' 'mv' '-f' '--' "$tmpdir"/foxshell "$dir" || 'exit' 'trap' '-' 'ERR' 'command' 'rm' '-rf' '--' "$tmpdir" ) && '.' "$FOXSHELL"/foxshell/main.zsh && 'setopt' 'aliases' && 'return' case "${FOXSHELL_BOOTSTRAPPING-}" in '') if '[' '-n' "${_foxshell_exe-}" ']'; then >&2 'printf' '\033[33mfoxshell\033[0m: failed to initialize \033[1mfoxshell\033[0m\n' >&2 'printf' '\n' >&2 'printf' 'This is most likely due to a bug in \033[4mfoxshell\033[0m. Please report it at:\n' >&2 'printf' '\n' >&2 'printf' ' \033[4mhttps://git.foxdale.tech/Arctic/foxshell/issues\033[0m\n' >&2 'printf' '\n' >&2 'printf' 'If foxshell is working fine in another terminal, you can try restarting\n' >&2 'printf' 'zsh in this terminal. If it does not help, reinstall foxshell.\n' >&2 'printf' '\n' >&2 'printf' ' \033[32msh\033[0m -c \033[33m"\033[0m$(\033[32mcurl\033[0m -fsSL \033[4mhttps://git.foxdale.tech/Arctic/foxshell/raw/branch/main/install\033[0m)\033[33m"\033[0m\n' >&2 'printf' '\n' 'exit' '1' fi ;; '1') >&2 'printf' '\033[33mfoxshell\033[0m: failed to bootstrap \033[1mfoxshell\033[0m\n' >&2 'printf' '\n' >&2 'printf' 'This is most likely due to a bug in \033[4mfoxshell\033[0m. Please report it at:\n' >&2 'printf' '\n' >&2 'printf' ' \033[4mhttps://git.foxdale.tech/Arctic/foxshell/issues\033[0m\n' >&2 'printf' '\n' 'exit' '1' ;; esac fi 'setopt' 'aliases'