summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/history.zsh14
1 files changed, 11 insertions, 3 deletions
diff --git a/lib/history.zsh b/lib/history.zsh
index a8431fd5a..b13e1807f 100644
--- a/lib/history.zsh
+++ b/lib/history.zsh
@@ -1,14 +1,22 @@
## History wrapper
function omz_history {
# parse arguments and remove from $@
- local clear list stamp
+ local clear list stamp REPLY
zparseopts -E -D c=clear l=list f=stamp E=stamp i=stamp t:=stamp
if [[ -n "$clear" ]]; then
# if -c provided, clobber the history file
- echo -n >| "$HISTFILE"
+
+ # confirm action before deleting history
+ print -nu2 "This action will irreversibly delete your command history. Are you sure? [y/N] "
+ builtin read -k1
+ [[ "$REPLY" = $'\n' ]] || print -u2
+ [[ "$REPLY" != ([nN]|$'\n') ]] || return 0
+
+ print -nu2 >| "$HISTFILE"
fc -p "$HISTFILE"
- echo >&2 History file deleted.
+
+ print -u2 History file deleted.
elif [[ $# -eq 0 ]]; then
# if no arguments provided, show full history starting from 1
builtin fc $stamp -l 1