Struct lsp_async_stub::util::Mapper
source · pub struct Mapper { /* private fields */ }Expand description
A mapper that translates offset:length bytes to 1-based line:row characters.
Implementations§
source§impl Mapper
impl Mapper
sourcepub fn new_utf16(source: &str, one_based: bool) -> Self
pub fn new_utf16(source: &str, one_based: bool) -> Self
Creates a new Mapper that remembers where each line starts and ends.
Uses UTF-16 character sizes for positions.
sourcepub fn new_utf8(source: &str, one_based: bool) -> Self
pub fn new_utf8(source: &str, one_based: bool) -> Self
Uses UTF-8 character sizes for positions.
pub fn offset(&self, position: Position) -> Option<TextSize>
pub fn text_range(&self, range: Range) -> Option<TextRange>
pub fn position(&self, offset: TextSize) -> Option<Position>
pub fn range(&self, range: TextRange) -> Option<Range>
pub fn mappings( &self ) -> (&BTreeMap<TextSize, Position>, &BTreeMap<Position, TextSize>)
pub fn line_count(&self) -> usize
pub fn all_range(&self) -> Range
Trait Implementations§
Auto Trait Implementations§
impl RefUnwindSafe for Mapper
impl Send for Mapper
impl Sync for Mapper
impl Unpin for Mapper
impl UnwindSafe for Mapper
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more