From 93e6638bfe171e3c337876d2143e4e048cd8b279 Mon Sep 17 00:00:00 2001 From: Mathias Fischler Date: Mon, 12 Jun 2023 12:46:08 +0200 Subject: [PATCH] Resolve #1141: Add hint for missing numbering, improve hint format consistency (#1456) --- library/src/meta/reference.rs | 2 +- src/eval/cast.rs | 2 +- src/eval/scope.rs | 2 +- src/syntax/parser.rs | 2 +- tests/typ/compiler/for.typ | 2 +- tests/typ/compiler/hint.typ | 11 ++++++++--- 6 files changed, 13 insertions(+), 8 deletions(-) diff --git a/library/src/meta/reference.rs b/library/src/meta/reference.rs index 1d8bd1183..5a295e335 100644 --- a/library/src/meta/reference.rs +++ b/library/src/meta/reference.rs @@ -180,7 +180,7 @@ impl Show for RefElem { let numbering = refable .numbering() .ok_or_else(|| { - eco_format!("cannot reference {} without numbering", elem.func().name()) + eco_format!("cannot reference {0} without numbering - did you mean to use `#set {0}(numbering: \"1.\")`?", elem.func().name()) }) .at(span)?; diff --git a/src/eval/cast.rs b/src/eval/cast.rs index 29cf5f712..917972ed9 100644 --- a/src/eval/cast.rs +++ b/src/eval/cast.rs @@ -242,7 +242,7 @@ impl CastInfo { if parts.iter().any(|p| p == "length"); if !matching_type; then { - write!(msg, ": a length needs a unit – did you mean {i}pt?").unwrap(); + write!(msg, ": a length needs a unit - did you mean {i}pt?").unwrap(); } }; diff --git a/src/eval/scope.rs b/src/eval/scope.rs index bc62feb1f..f2aa26fb1 100644 --- a/src/eval/scope.rs +++ b/src/eval/scope.rs @@ -72,7 +72,7 @@ impl<'a> Scopes<'a> { #[cold] fn unknown_variable(var: &str) -> EcoString { if var.contains('-') { - eco_format!("unknown variable: {} – if you meant to use subtraction, try adding spaces around the minus sign.", var) + eco_format!("unknown variable: {} - if you meant to use subtraction, try adding spaces around the minus sign.", var) } else { eco_format!("unknown variable: {}", var) } diff --git a/src/syntax/parser.rs b/src/syntax/parser.rs index 05db42e10..5fc9ec263 100644 --- a/src/syntax/parser.rs +++ b/src/syntax/parser.rs @@ -1060,7 +1060,7 @@ fn for_loop(p: &mut Parser) { p.assert(SyntaxKind::For); pattern(p); if p.at(SyntaxKind::Comma) { - p.expected("keyword `in`. did you mean to use a destructuring pattern?"); + p.expected("keyword `in` - did you mean to use a destructuring pattern?"); if !p.eat_if(SyntaxKind::Ident) { p.eat_if(SyntaxKind::Underscore); } diff --git a/tests/typ/compiler/for.typ b/tests/typ/compiler/for.typ index 72aaea203..7a0d96015 100644 --- a/tests/typ/compiler/for.typ +++ b/tests/typ/compiler/for.typ @@ -92,7 +92,7 @@ --- // Destructuring without parentheses. -// Error: 7 expected keyword `in`. did you mean to use a destructuring pattern? +// Error: 7 expected keyword `in` - did you mean to use a destructuring pattern? #for k, v in (a: 4, b: 5) { dont-care } diff --git a/tests/typ/compiler/hint.typ b/tests/typ/compiler/hint.typ index 881354438..981c954f3 100644 --- a/tests/typ/compiler/hint.typ +++ b/tests/typ/compiler/hint.typ @@ -2,7 +2,7 @@ // Ref: false --- -// Error: 1:17-1:19 expected length, found integer: a length needs a unit – did you mean 12pt? +// Error: 1:17-1:19 expected length, found integer: a length needs a unit - did you mean 12pt? #set text(size: 12) --- @@ -11,12 +11,17 @@ a = 1-a a = a -1 - // Error: 7-10 unknown variable: a-1 – if you meant to use subtraction, try adding spaces around the minus sign. + // Error: 7-10 unknown variable: a-1 - if you meant to use subtraction, try adding spaces around the minus sign. a = a-1 } --- #{ - // Error: 3-6 unknown variable: a-1 – if you meant to use subtraction, try adding spaces around the minus sign. + // Error: 3-6 unknown variable: a-1 - if you meant to use subtraction, try adding spaces around the minus sign. a-1 = 2 } + +--- += Heading +// Error: 1:20-1:26 cannot reference heading without numbering - did you mean to use `#set heading(numbering: "1.")`? +Can not be used as @intro