|
|
|
@ -1,14 +1,22 @@ |
|
|
|
## History wrapper |
|
|
|
## History wrapper |
|
|
|
function omz_history { |
|
|
|
function omz_history { |
|
|
|
# parse arguments and remove from $@ |
|
|
|
# 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 |
|
|
|
zparseopts -E -D c=clear l=list f=stamp E=stamp i=stamp t:=stamp |
|
|
|
|
|
|
|
|
|
|
|
if [[ -n "$clear" ]]; then |
|
|
|
if [[ -n "$clear" ]]; then |
|
|
|
# if -c provided, clobber the history file |
|
|
|
# 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" |
|
|
|
fc -p "$HISTFILE" |
|
|
|
echo >&2 History file deleted. |
|
|
|
|
|
|
|
|
|
|
|
print -u2 History file deleted. |
|
|
|
elif [[ $# -eq 0 ]]; then |
|
|
|
elif [[ $# -eq 0 ]]; then |
|
|
|
# if no arguments provided, show full history starting from 1 |
|
|
|
# if no arguments provided, show full history starting from 1 |
|
|
|
builtin fc $stamp -l 1 |
|
|
|
builtin fc $stamp -l 1 |
|
|
|
|