From 2dd22dd3e49e29eedc9e5794cdfc0f851a9db6be Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Thu, 20 Apr 2023 19:11:11 +0200 Subject: xfdf.lisp: Ideas for hierarchical fields Ideas for an implementation change to allow writing XFDFs with nested fields. --- src/xfdf.lisp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src') diff --git a/src/xfdf.lisp b/src/xfdf.lisp index d64aa29..5ddd23a 100644 --- a/src/xfdf.lisp +++ b/src/xfdf.lisp @@ -25,3 +25,26 @@ value))) ") output-stream) + +(defun field-xfdf (name value) + (field-xfdf* name value 0)) + +(defun field-xfdf* (name value nesting-level) + "" + (let ((indent (+ 2 nesting-level))) + ;; TODO: Add checkbox default values. + (if (listp value) + (field-xfdf* name value (1+ nesting-level)) + + ;; TODO: Put checkbox stuff here. + (format nil "~ +~v{~A~:*~}~A +~v{~A~:*~} +" +indent +name +indent +value +indent)))) +;; * (format t "~v{~A~:*~}<>~A" 5 '("Hello") "Next") -- cgit v1.2.3