From 20d63be655bfed2104858dc87052a310f9c45224 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Cornell=C3=A0?= Date: Thu, 18 Dec 2014 21:56:49 +0100 Subject: [PATCH] Use zparseopts to get passed arguments --- lib/history.zsh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/history.zsh b/lib/history.zsh index e6c94fcc..23e96c9d 100644 --- a/lib/history.zsh +++ b/lib/history.zsh @@ -2,12 +2,18 @@ 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 + zparseopts -E c=clear l=list + + if [[ -n "$clear" ]]; then + # if -c provided, clobber the history file echo -n >| "$HISTFILE" 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 "$@" else + # otherwise, call `fc -l 1` to show all available + # history (and pass additional parameters) builtin fc "$@" -l 1 fi }