diff options
| Commit | 61b4f2e68becc3d0a2d40d1e98b34d1a1646fd2b (patch) | |
|---|---|---|
| Author | 2025-01-01 20:01:44 +0200 | |
| Committer | 2025-01-01 20:01:44 +0200 | |
| Files | 11e0d4680b91f83728234cb55dbf3c692442949c /md-parser.awk | |
| csg-61b4f2e68becc3d0a2d40d1e98b34d1a1646fd2b.tar csg-61b4f2e68becc3d0a2d40d1e98b34d1a1646fd2b.tar.gz csg-61b4f2e68becc3d0a2d40d1e98b34d1a1646fd2b.zip | ||
| Parent | ca7df13f7f2464892e2ed208e3b2eaf4e72a2ef4 (diff) | |
feat(parser): Add ~ and ^ to escapes
1 files changed, 5 insertions, 5 deletions
| -rw-r--r-- | md-parser.awk | 10 |
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) } |
