((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*
(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)))