# ─< Helper functions >───────────────────────────────────────────────────────────────── # ANSI color codes RED='\033[0;31m' CYAN='\033[0;36m' YELLOW='\033[0;33m' LIGHT_GREEN='\033[0;92m' BOLD='\033[1m' NC='\033[0m' # No Color # Logging functions with emojis echo_error() { local msg="${RED}❌ $1${NC}\n" # printf "$msg" >&2 _MESSAGES[error]+="$msg" } echo_warning() { local msg="${YELLOW}⚠️ $1${NC}\n" # printf "$msg" _MESSAGES[warn]+="$msg" } echo_info() { local msg="${CYAN}ℹ️ $1${NC}\n" # printf "$msg" _MESSAGES[info]+="$msg" } # ─< proxy config >─────────────────────────────────────────────────────────────────────── proxy() { local ip="172.22.11.69" local port="8080" # Check if the IP and port are reachable if nc -z -w5 $ip $port; then # If reachable, set the proxy environment variables export http_proxy="http://$ip:$port" export https_proxy="http://$ip:$port" export HTTP_PROXY="http://$ip:$port" export HTTPS_PROXY="http://$ip:$port" echo_info "Proxy set to: http://$ip:$port" else echo_error "IP $ip with port $port is not reachable." fi alias proxy='echo "http: $HTTP_PROXY"; echo "https: $HTTPS_PROXY"' } # ─< unset proxy >──────────────────────────────────────────────────────────────────────── noproxy() { unset {HTTP_PROXY,HTTPS_PROXY,http_proxy,https_proxy} } # Load completions autoload -Uz compinit && compinit bindkey -e # # Define custom word style that treats special characters as word boundaries autoload -Uz select-word-style select-word-style bash setopt appendhistory setopt sharehistory setopt hist_ignore_space setopt hist_ignore_all_dups setopt hist_save_no_dups setopt hist_ignore_dups setopt hist_find_no_dups # Huge history. Doesn't appear to slow things down, so why not? HISTSIZE=500000 HISTFILESIZE=100000 HISTFILE=~/.zsh_history SAVEHIST=$HISTSIZE HISTDUP=erase # Completion styling zstyle :compinstall filename "$HOME/.zshrc" zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}' # zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}" zstyle ':completion:*' menu no zstyle ':fzf-tab:complete:cd:*' fzf-preview 'ls --color $realpath' zstyle ':fzf-tab:complete:__zoxide_z:*' fzf-preview 'ls --color $realpath' setopt autocd notify # End of lines configured by zsh-newuser-install