# vim: set filetype=zsh:
# Put this on top of ~/.zshrc

# https://zsh.sourceforge.io/Doc/Release/Parameters.html#Parameters-Used-By-The-Shell
export HISTORY_IGNORE="(ls|ll|la|ls *|ll *|la *|cd|pwd|exit|builtin *|*:|z)"
export HISTSIZE=100000000
export SAVEHIST=$HISTSIZE

# https://zsh.sourceforge.io/Doc/Release/Options.html
setopt HIST_EXPIRE_DUPS_FIRST
setopt HIST_FIND_NO_DUPS
setopt HIST_IGNORE_ALL_DUPS
setopt HIST_IGNORE_DUPS
setopt HIST_IGNORE_SPACE
setopt HIST_NO_FUNCTIONS
setopt HIST_NO_STORE
setopt HIST_REDUCE_BLANKS
setopt HIST_SAVE_NO_DUPS
setopt INC_APPEND_HISTORY_TIME

# https://stackoverflow.com/q/12382499
bindkey "^[[1;3C" forward-word
bindkey "^[[1;3D" backward-word

# https://github.com/ohmyzsh/ohmyzsh/wiki/Settings#omzupdate-mode
zstyle ':omz:update' mode disabled

# https://github.com/ohmyzsh/ohmyzsh/wiki/Settings#hyphen_insensitive
HYPHEN_INSENSITIVE="true"

# https://github.com/ohmyzsh/ohmyzsh/issues/5569
# https://github.com/ohmyzsh/ohmyzsh/wiki/Settings#disable_magic_functions
DISABLE_MAGIC_FUNCTIONS="true"

# https://github.com/ohmyzsh/ohmyzsh/wiki/Settings#disable_ls_colors
DISABLE_LS_COLORS="true"

# https://github.com/ohmyzsh/ohmyzsh/issues/10291
# https://github.com/ohmyzsh/ohmyzsh/wiki/Settings#disable_untracked_files_dirty
DISABLE_UNTRACKED_FILES_DIRTY="true"

# https://github.com/ohmyzsh/ohmyzsh/wiki/Settings#automatic-title
DISABLE_AUTO_TITLE=true

# https://github.com/zsh-users/zsh-autosuggestions#suggestion-strategy
typeset -g ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE=20
typeset -g ZSH_AUTOSUGGEST_HISTORY_IGNORE=$HISTORY_IGNORE

# https://github.com/Aloxaf/fzf-tab
zstyle ':completion:*' menu no
