summaryrefslogtreecommitdiff
path: root/src/widgets/luaeditor/treesitter.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/luaeditor/treesitter.rs')
-rw-r--r--src/widgets/luaeditor/treesitter.rs11
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,