From c1fbc6700da0d83bc798b6b7cb7a310905dbaeb9 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sun, 21 Jul 2024 11:50:32 +0300 Subject: (single) Implemented unordered lists --- single.awk | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'single.awk') diff --git a/single.awk b/single.awk index 6d9e80e..0262a1a 100644 --- a/single.awk +++ b/single.awk @@ -31,6 +31,7 @@ BEGIN { prev_blankline = blankline = 1 newStack("bq-level") + newStack("list-level") } { @@ -96,6 +97,29 @@ BEGIN { /^( |\t)[[:blank:]]*/ { } +# Unordered lists +!blankline && lengthStack("list-level") > 0 { + match($0, /^ */) + # Compensating factor for list items + li_offset = 2 * (substr($0, RSTART + RLENGTH, 2) ~ /(\*|\+|-) /) + while (RLENGTH + li_offset < topStack("list-level")) { + print "" + popStack("list-level") + } +} +/^[[:blank:]]*(\*|\+|-) / { + match($0, /(\*|\+|-) /) + if (topStack("list-level") < RSTART) { + print "" + popStack("list-level") + } } -- cgit v1.3.1-23-gd82d