From 9fafbd13c858e6db6248ae961aa4108d16bc4593 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Ankarstr=C3=B6m?= Date: Sat, 30 Jan 2021 20:35:05 +0000 Subject: Support multiple numbers/letters in references (The letters are useful for hyperlink references.) --- emcollect | 6 +++--- emparse | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/emcollect b/emcollect index 55434ac..50f6a17 100755 --- a/emcollect +++ b/emcollect @@ -7,12 +7,12 @@ function collect(line) { right = $0 sub("^ \\[", "", left) sub("\\].*$", "", left) - sub("^ \\[[0-9a-z]\\]+ ", "", right) + sub("^ \\[[0-9a-z]+\\] ", "", right) printf "%s=%s\n", left, right } BEGIN { expectblock = 1 } /^$/ { expectblock = 1; getline } -expectblock && /^ \[[0-9a-z]\]+ / { block = "nl"; expectblock = 0 } -block = "nl" && /^ \[[0-9a-z]\]+ [^ ]+$/ { collect($0); next } +expectblock && /^ \[[0-9a-z]+\] / { block = "nl"; expectblock = 0 } +block = "nl" && /^ \[[0-9a-z]+\] [^ ]+$/ { collect($0); next } diff --git a/emparse b/emparse index 0f86ee3..3184488 100755 --- a/emparse +++ b/emparse @@ -14,7 +14,7 @@ END { breakblock() } expectblock && /^ / { newblock("table") } expectblock && /^ - / { newblock("ul") } expectblock && /^ [0-9a-z]+\. / { newblock("ol") } -expectblock && /^ \[[0-9a-z]\]+ / { newblock("nl") } +expectblock && /^ \[[0-9a-z]+\] / { newblock("nl") } expectblock && /^ .*: / { newblock("dl") } expectblock && /^ / { newblock("pre") } expectblock && /^---$/ { expectblock = 0; printf "
\n"; next } @@ -30,8 +30,8 @@ openblock == "pre" { sub("^ ", ""); $0 = escape($0); printf "%s\n", $0; next } openblock == "ul" && /^ - / { item(1, "ul", line) } openblock == "ol" && /^ [0-9a-z]+\. / { item(1, "ol", line) } -openblock == "nl" && /^ \[[0-9a-z]\]+ [^ ]+$/ { next } # hyperlink reference -openblock == "nl" && /^ \[[0-9a-z]\]+ / { item(1, "nl", line) } # text reference +openblock == "nl" && /^ \[[0-9a-z]+\] [^ ]+$/ { next } # hyperlink reference +openblock == "nl" && /^ \[[0-9a-z]+\] / { item(1, "nl", line) } # text reference openblock == "dl" && /^ .*: / { term(line) } (openblock == "ul" || openblock == "ol") && /^ -/ { item(2, "ul", line) } -- cgit v1.2.3