From 5965515a1ef1fe398235311185d531efc2750247 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Thu, 10 Feb 2022 13:17:29 +0100 Subject: [PATCH] Allow escaping of `-` and `.` --- src/parse/tokens.rs | 2 +- tests/ref/markup/escape.png | Bin 12375 -> 13675 bytes tests/typ/markup/escape.typ | 3 +++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/parse/tokens.rs b/src/parse/tokens.rs index 0c125b4b2..ca2cb74a7 100644 --- a/src/parse/tokens.rs +++ b/src/parse/tokens.rs @@ -248,7 +248,7 @@ impl<'s> Tokens<'s> { // Parenthesis and hashtag. '[' | ']' | '{' | '}' | '#' | // Markup. - '*' | '_' | '=' | '~' | '`' | '$' => { + '~' | '*' | '_' | '`' | '$' | '=' | '-' | '.' => { self.s.eat_assert(c); NodeKind::Escape(c) } diff --git a/tests/ref/markup/escape.png b/tests/ref/markup/escape.png index 4d2b570e62fef2b49bcd97ac31c8884555167352..3434d6e0002d817423593da21763259cdc746098 100644 GIT binary patch literal 13675 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 NjD&)C9{Q!{{{hm^==lHu diff --git a/tests/typ/markup/escape.typ b/tests/typ/markup/escape.typ index 87d2b83ad..6ec469c19 100644 --- a/tests/typ/markup/escape.typ +++ b/tests/typ/markup/escape.typ @@ -24,6 +24,9 @@ // Some code stuff in text. let f() , ; : | + - /= == 12 "string" +// Escaped dot. +10\. May + --- // Unicode codepoint does not exist. // Error: 1-11 invalid unicode escape sequence