diff --git a/brmsaptool.scm b/brmsaptool.scm index 4ceed09..aeab131 100644 --- a/brmsaptool.scm +++ b/brmsaptool.scm @@ -46,7 +46,10 @@ (command-line print-help - (-h "This help" () (print "help") (print-help) (print "done") (exit 0)) + (-h "This help" () + (print "Command-line options:") + (print-help) + (exit 0)) (-a "One-argument" (x) (print "Argument x " x)) (-b "Two arguments" (x y) (print "Arguments " x y)) (-c "Argument lambda" (lambda (x) (print "Lambda x " x)))) diff --git a/command-line.scm b/command-line.scm index d758e0c..7b660be 100644 --- a/command-line.scm +++ b/command-line.scm @@ -100,10 +100,18 @@ descrs)))) (let loop ((descrs descrs)) (when (not (null? descrs)) - (let ((desc (car descrs))) - (print (car desc) - (cadr desc) - (caddr desc)) + (let* ((desc (car descrs)) + (opt (car desc)) + (args (cadr desc)) + (help (caddr desc))) + (print " " + opt + (make-string (- owidth (string-length opt)) #\space) + " " + args + (make-string (- awidth (string-length args)) #\space) + " " + help) (loop (cdr descrs))))))) ;; Syntax for expanding various types of options.