From eb7d1b0feeca276c485b8325df2851756ef861b4 Mon Sep 17 00:00:00 2001 From: Phil Ellison Date: Sun, 28 Jul 2019 11:24:29 +0100 Subject: Inline snapshots for all tests in complete_scope.rs --- crates/ra_ide_api/src/completion/complete_scope.rs | 465 ++++++++++++++++----- .../completion_item__bindings_from_for.snap | 23 - .../completion_item__bindings_from_if_let.snap | 31 -- .../completion_item__bindings_from_let.snap | 32 -- .../completion_item__completes_prelude.snap | 30 -- ...__dont_show_both_completions_for_shadowing.snap | 24 -- .../snapshots/completion_item__extern_prelude.snap | 15 - .../snapshots/completion_item__generic_params.snap | 23 - .../completion_item__generic_params_in_struct.snap | 22 - .../snapshots/completion_item__module_items.snap | 30 -- ...etion_item__module_items_in_nested_modules.snap | 23 - .../snapshots/completion_item__return_type.snap | 23 - .../completion_item__self_in_methods.snap | 23 - 13 files changed, 362 insertions(+), 402 deletions(-) delete mode 100644 crates/ra_ide_api/src/completion/snapshots/completion_item__bindings_from_for.snap delete mode 100644 crates/ra_ide_api/src/completion/snapshots/completion_item__bindings_from_if_let.snap delete mode 100644 crates/ra_ide_api/src/completion/snapshots/completion_item__bindings_from_let.snap delete mode 100644 crates/ra_ide_api/src/completion/snapshots/completion_item__completes_prelude.snap delete mode 100644 crates/ra_ide_api/src/completion/snapshots/completion_item__dont_show_both_completions_for_shadowing.snap delete mode 100644 crates/ra_ide_api/src/completion/snapshots/completion_item__extern_prelude.snap delete mode 100644 crates/ra_ide_api/src/completion/snapshots/completion_item__generic_params.snap delete mode 100644 crates/ra_ide_api/src/completion/snapshots/completion_item__generic_params_in_struct.snap delete mode 100644 crates/ra_ide_api/src/completion/snapshots/completion_item__module_items.snap delete mode 100644 crates/ra_ide_api/src/completion/snapshots/completion_item__module_items_in_nested_modules.snap delete mode 100644 crates/ra_ide_api/src/completion/snapshots/completion_item__return_type.snap delete mode 100644 crates/ra_ide_api/src/completion/snapshots/completion_item__self_in_methods.snap (limited to 'crates/ra_ide_api/src/completion') diff --git a/crates/ra_ide_api/src/completion/complete_scope.rs b/crates/ra_ide_api/src/completion/complete_scope.rs index f92034055..1baa5227a 100644 --- a/crates/ra_ide_api/src/completion/complete_scope.rs +++ b/crates/ra_ide_api/src/completion/complete_scope.rs @@ -121,172 +121,431 @@ impl ImportResolver { #[cfg(test)] 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) { - check_completion(name, code, CompletionKind::Reference); + fn do_reference_completion(code: &str) -> Vec { + do_completion(code, CompletionKind::Reference) } #[test] fn completes_bindings_from_let() { - check_reference_completion( - "bindings_from_let", - r" - fn quux(x: i32) { - let y = 92; - 1 + <|>; - let z = (); - } - ", + assert_debug_snapshot_matches!( + do_reference_completion( + r" + fn quux(x: i32) { + let y = 92; + 1 + <|>; + 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] fn completes_bindings_from_if_let() { - check_reference_completion( - "bindings_from_if_let", - r" - fn quux() { - if let Some(x) = foo() { - let y = 92; - }; - if let Some(a) = bar() { - let b = 62; - 1 + <|> + assert_debug_snapshot_matches!( + do_reference_completion( + r" + fn quux() { + if let Some(x) = foo() { + let y = 92; + }; + if let Some(a) = bar() { + let b = 62; + 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] fn completes_bindings_from_for() { - check_reference_completion( - "bindings_from_for", - r" - fn quux() { - for x in &[1, 2, 3] { - <|> + assert_debug_snapshot_matches!( + do_reference_completion( + r" + fn quux() { + 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] fn completes_generic_params() { - check_reference_completion( - "generic_params", - r" - fn quux() { - <|> - } - ", + assert_debug_snapshot_matches!( + do_reference_completion( + r" + fn quux() { + <|> + } + " + ), +@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()", + ⋮ }, + ⋮] + "### ); } #[test] fn completes_generic_params_in_struct() { - check_reference_completion( - "generic_params_in_struct", - r" - struct X { - x: <|> - } - ", + assert_debug_snapshot_matches!( + do_reference_completion( + r" + struct 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] fn completes_module_items() { - check_reference_completion( - "module_items", - r" - struct Foo; - enum Baz {} - fn quux() { - <|> - } - ", + assert_debug_snapshot_matches!( + do_reference_completion( + r" + struct Foo; + enum Baz {} + 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] fn completes_extern_prelude() { - check_reference_completion( - "extern_prelude", - r" - //- /lib.rs - use <|>; + assert_debug_snapshot_matches!( + do_reference_completion( + r" + //- /lib.rs + use <|>; - //- /other_crate/lib.rs - // nothing here - ", + //- /other_crate/lib.rs + // nothing here + " + ), +@r#"[ + CompletionItem { + label: "other_crate", + source_range: [4; 4), + delete: [4; 4), + insert: "other_crate", + kind: Module, + }, +]"# ); } #[test] fn completes_module_items_in_nested_modules() { - check_reference_completion( - "module_items_in_nested_modules", - r" - struct Foo; - mod m { - struct Bar; - fn quux() { <|> } - } - ", + assert_debug_snapshot_matches!( + do_reference_completion( + r" + struct Foo; + mod m { + struct Bar; + 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] fn completes_return_type() { - check_reference_completion( - "return_type", - r" - struct Foo; - fn x() -> <|> - ", - ) + assert_debug_snapshot_matches!( + do_reference_completion( + r" + struct Foo; + 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] fn dont_show_both_completions_for_shadowing() { - check_reference_completion( - "dont_show_both_completions_for_shadowing", - r" - fn foo() { - let bar = 92; - { - let bar = 62; - <|> + assert_debug_snapshot_matches!( + do_reference_completion( + r" + fn foo() { + let bar = 92; + { + 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] 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] fn completes_prelude() { - check_reference_completion( - "completes_prelude", - " - //- /main.rs - fn foo() { let x: <|> } + assert_debug_snapshot_matches!( + do_reference_completion( + " + //- /main.rs + fn foo() { let x: <|> } - //- /std/lib.rs - #[prelude_import] - use prelude::*; + //- /std/lib.rs + #[prelude_import] + use prelude::*; - mod prelude { - struct Option; - } - ", + mod prelude { + 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, + }, +]"# ); } } diff --git a/crates/ra_ide_api/src/completion/snapshots/completion_item__bindings_from_for.snap b/crates/ra_ide_api/src/completion/snapshots/completion_item__bindings_from_for.snap deleted file mode 100644 index e9b717a45..000000000 --- a/crates/ra_ide_api/src/completion/snapshots/completion_item__bindings_from_for.snap +++ /dev/null @@ -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, - }, -] diff --git a/crates/ra_ide_api/src/completion/snapshots/completion_item__bindings_from_if_let.snap b/crates/ra_ide_api/src/completion/snapshots/completion_item__bindings_from_if_let.snap deleted file mode 100644 index f94477b43..000000000 --- a/crates/ra_ide_api/src/completion/snapshots/completion_item__bindings_from_if_let.snap +++ /dev/null @@ -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()", - }, -] diff --git a/crates/ra_ide_api/src/completion/snapshots/completion_item__bindings_from_let.snap b/crates/ra_ide_api/src/completion/snapshots/completion_item__bindings_from_let.snap deleted file mode 100644 index 590e2a820..000000000 --- a/crates/ra_ide_api/src/completion/snapshots/completion_item__bindings_from_let.snap +++ /dev/null @@ -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", - }, -] diff --git a/crates/ra_ide_api/src/completion/snapshots/completion_item__completes_prelude.snap b/crates/ra_ide_api/src/completion/snapshots/completion_item__completes_prelude.snap deleted file mode 100644 index b339c6c5f..000000000 --- a/crates/ra_ide_api/src/completion/snapshots/completion_item__completes_prelude.snap +++ /dev/null @@ -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, - }, -] diff --git a/crates/ra_ide_api/src/completion/snapshots/completion_item__dont_show_both_completions_for_shadowing.snap b/crates/ra_ide_api/src/completion/snapshots/completion_item__dont_show_both_completions_for_shadowing.snap deleted file mode 100644 index 158a2e5b9..000000000 --- a/crates/ra_ide_api/src/completion/snapshots/completion_item__dont_show_both_completions_for_shadowing.snap +++ /dev/null @@ -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()", - }, -] diff --git a/crates/ra_ide_api/src/completion/snapshots/completion_item__extern_prelude.snap b/crates/ra_ide_api/src/completion/snapshots/completion_item__extern_prelude.snap deleted file mode 100644 index b9449a76c..000000000 --- a/crates/ra_ide_api/src/completion/snapshots/completion_item__extern_prelude.snap +++ /dev/null @@ -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, - }, -] diff --git a/crates/ra_ide_api/src/completion/snapshots/completion_item__generic_params.snap b/crates/ra_ide_api/src/completion/snapshots/completion_item__generic_params.snap deleted file mode 100644 index eb1a4151a..000000000 --- a/crates/ra_ide_api/src/completion/snapshots/completion_item__generic_params.snap +++ /dev/null @@ -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()", - }, -] diff --git a/crates/ra_ide_api/src/completion/snapshots/completion_item__generic_params_in_struct.snap b/crates/ra_ide_api/src/completion/snapshots/completion_item__generic_params_in_struct.snap deleted file mode 100644 index 52f08267f..000000000 --- a/crates/ra_ide_api/src/completion/snapshots/completion_item__generic_params_in_struct.snap +++ /dev/null @@ -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, - }, -] diff --git a/crates/ra_ide_api/src/completion/snapshots/completion_item__module_items.snap b/crates/ra_ide_api/src/completion/snapshots/completion_item__module_items.snap deleted file mode 100644 index cee4898c3..000000000 --- a/crates/ra_ide_api/src/completion/snapshots/completion_item__module_items.snap +++ /dev/null @@ -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()", - }, -] diff --git a/crates/ra_ide_api/src/completion/snapshots/completion_item__module_items_in_nested_modules.snap b/crates/ra_ide_api/src/completion/snapshots/completion_item__module_items_in_nested_modules.snap deleted file mode 100644 index ce18e5bb7..000000000 --- a/crates/ra_ide_api/src/completion/snapshots/completion_item__module_items_in_nested_modules.snap +++ /dev/null @@ -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()", - }, -] diff --git a/crates/ra_ide_api/src/completion/snapshots/completion_item__return_type.snap b/crates/ra_ide_api/src/completion/snapshots/completion_item__return_type.snap deleted file mode 100644 index 16dd18431..000000000 --- a/crates/ra_ide_api/src/completion/snapshots/completion_item__return_type.snap +++ /dev/null @@ -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()", - }, -] diff --git a/crates/ra_ide_api/src/completion/snapshots/completion_item__self_in_methods.snap b/crates/ra_ide_api/src/completion/snapshots/completion_item__self_in_methods.snap deleted file mode 100644 index b7bcbe864..000000000 --- a/crates/ra_ide_api/src/completion/snapshots/completion_item__self_in_methods.snap +++ /dev/null @@ -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}", - }, -] -- cgit v1.2.3