#!/usr/bin/env zsh HYPHEN_INSENSITIVE="true" DISABLE_UPDATE_PROMPT="true" DISABLE_AUTO_TITLE="true" HISTFILE=~/.zsh_history HISTSIZE=10000 SAVEHIST=10000 setopt NO_BEEP setopt MENU_COMPLETE setopt auto_pushd # auto push to the directory stack on cd setopt extended_history # record timestamp of command in HISTFILE setopt hist_expire_dups_first # delete duplicates first when HISTFILE size exceeds HISTSIZE setopt hist_ignore_dups # ignore duplicated commands history list setopt hist_ignore_space # ignore commands that start with space setopt hist_verify # show command with history expansion to user before running it setopt share_history # share command history data typeset -A ZSH_HIGHLIGHT_STYLES ZSH_HIGHLIGHT_STYLES[path]='fg=cyan' ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets pattern line) ZSH_AUTOSUGGEST_STRATEGY=(match_prev_cmd completion) fpath=(~/.local/share/zsh/site-functions "${fpath[@]}") source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh for f in ~/.zsh/*.*sh; do source $f; done # fzf settings export FZF_DEFAULT_COMMAND="fd --type f || git ls-tree -r --name-only HEAD || rg --files || find ." export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND" command -v fd &>/dev/null && _fzf_compgen_path() { fd --hidden --follow --exclude ".git" . "$1" } command -v fd &>/dev/null && _fzf_compgen_dir() { fd --type d --hidden --follow --exclude ".git" . "$1" } eval "$(starship init zsh 2>/dev/null)" eval "$(navi widget zsh 2>/dev/null)" set_win_title() { local prefix if [ "$USER" != "tobyv" ]; then prefix="${USER} in " fi if [ -n "$SSH_CLIENT" ] || [ -n "$SSH_TTY" ]; then prefix="${prefix/in/on}${HOST} in " fi echo -ne "\033]0;${prefix}${PWD/$HOME/~}\007" } precmd_functions+=(set_win_title) autoload -U compinit compinit -i zstyle ':completion:*' menu select source ~/.zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh