Unnamed repository; edit this file 'description' to name the repository.
Extract CompletionConfig in integrated_benchmarks
A4-Tacks 9 days ago
parent b9a5c23 · commit df4941f
-rw-r--r--crates/rust-analyzer/src/integrated_benchmarks.rs126
1 files changed, 36 insertions, 90 deletions
diff --git a/crates/rust-analyzer/src/integrated_benchmarks.rs b/crates/rust-analyzer/src/integrated_benchmarks.rs
index af449c473a..7718d9e545 100644
--- a/crates/rust-analyzer/src/integrated_benchmarks.rs
+++ b/crates/rust-analyzer/src/integrated_benchmarks.rs
@@ -162,36 +162,7 @@ fn integrated_completion_benchmark() {
{
let _span = profile::cpu_span();
let analysis = host.analysis();
- let config = CompletionConfig {
- enable_postfix_completions: true,
- enable_imports_on_the_fly: true,
- enable_self_on_the_fly: true,
- enable_private_editable: true,
- enable_term_search: true,
- term_search_fuel: 200,
- full_function_signatures: false,
- callable: Some(CallableSnippets::FillArguments),
- snippet_cap: SnippetCap::new(true),
- insert_use: InsertUseConfig {
- granularity: ImportGranularity::Crate,
- prefix_kind: hir::PrefixKind::ByCrate,
- enforce_granularity: true,
- group: true,
- skip_glob_imports: true,
- },
- prefer_no_std: false,
- prefer_prelude: true,
- prefer_absolute: false,
- snippets: Vec::new(),
- limit: None,
- add_semicolon_to_unit: true,
- fields_to_resolve: CompletionFieldsToResolve::empty(),
- exclude_flyimport: vec![],
- exclude_traits: &[],
- enable_auto_await: true,
- enable_auto_iter: true,
- ra_fixture: RaFixtureConfig::default(),
- };
+ let config = completion_config();
let position =
FilePosition { file_id, offset: TextSize::try_from(completion_offset).unwrap() };
analysis.completions(&config, position, None).unwrap();
@@ -217,36 +188,7 @@ fn integrated_completion_benchmark() {
let _p = tracing::info_span!("unqualified path completion").entered();
let _span = profile::cpu_span();
let analysis = host.analysis();
- let config = CompletionConfig {
- enable_postfix_completions: true,
- enable_imports_on_the_fly: true,
- enable_self_on_the_fly: true,
- enable_private_editable: true,
- enable_term_search: true,
- term_search_fuel: 200,
- full_function_signatures: false,
- callable: Some(CallableSnippets::FillArguments),
- snippet_cap: SnippetCap::new(true),
- insert_use: InsertUseConfig {
- granularity: ImportGranularity::Crate,
- prefix_kind: hir::PrefixKind::ByCrate,
- enforce_granularity: true,
- group: true,
- skip_glob_imports: true,
- },
- prefer_no_std: false,
- prefer_prelude: true,
- prefer_absolute: false,
- snippets: Vec::new(),
- limit: None,
- add_semicolon_to_unit: true,
- fields_to_resolve: CompletionFieldsToResolve::empty(),
- exclude_flyimport: vec![],
- exclude_traits: &[],
- enable_auto_await: true,
- enable_auto_iter: true,
- ra_fixture: RaFixtureConfig::default(),
- };
+ let config = completion_config();
let position =
FilePosition { file_id, offset: TextSize::try_from(completion_offset).unwrap() };
analysis.completions(&config, position, None).unwrap();
@@ -270,36 +212,7 @@ fn integrated_completion_benchmark() {
let _p = tracing::info_span!("dot completion").entered();
let _span = profile::cpu_span();
let analysis = host.analysis();
- let config = CompletionConfig {
- enable_postfix_completions: true,
- enable_imports_on_the_fly: true,
- enable_self_on_the_fly: true,
- enable_private_editable: true,
- enable_term_search: true,
- term_search_fuel: 200,
- full_function_signatures: false,
- callable: Some(CallableSnippets::FillArguments),
- snippet_cap: SnippetCap::new(true),
- insert_use: InsertUseConfig {
- granularity: ImportGranularity::Crate,
- prefix_kind: hir::PrefixKind::ByCrate,
- enforce_granularity: true,
- group: true,
- skip_glob_imports: true,
- },
- prefer_no_std: false,
- prefer_prelude: true,
- prefer_absolute: false,
- snippets: Vec::new(),
- limit: None,
- add_semicolon_to_unit: true,
- fields_to_resolve: CompletionFieldsToResolve::empty(),
- exclude_flyimport: vec![],
- exclude_traits: &[],
- enable_auto_await: true,
- enable_auto_iter: true,
- ra_fixture: RaFixtureConfig::default(),
- };
+ let config = completion_config();
let position =
FilePosition { file_id, offset: TextSize::try_from(completion_offset).unwrap() };
analysis.completions(&config, position, None).unwrap();
@@ -400,3 +313,36 @@ fn patch(what: &mut String, from: &str, to: &str) -> usize {
*what = what.replacen(from, to, 1);
idx
}
+
+fn completion_config() -> CompletionConfig<'static> {
+ CompletionConfig {
+ enable_postfix_completions: true,
+ enable_imports_on_the_fly: true,
+ enable_self_on_the_fly: true,
+ enable_private_editable: true,
+ enable_term_search: true,
+ term_search_fuel: 200,
+ full_function_signatures: false,
+ callable: Some(CallableSnippets::FillArguments),
+ snippet_cap: SnippetCap::new(true),
+ insert_use: InsertUseConfig {
+ granularity: ImportGranularity::Crate,
+ prefix_kind: hir::PrefixKind::ByCrate,
+ enforce_granularity: true,
+ group: true,
+ skip_glob_imports: true,
+ },
+ prefer_no_std: false,
+ prefer_prelude: true,
+ prefer_absolute: false,
+ snippets: Vec::new(),
+ limit: None,
+ add_semicolon_to_unit: true,
+ fields_to_resolve: CompletionFieldsToResolve::empty(),
+ exclude_flyimport: vec![],
+ exclude_traits: &[],
+ enable_auto_await: true,
+ enable_auto_iter: true,
+ ra_fixture: RaFixtureConfig::default(),
+ }
+}