From d87d4331cfab6cffbcc2366a855855b9a5c5e848 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Cornell=C3=A0?= Date: Sun, 15 Jun 2014 21:08:04 +0200 Subject: [PATCH] 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. --- lib/history.zsh | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/lib/history.zsh b/lib/history.zsh index 5de71c2d..8a861fdb 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