X-Git-Url: https://git.jsancho.org/?p=guile-click.git;a=blobdiff_plain;f=click%2Futil.scm;fp=click%2Futil.scm;h=4fc80bad05526d47a2a0f8ed22dc02e7ef3d27fe;hp=65ad8627e12579b5a8d072638d0db43ed3b65e33;hb=a2c12dede99c0d296194699e025a2e541c8a98a0;hpb=7bb66a7166059976c81aef6e76f205c14b45cc45 diff --git a/click/util.scm b/click/util.scm index 65ad862..4fc80ba 100644 --- a/click/util.scm +++ b/click/util.scm @@ -18,8 +18,10 @@ (define-module (click util) + #:use-module (ice-9 readline) #:use-module (click constant) #:export (getopt-long-option-spec + option-default-value option-property program-name %program-name)) @@ -42,3 +44,13 @@ (if property (cadr property) default))) + +(define* (option-default-value option #:optional (no-prompt #f)) + "Get default value for option, asking user if prompt property is set" + (let ((default (option-property option 'default))) + (if (not default) + (let ((prompt (option-property option 'prompt))) + (if prompt + (readline (format #f "~a: " prompt)) + default)) + default)))