From e0b01f34bb994ca8959f3040dbacafc6c56e4778 Mon Sep 17 00:00:00 2001 From: rainy-me Date: Tue, 18 May 2021 08:11:07 +0900 Subject: Add pub mod option for UnlinkedFile --- .../ide/src/diagnostics/fixes/unresolved_module.rs | 66 +++++++++++----------- 1 file changed, 34 insertions(+), 32 deletions(-) (limited to 'crates/ide/src/diagnostics/fixes/unresolved_module.rs') diff --git a/crates/ide/src/diagnostics/fixes/unresolved_module.rs b/crates/ide/src/diagnostics/fixes/unresolved_module.rs index 81244b293..b3d0283bb 100644 --- a/crates/ide/src/diagnostics/fixes/unresolved_module.rs +++ b/crates/ide/src/diagnostics/fixes/unresolved_module.rs @@ -3,17 +3,17 @@ use ide_assists::{Assist, AssistResolveStrategy}; use ide_db::{base_db::AnchoredPathBuf, source_change::FileSystemEdit, RootDatabase}; use syntax::AstNode; -use crate::diagnostics::{fix, DiagnosticWithFix}; +use crate::diagnostics::{fix, DiagnosticWithFixes}; -impl DiagnosticWithFix for UnresolvedModule { - fn fix( +impl DiagnosticWithFixes for UnresolvedModule { + fn fixes( &self, sema: &Semantics, _resolve: &AssistResolveStrategy, - ) -> Option { + ) -> Option> { let root = sema.db.parse_or_expand(self.file)?; let unresolved_module = self.decl.to_node(&root); - Some(fix( + Some(vec![fix( "create_module", "Create module", FileSystemEdit::CreateFile { @@ -25,7 +25,7 @@ impl DiagnosticWithFix for UnresolvedModule { } .into(), unresolved_module.syntax().text_range(), - )) + )]) } } @@ -45,33 +45,35 @@ mod tests { message: "unresolved module", range: 0..8, severity: Error, - fix: Some( - Assist { - id: AssistId( - "create_module", - QuickFix, - ), - label: "Create module", - group: None, - target: 0..8, - source_change: Some( - SourceChange { - source_file_edits: {}, - file_system_edits: [ - CreateFile { - dst: AnchoredPathBuf { - anchor: FileId( - 0, - ), - path: "foo.rs", + fixes: Some( + [ + Assist { + id: AssistId( + "create_module", + QuickFix, + ), + label: "Create module", + group: None, + target: 0..8, + source_change: Some( + SourceChange { + source_file_edits: {}, + file_system_edits: [ + CreateFile { + dst: AnchoredPathBuf { + anchor: FileId( + 0, + ), + path: "foo.rs", + }, + initial_contents: "", }, - initial_contents: "", - }, - ], - is_snippet: false, - }, - ), - }, + ], + is_snippet: false, + }, + ), + }, + ], ), unused: false, code: Some( -- cgit v1.2.3