diff --git a/.config/zsh/setup-history.zsh b/.config/zsh/setup-history.zsh new file mode 100644 index 0000000..89aa04c --- /dev/null +++ b/.config/zsh/setup-history.zsh @@ -0,0 +1,13 @@ +HISTFILE=${ZDOTDIR:-$HOME}/.zsh_history +HISTSIZE=100000000 +SAVEHIST=100000000 +setopt BANG_HIST # Treat the '!' character specially during expansion. +setopt EXTENDED_HISTORY # Write the history file in the ":start:elapsed;command" format. +setopt INC_APPEND_HISTORY # Write to the history file immediately, not when the shell exits. +setopt SHARE_HISTORY # Share history between all sessions. +setopt HIST_FIND_NO_DUPS # Do not display a line previously found. +setopt HIST_IGNORE_SPACE # Don't record an entry starting with a space. +setopt HIST_REDUCE_BLANKS # Remove superfluous blanks before recording entry. +setopt HIST_SAVE_NO_DUPS +setopt HIST_IGNORE_ALL_DUPS +setopt HIST_VERIFY diff --git a/.config/zsh/theme.zsh b/.config/zsh/theme.zsh new file mode 100644 index 0000000..ba64bfb --- /dev/null +++ b/.config/zsh/theme.zsh @@ -0,0 +1,67 @@ +# Basic syntax elements +ZSH_HIGHLIGHT_STYLES[default]=none +ZSH_HIGHLIGHT_STYLES[command]=fg=blue +ZSH_HIGHLIGHT_STYLES[builtin]=fg=blue +ZSH_HIGHLIGHT_STYLES[function]=fg=blue +ZSH_HIGHLIGHT_STYLES[alias]=fg=blue +ZSH_HIGHLIGHT_STYLES[precommand]=fg=cyan + +# Arguments and quotes +ZSH_HIGHLIGHT_STYLES[single-quoted-argument]=fg=yellow +ZSH_HIGHLIGHT_STYLES[double-quoted-argument]=fg=yellow +ZSH_HIGHLIGHT_STYLES[back-quoted-argument]=fg=yellow +ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]=fg=yellow +ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]=fg=cyan +ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]=fg=cyan +ZSH_HIGHLIGHT_STYLES[back-dollar-quoted-argument]=fg=cyan +ZSH_HIGHLIGHT_STYLES[rc-quote]=fg=cyan + +# Delimiters and operators +ZSH_HIGHLIGHT_STYLES[back-quoted-argument-delimiter]=fg=yellow +ZSH_HIGHLIGHT_STYLES[redirection]=fg=cyan,bold +ZSH_HIGHLIGHT_STYLES[commandseparator]=fg=green +ZSH_HIGHLIGHT_STYLES[process-substitution-delimiter]=fg=cyan,bold +ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter]=fg=cyan,bold + +# Options and parameters +ZSH_HIGHLIGHT_STYLES[single-hyphen-option]=fg=cyan +ZSH_HIGHLIGHT_STYLES[double-hyphen-option]=fg=cyan + +# Paths +ZSH_HIGHLIGHT_STYLES[path]=fg=cyan,underline +ZSH_HIGHLIGHT_STYLES[path_pathseparator]=fg=cyan,underline + +# Comments and errors +ZSH_HIGHLIGHT_STYLES[comment]=fg=red +ZSH_HIGHLIGHT_STYLES[unknown-token]=fg=red,bold +ZSH_HIGHLIGHT_STYLES[bracket-error]=fg=red,bold + +# Special elements +ZSH_HIGHLIGHT_STYLES[globbing]=fg=cyan,bold +ZSH_HIGHLIGHT_STYLES[history-expansion]=fg=blue +ZSH_HIGHLIGHT_STYLES[reserved-word]=fg=yellow +ZSH_HIGHLIGHT_STYLES[assign]=fg=cyan +ZSH_HIGHLIGHT_STYLES[arg0]=fg=green +ZSH_HIGHLIGHT_STYLES[autodirectory]=fg=green,underline +ZSH_HIGHLIGHT_STYLES[suffix-alias]=fg=green,underline +ZSH_HIGHLIGHT_STYLES[global-alias]=fg=cyan + +# File descriptors +ZSH_HIGHLIGHT_STYLES[named-fd]=fg=cyan +ZSH_HIGHLIGHT_STYLES[numeric-fd]=fg=cyan + +# Brackets +ZSH_HIGHLIGHT_STYLES[bracket-level-1]=fg=blue,bold +ZSH_HIGHLIGHT_STYLES[bracket-level-2]=fg=green,bold +ZSH_HIGHLIGHT_STYLES[bracket-level-3]=fg=yellow,bold +ZSH_HIGHLIGHT_STYLES[bracket-level-4]=fg=cyan,bold +ZSH_HIGHLIGHT_STYLES[bracket-level-5]=fg=magenta,bold + +# Process and command substitution +ZSH_HIGHLIGHT_STYLES[process-substitution]=none +ZSH_HIGHLIGHT_STYLES[command-substitution]=none + +# Cursor +ZSH_HIGHLIGHT_STYLES[cursor]=standout +ZSH_HIGHLIGHT_STYLES[cursor-matchingbracket]=standout +ZSH_HIGHLIGHT_STYLES[root]=standout