From 61b4f2e68becc3d0a2d40d1e98b34d1a1646fd2b Mon Sep 17 00:00:00 2001 From: Syndamia Date: Wed, 1 Jan 2025 20:01:44 +0200 Subject: feat(parser): Add ~ and ^ to escapes --- md-parser.awk | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'md-parser.awk') diff --git a/md-parser.awk b/md-parser.awk index 50e7f60..b25c8b2 100644 --- a/md-parser.awk +++ b/md-parser.awk @@ -70,8 +70,8 @@ BEGIN { ## "useless" characters, which we're confident won't appear in actual text. ## These are from decimal value 14 to 28 inclusive. They're blank characters, ## related to shifting, device control and data transmission. - escapable = "\\`*_{}[]()#+-.!" - for (i = 1; i < 16; ++i) { + escapable = "\\`*_{}[]()#+-.!^~" + for (i = 1; i < 18; ++i) { escapes[char(escapable, i)] = sprintf("%c", 13 + i) } } @@ -126,8 +126,8 @@ inside_codeblock && (/ ```/ || ! /^( |\t|[ \t]*$)/) { } # Escapes -!inside_codeblock && /\\[-\\`*_{}\[\]()#+.!]/ { - while (match($0, /\\[-\\`*_{}\[\]()#+.!]/)) { +!inside_codeblock && /\\[-\\`*_{}\[\]()#+.!^~]/ { + while (match($0, /\\[-\\`*_{}\[\]()#+.!^~]/)) { sub_match(escapes[char($0, RSTART + 1)]) } } @@ -473,7 +473,7 @@ function __buffered_print() { } ## Fix escaped characters - for (i = 1; i < 16; ++i) { + for (i = 1; i < 18; ++i) { esc = char(escapable, i) gsub(escapes[esc], esc, P2) } -- cgit v1.3.1-23-gd82d