aboutsummaryrefslogtreecommitdiff
path: root/pkg/config/yaml.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/config/yaml.go')
-rw-r--r--pkg/config/yaml.go25
1 files changed, 20 insertions, 5 deletions
diff --git a/pkg/config/yaml.go b/pkg/config/yaml.go
index 84f4af6..6d48099 100644
--- a/pkg/config/yaml.go
+++ b/pkg/config/yaml.go
@@ -6,6 +6,12 @@ import (
"gopkg.in/yaml.v3"
)
+const (
+ strTag = "!!str"
+ nullTag = "!!null"
+ emptyTag = ""
+)
+
type config struct {
*Config `yaml:",inline"`
GlobalConfig Map `yaml:",inline"` // need to be duplicated, because the Map in Config is not filled
@@ -18,7 +24,7 @@ type group struct {
}
type configGroupFeed struct {
- Target *string
+ Target yaml.Node
Feed Feed `yaml:",inline"`
Group group `yaml:",inline"`
}
@@ -32,9 +38,18 @@ func (grpFeed *configGroupFeed) isFeed() bool {
}
func (grpFeed *configGroupFeed) target() string {
- if grpFeed.Target != nil {
- return *grpFeed.Target
+ tag := grpFeed.Target.ShortTag()
+ switch tag {
+ case strTag:
+ return grpFeed.Target.Value
+ case nullTag:
+ return ""
+ case emptyTag:
+ // tag not set: continue on
+ default:
+ panic("unexpected tag " + tag + " for target node")
}
+
if grpFeed.Feed.Name != "" {
return grpFeed.Feed.Name
}
@@ -89,13 +104,13 @@ func appTarget(target []string, app string) []string {
}
}
-// Fetch the group structure and populate the `Target` fields in the feeds
+// Fetch the group structure and populate the `targetStr` fields in the feeds
func buildFeeds(cfg []configGroupFeed, target []string, feeds Feeds) error {
for _, f := range cfg {
target := appTarget(target, f.target())
switch {
case f.isFeed() && f.isGroup():
- return fmt.Errorf("Entry with Target %s is both a Feed and a group", target)
+ return fmt.Errorf("Entry with targetStr %s is both a Feed and a group", target)
case f.isFeed():
feedCopy := f.Feed
tepicker to add/editRené 'Necoro' Neumann3-3/+23 2010-07-27Fix sizes of datepickerRené 'Necoro' Neumann1-3/+3 2010-07-27Add jQuery UI -- DatepickerRené 'Necoro' Neumann17-0/+1168 2010-07-27Add category manipulation supportRené 'Necoro' Neumann10-6/+85 2010-07-26Konstante KostenRené 'Necoro' Neumann1-1/+1 2010-07-26Added link to edit the constant stuffRené 'Necoro' Neumann1-1/+1 2010-07-26Added addition and modification of constant stuffRené 'Necoro' Neumann3-8/+106 2010-07-05Only show right nav arrow, if the following month is not in the futureRené 'Necoro' Neumann2-14/+20 2010-07-05Add month navigationRené 'Necoro' Neumann6-5/+35 2010-07-05Add iconRené 'Necoro' Neumann2-1/+2 2010-07-05change cursorRené 'Necoro' Neumann1-0/+5 2010-07-05Some restructuringRené 'Necoro' Neumann3-28/+45 2010-07-05Closed/Open imagesRené 'Necoro' Neumann4-0/+146 2010-05-25Move page templates into their own folderRené 'Necoro' Neumann5-5/+7 2010-05-25Added the ability to edit an expenseRené 'Necoro' Neumann3-9/+34 2010-05-12FixRené 'Necoro' Neumann1-2/+2 2010-05-12Show more detailsRené 'Necoro' Neumann4-19/+42 2010-05-12Create new form each timeRené 'Necoro' Neumann1-24/+26 2010-05-10Fix redirect in AddRené 'Necoro' Neumann1-1/+1 2010-05-10Added the 'add expense' stuffRené 'Necoro' Neumann4-3/+69