mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-29 21:35:20 +00:00
Inline snapshots for all tests in complete_scope.rs
This commit is contained in:
parent
164ba6092c
commit
eb7d1b0fee
14 changed files with 396 additions and 434 deletions
|
@ -121,172 +121,431 @@ impl ImportResolver {
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::completion::{check_completion, CompletionKind};
|
use crate::completion::{do_completion, CompletionItem, CompletionKind};
|
||||||
|
use insta::assert_debug_snapshot_matches;
|
||||||
|
|
||||||
fn check_reference_completion(name: &str, code: &str) {
|
fn do_reference_completion(code: &str) -> Vec<CompletionItem> {
|
||||||
check_completion(name, code, CompletionKind::Reference);
|
do_completion(code, CompletionKind::Reference)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn completes_bindings_from_let() {
|
fn completes_bindings_from_let() {
|
||||||
check_reference_completion(
|
assert_debug_snapshot_matches!(
|
||||||
"bindings_from_let",
|
do_reference_completion(
|
||||||
r"
|
r"
|
||||||
fn quux(x: i32) {
|
fn quux(x: i32) {
|
||||||
let y = 92;
|
let y = 92;
|
||||||
1 + <|>;
|
1 + <|>;
|
||||||
let z = ();
|
let z = ();
|
||||||
}
|
}
|
||||||
",
|
"
|
||||||
|
),
|
||||||
|
@r###"
|
||||||
|
⋮[
|
||||||
|
⋮ CompletionItem {
|
||||||
|
⋮ label: "quux",
|
||||||
|
⋮ source_range: [91; 91),
|
||||||
|
⋮ delete: [91; 91),
|
||||||
|
⋮ insert: "quux($0)",
|
||||||
|
⋮ kind: Function,
|
||||||
|
⋮ detail: "fn quux(x: i32)",
|
||||||
|
⋮ },
|
||||||
|
⋮ CompletionItem {
|
||||||
|
⋮ label: "x",
|
||||||
|
⋮ source_range: [91; 91),
|
||||||
|
⋮ delete: [91; 91),
|
||||||
|
⋮ insert: "x",
|
||||||
|
⋮ kind: Binding,
|
||||||
|
⋮ detail: "i32",
|
||||||
|
⋮ },
|
||||||
|
⋮ CompletionItem {
|
||||||
|
⋮ label: "y",
|
||||||
|
⋮ source_range: [91; 91),
|
||||||
|
⋮ delete: [91; 91),
|
||||||
|
⋮ insert: "y",
|
||||||
|
⋮ kind: Binding,
|
||||||
|
⋮ detail: "i32",
|
||||||
|
⋮ },
|
||||||
|
⋮]
|
||||||
|
"###
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn completes_bindings_from_if_let() {
|
fn completes_bindings_from_if_let() {
|
||||||
check_reference_completion(
|
assert_debug_snapshot_matches!(
|
||||||
"bindings_from_if_let",
|
do_reference_completion(
|
||||||
r"
|
r"
|
||||||
fn quux() {
|
fn quux() {
|
||||||
if let Some(x) = foo() {
|
if let Some(x) = foo() {
|
||||||
let y = 92;
|
let y = 92;
|
||||||
};
|
};
|
||||||
if let Some(a) = bar() {
|
if let Some(a) = bar() {
|
||||||
let b = 62;
|
let b = 62;
|
||||||
1 + <|>
|
1 + <|>
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
"
|
||||||
",
|
),
|
||||||
|
@r###"
|
||||||
|
⋮[
|
||||||
|
⋮ CompletionItem {
|
||||||
|
⋮ label: "a",
|
||||||
|
⋮ source_range: [242; 242),
|
||||||
|
⋮ delete: [242; 242),
|
||||||
|
⋮ insert: "a",
|
||||||
|
⋮ kind: Binding,
|
||||||
|
⋮ },
|
||||||
|
⋮ CompletionItem {
|
||||||
|
⋮ label: "b",
|
||||||
|
⋮ source_range: [242; 242),
|
||||||
|
⋮ delete: [242; 242),
|
||||||
|
⋮ insert: "b",
|
||||||
|
⋮ kind: Binding,
|
||||||
|
⋮ detail: "i32",
|
||||||
|
⋮ },
|
||||||
|
⋮ CompletionItem {
|
||||||
|
⋮ label: "quux",
|
||||||
|
⋮ source_range: [242; 242),
|
||||||
|
⋮ delete: [242; 242),
|
||||||
|
⋮ insert: "quux()$0",
|
||||||
|
⋮ kind: Function,
|
||||||
|
⋮ detail: "fn quux()",
|
||||||
|
⋮ },
|
||||||
|
⋮]
|
||||||
|
"###
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn completes_bindings_from_for() {
|
fn completes_bindings_from_for() {
|
||||||
check_reference_completion(
|
assert_debug_snapshot_matches!(
|
||||||
"bindings_from_for",
|
do_reference_completion(
|
||||||
r"
|
r"
|
||||||
fn quux() {
|
fn quux() {
|
||||||
for x in &[1, 2, 3] {
|
for x in &[1, 2, 3] {
|
||||||
<|>
|
<|>
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
"
|
||||||
",
|
),
|
||||||
|
@r###"
|
||||||
|
⋮[
|
||||||
|
⋮ CompletionItem {
|
||||||
|
⋮ label: "quux",
|
||||||
|
⋮ source_range: [95; 95),
|
||||||
|
⋮ delete: [95; 95),
|
||||||
|
⋮ insert: "quux()$0",
|
||||||
|
⋮ kind: Function,
|
||||||
|
⋮ detail: "fn quux()",
|
||||||
|
⋮ },
|
||||||
|
⋮ CompletionItem {
|
||||||
|
⋮ label: "x",
|
||||||
|
⋮ source_range: [95; 95),
|
||||||
|
⋮ delete: [95; 95),
|
||||||
|
⋮ insert: "x",
|
||||||
|
⋮ kind: Binding,
|
||||||
|
⋮ },
|
||||||
|
⋮]
|
||||||
|
"###
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn completes_generic_params() {
|
fn completes_generic_params() {
|
||||||
check_reference_completion(
|
assert_debug_snapshot_matches!(
|
||||||
"generic_params",
|
do_reference_completion(
|
||||||
r"
|
r"
|
||||||
fn quux<T>() {
|
fn quux<T>() {
|
||||||
<|>
|
<|>
|
||||||
}
|
}
|
||||||
",
|
"
|
||||||
|
),
|
||||||
|
@r###"
|
||||||
|
⋮[
|
||||||
|
⋮ CompletionItem {
|
||||||
|
⋮ label: "T",
|
||||||
|
⋮ source_range: [52; 52),
|
||||||
|
⋮ delete: [52; 52),
|
||||||
|
⋮ insert: "T",
|
||||||
|
⋮ kind: TypeParam,
|
||||||
|
⋮ },
|
||||||
|
⋮ CompletionItem {
|
||||||
|
⋮ label: "quux",
|
||||||
|
⋮ source_range: [52; 52),
|
||||||
|
⋮ delete: [52; 52),
|
||||||
|
⋮ insert: "quux()$0",
|
||||||
|
⋮ kind: Function,
|
||||||
|
⋮ detail: "fn quux<T>()",
|
||||||
|
⋮ },
|
||||||
|
⋮]
|
||||||
|
"###
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn completes_generic_params_in_struct() {
|
fn completes_generic_params_in_struct() {
|
||||||
check_reference_completion(
|
assert_debug_snapshot_matches!(
|
||||||
"generic_params_in_struct",
|
do_reference_completion(
|
||||||
r"
|
r"
|
||||||
struct X<T> {
|
struct X<T> {
|
||||||
x: <|>
|
x: <|>
|
||||||
}
|
}
|
||||||
",
|
"
|
||||||
|
),
|
||||||
|
@r###"
|
||||||
|
⋮[
|
||||||
|
⋮ CompletionItem {
|
||||||
|
⋮ label: "T",
|
||||||
|
⋮ source_range: [54; 54),
|
||||||
|
⋮ delete: [54; 54),
|
||||||
|
⋮ insert: "T",
|
||||||
|
⋮ kind: TypeParam,
|
||||||
|
⋮ },
|
||||||
|
⋮ CompletionItem {
|
||||||
|
⋮ label: "X",
|
||||||
|
⋮ source_range: [54; 54),
|
||||||
|
⋮ delete: [54; 54),
|
||||||
|
⋮ insert: "X",
|
||||||
|
⋮ kind: Struct,
|
||||||
|
⋮ },
|
||||||
|
⋮]
|
||||||
|
"###
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn completes_module_items() {
|
fn completes_module_items() {
|
||||||
check_reference_completion(
|
assert_debug_snapshot_matches!(
|
||||||
"module_items",
|
do_reference_completion(
|
||||||
r"
|
r"
|
||||||
struct Foo;
|
struct Foo;
|
||||||
enum Baz {}
|
enum Baz {}
|
||||||
fn quux() {
|
fn quux() {
|
||||||
<|>
|
<|>
|
||||||
}
|
}
|
||||||
",
|
"
|
||||||
|
),
|
||||||
|
@r###"
|
||||||
|
⋮[
|
||||||
|
⋮ CompletionItem {
|
||||||
|
⋮ label: "Baz",
|
||||||
|
⋮ source_range: [105; 105),
|
||||||
|
⋮ delete: [105; 105),
|
||||||
|
⋮ insert: "Baz",
|
||||||
|
⋮ kind: Enum,
|
||||||
|
⋮ },
|
||||||
|
⋮ CompletionItem {
|
||||||
|
⋮ label: "Foo",
|
||||||
|
⋮ source_range: [105; 105),
|
||||||
|
⋮ delete: [105; 105),
|
||||||
|
⋮ insert: "Foo",
|
||||||
|
⋮ kind: Struct,
|
||||||
|
⋮ },
|
||||||
|
⋮ CompletionItem {
|
||||||
|
⋮ label: "quux",
|
||||||
|
⋮ source_range: [105; 105),
|
||||||
|
⋮ delete: [105; 105),
|
||||||
|
⋮ insert: "quux()$0",
|
||||||
|
⋮ kind: Function,
|
||||||
|
⋮ detail: "fn quux()",
|
||||||
|
⋮ },
|
||||||
|
⋮]
|
||||||
|
"###
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn completes_extern_prelude() {
|
fn completes_extern_prelude() {
|
||||||
check_reference_completion(
|
assert_debug_snapshot_matches!(
|
||||||
"extern_prelude",
|
do_reference_completion(
|
||||||
r"
|
r"
|
||||||
//- /lib.rs
|
//- /lib.rs
|
||||||
use <|>;
|
use <|>;
|
||||||
|
|
||||||
//- /other_crate/lib.rs
|
//- /other_crate/lib.rs
|
||||||
// nothing here
|
// nothing here
|
||||||
",
|
"
|
||||||
|
),
|
||||||
|
@r#"[
|
||||||
|
CompletionItem {
|
||||||
|
label: "other_crate",
|
||||||
|
source_range: [4; 4),
|
||||||
|
delete: [4; 4),
|
||||||
|
insert: "other_crate",
|
||||||
|
kind: Module,
|
||||||
|
},
|
||||||
|
]"#
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn completes_module_items_in_nested_modules() {
|
fn completes_module_items_in_nested_modules() {
|
||||||
check_reference_completion(
|
assert_debug_snapshot_matches!(
|
||||||
"module_items_in_nested_modules",
|
do_reference_completion(
|
||||||
r"
|
r"
|
||||||
struct Foo;
|
struct Foo;
|
||||||
mod m {
|
mod m {
|
||||||
struct Bar;
|
struct Bar;
|
||||||
fn quux() { <|> }
|
fn quux() { <|> }
|
||||||
}
|
}
|
||||||
",
|
"
|
||||||
|
),
|
||||||
|
@r###"
|
||||||
|
⋮[
|
||||||
|
⋮ CompletionItem {
|
||||||
|
⋮ label: "Bar",
|
||||||
|
⋮ source_range: [117; 117),
|
||||||
|
⋮ delete: [117; 117),
|
||||||
|
⋮ insert: "Bar",
|
||||||
|
⋮ kind: Struct,
|
||||||
|
⋮ },
|
||||||
|
⋮ CompletionItem {
|
||||||
|
⋮ label: "quux",
|
||||||
|
⋮ source_range: [117; 117),
|
||||||
|
⋮ delete: [117; 117),
|
||||||
|
⋮ insert: "quux()$0",
|
||||||
|
⋮ kind: Function,
|
||||||
|
⋮ detail: "fn quux()",
|
||||||
|
⋮ },
|
||||||
|
⋮]
|
||||||
|
"###
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn completes_return_type() {
|
fn completes_return_type() {
|
||||||
check_reference_completion(
|
assert_debug_snapshot_matches!(
|
||||||
"return_type",
|
do_reference_completion(
|
||||||
r"
|
r"
|
||||||
struct Foo;
|
struct Foo;
|
||||||
fn x() -> <|>
|
fn x() -> <|>
|
||||||
",
|
"
|
||||||
)
|
),
|
||||||
|
@r###"
|
||||||
|
⋮[
|
||||||
|
⋮ CompletionItem {
|
||||||
|
⋮ label: "Foo",
|
||||||
|
⋮ source_range: [55; 55),
|
||||||
|
⋮ delete: [55; 55),
|
||||||
|
⋮ insert: "Foo",
|
||||||
|
⋮ kind: Struct,
|
||||||
|
⋮ },
|
||||||
|
⋮ CompletionItem {
|
||||||
|
⋮ label: "x",
|
||||||
|
⋮ source_range: [55; 55),
|
||||||
|
⋮ delete: [55; 55),
|
||||||
|
⋮ insert: "x()$0",
|
||||||
|
⋮ kind: Function,
|
||||||
|
⋮ detail: "fn x()",
|
||||||
|
⋮ },
|
||||||
|
⋮]
|
||||||
|
"###
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn dont_show_both_completions_for_shadowing() {
|
fn dont_show_both_completions_for_shadowing() {
|
||||||
check_reference_completion(
|
assert_debug_snapshot_matches!(
|
||||||
"dont_show_both_completions_for_shadowing",
|
do_reference_completion(
|
||||||
r"
|
r"
|
||||||
fn foo() {
|
fn foo() {
|
||||||
let bar = 92;
|
let bar = 92;
|
||||||
{
|
{
|
||||||
let bar = 62;
|
let bar = 62;
|
||||||
<|>
|
<|>
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
"
|
||||||
",
|
),
|
||||||
)
|
@r###"
|
||||||
|
⋮[
|
||||||
|
⋮ CompletionItem {
|
||||||
|
⋮ label: "bar",
|
||||||
|
⋮ source_range: [146; 146),
|
||||||
|
⋮ delete: [146; 146),
|
||||||
|
⋮ insert: "bar",
|
||||||
|
⋮ kind: Binding,
|
||||||
|
⋮ detail: "i32",
|
||||||
|
⋮ },
|
||||||
|
⋮ CompletionItem {
|
||||||
|
⋮ label: "foo",
|
||||||
|
⋮ source_range: [146; 146),
|
||||||
|
⋮ delete: [146; 146),
|
||||||
|
⋮ insert: "foo()$0",
|
||||||
|
⋮ kind: Function,
|
||||||
|
⋮ detail: "fn foo()",
|
||||||
|
⋮ },
|
||||||
|
⋮]
|
||||||
|
"###
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn completes_self_in_methods() {
|
fn completes_self_in_methods() {
|
||||||
check_reference_completion("self_in_methods", r"impl S { fn foo(&self) { <|> } }")
|
assert_debug_snapshot_matches!(
|
||||||
|
do_reference_completion(r"impl S { fn foo(&self) { <|> } }"),
|
||||||
|
@r#"[
|
||||||
|
CompletionItem {
|
||||||
|
label: "Self",
|
||||||
|
source_range: [25; 25),
|
||||||
|
delete: [25; 25),
|
||||||
|
insert: "Self",
|
||||||
|
kind: TypeParam,
|
||||||
|
},
|
||||||
|
CompletionItem {
|
||||||
|
label: "self",
|
||||||
|
source_range: [25; 25),
|
||||||
|
delete: [25; 25),
|
||||||
|
insert: "self",
|
||||||
|
kind: Binding,
|
||||||
|
detail: "&{unknown}",
|
||||||
|
},
|
||||||
|
]"#
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn completes_prelude() {
|
fn completes_prelude() {
|
||||||
check_reference_completion(
|
assert_debug_snapshot_matches!(
|
||||||
"completes_prelude",
|
do_reference_completion(
|
||||||
"
|
"
|
||||||
//- /main.rs
|
//- /main.rs
|
||||||
fn foo() { let x: <|> }
|
fn foo() { let x: <|> }
|
||||||
|
|
||||||
//- /std/lib.rs
|
//- /std/lib.rs
|
||||||
#[prelude_import]
|
#[prelude_import]
|
||||||
use prelude::*;
|
use prelude::*;
|
||||||
|
|
||||||
mod prelude {
|
mod prelude {
|
||||||
struct Option;
|
struct Option;
|
||||||
}
|
}
|
||||||
",
|
"
|
||||||
|
),
|
||||||
|
@r#"[
|
||||||
|
CompletionItem {
|
||||||
|
label: "Option",
|
||||||
|
source_range: [18; 18),
|
||||||
|
delete: [18; 18),
|
||||||
|
insert: "Option",
|
||||||
|
kind: Struct,
|
||||||
|
},
|
||||||
|
CompletionItem {
|
||||||
|
label: "foo",
|
||||||
|
source_range: [18; 18),
|
||||||
|
delete: [18; 18),
|
||||||
|
insert: "foo()$0",
|
||||||
|
kind: Function,
|
||||||
|
detail: "fn foo()",
|
||||||
|
},
|
||||||
|
CompletionItem {
|
||||||
|
label: "std",
|
||||||
|
source_range: [18; 18),
|
||||||
|
delete: [18; 18),
|
||||||
|
insert: "std",
|
||||||
|
kind: Module,
|
||||||
|
},
|
||||||
|
]"#
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
---
|
|
||||||
created: "2019-05-23T22:23:35.119822026Z"
|
|
||||||
creator: insta@0.8.1
|
|
||||||
source: crates/ra_ide_api/src/completion/completion_item.rs
|
|
||||||
expression: kind_completions
|
|
||||||
---
|
|
||||||
[
|
|
||||||
CompletionItem {
|
|
||||||
label: "quux",
|
|
||||||
source_range: [83; 83),
|
|
||||||
delete: [83; 83),
|
|
||||||
insert: "quux()$0",
|
|
||||||
kind: Function,
|
|
||||||
detail: "fn quux()",
|
|
||||||
},
|
|
||||||
CompletionItem {
|
|
||||||
label: "x",
|
|
||||||
source_range: [83; 83),
|
|
||||||
delete: [83; 83),
|
|
||||||
insert: "x",
|
|
||||||
kind: Binding,
|
|
||||||
},
|
|
||||||
]
|
|
|
@ -1,31 +0,0 @@
|
||||||
---
|
|
||||||
created: "2019-07-23T16:11:48.828805910Z"
|
|
||||||
creator: insta@0.8.1
|
|
||||||
source: crates/ra_ide_api/src/completion/completion_item.rs
|
|
||||||
expression: kind_completions
|
|
||||||
---
|
|
||||||
[
|
|
||||||
CompletionItem {
|
|
||||||
label: "a",
|
|
||||||
source_range: [214; 214),
|
|
||||||
delete: [214; 214),
|
|
||||||
insert: "a",
|
|
||||||
kind: Binding,
|
|
||||||
},
|
|
||||||
CompletionItem {
|
|
||||||
label: "b",
|
|
||||||
source_range: [214; 214),
|
|
||||||
delete: [214; 214),
|
|
||||||
insert: "b",
|
|
||||||
kind: Binding,
|
|
||||||
detail: "i32",
|
|
||||||
},
|
|
||||||
CompletionItem {
|
|
||||||
label: "quux",
|
|
||||||
source_range: [214; 214),
|
|
||||||
delete: [214; 214),
|
|
||||||
insert: "quux()$0",
|
|
||||||
kind: Function,
|
|
||||||
detail: "fn quux()",
|
|
||||||
},
|
|
||||||
]
|
|
|
@ -1,32 +0,0 @@
|
||||||
---
|
|
||||||
created: "2019-07-23T16:11:48.828811567Z"
|
|
||||||
creator: insta@0.8.1
|
|
||||||
source: crates/ra_ide_api/src/completion/completion_item.rs
|
|
||||||
expression: kind_completions
|
|
||||||
---
|
|
||||||
[
|
|
||||||
CompletionItem {
|
|
||||||
label: "quux",
|
|
||||||
source_range: [79; 79),
|
|
||||||
delete: [79; 79),
|
|
||||||
insert: "quux($0)",
|
|
||||||
kind: Function,
|
|
||||||
detail: "fn quux(x: i32)",
|
|
||||||
},
|
|
||||||
CompletionItem {
|
|
||||||
label: "x",
|
|
||||||
source_range: [79; 79),
|
|
||||||
delete: [79; 79),
|
|
||||||
insert: "x",
|
|
||||||
kind: Binding,
|
|
||||||
detail: "i32",
|
|
||||||
},
|
|
||||||
CompletionItem {
|
|
||||||
label: "y",
|
|
||||||
source_range: [79; 79),
|
|
||||||
delete: [79; 79),
|
|
||||||
insert: "y",
|
|
||||||
kind: Binding,
|
|
||||||
detail: "i32",
|
|
||||||
},
|
|
||||||
]
|
|
|
@ -1,30 +0,0 @@
|
||||||
---
|
|
||||||
created: "2019-05-23T22:23:35.139262926Z"
|
|
||||||
creator: insta@0.8.1
|
|
||||||
source: crates/ra_ide_api/src/completion/completion_item.rs
|
|
||||||
expression: kind_completions
|
|
||||||
---
|
|
||||||
[
|
|
||||||
CompletionItem {
|
|
||||||
label: "Option",
|
|
||||||
source_range: [18; 18),
|
|
||||||
delete: [18; 18),
|
|
||||||
insert: "Option",
|
|
||||||
kind: Struct,
|
|
||||||
},
|
|
||||||
CompletionItem {
|
|
||||||
label: "foo",
|
|
||||||
source_range: [18; 18),
|
|
||||||
delete: [18; 18),
|
|
||||||
insert: "foo()$0",
|
|
||||||
kind: Function,
|
|
||||||
detail: "fn foo()",
|
|
||||||
},
|
|
||||||
CompletionItem {
|
|
||||||
label: "std",
|
|
||||||
source_range: [18; 18),
|
|
||||||
delete: [18; 18),
|
|
||||||
insert: "std",
|
|
||||||
kind: Module,
|
|
||||||
},
|
|
||||||
]
|
|
|
@ -1,24 +0,0 @@
|
||||||
---
|
|
||||||
created: "2019-07-23T16:11:48.860949870Z"
|
|
||||||
creator: insta@0.8.1
|
|
||||||
source: crates/ra_ide_api/src/completion/completion_item.rs
|
|
||||||
expression: kind_completions
|
|
||||||
---
|
|
||||||
[
|
|
||||||
CompletionItem {
|
|
||||||
label: "bar",
|
|
||||||
source_range: [126; 126),
|
|
||||||
delete: [126; 126),
|
|
||||||
insert: "bar",
|
|
||||||
kind: Binding,
|
|
||||||
detail: "i32",
|
|
||||||
},
|
|
||||||
CompletionItem {
|
|
||||||
label: "foo",
|
|
||||||
source_range: [126; 126),
|
|
||||||
delete: [126; 126),
|
|
||||||
insert: "foo()$0",
|
|
||||||
kind: Function,
|
|
||||||
detail: "fn foo()",
|
|
||||||
},
|
|
||||||
]
|
|
|
@ -1,15 +0,0 @@
|
||||||
---
|
|
||||||
created: "2019-05-23T22:23:35.123197049Z"
|
|
||||||
creator: insta@0.8.1
|
|
||||||
source: crates/ra_ide_api/src/completion/completion_item.rs
|
|
||||||
expression: kind_completions
|
|
||||||
---
|
|
||||||
[
|
|
||||||
CompletionItem {
|
|
||||||
label: "other_crate",
|
|
||||||
source_range: [4; 4),
|
|
||||||
delete: [4; 4),
|
|
||||||
insert: "other_crate",
|
|
||||||
kind: Module,
|
|
||||||
},
|
|
||||||
]
|
|
|
@ -1,23 +0,0 @@
|
||||||
---
|
|
||||||
created: "2019-05-23T22:23:35.123825399Z"
|
|
||||||
creator: insta@0.8.1
|
|
||||||
source: crates/ra_ide_api/src/completion/completion_item.rs
|
|
||||||
expression: kind_completions
|
|
||||||
---
|
|
||||||
[
|
|
||||||
CompletionItem {
|
|
||||||
label: "T",
|
|
||||||
source_range: [44; 44),
|
|
||||||
delete: [44; 44),
|
|
||||||
insert: "T",
|
|
||||||
kind: TypeParam,
|
|
||||||
},
|
|
||||||
CompletionItem {
|
|
||||||
label: "quux",
|
|
||||||
source_range: [44; 44),
|
|
||||||
delete: [44; 44),
|
|
||||||
insert: "quux()$0",
|
|
||||||
kind: Function,
|
|
||||||
detail: "fn quux<T>()",
|
|
||||||
},
|
|
||||||
]
|
|
|
@ -1,22 +0,0 @@
|
||||||
---
|
|
||||||
created: "2019-05-23T22:23:35.130778739Z"
|
|
||||||
creator: insta@0.8.1
|
|
||||||
source: crates/ra_ide_api/src/completion/completion_item.rs
|
|
||||||
expression: kind_completions
|
|
||||||
---
|
|
||||||
[
|
|
||||||
CompletionItem {
|
|
||||||
label: "T",
|
|
||||||
source_range: [46; 46),
|
|
||||||
delete: [46; 46),
|
|
||||||
insert: "T",
|
|
||||||
kind: TypeParam,
|
|
||||||
},
|
|
||||||
CompletionItem {
|
|
||||||
label: "X",
|
|
||||||
source_range: [46; 46),
|
|
||||||
delete: [46; 46),
|
|
||||||
insert: "X",
|
|
||||||
kind: Struct,
|
|
||||||
},
|
|
||||||
]
|
|
|
@ -1,30 +0,0 @@
|
||||||
---
|
|
||||||
created: "2019-05-23T22:23:35.133106898Z"
|
|
||||||
creator: insta@0.8.1
|
|
||||||
source: crates/ra_ide_api/src/completion/completion_item.rs
|
|
||||||
expression: kind_completions
|
|
||||||
---
|
|
||||||
[
|
|
||||||
CompletionItem {
|
|
||||||
label: "Baz",
|
|
||||||
source_range: [89; 89),
|
|
||||||
delete: [89; 89),
|
|
||||||
insert: "Baz",
|
|
||||||
kind: Enum,
|
|
||||||
},
|
|
||||||
CompletionItem {
|
|
||||||
label: "Foo",
|
|
||||||
source_range: [89; 89),
|
|
||||||
delete: [89; 89),
|
|
||||||
insert: "Foo",
|
|
||||||
kind: Struct,
|
|
||||||
},
|
|
||||||
CompletionItem {
|
|
||||||
label: "quux",
|
|
||||||
source_range: [89; 89),
|
|
||||||
delete: [89; 89),
|
|
||||||
insert: "quux()$0",
|
|
||||||
kind: Function,
|
|
||||||
detail: "fn quux()",
|
|
||||||
},
|
|
||||||
]
|
|
|
@ -1,23 +0,0 @@
|
||||||
---
|
|
||||||
created: "2019-05-23T22:23:35.134417551Z"
|
|
||||||
creator: insta@0.8.1
|
|
||||||
source: crates/ra_ide_api/src/completion/completion_item.rs
|
|
||||||
expression: kind_completions
|
|
||||||
---
|
|
||||||
[
|
|
||||||
CompletionItem {
|
|
||||||
label: "Bar",
|
|
||||||
source_range: [101; 101),
|
|
||||||
delete: [101; 101),
|
|
||||||
insert: "Bar",
|
|
||||||
kind: Struct,
|
|
||||||
},
|
|
||||||
CompletionItem {
|
|
||||||
label: "quux",
|
|
||||||
source_range: [101; 101),
|
|
||||||
delete: [101; 101),
|
|
||||||
insert: "quux()$0",
|
|
||||||
kind: Function,
|
|
||||||
detail: "fn quux()",
|
|
||||||
},
|
|
||||||
]
|
|
|
@ -1,23 +0,0 @@
|
||||||
---
|
|
||||||
created: "2019-05-23T22:23:35.140648630Z"
|
|
||||||
creator: insta@0.8.1
|
|
||||||
source: crates/ra_ide_api/src/completion/completion_item.rs
|
|
||||||
expression: kind_completions
|
|
||||||
---
|
|
||||||
[
|
|
||||||
CompletionItem {
|
|
||||||
label: "Foo",
|
|
||||||
source_range: [47; 47),
|
|
||||||
delete: [47; 47),
|
|
||||||
insert: "Foo",
|
|
||||||
kind: Struct,
|
|
||||||
},
|
|
||||||
CompletionItem {
|
|
||||||
label: "x",
|
|
||||||
source_range: [47; 47),
|
|
||||||
delete: [47; 47),
|
|
||||||
insert: "x()$0",
|
|
||||||
kind: Function,
|
|
||||||
detail: "fn x()",
|
|
||||||
},
|
|
||||||
]
|
|
|
@ -1,23 +0,0 @@
|
||||||
---
|
|
||||||
created: "2019-07-23T16:11:48.859812318Z"
|
|
||||||
creator: insta@0.8.1
|
|
||||||
source: crates/ra_ide_api/src/completion/completion_item.rs
|
|
||||||
expression: kind_completions
|
|
||||||
---
|
|
||||||
[
|
|
||||||
CompletionItem {
|
|
||||||
label: "Self",
|
|
||||||
source_range: [25; 25),
|
|
||||||
delete: [25; 25),
|
|
||||||
insert: "Self",
|
|
||||||
kind: TypeParam,
|
|
||||||
},
|
|
||||||
CompletionItem {
|
|
||||||
label: "self",
|
|
||||||
source_range: [25; 25),
|
|
||||||
delete: [25; 25),
|
|
||||||
insert: "self",
|
|
||||||
kind: Binding,
|
|
||||||
detail: "&{unknown}",
|
|
||||||
},
|
|
||||||
]
|
|
|
@ -357,38 +357,40 @@ mod tests {
|
||||||
let new_name = "foo2";
|
let new_name = "foo2";
|
||||||
let source_change = analysis.rename(position, new_name).unwrap();
|
let source_change = analysis.rename(position, new_name).unwrap();
|
||||||
assert_debug_snapshot_matches!(&source_change,
|
assert_debug_snapshot_matches!(&source_change,
|
||||||
@r#"Some(
|
@r###"
|
||||||
SourceChange {
|
⋮Some(
|
||||||
label: "rename",
|
⋮ SourceChange {
|
||||||
source_file_edits: [
|
⋮ label: "rename",
|
||||||
SourceFileEdit {
|
⋮ source_file_edits: [
|
||||||
file_id: FileId(
|
⋮ SourceFileEdit {
|
||||||
1,
|
⋮ file_id: FileId(
|
||||||
),
|
⋮ 1,
|
||||||
edit: TextEdit {
|
⋮ ),
|
||||||
atoms: [
|
⋮ edit: TextEdit {
|
||||||
AtomTextEdit {
|
⋮ atoms: [
|
||||||
delete: [4; 7),
|
⋮ AtomTextEdit {
|
||||||
insert: "foo2",
|
⋮ delete: [4; 7),
|
||||||
},
|
⋮ insert: "foo2",
|
||||||
],
|
⋮ },
|
||||||
},
|
⋮ ],
|
||||||
},
|
⋮ },
|
||||||
],
|
⋮ },
|
||||||
file_system_edits: [
|
⋮ ],
|
||||||
MoveFile {
|
⋮ file_system_edits: [
|
||||||
src: FileId(
|
⋮ MoveFile {
|
||||||
2,
|
⋮ src: FileId(
|
||||||
),
|
⋮ 2,
|
||||||
dst_source_root: SourceRootId(
|
⋮ ),
|
||||||
0,
|
⋮ dst_source_root: SourceRootId(
|
||||||
),
|
⋮ 0,
|
||||||
dst_path: "foo2/mod.rs",
|
⋮ ),
|
||||||
},
|
⋮ dst_path: "foo2/mod.rs",
|
||||||
],
|
⋮ },
|
||||||
cursor_position: None,
|
⋮ ],
|
||||||
},
|
⋮ cursor_position: None,
|
||||||
)"#);
|
⋮ },
|
||||||
|
⋮)
|
||||||
|
"###);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn test_rename(text: &str, new_name: &str, expected: &str) {
|
fn test_rename(text: &str, new_name: &str, expected: &str) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue