|
@@ -2,12 +2,18 @@
|
|
function omz_history {
|
|
function omz_history {
|
|
# Delete the history file if `-c' argument provided.
|
|
# Delete the history file if `-c' argument provided.
|
|
# This won't affect the `history' command output until the next login.
|
|
# This won't affect the `history' command output until the next login.
|
|
- if [[ "${@[(i)-c]}" -le $# ]]; then
|
|
|
|
|
|
+ zparseopts -E c=clear l=list
|
|
|
|
+
|
|
|
|
+ if [[ -n "$clear" ]]; then
|
|
|
|
+ # if -c provided, clobber the history file
|
|
echo -n >| "$HISTFILE"
|
|
echo -n >| "$HISTFILE"
|
|
echo >&2 History file deleted. Reload the session to see its effects.
|
|
echo >&2 History file deleted. Reload the session to see its effects.
|
|
- elif [[ "${@[(i)-l]}" -le $# ]]; then
|
|
|
|
|
|
+ elif [[ -n "$list" ]]; then
|
|
|
|
+ # if -l provided, run as if calling `fc' directly
|
|
builtin fc "$@"
|
|
builtin fc "$@"
|
|
else
|
|
else
|
|
|
|
+ # otherwise, call `fc -l 1` to show all available
|
|
|
|
+ # history (and pass additional parameters)
|
|
builtin fc "$@" -l 1
|
|
builtin fc "$@" -l 1
|
|
fi
|
|
fi
|
|
}
|
|
}
|