Struct lsp::types::Position [−][src]
Position in a text document expressed as zero-based line and character offset.
The offsets are based on a UTF-16 string representation. So a string of the form
a𐐀b
the character offset of the character a
is 0, the character offset of 𐐀
is 1 and the character offset of b is 3 since 𐐀
is represented using two code
units in UTF-16.
Positions are line end character agnostic. So you can not specify a position that
denotes \r|\n
or \n|
where |
represents the character offset.
Fields
line: i32
Line position in a document (zero-based). If a line number is greater than the number of lines in a document, it defaults back to the number of lines in the document. If a line number is negative, it defaults to 0.
character: i32
Character offset on a line in a document (zero-based). Assuming that the line is
represented as a string, the character
value represents the gap between the
character
and character + 1
.
If the character value is greater than the line length it defaults back to the line length. If a line number is negative, it defaults to 0.
Methods
impl Position
[src]
impl Position
The Position namespace provides helper functions to work with Position literals.
pub fn create(line: i32, character: i32) -> Self
[src]
pub fn create(line: i32, character: i32) -> Self
Creates a new Position literal from the given line and character. @param line The position's line. @param character The position's character.
Trait Implementations
impl Copy for Position
[src]
impl Copy for Position
impl Clone for Position
[src]
impl Clone for Position
fn clone(&self) -> Position
[src]
fn clone(&self) -> Position
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl Debug for Position
[src]
impl Debug for Position