A simple CPU rendered GUI IDE experience.
Diffstat (limited to 'src/text.rs')
| -rw-r--r-- | src/text.rs | 65 |
1 files changed, 6 insertions, 59 deletions
diff --git a/src/text.rs b/src/text.rs index 2f4d30a..00a2e65 100644 --- a/src/text.rs +++ b/src/text.rs @@ -478,50 +478,19 @@ impl TextArea { } Ok(()) } - pub fn apply_snippet_tedit_raw( - SnippetTextEdit { range,new_text, insert_text_format, .. }: &SnippetTextEdit, - text: &'_ mut Rope, - ) -> Option<()> { - match insert_text_format { - Some(lsp_types::InsertTextFormat::SNIPPET) => { - let begin = text.l_position(range.start)?; - let end = text.l_position(range.end)?; - text.try_remove(begin..end).ok()?; - let (_, tex) = - crate::sni::Snippet::parse(&new_text, begin)?; - text.try_insert(begin, &tex).ok()?; - } - _ => { - let begin = text.l_position(range.start)?; - let end = text.l_position(range.end)?; - text.try_remove(begin..end).ok()?; - text.try_insert(begin, &new_text).ok()?; - } - } - Some(()) - } pub fn apply_snippet_tedit( &mut self, - SnippetTextEdit { range,new_text, insert_text_format, .. }: &SnippetTextEdit, + SnippetTextEdit { text_edit, insert_text_format, .. }: &SnippetTextEdit, ) -> anyhow::Result<()> { match insert_text_format { - Some(lsp_types::InsertTextFormat::SNIPPET) => self - .apply_snippet(&TextEdit { - range: range.clone(), - new_text: new_text.clone(), - }) - .unwrap(), + Some(lsp_types::InsertTextFormat::SNIPPET) => + self.apply_snippet(&text_edit).unwrap(), _ => { - self.apply_adjusting(&TextEdit { - range: range.clone(), - new_text: new_text.clone(), - }) - .unwrap(); + self.apply_adjusting(text_edit).unwrap(); } } Ok(()) } - pub fn apply_snippet(&mut self, x: &TextEdit) -> anyhow::Result<()> { let begin = self .l_position(x.range.start) @@ -948,7 +917,7 @@ impl TextArea { // arc_swap::Guard<Arc<Box<[SemanticToken]>>>, // &SemanticTokensLegend, // )>; - if leg.is_none() || self.tokens.is_empty() { + if leg.is_none() { self.tree_sit(path, &mut cells); } if let Some(tabstops) = &self.tabstops { @@ -1110,28 +1079,6 @@ impl TextArea { } best } - - pub(crate) fn apply_tedits_adjusting( - &mut self, - teds: &mut [TextEdit], - ) -> Result<(), ()> { - teds.sort_tedits(); - for ted in teds { - self.apply_adjusting(ted)?; - } - Ok(()) - } - - pub(crate) fn apply_tedits( - &mut self, - teds: &mut [TextEdit], - ) -> Result<(), ()> { - teds.sort_tedits(); - for ted in teds { - self.apply(ted)?; - } - Ok(()) - } } pub fn is_word(r: char) -> bool { @@ -1730,7 +1677,7 @@ impl SortTedits for [TextEdit] { } impl SortTedits for [SnippetTextEdit] { fn sort_tedits(&mut self) { - self.as_mut().sort_by_key(|t| Reverse(t.range.start)); + self.as_mut().sort_by_key(|t| Reverse(t.text_edit.range.start)); } } |