diff options
author | Loïc Hoguin <[email protected]> | 2016-11-05 00:52:08 +0200 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2016-11-05 00:52:43 +0200 |
commit | 1364d2a5dd3fdcd3a28fc02751a1479949fa08d6 (patch) | |
tree | 431b224d27b004cd97dc14caf341a069688b42ed /src | |
parent | 26b9f935e2abcf9ba79ee78b918a556bc2290190 (diff) | |
download | asciideck-1364d2a5dd3fdcd3a28fc02751a1479949fa08d6.tar.gz asciideck-1364d2a5dd3fdcd3a28fc02751a1479949fa08d6.tar.bz2 asciideck-1364d2a5dd3fdcd3a28fc02751a1479949fa08d6.zip |
Fix labeled lists containing unsorted lists
Diffstat (limited to 'src')
-rw-r--r-- | src/asciideck_parser.erl | 6 | ||||
-rw-r--r-- | src/asciideck_to_manpage.erl | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/asciideck_parser.erl b/src/asciideck_parser.erl index 8f4f558..7d81112 100644 --- a/src/asciideck_parser.erl +++ b/src/asciideck_parser.erl @@ -193,6 +193,8 @@ p1_ll_glob(Tail = [{LN, <<>>}|_], Acc) -> {Tail, lists:reverse([{LN, <<>>}|Acc])}; p1_ll_glob([{LN, <<"+">>}|Tail], Acc) -> p1_ll_glob(Tail, [{LN, <<>>}|Acc]); +p1_ll_glob([{LN, <<" ", Line/bits>>}|Tail], Acc) -> + p1_ll_glob([{LN, trim_ws(Line)}|Tail], Acc); p1_ll_glob([Line|Tail], Acc) -> p1_ll_glob(Tail, [Line|Acc]). @@ -296,9 +298,9 @@ format(<< C, Rest/bits >>, LN, St, Acc, BinAcc, _) -> p2([], Acc) -> lists:reverse(Acc); -p2([{label, Label, Item, Ann}|Tail], Acc) -> +p2([{label, Label, Items, Ann}|Tail], Acc) -> %% @todo Handle this like other lists. - p2(Tail, [ll([li(Item, #{label => Label}, Ann)], #{}, Ann)|Acc]); + p2(Tail, [ll([li(p2(Items, []), #{label => Label}, Ann)], #{}, Ann)|Acc]); p2(Tail0=[{uli1, _, UlAnn}|_], Acc) -> {LIs0, Tail} = lists:splitwith(fun({uli1, _, _}) -> true; (_) -> false end, Tail0), LIs = [li(I, LiAnn) || {uli1, I, LiAnn} <- LIs0], diff --git a/src/asciideck_to_manpage.erl b/src/asciideck_to_manpage.erl index 05d8173..bdff90e 100644 --- a/src/asciideck_to_manpage.erl +++ b/src/asciideck_to_manpage.erl @@ -120,6 +120,8 @@ man_ll([{li, #{label := Label}, Item, _LiAnn}|Tail], Acc0) -> ".RE\n"]|Acc0], man_ll(Tail, Acc). +man_ll_item([{ul, _Attrs, Items, _Ann}]) -> + [man_ul(Items, []), "\n"]; man_ll_item([{p, _PAttrs, Text, _PAnn}]) -> [man_format(Text), "\n"]; man_ll_item([{p, _PAttrs, Text, _PAnn}|Tail]) -> |