From 53b8ebaa1ad4d978eba4483cdedd812a0b5c5a48 Mon Sep 17 00:00:00 2001 From: Kirigaya <1193466151@qq.com> Date: Sat, 7 Sep 2024 21:39:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/sources.rs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/sources.rs b/src/sources.rs index 06f021c..e29438f 100644 --- a/src/sources.rs +++ b/src/sources.rs @@ -455,31 +455,31 @@ pub trait LSPSupport { /// Extend ropey's Rope type with lsp convenience functions impl LSPSupport for Rope { fn pos_to_byte(&self, pos: &Position) -> usize { - self.char_to_byte(self.pos_to_char(pos)) + return self.char_to_byte(self.pos_to_char(pos)); } fn pos_to_char(&self, pos: &Position) -> usize { let line_slice = self.line(pos.line as usize); - self.line_to_char(pos.line as usize) + line_slice.utf16_cu_to_char(pos.character as usize) + return self.line_to_char(pos.line as usize) + line_slice.utf16_cu_to_char(pos.character as usize); } fn byte_to_pos(&self, byte_idx: usize) -> Position { - self.char_to_pos(self.byte_to_char(min(byte_idx, self.len_bytes() - 1))) + return self.char_to_pos(self.byte_to_char(min(byte_idx, self.len_bytes() - 1))); } fn char_to_pos(&self, char_idx: usize) -> Position { let line = self.char_to_line(char_idx); let line_slice = self.line(line); - Position { + return Position { line: line as u32, character: line_slice.char_to_utf16_cu(char_idx - self.line_to_char(line)) as u32, - } + }; } fn range_to_char_range(&self, range: &Range) -> StdRange { - self.pos_to_char(&range.start)..self.pos_to_char(&range.end) + return self.pos_to_char(&range.start)..self.pos_to_char(&range.end); } fn char_range_to_range(&self, range: StdRange) -> Range { - Range { + return Range { start: self.char_to_pos(range.start), end: self.char_to_pos(range.end), - } + }; } fn apply_change(&mut self, change: &TextDocumentContentChangeEvent) { if let Some(range) = change.range {