aboutsummaryrefslogtreecommitdiff
path: root/module/util/options.scm
diff options
context:
space:
mode:
Diffstat (limited to 'module/util/options.scm')
-rw-r--r--module/util/options.scm12
1 files changed, 9 insertions, 3 deletions
diff --git a/module/util/options.scm b/module/util/options.scm
index 87390e27..89dde42d 100644
--- a/module/util/options.scm
+++ b/module/util/options.scm
@@ -8,9 +8,15 @@
(define-public (getopt-opt options)
(map (lambda (optline)
(cons (car optline)
- (lset-intersection (lambda (a b) (eqv? b (car a)))
- (cdr optline)
- '(single-char required? value predicate))))
+ (map (lambda (opt-field)
+ (cons (car opt-field)
+ (cond [(and (eq? 'value (car opt-field))
+ (symbol? (cadr opt-field)))
+ '(optional)]
+ [else (cdr opt-field)])))
+ (lset-intersection (lambda (a b) (eqv? b (car a)))
+ (cdr optline)
+ '(single-char required? value predicate)))))
options))