Browse Source

lib: fix history wrapper when passing numbers

If a number is passed without explicitly passing `-l`, it will now behave
as if using the history builtin, instead of throwing an error.
Marc Cornellà 5 years ago
parent
commit
5a729f6667
1 changed files with 3 additions and 5 deletions
  1. 3 5
      lib/history.zsh

+ 3 - 5
lib/history.zsh

@@ -1,7 +1,6 @@
 ## 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.
+  local clear list
   zparseopts -E c=clear l=list
 
   if [[ -n "$clear" ]]; then
@@ -12,9 +11,8 @@ function omz_history {
     # 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
+    # unless a number is provided, show all history events (starting from 1)
+    [[ ${@[-1]} = *[0-9]* ]] && builtin fc -l "$@" || builtin fc -l "$@" 1
   fi
 }