Add limit setting
This commit is contained in:
@@ -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)]
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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() };
|
||||||
|
|||||||
Reference in New Issue
Block a user