Summary Files Commits Branches @commit @diff @stats
path: root / md-parser.awk
diff options
context:
space:
mode:
Commit61b4f2e68becc3d0a2d40d1e98b34d1a1646fd2b (patch)
Author
 Syndamia <kamen@syndamia.com>
2025-01-01 20:01:44 +0200
Committer
 Syndamia <kamen@syndamia.com>
2025-01-01 20:01:44 +0200
Files11e0d4680b91f83728234cb55dbf3c692442949c /md-parser.awk
csg-61b4f2e68becc3d0a2d40d1e98b34d1a1646fd2b.tar
csg-61b4f2e68becc3d0a2d40d1e98b34d1a1646fd2b.tar.gz
csg-61b4f2e68becc3d0a2d40d1e98b34d1a1646fd2b.zip
Parentca7df13f7f2464892e2ed208e3b2eaf4e72a2ef4 (diff)
feat(parser): Add ~ and ^ to escapes
1 files changed, 5 insertions, 5 deletions
-rw-r--r--md-parser.awk10
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)
}