diff options
author | John Ankarström <john@ankarstrom.se> | 2021-01-30 20:35:05 +0000 |
---|---|---|
committer | John Ankarström <john@ankarstrom.se> | 2021-01-30 20:35:05 +0000 |
commit | 9fafbd13c858e6db6248ae961aa4108d16bc4593 (patch) | |
tree | 7e0f4a2de8219c5e01f6f8a87d2e393e51e9ab1d | |
parent | 78791fdc6a351726aa536ef23e332cce2ff19737 (diff) | |
download | em-9fafbd13c858e6db6248ae961aa4108d16bc4593.tar.gz |
Support multiple numbers/letters in references
(The letters are useful for hyperlink references.)
-rwxr-xr-x | emcollect | 6 | ||||
-rwxr-xr-x | emparse | 6 |
2 files changed, 6 insertions, 6 deletions
@@ -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 } @@ -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 "<hr/>\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) } |