};
use ide::{
- AnnotationConfig, FileId, FilePosition, FileRange, HoverAction, HoverGotoTypeData, Query,
- RangeInfo, Runnable, RunnableKind, SearchScope, SourceChange, TextEdit,
+ AnnotationConfig, AssistResolveStrategy, FileId, FilePosition, FileRange, HoverAction,
+ HoverGotoTypeData, Query, RangeInfo, Runnable, RunnableKind, SearchScope, SourceChange,
+ TextEdit,
};
use ide_db::SymbolKind;
use itertools::Itertools;
let mut res: Vec<lsp_ext::CodeAction> = Vec::new();
let code_action_resolve_cap = snap.config.code_action_resolve();
+ let resolve = if code_action_resolve_cap {
+ AssistResolveStrategy::None
+ } else {
+ AssistResolveStrategy::All
+ };
let assists = snap.analysis.assists_with_fixes(
&assists_config,
&snap.config.diagnostics(),
- !code_action_resolve_cap,
+ resolve,
frange,
)?;
for (index, assist) in assists.into_iter().enumerate() {
let assists = snap.analysis.assists_with_fixes(
&assists_config,
&snap.config.diagnostics(),
- true,
+ // TODO kb pass a certain id
+ AssistResolveStrategy::All,
frange,
)?;
let diagnostics: Vec<Diagnostic> = snap
.analysis
- .diagnostics(&snap.config.diagnostics(), false, file_id)?
+ .diagnostics(&snap.config.diagnostics(), AssistResolveStrategy::None, file_id)?
.into_iter()
.map(|d| Diagnostic {
range: to_proto::range(&line_index, d.range),