aboutsummaryrefslogtreecommitdiff
path: root/module/vcomponent
diff options
context:
space:
mode:
Diffstat (limited to 'module/vcomponent')
-rw-r--r--module/vcomponent/config.scm16
-rw-r--r--module/vcomponent/datetime/output.scm6
-rw-r--r--module/vcomponent/util/instance.scm5
3 files changed, 22 insertions, 5 deletions
diff --git a/module/vcomponent/config.scm b/module/vcomponent/config.scm
new file mode 100644
index 00000000..b2598207
--- /dev/null
+++ b/module/vcomponent/config.scm
@@ -0,0 +1,16 @@
+(define-module (vcomponent config)
+ :use-module (hnh util)
+ :use-module (calp translation)
+ :use-module (calp util config))
+
+(define-config calendar-files '()
+ description: (_ "Which files to parse. Takes a list of paths or a single string which will be globbed.")
+ pre: (lambda (v)
+ (cond [(list? v) v]
+ [(string? v) ((@ (glob) glob) v)]
+ [else #f])))
+
+(define-config default-calendar ""
+ description: (_ "Default calendar to use for operations. Set to empty string to unset")
+ pre: (ensure string?))
+
diff --git a/module/vcomponent/datetime/output.scm b/module/vcomponent/datetime/output.scm
index fe909ebb..8cb55782 100644
--- a/module/vcomponent/datetime/output.scm
+++ b/module/vcomponent/datetime/output.scm
@@ -4,6 +4,7 @@
:use-module (vcomponent base)
:use-module (text util)
:use-module (calp translation)
+ :use-module ((hnh util exceptions) :select (warning))
:use-module ((vcomponent recurrence display) :select (format-recurrence-rule))
)
@@ -38,11 +39,12 @@
"."))
(define-public (format-summary ev str)
- ((get-config 'summary-filter) ev str))
+ ((@ (calp html filter) summary-filter) ev str))
;; NOTE this should have information about context (html/term/...)
(define-public (format-description ev str)
- (catch #t (lambda () ((get-config 'description-filter) ev str))
+ (catch #t (lambda () ((@ (calp html filter) description-filter)
+ ev str))
(lambda (err . args)
;; Warning message for failure to format description.
;; First argument is name of warning/error,
diff --git a/module/vcomponent/util/instance.scm b/module/vcomponent/util/instance.scm
index d17b672a..038c6505 100644
--- a/module/vcomponent/util/instance.scm
+++ b/module/vcomponent/util/instance.scm
@@ -1,6 +1,5 @@
(define-module (vcomponent util instance)
:use-module (hnh util)
- :use-module ((calp util config) :select (get-config))
:use-module ((oop goops) :select (make))
:use-module (calp translation)
:export (global-event-object)
@@ -14,10 +13,10 @@
;; evaluate this to early.
(define-once global-event-object
(make (@@ (vcomponent util instance methods) <events>)
- calendar-files: (get-config 'calendar-files)))
+ calendar-files: ((@ (vcomponent config) calendar-files))))
(define-public (reload)
(let ((new-value (make (@@ (vcomponent util instance methods) <events>)
- calendar-files: (get-config 'calendar-files))))
+ calendar-files: ((@ (vcomponent config) calendar-files)))))
(format (current-error-port) (_ "Reload done~%"))
(set! global-event-object new-value)))