diff options
author | Marc Cornellà <marc.cornella@live.com> | 2014-06-15 21:08:04 +0200 |
---|---|---|
committer | Marc Cornellà <marc.cornella@live.com> | 2018-04-22 15:31:53 +0200 |
commit | d87d4331cfab6cffbcc2366a855855b9a5c5e848 (patch) | |
tree | 5431d48b4fa7b3c212498adcdf24ebb639f07d26 /lib | |
parent | dd39d43021f78bf88dff7db43f616866c3596c1f (diff) | |
download | zsh-d87d4331cfab6cffbcc2366a855855b9a5c5e848.tar.gz zsh-d87d4331cfab6cffbcc2366a855855b9a5c5e848.tar.bz2 zsh-d87d4331cfab6cffbcc2366a855855b9a5c5e848.zip |
Change history alias into a function
This commit changes the history alias into a function which puts
the passed arguments before `-l 1`. It also provides a temporary
workaround to the lack of a `history -c` command in zsh.
For more information see issues 739 and 789.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/history.zsh | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/lib/history.zsh b/lib/history.zsh index 5de71c2d3..8a861fdbc 100644 --- a/lib/history.zsh +++ b/lib/history.zsh @@ -6,12 +6,24 @@ fi HISTSIZE=10000 SAVEHIST=10000 -# Show history +## History wrapper +function omz_history { + # Delete the history file if `-c' argument provided. + # This won't affect the `history' command output until the next login. + if [[ "${@[(i)-c]}" -le $# ]]; then + echo -n >| "$HISTFILE" + echo >&2 History file deleted. Reload the session to see its effects. + else + fc $@ -l 1 + fi +} + +# 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' ;; esac setopt append_history |