mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-27 05:23:24 +00:00
Make term search fuel configurable
This commit is contained in:
parent
9e1adc76e5
commit
ab18604309
16 changed files with 56 additions and 9 deletions
|
@ -269,7 +269,7 @@ pub struct TermSearchConfig {
|
||||||
pub enable_borrowcheck: bool,
|
pub enable_borrowcheck: bool,
|
||||||
/// Indicate when to squash multiple trees to `Many` as there are too many to keep track
|
/// Indicate when to squash multiple trees to `Many` as there are too many to keep track
|
||||||
pub many_alternatives_threshold: usize,
|
pub many_alternatives_threshold: usize,
|
||||||
/// Fuel for term search
|
/// Fuel for term search in "units of work"
|
||||||
pub fuel: u64,
|
pub fuel: u64,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -474,9 +474,7 @@ impl Expr {
|
||||||
Expr::Method { target, func, .. } => {
|
Expr::Method { target, func, .. } => {
|
||||||
match func.as_assoc_item(db).and_then(|it| it.container_or_implemented_trait(db)) {
|
match func.as_assoc_item(db).and_then(|it| it.container_or_implemented_trait(db)) {
|
||||||
Some(_) => false,
|
Some(_) => false,
|
||||||
None => {
|
None => target.is_many(),
|
||||||
target.is_many()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Expr::Field { expr, .. } => expr.contains_many_in_illegal_pos(db),
|
Expr::Field { expr, .. } => expr.contains_many_in_illegal_pos(db),
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
//! * `ctx` - Context for the term search
|
//! * `ctx` - Context for the term search
|
||||||
//! * `defs` - Set of items in scope at term search target location
|
//! * `defs` - Set of items in scope at term search target location
|
||||||
//! * `lookup` - Lookup table for types
|
//! * `lookup` - Lookup table for types
|
||||||
|
//! * `should_continue` - Function that indicates when to stop iterating
|
||||||
//! And they return iterator that yields type trees that unify with the `goal` type.
|
//! And they return iterator that yields type trees that unify with the `goal` type.
|
||||||
|
|
||||||
use std::iter;
|
use std::iter;
|
||||||
|
@ -97,6 +98,7 @@ pub(super) fn trivial<'a, DB: HirDatabase>(
|
||||||
/// * `ctx` - Context for the term search
|
/// * `ctx` - Context for the term search
|
||||||
/// * `defs` - Set of items in scope at term search target location
|
/// * `defs` - Set of items in scope at term search target location
|
||||||
/// * `lookup` - Lookup table for types
|
/// * `lookup` - Lookup table for types
|
||||||
|
/// * `should_continue` - Function that indicates when to stop iterating
|
||||||
pub(super) fn type_constructor<'a, DB: HirDatabase>(
|
pub(super) fn type_constructor<'a, DB: HirDatabase>(
|
||||||
ctx: &'a TermSearchCtx<'a, DB>,
|
ctx: &'a TermSearchCtx<'a, DB>,
|
||||||
defs: &'a FxHashSet<ScopeDef>,
|
defs: &'a FxHashSet<ScopeDef>,
|
||||||
|
@ -357,6 +359,7 @@ pub(super) fn type_constructor<'a, DB: HirDatabase>(
|
||||||
/// * `ctx` - Context for the term search
|
/// * `ctx` - Context for the term search
|
||||||
/// * `defs` - Set of items in scope at term search target location
|
/// * `defs` - Set of items in scope at term search target location
|
||||||
/// * `lookup` - Lookup table for types
|
/// * `lookup` - Lookup table for types
|
||||||
|
/// * `should_continue` - Function that indicates when to stop iterating
|
||||||
pub(super) fn free_function<'a, DB: HirDatabase>(
|
pub(super) fn free_function<'a, DB: HirDatabase>(
|
||||||
ctx: &'a TermSearchCtx<'a, DB>,
|
ctx: &'a TermSearchCtx<'a, DB>,
|
||||||
defs: &'a FxHashSet<ScopeDef>,
|
defs: &'a FxHashSet<ScopeDef>,
|
||||||
|
@ -488,6 +491,7 @@ pub(super) fn free_function<'a, DB: HirDatabase>(
|
||||||
/// * `ctx` - Context for the term search
|
/// * `ctx` - Context for the term search
|
||||||
/// * `defs` - Set of items in scope at term search target location
|
/// * `defs` - Set of items in scope at term search target location
|
||||||
/// * `lookup` - Lookup table for types
|
/// * `lookup` - Lookup table for types
|
||||||
|
/// * `should_continue` - Function that indicates when to stop iterating
|
||||||
pub(super) fn impl_method<'a, DB: HirDatabase>(
|
pub(super) fn impl_method<'a, DB: HirDatabase>(
|
||||||
ctx: &'a TermSearchCtx<'a, DB>,
|
ctx: &'a TermSearchCtx<'a, DB>,
|
||||||
_defs: &'a FxHashSet<ScopeDef>,
|
_defs: &'a FxHashSet<ScopeDef>,
|
||||||
|
@ -661,6 +665,7 @@ pub(super) fn impl_method<'a, DB: HirDatabase>(
|
||||||
/// * `ctx` - Context for the term search
|
/// * `ctx` - Context for the term search
|
||||||
/// * `defs` - Set of items in scope at term search target location
|
/// * `defs` - Set of items in scope at term search target location
|
||||||
/// * `lookup` - Lookup table for types
|
/// * `lookup` - Lookup table for types
|
||||||
|
/// * `should_continue` - Function that indicates when to stop iterating
|
||||||
pub(super) fn struct_projection<'a, DB: HirDatabase>(
|
pub(super) fn struct_projection<'a, DB: HirDatabase>(
|
||||||
ctx: &'a TermSearchCtx<'a, DB>,
|
ctx: &'a TermSearchCtx<'a, DB>,
|
||||||
_defs: &'a FxHashSet<ScopeDef>,
|
_defs: &'a FxHashSet<ScopeDef>,
|
||||||
|
@ -734,6 +739,7 @@ pub(super) fn famous_types<'a, DB: HirDatabase>(
|
||||||
/// * `ctx` - Context for the term search
|
/// * `ctx` - Context for the term search
|
||||||
/// * `defs` - Set of items in scope at term search target location
|
/// * `defs` - Set of items in scope at term search target location
|
||||||
/// * `lookup` - Lookup table for types
|
/// * `lookup` - Lookup table for types
|
||||||
|
/// * `should_continue` - Function that indicates when to stop iterating
|
||||||
pub(super) fn impl_static_method<'a, DB: HirDatabase>(
|
pub(super) fn impl_static_method<'a, DB: HirDatabase>(
|
||||||
ctx: &'a TermSearchCtx<'a, DB>,
|
ctx: &'a TermSearchCtx<'a, DB>,
|
||||||
_defs: &'a FxHashSet<ScopeDef>,
|
_defs: &'a FxHashSet<ScopeDef>,
|
||||||
|
@ -905,6 +911,7 @@ pub(super) fn impl_static_method<'a, DB: HirDatabase>(
|
||||||
/// * `ctx` - Context for the term search
|
/// * `ctx` - Context for the term search
|
||||||
/// * `defs` - Set of items in scope at term search target location
|
/// * `defs` - Set of items in scope at term search target location
|
||||||
/// * `lookup` - Lookup table for types
|
/// * `lookup` - Lookup table for types
|
||||||
|
/// * `should_continue` - Function that indicates when to stop iterating
|
||||||
pub(super) fn make_tuple<'a, DB: HirDatabase>(
|
pub(super) fn make_tuple<'a, DB: HirDatabase>(
|
||||||
ctx: &'a TermSearchCtx<'a, DB>,
|
ctx: &'a TermSearchCtx<'a, DB>,
|
||||||
_defs: &'a FxHashSet<ScopeDef>,
|
_defs: &'a FxHashSet<ScopeDef>,
|
||||||
|
|
|
@ -16,4 +16,5 @@ pub struct AssistConfig {
|
||||||
pub prefer_no_std: bool,
|
pub prefer_no_std: bool,
|
||||||
pub prefer_prelude: bool,
|
pub prefer_prelude: bool,
|
||||||
pub assist_emit_must_use: bool,
|
pub assist_emit_must_use: bool,
|
||||||
|
pub term_search_fuel: u64,
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
//! Term search assist
|
//! Term search assist
|
||||||
use hir::term_search::TermSearchCtx;
|
use hir::term_search::{TermSearchConfig, TermSearchCtx};
|
||||||
use ide_db::{
|
use ide_db::{
|
||||||
assists::{AssistId, AssistKind, GroupLabel},
|
assists::{AssistId, AssistKind, GroupLabel},
|
||||||
famous_defs::FamousDefs,
|
famous_defs::FamousDefs,
|
||||||
|
@ -34,7 +34,7 @@ pub(crate) fn term_search(acc: &mut Assists, ctx: &AssistContext<'_>) -> Option<
|
||||||
sema: &ctx.sema,
|
sema: &ctx.sema,
|
||||||
scope: &scope,
|
scope: &scope,
|
||||||
goal: target_ty,
|
goal: target_ty,
|
||||||
config: Default::default(),
|
config: TermSearchConfig { fuel: ctx.config.term_search_fuel, ..Default::default() },
|
||||||
};
|
};
|
||||||
let paths = hir::term_search::term_search(&term_search_ctx);
|
let paths = hir::term_search::term_search(&term_search_ctx);
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,7 @@ pub(crate) const TEST_CONFIG: AssistConfig = AssistConfig {
|
||||||
prefer_no_std: false,
|
prefer_no_std: false,
|
||||||
prefer_prelude: true,
|
prefer_prelude: true,
|
||||||
assist_emit_must_use: false,
|
assist_emit_must_use: false,
|
||||||
|
term_search_fuel: 400,
|
||||||
};
|
};
|
||||||
|
|
||||||
pub(crate) const TEST_CONFIG_NO_SNIPPET_CAP: AssistConfig = AssistConfig {
|
pub(crate) const TEST_CONFIG_NO_SNIPPET_CAP: AssistConfig = AssistConfig {
|
||||||
|
@ -46,6 +47,7 @@ pub(crate) const TEST_CONFIG_NO_SNIPPET_CAP: AssistConfig = AssistConfig {
|
||||||
prefer_no_std: false,
|
prefer_no_std: false,
|
||||||
prefer_prelude: true,
|
prefer_prelude: true,
|
||||||
assist_emit_must_use: false,
|
assist_emit_must_use: false,
|
||||||
|
term_search_fuel: 400,
|
||||||
};
|
};
|
||||||
|
|
||||||
pub(crate) const TEST_CONFIG_IMPORT_ONE: AssistConfig = AssistConfig {
|
pub(crate) const TEST_CONFIG_IMPORT_ONE: AssistConfig = AssistConfig {
|
||||||
|
@ -61,6 +63,7 @@ pub(crate) const TEST_CONFIG_IMPORT_ONE: AssistConfig = AssistConfig {
|
||||||
prefer_no_std: false,
|
prefer_no_std: false,
|
||||||
prefer_prelude: true,
|
prefer_prelude: true,
|
||||||
assist_emit_must_use: false,
|
assist_emit_must_use: false,
|
||||||
|
term_search_fuel: 400,
|
||||||
};
|
};
|
||||||
|
|
||||||
pub(crate) fn with_single_file(text: &str) -> (RootDatabase, FileId) {
|
pub(crate) fn with_single_file(text: &str) -> (RootDatabase, FileId) {
|
||||||
|
|
|
@ -354,7 +354,6 @@ pub(crate) fn complete_expr(acc: &mut Completions, ctx: &CompletionContext<'_>)
|
||||||
enable_borrowcheck: false,
|
enable_borrowcheck: false,
|
||||||
many_alternatives_threshold: 1,
|
many_alternatives_threshold: 1,
|
||||||
fuel: 200,
|
fuel: 200,
|
||||||
..Default::default()
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
let exprs = hir::term_search::term_search(&term_search_ctx);
|
let exprs = hir::term_search::term_search(&term_search_ctx);
|
||||||
|
|
|
@ -15,6 +15,7 @@ pub struct CompletionConfig {
|
||||||
pub enable_self_on_the_fly: bool,
|
pub enable_self_on_the_fly: bool,
|
||||||
pub enable_private_editable: bool,
|
pub enable_private_editable: bool,
|
||||||
pub enable_term_search: bool,
|
pub enable_term_search: bool,
|
||||||
|
pub term_search_fuel: u64,
|
||||||
pub full_function_signatures: bool,
|
pub full_function_signatures: bool,
|
||||||
pub callable: Option<CallableSnippets>,
|
pub callable: Option<CallableSnippets>,
|
||||||
pub snippet_cap: Option<SnippetCap>,
|
pub snippet_cap: Option<SnippetCap>,
|
||||||
|
|
|
@ -80,6 +80,7 @@ pub(crate) const TEST_CONFIG: CompletionConfig = CompletionConfig {
|
||||||
},
|
},
|
||||||
snippets: Vec::new(),
|
snippets: Vec::new(),
|
||||||
limit: None,
|
limit: None,
|
||||||
|
term_search_fuel: 200,
|
||||||
};
|
};
|
||||||
|
|
||||||
pub(crate) fn completion_list(ra_fixture: &str) -> String {
|
pub(crate) fn completion_list(ra_fixture: &str) -> String {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
use hir::{
|
use hir::{
|
||||||
db::ExpandDatabase,
|
db::ExpandDatabase,
|
||||||
term_search::{term_search, TermSearchCtx},
|
term_search::{term_search, TermSearchConfig, TermSearchCtx},
|
||||||
ClosureStyle, HirDisplay,
|
ClosureStyle, HirDisplay,
|
||||||
};
|
};
|
||||||
use ide_db::{
|
use ide_db::{
|
||||||
|
@ -47,7 +47,7 @@ fn fixes(ctx: &DiagnosticsContext<'_>, d: &hir::TypedHole) -> Option<Vec<Assist>
|
||||||
sema: &ctx.sema,
|
sema: &ctx.sema,
|
||||||
scope: &scope,
|
scope: &scope,
|
||||||
goal: d.expected.clone(),
|
goal: d.expected.clone(),
|
||||||
config: Default::default(),
|
config: TermSearchConfig { fuel: ctx.config.term_search_fuel, ..Default::default() },
|
||||||
};
|
};
|
||||||
let paths = term_search(&term_search_ctx);
|
let paths = term_search(&term_search_ctx);
|
||||||
|
|
||||||
|
|
|
@ -232,6 +232,7 @@ pub struct DiagnosticsConfig {
|
||||||
pub insert_use: InsertUseConfig,
|
pub insert_use: InsertUseConfig,
|
||||||
pub prefer_no_std: bool,
|
pub prefer_no_std: bool,
|
||||||
pub prefer_prelude: bool,
|
pub prefer_prelude: bool,
|
||||||
|
pub term_search_fuel: u64,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl DiagnosticsConfig {
|
impl DiagnosticsConfig {
|
||||||
|
@ -256,6 +257,7 @@ impl DiagnosticsConfig {
|
||||||
},
|
},
|
||||||
prefer_no_std: false,
|
prefer_no_std: false,
|
||||||
prefer_prelude: true,
|
prefer_prelude: true,
|
||||||
|
term_search_fuel: 400,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -986,6 +986,7 @@ impl flags::AnalysisStats {
|
||||||
prefer_no_std: false,
|
prefer_no_std: false,
|
||||||
prefer_prelude: true,
|
prefer_prelude: true,
|
||||||
style_lints: false,
|
style_lints: false,
|
||||||
|
term_search_fuel: 400,
|
||||||
},
|
},
|
||||||
ide::AssistResolveStrategy::All,
|
ide::AssistResolveStrategy::All,
|
||||||
file_id,
|
file_id,
|
||||||
|
|
|
@ -454,6 +454,9 @@ config_data! {
|
||||||
/// Local configurations can be overridden for every crate by placing a `rust-analyzer.toml` on crate root.
|
/// Local configurations can be overridden for every crate by placing a `rust-analyzer.toml` on crate root.
|
||||||
/// A config is searched for by traversing a "config tree" in a bottom up fashion. It is chosen by the nearest first principle.
|
/// A config is searched for by traversing a "config tree" in a bottom up fashion. It is chosen by the nearest first principle.
|
||||||
local: struct LocalDefaultConfigData <- LocalConfigInput -> {
|
local: struct LocalDefaultConfigData <- LocalConfigInput -> {
|
||||||
|
/// Term search fuel in "units of work" for assists (Defaults to 400).
|
||||||
|
assist_termSearch_fuel: usize = 400,
|
||||||
|
|
||||||
/// Toggles the additional completions that automatically add imports when completed.
|
/// Toggles the additional completions that automatically add imports when completed.
|
||||||
/// Note that your client must specify the `additionalTextEdits` LSP client capability to truly have this feature enabled.
|
/// Note that your client must specify the `additionalTextEdits` LSP client capability to truly have this feature enabled.
|
||||||
completion_autoimport_enable: bool = true,
|
completion_autoimport_enable: bool = true,
|
||||||
|
@ -515,6 +518,8 @@ config_data! {
|
||||||
}"#).unwrap(),
|
}"#).unwrap(),
|
||||||
/// Whether to enable term search based snippets like `Some(foo.bar().baz())`.
|
/// Whether to enable term search based snippets like `Some(foo.bar().baz())`.
|
||||||
completion_termSearch_enable: bool = false,
|
completion_termSearch_enable: bool = false,
|
||||||
|
/// Term search fuel in "units of work" for autocompletion (Defaults to 200).
|
||||||
|
completion_termSearch_fuel: usize = 200,
|
||||||
|
|
||||||
/// Enables highlighting of related references while the cursor is on `break`, `loop`, `while`, or `for` keywords.
|
/// Enables highlighting of related references while the cursor is on `break`, `loop`, `while`, or `for` keywords.
|
||||||
highlightRelated_breakPoints_enable: bool = true,
|
highlightRelated_breakPoints_enable: bool = true,
|
||||||
|
@ -1015,6 +1020,7 @@ impl Config {
|
||||||
prefer_no_std: self.imports_preferNoStd(source_root).to_owned(),
|
prefer_no_std: self.imports_preferNoStd(source_root).to_owned(),
|
||||||
assist_emit_must_use: self.assist_emitMustUse().to_owned(),
|
assist_emit_must_use: self.assist_emitMustUse().to_owned(),
|
||||||
prefer_prelude: self.imports_preferPrelude(source_root).to_owned(),
|
prefer_prelude: self.imports_preferPrelude(source_root).to_owned(),
|
||||||
|
term_search_fuel: self.assist_termSearch_fuel(source_root).to_owned() as u64,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1048,6 +1054,7 @@ impl Config {
|
||||||
snippets: self.snippets.clone().to_vec(),
|
snippets: self.snippets.clone().to_vec(),
|
||||||
limit: self.completion_limit(source_root).to_owned(),
|
limit: self.completion_limit(source_root).to_owned(),
|
||||||
enable_term_search: self.completion_termSearch_enable(source_root).to_owned(),
|
enable_term_search: self.completion_termSearch_enable(source_root).to_owned(),
|
||||||
|
term_search_fuel: self.completion_termSearch_fuel(source_root).to_owned() as u64,
|
||||||
prefer_prelude: self.imports_preferPrelude(source_root).to_owned(),
|
prefer_prelude: self.imports_preferPrelude(source_root).to_owned(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1067,6 +1074,7 @@ impl Config {
|
||||||
prefer_no_std: self.imports_preferNoStd(source_root).to_owned(),
|
prefer_no_std: self.imports_preferNoStd(source_root).to_owned(),
|
||||||
prefer_prelude: self.imports_preferPrelude(source_root).to_owned(),
|
prefer_prelude: self.imports_preferPrelude(source_root).to_owned(),
|
||||||
style_lints: self.diagnostics_styleLints_enable().to_owned(),
|
style_lints: self.diagnostics_styleLints_enable().to_owned(),
|
||||||
|
term_search_fuel: self.assist_termSearch_fuel(source_root).to_owned() as u64,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
pub fn expand_proc_attr_macros(&self) -> bool {
|
pub fn expand_proc_attr_macros(&self) -> bool {
|
||||||
|
|
|
@ -153,6 +153,7 @@ fn integrated_completion_benchmark() {
|
||||||
prefer_no_std: false,
|
prefer_no_std: false,
|
||||||
prefer_prelude: true,
|
prefer_prelude: true,
|
||||||
limit: None,
|
limit: None,
|
||||||
|
term_search_fuel: 200,
|
||||||
};
|
};
|
||||||
let position =
|
let position =
|
||||||
FilePosition { file_id, offset: TextSize::try_from(completion_offset).unwrap() };
|
FilePosition { file_id, offset: TextSize::try_from(completion_offset).unwrap() };
|
||||||
|
@ -197,6 +198,7 @@ fn integrated_completion_benchmark() {
|
||||||
prefer_no_std: false,
|
prefer_no_std: false,
|
||||||
prefer_prelude: true,
|
prefer_prelude: true,
|
||||||
limit: None,
|
limit: None,
|
||||||
|
term_search_fuel: 200,
|
||||||
};
|
};
|
||||||
let position =
|
let position =
|
||||||
FilePosition { file_id, offset: TextSize::try_from(completion_offset).unwrap() };
|
FilePosition { file_id, offset: TextSize::try_from(completion_offset).unwrap() };
|
||||||
|
@ -239,6 +241,7 @@ fn integrated_completion_benchmark() {
|
||||||
prefer_no_std: false,
|
prefer_no_std: false,
|
||||||
prefer_prelude: true,
|
prefer_prelude: true,
|
||||||
limit: None,
|
limit: None,
|
||||||
|
term_search_fuel: 200,
|
||||||
};
|
};
|
||||||
let position =
|
let position =
|
||||||
FilePosition { file_id, offset: TextSize::try_from(completion_offset).unwrap() };
|
FilePosition { file_id, offset: TextSize::try_from(completion_offset).unwrap() };
|
||||||
|
@ -295,6 +298,7 @@ fn integrated_diagnostics_benchmark() {
|
||||||
},
|
},
|
||||||
prefer_no_std: false,
|
prefer_no_std: false,
|
||||||
prefer_prelude: false,
|
prefer_prelude: false,
|
||||||
|
term_search_fuel: 400,
|
||||||
};
|
};
|
||||||
host.analysis()
|
host.analysis()
|
||||||
.diagnostics(&diagnostics_config, ide::AssistResolveStrategy::None, file_id)
|
.diagnostics(&diagnostics_config, ide::AssistResolveStrategy::None, file_id)
|
||||||
|
|
|
@ -9,6 +9,11 @@ for enum variants.
|
||||||
--
|
--
|
||||||
Placeholder expression to use for missing expressions in assists.
|
Placeholder expression to use for missing expressions in assists.
|
||||||
--
|
--
|
||||||
|
[[rust-analyzer.assist.termSearch.fuel]]rust-analyzer.assist.termSearch.fuel (default: `400`)::
|
||||||
|
+
|
||||||
|
--
|
||||||
|
Term search fuel in "units of work" for assists (Defaults to 400).
|
||||||
|
--
|
||||||
[[rust-analyzer.cachePriming.enable]]rust-analyzer.cachePriming.enable (default: `true`)::
|
[[rust-analyzer.cachePriming.enable]]rust-analyzer.cachePriming.enable (default: `true`)::
|
||||||
+
|
+
|
||||||
--
|
--
|
||||||
|
@ -373,6 +378,11 @@ Custom completion snippets.
|
||||||
--
|
--
|
||||||
Whether to enable term search based snippets like `Some(foo.bar().baz())`.
|
Whether to enable term search based snippets like `Some(foo.bar().baz())`.
|
||||||
--
|
--
|
||||||
|
[[rust-analyzer.completion.termSearch.fuel]]rust-analyzer.completion.termSearch.fuel (default: `200`)::
|
||||||
|
+
|
||||||
|
--
|
||||||
|
Term search fuel in "units of work" for autocompletion (Defaults to 200).
|
||||||
|
--
|
||||||
[[rust-analyzer.diagnostics.disabled]]rust-analyzer.diagnostics.disabled (default: `[]`)::
|
[[rust-analyzer.diagnostics.disabled]]rust-analyzer.diagnostics.disabled (default: `[]`)::
|
||||||
+
|
+
|
||||||
--
|
--
|
||||||
|
|
|
@ -534,6 +534,12 @@
|
||||||
"Fill missing expressions with reasonable defaults, `new` or `default` constructors."
|
"Fill missing expressions with reasonable defaults, `new` or `default` constructors."
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"rust-analyzer.assist.termSearch.fuel": {
|
||||||
|
"markdownDescription": "Term search fuel in \"units of work\" for assists (Defaults to 400).",
|
||||||
|
"default": 400,
|
||||||
|
"type": "integer",
|
||||||
|
"minimum": 0
|
||||||
|
},
|
||||||
"rust-analyzer.cachePriming.enable": {
|
"rust-analyzer.cachePriming.enable": {
|
||||||
"markdownDescription": "Warm up caches on project load.",
|
"markdownDescription": "Warm up caches on project load.",
|
||||||
"default": true,
|
"default": true,
|
||||||
|
@ -930,6 +936,12 @@
|
||||||
"default": false,
|
"default": false,
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
},
|
},
|
||||||
|
"rust-analyzer.completion.termSearch.fuel": {
|
||||||
|
"markdownDescription": "Term search fuel in \"units of work\" for autocompletion (Defaults to 200).",
|
||||||
|
"default": 200,
|
||||||
|
"type": "integer",
|
||||||
|
"minimum": 0
|
||||||
|
},
|
||||||
"rust-analyzer.diagnostics.disabled": {
|
"rust-analyzer.diagnostics.disabled": {
|
||||||
"markdownDescription": "List of rust-analyzer diagnostics to disable.",
|
"markdownDescription": "List of rust-analyzer diagnostics to disable.",
|
||||||
"default": [],
|
"default": [],
|
||||||
|
|
Loading…
Reference in a new issue