diff options
author | Kozlov Alexander <badryke@gmail.com> | 2018-11-16 13:38:43 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-16 13:38:43 +0300 |
commit | 8c95c52353118643ac3dbd9b0c185a3129b84bf8 (patch) | |
tree | ee7497251b7a541480ae5c6a97b63b14381ed5ee /lib/history.zsh | |
parent | dd30cf104c9ca42d89d26a134382ca421869ce7e (diff) | |
parent | 3d8f2bda599c8c6d160dc448e5ab28aaf2d5e90d (diff) | |
download | zsh-8c95c52353118643ac3dbd9b0c185a3129b84bf8.tar.gz zsh-8c95c52353118643ac3dbd9b0c185a3129b84bf8.tar.bz2 zsh-8c95c52353118643ac3dbd9b0c185a3129b84bf8.zip |
Merge branch 'master' into master
Diffstat (limited to 'lib/history.zsh')
-rw-r--r-- | lib/history.zsh | 54 |
1 files changed, 35 insertions, 19 deletions
diff --git a/lib/history.zsh b/lib/history.zsh index 5de71c2d3..d8bbd41c4 100644 --- a/lib/history.zsh +++ b/lib/history.zsh @@ -1,24 +1,40 @@ -## Command history configuration -if [ -z "$HISTFILE" ]; then - HISTFILE=$HOME/.zsh_history -fi +## History wrapper +function omz_history { + local clear list + zparseopts -E c=clear l=list -HISTSIZE=10000 -SAVEHIST=10000 + if [[ -n "$clear" ]]; then + # if -c provided, clobber the history file + echo -n >| "$HISTFILE" + echo >&2 History file deleted. Reload the session to see its effects. + elif [[ -n "$list" ]]; then + # if -l provided, run as if calling `fc' directly + builtin fc "$@" + else + # unless a number is provided, show all history events (starting from 1) + [[ ${@[-1]} = *[0-9]* ]] && builtin fc -l "$@" || builtin fc -l "$@" 1 + fi +} -# Show history +# Timestamp format case $HIST_STAMPS in - "mm/dd/yyyy") alias history='fc -fl 1' ;; - "dd.mm.yyyy") alias history='fc -El 1' ;; - "yyyy-mm-dd") alias history='fc -il 1' ;; - *) alias history='fc -l 1' ;; + "mm/dd/yyyy") alias history='omz_history -f' ;; + "dd.mm.yyyy") alias history='omz_history -E' ;; + "yyyy-mm-dd") alias history='omz_history -i' ;; + "") alias history='omz_history' ;; + *) alias history="omz_history -t '$HIST_STAMPS'" ;; esac -setopt append_history -setopt extended_history -setopt hist_expire_dups_first -setopt hist_ignore_dups # ignore duplication command history list -setopt hist_ignore_space -setopt hist_verify -setopt inc_append_history -setopt share_history # share command history data +## History file configuration +[ -z "$HISTFILE" ] && HISTFILE="$HOME/.zsh_history" +HISTSIZE=50000 +SAVEHIST=10000 + +## History command configuration +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 inc_append_history # add commands to HISTFILE in order of execution +setopt share_history # share command history data |