blob: 23a73c73df3fba5b0934373388af6d53faa70c3a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
import gemtext/gemtext.{type Gemtext}
import gleam/list
pub fn group_adjacent_list_items(lines: List(Gemtext)) -> List(Gemtext) {
case lines {
[gemtext.ListLine(a), gemtext.ListLine(b), ..rest] ->
group_adjacent_list_items([gemtext.List([[a], [b]]), ..rest])
[gemtext.List(lists), gemtext.ListLine(item), ..rest] ->
group_adjacent_list_items([
gemtext.List(list.append(lists, [[item]])),
..rest
])
[g, ..rest] -> list.append([g], group_adjacent_list_items(rest))
[] -> []
}
}
|