diff options
| author | Nathan Reiner <nathan@nathanreiner.xyz> | 2024-07-25 16:39:49 +0200 |
|---|---|---|
| committer | Nathan Reiner <nathan@nathanreiner.xyz> | 2024-07-25 16:39:49 +0200 |
| commit | 9722d01b078dbf554431a3af3767012fce341b95 (patch) | |
| tree | 81c2bb129bd81923bbf0767e62720882a31a1f56 /src/widgets/luaeditor/buffer.rs | |
| parent | 21c8643173e87691b47ae9860c6cb095a6ea68b2 (diff) | |
editor add syntax highlighting using treesitter
Diffstat (limited to 'src/widgets/luaeditor/buffer.rs')
| -rw-r--r-- | src/widgets/luaeditor/buffer.rs | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/src/widgets/luaeditor/buffer.rs b/src/widgets/luaeditor/buffer.rs index 6a954ed..905950e 100644 --- a/src/widgets/luaeditor/buffer.rs +++ b/src/widgets/luaeditor/buffer.rs @@ -32,16 +32,22 @@ impl Buffer { fn end_balance(&self, level: usize) -> isize { let str = "\t".repeat(level); - let start_count = self.lines.iter().filter(|s| { - s.starts_with(&(str.clone() + "if ")) - || s.starts_with(&(str.clone() + "for ")) - || s.starts_with(&(str.clone() + "while ")) - || (s.starts_with(&str) && s.contains("function(") && s.ends_with(")")) - }).count(); + let start_count = self + .lines + .iter() + .filter(|s| { + s.starts_with(&(str.clone() + "if ")) + || s.starts_with(&(str.clone() + "for ")) + || s.starts_with(&(str.clone() + "while ")) + || (s.starts_with(&str) && s.contains("function(") && s.ends_with(")")) + }) + .count(); - let end_count = self.lines.iter().filter( - |s| s.starts_with(&(str.clone() + "end ")) || **s == (str.clone() + "end") - ).count(); + let end_count = self + .lines + .iter() + .filter(|s| s.starts_with(&(str.clone() + "end ")) || **s == (str.clone() + "end")) + .count(); (end_count as isize) - (start_count as isize) } |