summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-05-10 23:14:26 +0200
committerLudovic Courtès <ludo@gnu.org>2013-05-10 23:14:26 +0200
commit25c936766e7e1e75a2a3aca010fa90858194f8d4 (patch)
tree83b97581e1ae0541ca22543b14404385f664920d
parente3729544f99c1043d93e04aac99f563c0a1cfe5f (diff)
downloadguix-25c936766e7e1e75a2a3aca010fa90858194f8d4.tar.gz
ui: Invite users to try `--help' in the error message.
* guix/ui.scm (show-guix-usage): Mention `guix --help'.
  Suggested by Mark H. Weaver.
  (run-guix-command): Invoke it when a command is not found.
  (guix-main): Adjust accordingly.
-rw-r--r--guix/ui.scm23
1 files changed, 17 insertions, 6 deletions
diff --git a/guix/ui.scm b/guix/ui.scm
index c26ea06cb4..addc3ac334 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -387,7 +387,8 @@ reporting."
 
 (define (show-guix-usage)
   (format (current-error-port)
-          (_ "Usage: guix COMMAND ARGS...~%")))
+          (_ "Try `guix --help' for more information.~%"))
+  (exit 1))
 
 (define (command-files)
   "Return the list of source files that define Guix sub-commands."
@@ -428,7 +429,9 @@ found."
       (lambda ()
         (resolve-interface `(guix scripts ,command)))
       (lambda -
-        (leave (_ "~a: command not found~%") command))))
+        (format (current-error-port)
+                (_ "guix: ~a: command not found~%") command)
+        (show-guix-usage))))
 
   (let ((command-main (module-ref module
                                   (symbol-append 'guix- command))))
@@ -443,10 +446,18 @@ found."
   (let ()
     (define (option? str) (string-prefix? "-" str))
     (match args
-      (() (show-guix-usage) (exit 1))
-      (("--help") (show-guix-help))
-      (("--version") (show-version-and-exit "guix"))
-      (((? option?) args ...) (show-guix-usage) (exit 1))
+      (()
+       (format (current-error-port)
+               (_ "guix: missing command name~%"))
+       (show-guix-usage))
+      (("--help")
+       (show-guix-help))
+      (("--version")
+       (show-version-and-exit "guix"))
+      (((? option? o) args ...)
+       (format (current-error-port)
+               (_ "guix: unrecognized option '~a'~%") o)
+       (show-guix-usage))
       ((command args ...)
        (apply run-guix-command
               (string->symbol command)