summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--crates/typst-syntax/src/lexer.rs2
-rw-r--r--tests/suite/model/ref.typ5
2 files changed, 6 insertions, 1 deletions
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 $ <eq2>
// 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)])