From befdde33f29ab435b328c3bc501562e2e9386a8e Mon Sep 17 00:00:00 2001 From: Rose Hogenson Date: Sat, 6 Jan 2024 12:11:43 -0800 Subject: Truncate long lines. --- src/rope.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/rope.rs') diff --git a/src/rope.rs b/src/rope.rs index c5e9aa1..5f4fca8 100644 --- a/src/rope.rs +++ b/src/rope.rs @@ -278,4 +278,21 @@ impl Rope { } return self.len(); } + + pub fn char(&self, index: usize) -> usize { + if index == 0 { + return 0; + } + let mut count = 1; + for i in 1..self.len() { + if !self.is_char_boundary(i) { + continue; + } + if count == index { + return i; + } + count += 1; + } + return self.len(); + } } -- cgit v1.3.1