Skip to main content

CompletionList

Struct CompletionList 

Source
pub struct CompletionList {
    pub is_incomplete: bool,
    pub item_defaults: Option<CompletionItemDefaults>,
    pub apply_kind: Option<CompletionItemApplyKinds>,
    pub items: Vec<CompletionItem>,
}
Expand description

Represents a collection of completion items to be presented in the editor.

Fields§

§is_incomplete: bool

This list it not complete. Further typing results in recomputing this list.

Recomputed lists have all their items replaced (not appended) in the incomplete completion sessions.

§item_defaults: Option<CompletionItemDefaults>

In many cases the items of an actual completion result share the same value for properties like commitCharacters or the range of a text edit. A completion list can therefore define item defaults which will be used if a completion item itself doesn’t specify the value.

If a completion list specifies a default value and a completion item also specifies a corresponding value, the rules for combining these are defined by applyKinds (if the client supports it), defaulting to ApplyKind.Replace.

Servers are only allowed to return default values if the client signals support for this via the completionList.itemDefaults capability.

@since 3.17.0

§apply_kind: Option<CompletionItemApplyKinds>

Specifies how fields from a completion item should be combined with those from completionList.itemDefaults.

If unspecified, all fields will be treated as ApplyKind.Replace.

If a field’s value is ApplyKind.Replace, the value from a completion item (if provided and not null) will always be used instead of the value from completionItem.itemDefaults.

If a field’s value is ApplyKind.Merge, the values will be merged using the rules defined against each field below.

Servers are only allowed to return applyKind if the client signals support for this via the completionList.applyKindSupport capability.

@since 3.18.0

§items: Vec<CompletionItem>

The completion items.

Implementations§

Source§

impl CompletionList

Source

pub const fn new( is_incomplete: bool, item_defaults: Option<CompletionItemDefaults>, apply_kind: Option<CompletionItemApplyKinds>, items: Vec<CompletionItem>, ) -> Self

Trait Implementations§

Source§

impl Clone for CompletionList

Source§

fn clone(&self) -> CompletionList

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 CompletionList

Source§

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

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

impl Default for CompletionList

Source§

fn default() -> CompletionList

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for CompletionList

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl From<CompletionList> for CompletionResponse

Source§

fn from(v: CompletionList) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for CompletionList

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · 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 Serialize for CompletionList

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Eq for CompletionList

Source§

impl StructuralPartialEq for CompletionList

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 = 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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,