]> git.jsancho.org Git - guile-click.git/blobdiff - click/display.scm
Type conversion
[guile-click.git] / click / display.scm
index dab99b0d25d8dfba4235b18186890d3b8102d0bc..968a063e1677df54684c2a4a3fcc18229c60af33 100644 (file)
             display-help))
 
 
-(define (get-option-type option)
+(define (get-type-description option)
   "Return allowed type for the value in the option"
-  (let ((default (option-property option 'default)))
-    (cond ((not default)
-           "TEXT")
-          ((integer? default)
-           "INTEGER")
-          ((number? default)
-           "NUMBER")
-          (else
-           "TEXT"))))
+  (assoc-ref (option-type option) 'description))
         
 (define (display-help procedure option-spec)
   (format #t "Usage: ~a [OPTIONS]
@@ -56,7 +48,7 @@ Options:
                                        (let ((value
                                               (not (option-property option 'flag))))
                                          (if value
-                                             (format #f " ~a" (get-option-type option))
+                                             (format #f " ~a" (get-type-description option))
                                              "")))
                                (option-property option 'help "")))
                        option-spec))
@@ -64,7 +56,11 @@ Options:
                                      (string-length (car option)))
                                    options)))))
     (for-each (lambda (option)
-                (format #t "  ~a~v_~a~%" (car option) (- sep (string-length (car option))) (cdr option)))
+                (format #t
+                        "  ~a~v_~a~%"
+                        (car option)
+                        (- sep (string-length (car option)))
+                        (cdr option)))
               options)))
 
 (define (display-error wrong-option)