Struct deno_ast::SourceTextInfo
source · [−]pub struct SourceTextInfo { /* private fields */ }
Expand description
Stores the source text along with other data such as where all the lines occur in the text.
Note: This struct is cheap to clone.
Implementations
Creates a new SourceTextInfo
from the provided source text.
Creates a new SourceTextInfo
from the provided byte position
and source text.
Generally, most files will have a start position of BytePos(0)
and when in doubt provide that, but SWC will not necessarily
start files with BytePos(0)
when bundling.
Creates a new SourceTextInfo
from the provided start position,
source text, and indentation width.
The indentation width determines the number of columns to use
when going over a tab character. For example, an indent width
of 2 will mean each tab character will represent 2 columns.
The default indentation width used in the other methods is 2
to match the default indentation used by deno fmt
.
Creates a new SourceTextInfo
from the provided source text.
Generally, prefer using SourceTextInfo::new
to provide a
string already in an std::sync::Arc
.
Gets the number of lines in the source text.
Gets the 0-indexed line index at the provided byte position.
Note that this will panic when providing a byte position outside the range of the source text.
Gets the line start byte position of the provided 0-indexed line index.
Note that this will panic if providing a line index outside the bounds of the number of lines.
Gets the line end byte position of the provided 0-indexed line index.
Note that this will panic if providing a line index outside the bounds of the number of lines.
Gets the 0-indexed line and column index of the provided byte position.
Note that this will panic when providing a byte position outside the range of the source text.
Gets the 1-indexed line and column index of the provided byte position taking into account the default indentation width.
Note that this will panic when providing a byte position outside the range of the source text.
pub fn line_and_column_display_with_indent_width(
&self,
pos: BytePos,
indent_width: usize
) -> LineAndColumnDisplay
pub fn line_and_column_display_with_indent_width(
&self,
pos: BytePos,
indent_width: usize
) -> LineAndColumnDisplay
Gets the 1-indexed line and column index of the provided byte position with a custom indentation width.
Note that this will panic when providing a byte position outside the range of the source text.
Gets the byte position of the provided line and column index.
Note that this will panic if providing a line index outside the bounds of the number of lines, but will clip the the line end byte index when exceeding the line length.
Gets a reference to the text slice of the line at the provided 0-based index.
Note that this will panic if providing a line index outside the bounds of the number of lines.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for SourceTextInfo
impl Send for SourceTextInfo
impl Sync for SourceTextInfo
impl Unpin for SourceTextInfo
impl UnwindSafe for SourceTextInfo
Blanket Implementations
Mutably borrows from an owned value. Read more
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more