Skip to main content

ScopeRange

Struct ScopeRange 

Source
pub struct ScopeRange {
    pub start_line: u32,
    pub end_line: u32,
    pub kind: ScopeKind,
    pub display_text: String,
    pub name: Option<String>,
}
Expand description

A scope boundary range in the buffer.

Represents a contiguous region of source code that defines a scope boundary, identified by the syntax driver. Lines are 0-indexed.

§Example

use reovim_driver_syntax::{ScopeRange, ScopeKind};

let scope = ScopeRange::new(5, 20, ScopeKind::Function, "fn main", Some("main".to_string()));
assert!(scope.contains_line(10));
assert!(scope.is_multiline());
assert_eq!(scope.line_count(), 16);

Fields§

§start_line: u32

Starting line (0-indexed).

§end_line: u32

Ending line (0-indexed, inclusive).

§kind: ScopeKind

Kind of scope.

§display_text: String

Display text (e.g., “fn main”, “impl Foo”, “H2 Architecture”).

§name: Option<String>

Just the identifier name (e.g., “main”, “Foo”), if available.

Implementations§

Source§

impl ScopeRange

Source

pub fn new( start_line: u32, end_line: u32, kind: ScopeKind, display_text: impl Into<String>, name: Option<String>, ) -> Self

Create a new scope range.

Source

pub const fn contains_line(&self, line: u32) -> bool

Check if this scope contains a line.

Source

pub const fn line_count(&self) -> u32

Get the number of lines in this scope.

Source

pub const fn is_multiline(&self) -> bool

Check if this scope spans multiple lines.

Trait Implementations§

Source§

impl Clone for ScopeRange

Source§

fn clone(&self) -> ScopeRange

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ScopeRange

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for ScopeRange

Source§

fn eq(&self, other: &ScopeRange) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for ScopeRange

Source§

impl StructuralPartialEq for ScopeRange

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more