diff options
author | Marek Paśnikowski <marek@marekpasnikowski.pl> | 2024-11-17 17:22:15 +0100 |
---|---|---|
committer | Marek Paśnikowski <marek@marekpasnikowski.pl> | 2024-11-17 17:22:15 +0100 |
commit | f17d63a44aacb62e4cb5d03278960bb57a6bbf15 (patch) | |
tree | c0764d394fba1dda055b5681c7c4e0a0034f4c30 /suweren | |
parent | 5a4e42e0983d96aba6df2f1cb6bafac8e1bda552 (diff) |
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.
Diffstat (limited to 'suweren')
-rw-r--r-- | suweren/home/services/fontutils.scm | 48 |
1 files changed, 28 insertions, 20 deletions
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 + )) |