Prepare sub-key setting.

This commit is contained in:
Dominik Pantůček 2023-03-25 18:54:19 +01:00
parent a6043c0fc2
commit 92b8ff0c78
2 changed files with 36 additions and 6 deletions

View file

@ -33,6 +33,8 @@
member-record-input-file
member-record-set
member-record-add-highlight
member-record-sub-ref
member-record-sub-set
member-record-tests!
)
@ -87,6 +89,19 @@
(cons (list line-number message pass type)
(dict-ref mr 'highlights '()))))
;; Returns a key from particular section
(define (member-record-sub-ref mr sec key . defaults)
(let ((sec-dict (dict-ref mr sec)))
(if (null? defaults)
(dict-ref sec-dict key)
(dict-ref sec-dict key (car defaults)))))
;; Sets a key in particular section
(define (member-record-sub-set mr sec key val)
(let ((sec-dict (dict-ref mr sec)))
(dict-set mr sec
(dict-set sec-dict key val))))
;; Self-tests
(define (member-record-tests!)
(run-tests