From 25c936766e7e1e75a2a3aca010fa90858194f8d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 10 May 2013 23:14:26 +0200 Subject: [PATCH] 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. --- guix/ui.scm | 23 +++++++++++++++++------ 1 file 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 @@ (define (args-fold* options unrecognized-option-proc operand-proc . seeds) (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 @@ (define module (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 @@ (define (guix-main arg0 . args) (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)