From 940fcf9e183ab4f29204ef4f3ea92c01de8cc08a Mon Sep 17 00:00:00 2001 From: pyfisch Date: Thu, 28 May 2020 17:39:55 +0200 Subject: Allow delimiter quotes at the end of multiline strings (#393) TOML allows (unlike many other formats) up to 2 additonal quotes that are part of the string: basic = """2 extra quotes -->""""" literal = '''here too '''' Changed in TOML v1.0.0-rc.1 See also #392 --- src/tokens.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/tokens.rs b/src/tokens.rs index 49265fb..fd8b6b9 100644 --- a/src/tokens.rs +++ b/src/tokens.rs @@ -334,7 +334,7 @@ impl<'a> Tokenizer<'a> { return Err(Error::NewlineInString(i)); } } - Some((i, ch)) if ch == delim => { + Some((mut i, ch)) if ch == delim => { if multiline { if !self.eatc(delim) { val.push(delim); @@ -345,6 +345,14 @@ impl<'a> Tokenizer<'a> { val.push(delim); continue 'outer; } + if self.eatc(delim) { + val.push(delim); + i += 1; + } + if self.eatc(delim) { + val.push(delim); + i += 1; + } } return Ok(String { src: &self.input[start..self.current()], -- cgit v1.2.3