Use char for trigger character

This commit is contained in:
Lukas Wirth 2022-05-30 14:17:58 +02:00
parent 9ceaff91d3
commit ea594c4c44
6 changed files with 16 additions and 15 deletions

View file

@ -143,7 +143,7 @@ pub fn completions(
db: &RootDatabase,
config: &CompletionConfig,
position: FilePosition,
trigger_character: Option<&str>,
trigger_character: Option<char>,
) -> Option<Completions> {
let ctx = &CompletionContext::new(db, position, config)?;
let mut acc = Completions::default();
@ -151,7 +151,7 @@ pub fn completions(
{
let acc = &mut acc;
// prevent `(` from triggering unwanted completion noise
if trigger_character != Some("(") {
if trigger_character != Some('(') {
completions::attribute::complete_attribute(acc, ctx);
completions::attribute::complete_derive(acc, ctx);
completions::attribute::complete_known_attribute_input(acc, ctx);

View file

@ -88,7 +88,7 @@ pub(crate) fn completion_list_no_kw(ra_fixture: &str) -> String {
pub(crate) fn completion_list_with_trigger_character(
ra_fixture: &str,
trigger_character: Option<&str>,
trigger_character: Option<char>,
) -> String {
completion_list_with_config(TEST_CONFIG, ra_fixture, true, trigger_character)
}
@ -97,7 +97,7 @@ fn completion_list_with_config(
config: CompletionConfig,
ra_fixture: &str,
include_keywords: bool,
trigger_character: Option<&str>,
trigger_character: Option<char>,
) -> String {
// filter out all but one builtintype completion for smaller test outputs
let items = get_all_items(config, ra_fixture, trigger_character);
@ -225,7 +225,7 @@ pub(crate) fn check_pattern_is_applicable(code: &str, check: impl FnOnce(SyntaxE
pub(crate) fn get_all_items(
config: CompletionConfig,
code: &str,
trigger_character: Option<&str>,
trigger_character: Option<char>,
) -> Vec<CompletionItem> {
let (db, position) = position(code);
let res = crate::completions(&db, &config, position, trigger_character)

View file

@ -7,8 +7,8 @@ fn check(ra_fixture: &str, expect: Expect) {
expect.assert_eq(&actual);
}
fn check_with_trigger_character(ra_fixture: &str, trigger_character: Option<&str>, expect: Expect) {
let actual = completion_list_with_trigger_character(ra_fixture, trigger_character);
fn check_with_trigger_character(ra_fixture: &str, trigger_character: char, expect: Expect) {
let actual = completion_list_with_trigger_character(ra_fixture, Some(trigger_character));
expect.assert_eq(&actual)
}
@ -124,7 +124,7 @@ fn trigger_by_l_paren() {
r#"
fn foo($0)
"#,
Some("("),
'(',
expect![[]],
)
}

View file

@ -8,8 +8,8 @@ fn check(ra_fixture: &str, expect: Expect) {
expect.assert_eq(&actual)
}
fn check_with_trigger_character(ra_fixture: &str, trigger_character: Option<&str>, expect: Expect) {
let actual = completion_list_with_trigger_character(ra_fixture, trigger_character);
fn check_with_trigger_character(ra_fixture: &str, trigger_character: char, expect: Expect) {
let actual = completion_list_with_trigger_character(ra_fixture, Some(trigger_character));
expect.assert_eq(&actual)
}
@ -20,7 +20,7 @@ fn empty_pub() {
r#"
pub($0)
"#,
Some("("),
'(',
expect![[r#"
kw crate
kw in