diff options
Diffstat (limited to 'internal/validate/checks.go')
| -rw-r--r-- | internal/validate/checks.go | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/internal/validate/checks.go b/internal/validate/checks.go index 82f746f..d3fa111 100644 --- a/internal/validate/checks.go +++ b/internal/validate/checks.go @@ -1643,6 +1643,17 @@ func validateTalkConfig(prefix string, cfg *behavior.TalkConfig, itemIDs map[str if cfg == nil { return issues } + // A talk config with nodes but no "start" node is dead content: the + // runtime prints "This person has nothing to say." + if len(cfg.Nodes) > 0 { + if _, ok := cfg.Nodes["start"]; !ok { + issues = append(issues, Issue{ + Level: "ERROR", + Type: "reference", + Message: fmt.Sprintf("%s: talk config has nodes but no \"start\" node", prefix), + }) + } + } for nodeID, node := range cfg.Nodes { nodePrefix := fmt.Sprintf("%s: node %q", prefix, nodeID) if node.Action != nil { |
