From dfeca33c91e58618bbffc382b62f2f4efb0ae26a Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Thu, 2 May 2019 21:08:31 +0200 Subject: Update dhall-lang submodule --- dhall_core/Cargo.toml | 1 + dhall_core/src/parser.rs | 10 +++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'dhall_core') diff --git a/dhall_core/Cargo.toml b/dhall_core/Cargo.toml index 80cf721..476b9fa 100644 --- a/dhall_core/Cargo.toml +++ b/dhall_core/Cargo.toml @@ -10,6 +10,7 @@ doctest = false [dependencies] itertools = "0.8.0" +percent-encoding = "1.0.1" pest = "2.1" dhall_generated_parser = { path = "../dhall_generated_parser" } improved_slice_patterns = { version = "2.0.0", path = "../improved_slice_patterns" } diff --git a/dhall_core/src/parser.rs b/dhall_core/src/parser.rs index 8f9957a..637b75e 100644 --- a/dhall_core/src/parser.rs +++ b/dhall_core/src/parser.rs @@ -479,9 +479,13 @@ make_parser! { rule!(unquoted_path_component<&'a str>; captured_str!(s) => s); rule!(quoted_path_component<&'a str>; captured_str!(s) => s); - rule!(path_component<&'a str>; children!( - [unquoted_path_component(s)] => s, - [quoted_path_component(s)] => s, + rule!(path_component; children!( + [unquoted_path_component(s)] => { + percent_encoding::percent_decode(s.as_bytes()) + .decode_utf8_lossy() + .into_owned() + }, + [quoted_path_component(s)] => s.to_string(), )); rule!(path; children!( [path_component(components)..] => { -- cgit v1.2.3