summaryrefslogtreecommitdiff
path: root/dhall_core/src/parser.rs
diff options
context:
space:
mode:
authorNadrieril2019-03-22 18:12:13 +0100
committerNadrieril2019-03-22 18:12:13 +0100
commit8110651ccf498bcf3f0cd55f3b1730d9972cf254 (patch)
tree2e0b08153582b23bce178f4ca3b945b01ddd6306 /dhall_core/src/parser.rs
parent9a8a14ba3863b3bc5e79cd8070d6779451ff8466 (diff)
Handle quoted labels
Diffstat (limited to '')
-rw-r--r--dhall_core/src/parser.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/dhall_core/src/parser.rs b/dhall_core/src/parser.rs
index 165b393..8908c78 100644
--- a/dhall_core/src/parser.rs
+++ b/dhall_core/src/parser.rs
@@ -257,7 +257,12 @@ fn can_be_shortcutted(rule: Rule) -> bool {
make_parser! {
rule!(EOI<()>; raw_pair!(_) => ());
- rule!(label_raw<Label>; captured_str!(s) => Label::from(s.trim().to_owned()));
+ rule!(simple_label<Label>; captured_str!(s) => Label::from(s.trim().to_owned()));
+ rule!(quoted_label<Label>; captured_str!(s) => Label::from(s.trim().to_owned()));
+ rule!(label_raw<Label>; children!(
+ [simple_label(l)] => l,
+ [quoted_label(l)] => l,
+ ));
rule!(double_quote_literal<ParsedText>; children!(
[double_quote_chunk(chunks..)] => {