A simple CPU rendered GUI IDE experience.
Diffstat (limited to 'src/text.rs')
| -rw-r--r-- | src/text.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/text.rs b/src/text.rs index f37b0b9..4b788a6 100644 --- a/src/text.rs +++ b/src/text.rs @@ -174,6 +174,9 @@ macro_rules! col { const __N: usize = $x.len(); const { crate::text::color($x.as_bytes().as_array::<__N>().unwrap()) } }}; + ($($x:literal),+)=> {{ + ($(crate::text::col!($x),)+) + }}; } #[derive(Clone, Debug)] pub struct Diff { @@ -736,6 +739,12 @@ impl TextArea { + (p.character as usize) .min(self.rope.line(p.line as _).len_chars())) } + pub fn l_range( + &self, + r: lsp_types::Range, + ) -> Result<Range<usize>, ropey::Error> { + Ok(self.l_position(r.start)?..self.l_position(r.end)?) + } #[implicit_fn] pub fn write_to<'lsp>( |