mdtoc/tree.go

34 lines
614 B
Go
Raw Normal View History

2024-05-05 16:38:35 +02:00
package main
func get_children(header_index int, headings []heading) []heading {
var children []heading
parent_level := get_heading_level(headings[header_index].text)
next_level := get_heading_level(headings[header_index+1].text)
child_level := 0
if next_level <= parent_level {
return nil
} else {
child_level = next_level
}
cur_level := 0
for i := (header_index + 1); i < len(headings); i++ {
cur_level = get_heading_level(headings[i].text)
if cur_level == child_level {
children = append(children, headings[i])
}
if cur_level < child_level {
break
}
}
return children
}