diff options
author | Nadrieril | 2019-05-02 20:19:45 +0200 |
---|---|---|
committer | Nadrieril | 2019-05-02 20:19:45 +0200 |
commit | 80f4cfeef3e5dfc6f2aab36c2562b1c0d2b576d8 (patch) | |
tree | 49bc6dc52eb392cb5208b9abb0eb2c0ff27c818d /dhall_core/src/printer.rs | |
parent | 26251618301156dddb89b159255955beb41996af (diff) |
Update dhall-lang submodule
Diffstat (limited to 'dhall_core/src/printer.rs')
-rw-r--r-- | dhall_core/src/printer.rs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/dhall_core/src/printer.rs b/dhall_core/src/printer.rs index c4bad71..8b37b0f 100644 --- a/dhall_core/src/printer.rs +++ b/dhall_core/src/printer.rs @@ -326,12 +326,14 @@ impl Display for NaiveDouble { impl Display for Label { fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> { + // TODO: distinguish between reserved and nonreserved locations for quoting builtins let s = String::from(self); - let is_keyword = |s| match s { - "let" | "in" | "if" | "then" | "else" => true, - _ => false, + let is_reserved = match s.as_str() { + "let" | "in" | "if" | "then" | "else" | "Type" | "Kind" + | "Sort" | "True" | "False" => true, + _ => crate::Builtin::parse(&s).is_some(), }; - if s.chars().all(|c| c.is_ascii_alphanumeric()) && !is_keyword(&s) { + if !is_reserved && s.chars().all(|c| c.is_ascii_alphanumeric()) { write!(f, "{}", s) } else { write!(f, "`{}`", s) |