Add limit setting

This commit is contained in:
Maria José Solano 2023-01-19 18:21:43 -08:00
parent 6e52c64031
commit ec89fc85a8
4 changed files with 7 additions and 0 deletions

View file

@ -19,6 +19,7 @@ pub struct CompletionConfig {
pub insert_use: InsertUseConfig, pub insert_use: InsertUseConfig,
pub prefer_no_std: bool, pub prefer_no_std: bool,
pub snippets: Vec<Snippet>, pub snippets: Vec<Snippet>,
pub limit: Option<usize>
} }
#[derive(Clone, Debug, PartialEq, Eq)] #[derive(Clone, Debug, PartialEq, Eq)]

View file

@ -75,6 +75,7 @@ pub(crate) const TEST_CONFIG: CompletionConfig = CompletionConfig {
skip_glob_imports: true, skip_glob_imports: true,
}, },
snippets: Vec::new(), snippets: Vec::new(),
limit: None,
}; };
pub(crate) fn completion_list(ra_fixture: &str) -> String { pub(crate) fn completion_list(ra_fixture: &str) -> String {

View file

@ -199,6 +199,8 @@ config_data! {
completion_postfix_enable: bool = "true", completion_postfix_enable: bool = "true",
/// Enables completions of private items and fields that are defined in the current workspace even if they are not visible at the current position. /// Enables completions of private items and fields that are defined in the current workspace even if they are not visible at the current position.
completion_privateEditable_enable: bool = "false", completion_privateEditable_enable: bool = "false",
/// Maximum number of completions to return. If `None`, the limit is infinite.
completion_limit: Option<usize> = "null",
/// Custom completion snippets. /// Custom completion snippets.
// NOTE: Keep this list in sync with the feature docs of user snippets. // NOTE: Keep this list in sync with the feature docs of user snippets.
completion_snippets_custom: FxHashMap<String, SnippetDef> = r#"{ completion_snippets_custom: FxHashMap<String, SnippetDef> = r#"{
@ -1313,6 +1315,7 @@ impl Config {
.snippet_support? .snippet_support?
)), )),
snippets: self.snippets.clone(), snippets: self.snippets.clone(),
limit: self.data.completion_limit,
} }
} }

View file

@ -146,6 +146,7 @@ fn integrated_completion_benchmark() {
}, },
snippets: Vec::new(), snippets: Vec::new(),
prefer_no_std: false, prefer_no_std: false,
limit: None
}; };
let position = let position =
FilePosition { file_id, offset: TextSize::try_from(completion_offset).unwrap() }; FilePosition { file_id, offset: TextSize::try_from(completion_offset).unwrap() };
@ -184,6 +185,7 @@ fn integrated_completion_benchmark() {
}, },
snippets: Vec::new(), snippets: Vec::new(),
prefer_no_std: false, prefer_no_std: false,
limit: None
}; };
let position = let position =
FilePosition { file_id, offset: TextSize::try_from(completion_offset).unwrap() }; FilePosition { file_id, offset: TextSize::try_from(completion_offset).unwrap() };