pub enum PositionEncoding {
Utf8,
Utf16,
}Expand description
The unit that LSP [Position::character] offsets count, agreed with the client during initialize.
Variants§
Utf8
Offsets count UTF-8 bytes.
Utf16
Offsets count UTF-16 code units. This is the LSP default for clients that do not advertise an encoding.
Implementations§
Source§impl PositionEncoding
impl PositionEncoding
Sourcepub fn negotiate(capabilities: &ClientCapabilities) -> Self
pub fn negotiate(capabilities: &ClientCapabilities) -> Self
Picks UTF-8 when the client lists it in general.positionEncodings, otherwise UTF-16.
Sourcepub fn kind(self) -> PositionEncodingKind
pub fn kind(self) -> PositionEncodingKind
The value to report in ServerCapabilities::position_encoding.
Sourcepub fn char_index(self, rope: &Rope, position: Position) -> usize
pub fn char_index(self, rope: &Rope, position: Position) -> usize
Converts position to a char index into rope.
A line past the end of the document resolves to the end of the document. A character past the end of a line, or inside a multi-unit character, resolves to the end of that line or the start of that character.
Trait Implementations§
Source§impl Clone for PositionEncoding
impl Clone for PositionEncoding
Source§fn clone(&self) -> PositionEncoding
fn clone(&self) -> PositionEncoding
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for PositionEncoding
Source§impl Debug for PositionEncoding
impl Debug for PositionEncoding
Source§impl Default for PositionEncoding
impl Default for PositionEncoding
Source§fn default() -> PositionEncoding
fn default() -> PositionEncoding
Returns the “default value” for a type. Read more
impl Eq for PositionEncoding
Source§impl PartialEq for PositionEncoding
impl PartialEq for PositionEncoding
Source§fn eq(&self, other: &PositionEncoding) -> bool
fn eq(&self, other: &PositionEncoding) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for PositionEncoding
Auto Trait Implementations§
impl Freeze for PositionEncoding
impl RefUnwindSafe for PositionEncoding
impl Send for PositionEncoding
impl Sync for PositionEncoding
impl Unpin for PositionEncoding
impl UnsafeUnpin for PositionEncoding
impl UnwindSafe for PositionEncoding
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