projects
/
opera
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add default to option argument
[opera]
/
src
/
main
/
opera.lisp
diff --git
a/src/main/opera.lisp
b/src/main/opera.lisp
index 0d70f9f0c5a6a793dcc8a855fac0cc2d20654bf8..173ea488ac4b99d8d2810562003bf31da3dde530 100644
(file)
--- a/
src/main/opera.lisp
+++ b/
src/main/opera.lisp
@@
-87,7
+87,8
@@
((process-options (remaining-options &optional current-strings)
(if (not remaining-options)
(format nil
((process-options (remaining-options &optional current-strings)
(if (not remaining-options)
(format nil
- (format nil "~~A~~{~~,,~A~~A~~}" command-width)
+ ; Then 1+ is for the space after the command
+ (format nil "~~A~~{~~%~~,,~A@A~~}" (1+ command-width))
(car (reverse current-strings))
(cdr (reverse current-strings)))
(let*
(car (reverse current-strings))
(cdr (reverse current-strings)))
(let*
@@
-186,8
+187,11
@@
(defun option-present (option-name parsed-options)
(find option-name parsed-options :key #'car))
(defun option-present (option-name parsed-options)
(find option-name parsed-options :key #'car))
-(defun option-argument (option-name parsed-options)
- (cadr (assoc option-name parsed-options)))
+(defun option-argument (option-name parsed-options &optional default)
+ (if
+ (option-present option-name parsed-options)
+ (cadr (assoc option-name parsed-options))
+ default))
(defun option-arguments (option-name parsed-options)
(mapcar #'cadr (remove option-name parsed-options :key #'car :test-not #'eql)))
(defun option-arguments (option-name parsed-options)
(mapcar #'cadr (remove option-name parsed-options :key #'car :test-not #'eql)))