From 4d8976b619fbb2ab19c1e46fccbca4294c0c2d0b Mon Sep 17 00:00:00 2001 From: Yip Coekjan <69834864+Coekjan@users.noreply.github.com> Date: Sun, 14 Jul 2024 20:54:51 +0800 Subject: [PATCH] Fix lexer behavior on non-whitespace before ref (#4553) --- crates/typst-syntax/src/lexer.rs | 2 +- tests/suite/model/ref.typ | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/crates/typst-syntax/src/lexer.rs b/crates/typst-syntax/src/lexer.rs index dd05e73f..993af080 100644 --- a/crates/typst-syntax/src/lexer.rs +++ b/crates/typst-syntax/src/lexer.rs @@ -474,7 +474,7 @@ impl Lexer<'_> { Some('-') if !s.at(['-', '?']) => {} Some('.') if !s.at("..") => {} Some('h') if !s.at("ttp://") && !s.at("ttps://") => {} - Some('@') if !s.at(is_id_start) => {} + Some('@') if !s.at(is_valid_in_label_literal) => {} _ => break, } diff --git a/tests/suite/model/ref.typ b/tests/suite/model/ref.typ index 200f40aa..d0881202 100644 --- a/tests/suite/model/ref.typ +++ b/tests/suite/model/ref.typ @@ -54,3 +54,8 @@ $ A = 1 $ // Error: 1-7 label occurs in the document and its bibliography @arrgh #bibliography("/assets/bib/works.bib") + +--- issue-4536-non-whitespace-before-ref --- +// Test reference with non-whitespace before it. +#figure[] <1> +#test([(#ref(<1>))], [(@1)])