From f17d63a44aacb62e4cb5d03278960bb57a6bbf15 Mon Sep 17 00:00:00 2001 From: Marek Paśnikowski Date: Sun, 17 Nov 2024 17:22:15 +0100 Subject: refactor(fontutils): implement dynamic indentation This change implements a set of functions to enable dynamic indentation with use of a single function call like indent-one-level or indent-two-levels. --- suweren/home/services/fontutils.scm | 48 +++++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 20 deletions(-) (limited to 'suweren') diff --git a/suweren/home/services/fontutils.scm b/suweren/home/services/fontutils.scm index ebc5f62..9888117 100644 --- a/suweren/home/services/fontutils.scm +++ b/suweren/home/services/fontutils.scm @@ -50,25 +50,33 @@ indentation))) (define rules - (list - (indent-xml 1) - antialias - (indent-xml 1) - hinting - (indent-xml 1) - hintstyle - (indent-xml 1) - rgba - (indent-xml 1) - monospace - (indent-xml 1) - sans-serif - (indent-xml 1) - serif - (indent-xml 0))) + (list antialias + hinting + hintstyle + rgba + monospace + sans-serif + serif + #f)) + +(define indent-one-level + (indent-xml 1 ; level + )) + +(define (indent-rule rule) + (if rule ; test + (list indent-one-level ; consequent + rule) + (list #\newline) ; alternate + )) + +(define formatted-rules + (map-in-order indent-rule ; proc + rules ; arg1 + )) (define-public suweren-home-fontconfig-service-type - (gnu:services:simple-service - 'suweren-fontconfig - gnu:home:services:fontutils:home-fontconfig-service-type - (list rules))) + (gnu:services:simple-service 'suweren-fontconfig ; name + gnu:home:services:fontutils:home-fontconfig-service-type ; target + (list formatted-rules) ; value + )) -- cgit v1.2.3