diff options
| author | Nathan Reiner <nathan@nathanreiner.xyz> | 2024-07-25 17:09:09 +0200 |
|---|---|---|
| committer | Nathan Reiner <nathan@nathanreiner.xyz> | 2024-07-25 17:09:09 +0200 |
| commit | daa65dd89ec432522482729261d81e916e645ade (patch) | |
| tree | cc16c222087de6f5545d9e6a3f300a66ad36f1ab /src/widgets/luaeditor/treesitter.rs | |
| parent | 20e7569e2bf11d110d5afd2a99eacdbd65a7e055 (diff) | |
editor add scrolling
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, |