A simple CPU rendered GUI IDE experience.
Diffstat (limited to 'src/text.rs')
-rw-r--r--src/text.rs9
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>(