diff options
Diffstat (limited to 'src/widgets/luaeditor/treesitter.rs')
| -rw-r--r-- | src/widgets/luaeditor/treesitter.rs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/widgets/luaeditor/treesitter.rs b/src/widgets/luaeditor/treesitter.rs index 57013f9..1a4dc04 100644 --- a/src/widgets/luaeditor/treesitter.rs +++ b/src/widgets/luaeditor/treesitter.rs @@ -64,7 +64,16 @@ pub fn highlighter_split<'a>( for event in highlights { match event.unwrap() { HighlightEvent::Source { start, end } => { - splits.push((current, std::str::from_utf8(&s[start..end]).unwrap())); + let group = std::str::from_utf8(&s[start..end]).unwrap(); + + for line in group.lines() { + splits.push((current, line)); + splits.push((current, "\n")); + } + + if !group.ends_with("\n") { + splits.pop(); + } } HighlightEvent::HighlightStart(s) => current = Some(s), HighlightEvent::HighlightEnd => current = None, |