From 316795e074dff8f627f8c70c85d236420ecfb3a6 Mon Sep 17 00:00:00 2001 From: Kirill Bulatov Date: Tue, 24 Dec 2019 02:19:09 +0200 Subject: Initial auto import action implementation --- crates/ra_assists/src/doc_tests.rs | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'crates/ra_assists/src/doc_tests.rs') diff --git a/crates/ra_assists/src/doc_tests.rs b/crates/ra_assists/src/doc_tests.rs index 5dc1ee233..65d51428b 100644 --- a/crates/ra_assists/src/doc_tests.rs +++ b/crates/ra_assists/src/doc_tests.rs @@ -11,6 +11,10 @@ use test_utils::{assert_eq_text, extract_range_or_offset}; use crate::test_db::TestDB; fn check(assist_id: &str, before: &str, after: &str) { + // FIXME we cannot get the imports search functionality here yet, but still need to generate a test and a doc for an assist + if assist_id == "auto_import" { + return; + } let (selection, before) = extract_range_or_offset(before); let (db, file_id) = TestDB::with_single_file(&before); let frange = FileRange { file_id, range: selection.into() }; -- cgit v1.2.3 From 2c922ef54958a82ce745e6db6834062f97f21bed Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Thu, 6 Feb 2020 16:53:42 +0100 Subject: Start switching assists to a root database --- crates/ra_assists/src/doc_tests.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'crates/ra_assists/src/doc_tests.rs') diff --git a/crates/ra_assists/src/doc_tests.rs b/crates/ra_assists/src/doc_tests.rs index 65d51428b..370b64225 100644 --- a/crates/ra_assists/src/doc_tests.rs +++ b/crates/ra_assists/src/doc_tests.rs @@ -8,7 +8,7 @@ mod generated; use ra_db::{fixture::WithFixture, FileRange}; use test_utils::{assert_eq_text, extract_range_or_offset}; -use crate::test_db::TestDB; +use ra_ide_db::RootDatabase; fn check(assist_id: &str, before: &str, after: &str) { // FIXME we cannot get the imports search functionality here yet, but still need to generate a test and a doc for an assist @@ -16,7 +16,7 @@ fn check(assist_id: &str, before: &str, after: &str) { return; } let (selection, before) = extract_range_or_offset(before); - let (db, file_id) = TestDB::with_single_file(&before); + let (db, file_id) = RootDatabase::with_single_file(&before); let frange = FileRange { file_id, range: selection.into() }; let assist = crate::assists(&db, frange) -- cgit v1.2.3 From 755077e3720bd97e1e506bf8fbe0a2534389f282 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Thu, 6 Feb 2020 18:10:25 +0100 Subject: Doctest autoimport --- crates/ra_assists/src/doc_tests.rs | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'crates/ra_assists/src/doc_tests.rs') diff --git a/crates/ra_assists/src/doc_tests.rs b/crates/ra_assists/src/doc_tests.rs index 370b64225..56020028c 100644 --- a/crates/ra_assists/src/doc_tests.rs +++ b/crates/ra_assists/src/doc_tests.rs @@ -5,18 +5,12 @@ mod generated; -use ra_db::{fixture::WithFixture, FileRange}; +use ra_db::FileRange; use test_utils::{assert_eq_text, extract_range_or_offset}; -use ra_ide_db::RootDatabase; - fn check(assist_id: &str, before: &str, after: &str) { - // FIXME we cannot get the imports search functionality here yet, but still need to generate a test and a doc for an assist - if assist_id == "auto_import" { - return; - } let (selection, before) = extract_range_or_offset(before); - let (db, file_id) = RootDatabase::with_single_file(&before); + let (db, file_id) = crate::helpers::with_single_file(&before); let frange = FileRange { file_id, range: selection.into() }; let assist = crate::assists(&db, frange) -- cgit v1.2.3 From 7e73b7a5f8d594a85627786a13e76d9d70163770 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Thu, 6 Feb 2020 18:46:11 +0100 Subject: Minor rename --- crates/ra_assists/src/doc_tests.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'crates/ra_assists/src/doc_tests.rs') diff --git a/crates/ra_assists/src/doc_tests.rs b/crates/ra_assists/src/doc_tests.rs index 56020028c..ae0e5605c 100644 --- a/crates/ra_assists/src/doc_tests.rs +++ b/crates/ra_assists/src/doc_tests.rs @@ -8,19 +8,21 @@ mod generated; use ra_db::FileRange; use test_utils::{assert_eq_text, extract_range_or_offset}; +use crate::resolved_assists; + fn check(assist_id: &str, before: &str, after: &str) { let (selection, before) = extract_range_or_offset(before); let (db, file_id) = crate::helpers::with_single_file(&before); let frange = FileRange { file_id, range: selection.into() }; - let assist = crate::assists(&db, frange) + let assist = resolved_assists(&db, frange) .into_iter() .find(|assist| assist.label.id.0 == assist_id) .unwrap_or_else(|| { panic!( "\n\nAssist is not applicable: {}\nAvailable assists: {}", assist_id, - crate::assists(&db, frange) + resolved_assists(&db, frange) .into_iter() .map(|assist| assist.label.id.0) .collect::>() -- cgit v1.2.3 From 9769c5140c9c406a4cc880e698593a6c4bcc6826 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sun, 9 Feb 2020 15:32:53 +0100 Subject: Simplify Assists interface Instead of building a physical tree structure, just "tag" related assists with the same group --- crates/ra_assists/src/doc_tests.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'crates/ra_assists/src/doc_tests.rs') diff --git a/crates/ra_assists/src/doc_tests.rs b/crates/ra_assists/src/doc_tests.rs index ae0e5605c..c0f9bc1fb 100644 --- a/crates/ra_assists/src/doc_tests.rs +++ b/crates/ra_assists/src/doc_tests.rs @@ -30,6 +30,6 @@ fn check(assist_id: &str, before: &str, after: &str) { ) }); - let actual = assist.get_first_action().edit.apply(&before); + let actual = assist.action.edit.apply(&before); assert_eq_text!(after, &actual); } -- cgit v1.2.3