in internal/parsers/markdown.go [63:83]
func ExtractScenarioTitleFromAst(node ast.Node, source []byte) (string, error) {
header := ""
ast.Walk(node, func(node ast.Node, entering bool) (ast.WalkStatus, error) {
if entering {
switch n := node.(type) {
case *ast.Heading:
if n.Level == 1 {
header = string(extractTextFromMarkdown(&n.BaseBlock, source))
return ast.WalkStop, nil
}
}
}
return ast.WalkContinue, nil
})
if header == "" {
return "", fmt.Errorf("no h1 header found to use as the scenario title")
}
return header, nil
}