pub struct SourceMap<'a> { /* private fields */ }Expand description
Line/column resolver for a single source buffer.
Implementations§
Source§impl<'a> SourceMap<'a>
impl<'a> SourceMap<'a>
pub fn new(src: &'a str) -> Self
Sourcepub fn line_col(&self, offset: u32) -> (usize, usize)
pub fn line_col(&self, offset: u32) -> (usize, usize)
1-based line and column for human-facing file:line:col rendering.
The column counts characters from the line start, not bytes — so
tooling that expects byte columns will mismatch on multibyte/emoji
source. (LSP wire positions use utf16_position instead.)
Sourcepub fn utf16_position(&self, offset: u32) -> (u32, u32)
pub fn utf16_position(&self, offset: u32) -> (u32, u32)
0-based line and 0-based UTF-16 column — an LSP Position.
Auto Trait Implementations§
impl<'a> Freeze for SourceMap<'a>
impl<'a> RefUnwindSafe for SourceMap<'a>
impl<'a> Send for SourceMap<'a>
impl<'a> Sync for SourceMap<'a>
impl<'a> Unpin for SourceMap<'a>
impl<'a> UnsafeUnpin for SourceMap<'a>
impl<'a> UnwindSafe for SourceMap<'a>
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