summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/history.zsh22
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