aboutsummaryrefslogtreecommitdiff
path: root/module/vcomponent
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2020-03-31 16:46:02 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2020-03-31 16:46:02 +0200
commit35a413167e323f8b0c9ea40fe7599ffb50e9e321 (patch)
tree9b00917547b4a3e756aab29543fbb6574e0f7788 /module/vcomponent
parentFix IPv6 binding for server. (diff)
downloadcalp-35a413167e323f8b0c9ea40fe7599ffb50e9e321.tar.gz
calp-35a413167e323f8b0c9ea40fe7599ffb50e9e321.tar.xz
Attempt at decentralized configuration system.
Placing all possible configuration items in a central (parameters) module scales really badly. This idea that any module can register configuration parameters is better. The current implementation however has the drawback that it requires that the module exposing the parameter is loaded before the value can be sat, but that scales even worse. A probable solution would be to abandon binding everything to guile's module system, and instead let (util config) provide a `conf-ref' and a `conf-set!' procedures. A `define-configuration' similar to emacs `defcustom' could be of use, mainly for retroactively type checking parameters.
Diffstat (limited to 'module/vcomponent')
-rw-r--r--module/vcomponent/load.scm3
1 files changed, 2 insertions, 1 deletions
diff --git a/module/vcomponent/load.scm b/module/vcomponent/load.scm
index e3e6f192..d4324437 100644
--- a/module/vcomponent/load.scm
+++ b/module/vcomponent/load.scm
@@ -7,13 +7,14 @@
:use-module (datetime util)
:use-module (srfi srfi-41)
:use-module (srfi srfi-41 util)
- :use-module (parameters)
+ ;; :use-module (parameters)
;; :use-module (vcomponent)
:use-module (vcomponent base)
:use-module ((vcomponent parse) :select (parse-cal-path))
:use-module ((vcomponent recurrence) :select (generate-recurrence-set repeating?))
:use-module ((vcomponent datetime) :select (ev-time<?)))
+(register-config! calendar-files '() (ensure list?))
;; Reads all calendar files from disk, generate recurence-sets for all repeating events,
;; and returns a list of calendars, and a stream of all events "ready" for display.