Skip to main content

Decoration

Struct Decoration 

Source
pub struct Decoration {
    pub version: u32,
    pub kind: DecorationKind,
    pub severity: Option<Severity>,
    pub color: Option<ColorRole>,
    pub range: CodeRange,
    pub id: u64,
    pub text: String,
}
Expand description

One thing drawn over the document, said as a range and never as a picture.

The colour of an underline is a role, never a literal, and is left to the design system where it is not given; the shape of the mark, a squiggle or a line, and its weight are always the design system’s.

Fields§

§version: u32

The document version the range was written against.

§kind: DecorationKind§severity: Option<Severity>

Only an underline has one.

§color: Option<ColorRole>

The role an underline is drawn in. None leaves it to the design system, which picks one that suits the severity.

§range: CodeRange§id: u64

The application’s own name for this decoration, reported when it is pressed, accepted or hovered. Zero means it cannot be pressed and is never reported.

§text: String

What a lens or a suggestion shows. Empty for the other two kinds.

Implementations§

Source§

impl Decoration

Source

pub fn underline(version: u32, range: CodeRange, severity: Severity) -> Self

A diagnostic mark under a range.

Source

pub fn code_lens( version: u32, line: u32, text: impl Into<String>, id: u64, ) -> Self

A short line of text shown above line, which reports id when pressed.

Source

pub fn hover_anchor(version: u32, range: CodeRange, id: u64) -> Self

A range that reports id when a pointer comes to rest over it.

Source

pub fn ghost_text( version: u32, at: Position, text: impl Into<String>, id: u64, ) -> Self

A suggestion shown faintly at at. Accepting it inserts text there as an ordinary edit and then reports id.

Source

pub fn line_background( version: u32, line_start: u32, line_end: u32, color: ColorRole, ) -> Self

A tint across lines line_start to line_end, both included, the whole width of the editor and past the end of each line. color is a role such as DiffAdded, DiffRemoved or DiffModified, and the design system decides how strong the tint of each is. The lines follow the reader’s edits like every other decoration.

Source

pub fn range_background( version: u32, range: CodeRange, color: ColorRole, ) -> Self

A tint over the characters of range, stronger than a line background in the same role, for the part of a changed line that changed.

Source

pub fn with_color(self, role: ColorRole) -> Self

Draws an underline in this role rather than the one the design system would pick.

Source

pub fn with_id(self, id: u64) -> Self

Trait Implementations§

Source§

impl Clone for Decoration

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Decoration

Source§

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

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

impl PartialEq for Decoration

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Decoration

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, 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 = !

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

fn try_from(value: U) -> Result<T, !>

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.