X-Git-Url: https://git.jsancho.org/?p=guile-click.git;a=blobdiff_plain;f=click%2Fvalue.scm;fp=click%2Fvalue.scm;h=0000000000000000000000000000000000000000;hp=f42eb2f3b1921a065e0a3a9202ed48e77874e16a;hb=986fe49efb25343011f28262cd2b7afbf81dd78e;hpb=84da61950d4a4038f76fdb9f66e0bbbb71f75385 diff --git a/click/value.scm b/click/value.scm deleted file mode 100644 index f42eb2f..0000000 --- a/click/value.scm +++ /dev/null @@ -1,60 +0,0 @@ -;;; Click --- Command Line Interface Creation Kit for GNU Guile -;;; Copyright © 2021 Javier Sancho -;;; -;;; This file is part of Click. -;;; -;;; Click is free software; you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 3 of the License, or -;;; (at your option) any later version. -;;; -;;; Click is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;;; General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with Click. If not, see . - - -(define-module (click value) - #:use-module (ice-9 getopt-long) - #:use-module (ice-9 readline) - #:use-module (click util) - #:export (get-option-default-value - get-values)) - - -(define (get-values option-spec values) - "Return an associated list with values for all the options in option-spec" - (cond ((null? option-spec) - '()) - (else - (let* ((option (car option-spec)) - (option-name (car option)) - (value (get-normalized-value values option option-name))) - (cons (cons option-name value) - (get-values (cdr option-spec) values)))))) - - -(define (get-normalized-value values option option-name) - "Get value for option, converting from string to the appropriate value" - (let ((convert-proc (assoc-ref (option-type option) 'convert)) - (value (option-ref values option-name #f))) - (cond ((and value (not (option-property option 'flag))) - (convert-proc value)) - (value - value) - (else - (get-option-default-value option))))) - - -(define* (get-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)))