From 0ad5d8cdd28d6e238c94971c9e90962a2850865f Mon Sep 17 00:00:00 2001 From: Kai Schmidt Date: Tue, 26 Dec 2023 07:38:52 -0800 Subject: [PATCH] fix long line diagnostic with long multiline string --- src/parse.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/parse.rs b/src/parse.rs index ede9476c0..71dcada8b 100644 --- a/src/parse.rs +++ b/src/parse.rs @@ -133,11 +133,18 @@ pub fn parse( for line in tokens.split(|t| matches!(t.value, Newline)) { let mut heuristic = 0; let mut first = None; - for tok in line { + let mut toks = line.iter().peekable(); + while let Some(tok) = toks.next() { heuristic += match &tok.value { Spaces | Comment => 0, Simple(CloseBracket | CloseCurly | CloseParen) => 0, Simple(Underscore) => 0, + MultilineString(_) => { + while let Some(MultilineString(_)) = toks.peek().map(|t| &t.value) { + toks.next(); + } + 1 + } _ => { first = first.or(Some(&tok.span)); 1