Struct ra_ap_ide_assists::Assist[][src]

pub struct Assist {
    pub id: AssistId,
    pub label: Label,
    pub group: Option<GroupLabel>,
    pub target: TextRange,
    pub source_change: Option<SourceChange>,
}

Fields

id: AssistIdlabel: Label

Short description of the assist, as shown in the UI.

group: Option<GroupLabel>target: TextRange

Target ranges are used to sort assists: the smaller the target range, the more specific assist is, and so it should be sorted first.

source_change: Option<SourceChange>

Computing source change sometimes is much more costly then computing the other fields. Additionally, the actual change is not required to show the lightbulb UI, it only is needed when the user tries to apply an assist. So, we compute it lazily: the API allow requesting assists with or without source change. We could (and in fact, used to) distinguish between resolved and unresolved assists at the type level, but this is cumbersome, especially if you want to embed an assist into another data structure, such as a diagnostic.

Implementations

impl Assist[src]

pub fn get(
    db: &RootDatabase,
    config: &AssistConfig,
    resolve: bool,
    range: FileRange
) -> Vec<Assist>
[src]

Return all the assists applicable at the given position.

Trait Implementations

impl Clone for Assist[src]

impl Debug for Assist[src]

Auto Trait Implementations

impl RefUnwindSafe for Assist

impl Send for Assist

impl Sync for Assist

impl Unpin for Assist

impl UnwindSafe for Assist

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Any for T where
    T: Any

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Cast for T

impl<T> CloneAny for T where
    T: Clone + Any

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.