From 5f3ca811f09dcf6f09fb9b60fcd2664d06762f39 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Wed, 28 Oct 2020 20:25:06 +0000 Subject: No need to escape underscores in pretty-printing --- dhall/src/syntax/text/printer.rs | 4 +++- dhall/tests/parser/success/text/templateB.txt | 2 +- dhall/tests/parser/success/unit/LambdaUnderscoreB.txt | 2 +- dhall/tests/parser/success/unit/VariableUnderscoreB.txt | 2 +- dhall/tests/type-inference/failure/unit/AssertAlphaTrap.txt | 2 +- 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/dhall/src/syntax/text/printer.rs b/dhall/src/syntax/text/printer.rs index 0c2eb2e..4b7b8b8 100644 --- a/dhall/src/syntax/text/printer.rs +++ b/dhall/src/syntax/text/printer.rs @@ -156,7 +156,9 @@ fn fmt_label(label: &Label, f: &mut fmt::Formatter) -> Result<(), fmt::Error> { }; if s.is_empty() { write!(f, "``") - } else if !is_reserved && s.chars().all(|c| c.is_ascii_alphanumeric()) { + } else if !is_reserved + && s.chars().all(|c| c.is_ascii_alphanumeric() || c == '_') + { write!(f, "{}", s) } else { write!(f, "`{}`", s) diff --git a/dhall/tests/parser/success/text/templateB.txt b/dhall/tests/parser/success/text/templateB.txt index 74303d3..939aa18 100644 --- a/dhall/tests/parser/success/text/templateB.txt +++ b/dhall/tests/parser/success/text/templateB.txt @@ -1 +1 @@ -λ(record : { `in_ca` : Bool, name : Text, `taxed_value` : Double, value : Double }) → "Hello ${ record.name }\nYou have just won ${ Double/show record.value } dollars!\n${ if record.`in_ca` then "Well, ${ Double/show record.`taxed_value` } dollars, after taxes" else "" }\n" +λ(record : { in_ca : Bool, name : Text, taxed_value : Double, value : Double }) → "Hello ${ record.name }\nYou have just won ${ Double/show record.value } dollars!\n${ if record.in_ca then "Well, ${ Double/show record.taxed_value } dollars, after taxes" else "" }\n" diff --git a/dhall/tests/parser/success/unit/LambdaUnderscoreB.txt b/dhall/tests/parser/success/unit/LambdaUnderscoreB.txt index 10000d0..32719f0 100644 --- a/dhall/tests/parser/success/unit/LambdaUnderscoreB.txt +++ b/dhall/tests/parser/success/unit/LambdaUnderscoreB.txt @@ -1 +1 @@ -λ(`_` : T) → x +λ(_ : T) → x diff --git a/dhall/tests/parser/success/unit/VariableUnderscoreB.txt b/dhall/tests/parser/success/unit/VariableUnderscoreB.txt index 5824cab..31354ec 100644 --- a/dhall/tests/parser/success/unit/VariableUnderscoreB.txt +++ b/dhall/tests/parser/success/unit/VariableUnderscoreB.txt @@ -1 +1 @@ -`_` +_ diff --git a/dhall/tests/type-inference/failure/unit/AssertAlphaTrap.txt b/dhall/tests/type-inference/failure/unit/AssertAlphaTrap.txt index 0798b19..7241266 100644 --- a/dhall/tests/type-inference/failure/unit/AssertAlphaTrap.txt +++ b/dhall/tests/type-inference/failure/unit/AssertAlphaTrap.txt @@ -1,4 +1,4 @@ -Type error: error: unbound variable ``_`` +Type error: error: unbound variable `_` --> :1:47 | 1 | assert : (\(_: Bool) -> _) === (\(x: Bool) -> _) -- cgit v1.2.3