Struct ra_ap_ide::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: AssistId
label: 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]
impl Assist
[src]pub fn get(
db: &RootDatabase,
config: &AssistConfig,
resolve: AssistResolveStrategy,
range: FileRange
) -> Vec<Assist, Global>
[src]
pub fn get(
db: &RootDatabase,
config: &AssistConfig,
resolve: AssistResolveStrategy,
range: FileRange
) -> Vec<Assist, Global>
[src]Return all the assists applicable at the given position.
Trait Implementations
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> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Cast for T
impl<T> Cast for T
fn cast<U>(self, interner: &<U as HasInterner>::Interner) -> U where
Self: CastTo<U>,
U: HasInterner,
fn cast<U>(self, interner: &<U as HasInterner>::Interner) -> U where
Self: CastTo<U>,
U: HasInterner,
Cast a value to type U
using CastTo
.
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
fn in_current_span(self) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]impl<T> Pointable for T
impl<T> Pointable for T
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> Any for T where
T: Any,
T: Any,
impl<T> CloneAny for T where
T: Any + Clone,
T: Any + Clone,