# zmodload zsh/zprof # https://github.com/sindresorhus/pure autoload -U promptinit; promptinit PURE_GIT_DOWN_ARROW=↓ PURE_GIT_UP_ARROW=↑ prompt pure CASE_SENSITIVE="true" DISABLE_UPDATE_PROMPT="true" DISABLE_AUTO_TITLE="true" ENABLE_CORRECTION="true" # History [ -z "$HISTFILE" ] && HISTFILE="$HOME/.zsh_history" HIST_STAMPS="yyyy-mm-dd" HISTSIZE=50000 SAVEHIST=10000 setopt extended_history setopt hist_expire_dups_first setopt hist_ignore_dups setopt hist_ignore_space setopt inc_append_history setopt share_history # Changing directories setopt auto_cd setopt auto_pushd unsetopt pushd_ignore_dups setopt pushdminus # Completion setopt auto_menu setopt always_to_end setopt complete_in_word unsetopt flow_control unsetopt menu_complete zstyle ':completion:*:*:*:*:*' menu select zstyle ':completion:*' matcher-list 'm:{a-zA-Z-_}={A-Za-z_-}' 'r:|=*' 'l:|=* r:|=*' zstyle ':completion::complete:*' use-cache 1 zstyle ':completion::complete:*' cache-path $ZSH_CACHE_DIR zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01' # Highlight the current autocomplete option zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}" # Better SSH/SCP/Rsync Autocomplete h=() if [[ -r ~/.ssh/config ]]; then h=($h ${${${(@M)${(f)"$(cat ~/.ssh/config)"}:#Host *}#Host }:#*[*?]*}) fi if [[ -r ~/.ssh/known_hosts ]]; then h=($h ${${${(f)"$(cat ~/.ssh/known_hosts{,2} || true)"}%%\ *}%%,*}) 2>/dev/null fi if [[ $#h -gt 0 ]]; then zstyle ':completion:*:(ssh|scp|rsync|slogin):*' hosts $h fi # https://gist.github.com/ctechols/ca1035271ad134841284#gistcomment-2767420 autoload -Uz compinit if [[ -n ~/.zcompdump(#qN.mh+24) ]]; then compinit touch ~/.zcompdump else compinit -C fi # Other setopt prompt_subst source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh source /usr/local/share/zsh-autosuggestions/zsh-autosuggestions.zsh source <(kubectl completion zsh) # zprof