From 4e76e884bd74430223919f29d49d7ae9710b48cf Mon Sep 17 00:00:00 2001 From: Josh Mcguigan Date: Thu, 22 Oct 2020 20:43:07 -0700 Subject: correct hover for items with doc attribute with raw strings --- crates/ide/src/hover.rs | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'crates/ide/src') diff --git a/crates/ide/src/hover.rs b/crates/ide/src/hover.rs index 6466422c5..508e8af20 100644 --- a/crates/ide/src/hover.rs +++ b/crates/ide/src/hover.rs @@ -637,6 +637,33 @@ fn main() { } ); } + #[test] + fn hover_shows_fn_doc_attr_raw_string() { + check( + r##" +#[doc = r#"Raw string doc attr"#] +pub fn foo<|>(_: &Path) {} + +fn main() { } +"##, + expect![[r##" + *foo* + + ```rust + test + ``` + + ```rust + pub fn foo(_: &Path) + ``` + + --- + + Raw string doc attr + "##]], + ); + } + #[test] fn hover_shows_struct_field_info() { // Hovering over the field when instantiating -- cgit v1.2.3 From b6ea56ea091ad1dbd765831d8dfe79e4d3cdf004 Mon Sep 17 00:00:00 2001 From: Igor Aleksanov Date: Sat, 24 Oct 2020 11:07:10 +0300 Subject: Make call_info a part of ide_db --- crates/ide/src/call_hierarchy.rs | 2 +- crates/ide/src/lib.rs | 4 ++-- crates/ide/src/syntax_highlighting/injection.rs | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'crates/ide/src') diff --git a/crates/ide/src/call_hierarchy.rs b/crates/ide/src/call_hierarchy.rs index 9d6433fe0..a259d9849 100644 --- a/crates/ide/src/call_hierarchy.rs +++ b/crates/ide/src/call_hierarchy.rs @@ -2,8 +2,8 @@ use indexmap::IndexMap; -use call_info::FnCallNode; use hir::Semantics; +use ide_db::call_info::FnCallNode; use ide_db::RootDatabase; use syntax::{ast, match_ast, AstNode, TextRange}; diff --git a/crates/ide/src/lib.rs b/crates/ide/src/lib.rs index cecfae4c7..d84b970d4 100644 --- a/crates/ide/src/lib.rs +++ b/crates/ide/src/lib.rs @@ -80,10 +80,10 @@ pub use crate::{ Highlight, HighlightModifier, HighlightModifiers, HighlightTag, HighlightedRange, }, }; -pub use call_info::CallInfo; pub use completion::{ CompletionConfig, CompletionItem, CompletionItemKind, CompletionScore, InsertTextFormat, }; +pub use ide_db::call_info::CallInfo; pub use assists::{ utils::MergeBehaviour, Assist, AssistConfig, AssistId, AssistKind, ResolvedAssist, @@ -396,7 +396,7 @@ impl Analysis { /// Computes parameter information for the given call expression. pub fn call_info(&self, position: FilePosition) -> Cancelable> { - self.with_db(|db| call_info::call_info(db, position)) + self.with_db(|db| ide_db::call_info::call_info(db, position)) } /// Computes call hierarchy candidates for the given file position. diff --git a/crates/ide/src/syntax_highlighting/injection.rs b/crates/ide/src/syntax_highlighting/injection.rs index acd91b26c..59a74bc02 100644 --- a/crates/ide/src/syntax_highlighting/injection.rs +++ b/crates/ide/src/syntax_highlighting/injection.rs @@ -3,8 +3,8 @@ use std::{collections::BTreeMap, convert::TryFrom}; use ast::{HasQuotes, HasStringValue}; -use call_info::ActiveParameter; use hir::Semantics; +use ide_db::call_info::ActiveParameter; use itertools::Itertools; use syntax::{ast, AstToken, SyntaxNode, SyntaxToken, TextRange, TextSize}; -- cgit v1.2.3 From 19cce08662222f012a0f50ff73afd4fdd34ca683 Mon Sep 17 00:00:00 2001 From: Igor Aleksanov Date: Sat, 24 Oct 2020 11:39:57 +0300 Subject: Re-export base_db from ide_db --- crates/ide/src/call_hierarchy.rs | 2 +- crates/ide/src/diagnostics.rs | 2 +- crates/ide/src/diagnostics/field_shorthand.rs | 2 +- crates/ide/src/diagnostics/fixes.rs | 2 +- crates/ide/src/display/navigation_target.rs | 2 +- crates/ide/src/fixture.rs | 2 +- crates/ide/src/goto_definition.rs | 2 +- crates/ide/src/goto_implementation.rs | 2 +- crates/ide/src/goto_type_definition.rs | 2 +- crates/ide/src/hover.rs | 4 ++-- crates/ide/src/lib.rs | 8 ++++---- crates/ide/src/parent_module.rs | 2 +- crates/ide/src/prime_caches.rs | 2 +- crates/ide/src/references.rs | 2 +- crates/ide/src/references/rename.rs | 2 +- crates/ide/src/status.rs | 6 +++--- crates/ide/src/syntax_highlighting/html.rs | 2 +- crates/ide/src/syntax_tree.rs | 2 +- crates/ide/src/typing.rs | 2 +- crates/ide/src/typing/on_enter.rs | 2 +- 20 files changed, 26 insertions(+), 26 deletions(-) (limited to 'crates/ide/src') diff --git a/crates/ide/src/call_hierarchy.rs b/crates/ide/src/call_hierarchy.rs index a259d9849..8ad50a2ee 100644 --- a/crates/ide/src/call_hierarchy.rs +++ b/crates/ide/src/call_hierarchy.rs @@ -137,7 +137,7 @@ impl CallLocations { #[cfg(test)] mod tests { - use base_db::FilePosition; + use ide_db::base_db::FilePosition; use crate::fixture; diff --git a/crates/ide/src/diagnostics.rs b/crates/ide/src/diagnostics.rs index 232074c3d..d0ee58858 100644 --- a/crates/ide/src/diagnostics.rs +++ b/crates/ide/src/diagnostics.rs @@ -9,11 +9,11 @@ mod field_shorthand; use std::cell::RefCell; -use base_db::SourceDatabase; use hir::{ diagnostics::{Diagnostic as _, DiagnosticSinkBuilder}, Semantics, }; +use ide_db::base_db::SourceDatabase; use ide_db::RootDatabase; use itertools::Itertools; use rustc_hash::FxHashSet; diff --git a/crates/ide/src/diagnostics/field_shorthand.rs b/crates/ide/src/diagnostics/field_shorthand.rs index 54e9fce9e..f41bcd619 100644 --- a/crates/ide/src/diagnostics/field_shorthand.rs +++ b/crates/ide/src/diagnostics/field_shorthand.rs @@ -1,7 +1,7 @@ //! Suggests shortening `Foo { field: field }` to `Foo { field }` in both //! expressions and patterns. -use base_db::FileId; +use ide_db::base_db::FileId; use ide_db::source_change::SourceFileEdit; use syntax::{ast, match_ast, AstNode, SyntaxNode}; use text_edit::TextEdit; diff --git a/crates/ide/src/diagnostics/fixes.rs b/crates/ide/src/diagnostics/fixes.rs index 0c75e50b0..0c950003e 100644 --- a/crates/ide/src/diagnostics/fixes.rs +++ b/crates/ide/src/diagnostics/fixes.rs @@ -1,6 +1,5 @@ //! Provides a way to attach fixes to the diagnostics. //! The same module also has all curret custom fixes for the diagnostics implemented. -use base_db::FileId; use hir::{ db::AstDatabase, diagnostics::{ @@ -9,6 +8,7 @@ use hir::{ }, HasSource, HirDisplay, Semantics, VariantDef, }; +use ide_db::base_db::FileId; use ide_db::{ source_change::{FileSystemEdit, SourceFileEdit}, RootDatabase, diff --git a/crates/ide/src/display/navigation_target.rs b/crates/ide/src/display/navigation_target.rs index cf9d617dc..0c429a262 100644 --- a/crates/ide/src/display/navigation_target.rs +++ b/crates/ide/src/display/navigation_target.rs @@ -1,8 +1,8 @@ //! FIXME: write short doc here -use base_db::{FileId, SourceDatabase}; use either::Either; use hir::{original_range, AssocItem, FieldSource, HasSource, InFile, ModuleSource}; +use ide_db::base_db::{FileId, SourceDatabase}; use ide_db::{defs::Definition, RootDatabase}; use syntax::{ ast::{self, DocCommentsOwner, NameOwner}, diff --git a/crates/ide/src/fixture.rs b/crates/ide/src/fixture.rs index ed06689f0..eb57f9224 100644 --- a/crates/ide/src/fixture.rs +++ b/crates/ide/src/fixture.rs @@ -1,5 +1,5 @@ //! Utilities for creating `Analysis` instances for tests. -use base_db::fixture::ChangeFixture; +use ide_db::base_db::fixture::ChangeFixture; use test_utils::{extract_annotations, RangeOrOffset}; use crate::{Analysis, AnalysisHost, FileId, FilePosition, FileRange}; diff --git a/crates/ide/src/goto_definition.rs b/crates/ide/src/goto_definition.rs index a87e31019..15792f947 100644 --- a/crates/ide/src/goto_definition.rs +++ b/crates/ide/src/goto_definition.rs @@ -100,7 +100,7 @@ pub(crate) fn reference_definition( #[cfg(test)] mod tests { - use base_db::FileRange; + use ide_db::base_db::FileRange; use syntax::{TextRange, TextSize}; use crate::fixture; diff --git a/crates/ide/src/goto_implementation.rs b/crates/ide/src/goto_implementation.rs index 6c586bbd1..529004878 100644 --- a/crates/ide/src/goto_implementation.rs +++ b/crates/ide/src/goto_implementation.rs @@ -74,7 +74,7 @@ fn impls_for_trait( #[cfg(test)] mod tests { - use base_db::FileRange; + use ide_db::base_db::FileRange; use crate::fixture; diff --git a/crates/ide/src/goto_type_definition.rs b/crates/ide/src/goto_type_definition.rs index 6d0df04dd..aba6bf5dc 100644 --- a/crates/ide/src/goto_type_definition.rs +++ b/crates/ide/src/goto_type_definition.rs @@ -54,7 +54,7 @@ fn pick_best(tokens: TokenAtOffset) -> Option { #[cfg(test)] mod tests { - use base_db::FileRange; + use ide_db::base_db::FileRange; use crate::fixture; diff --git a/crates/ide/src/hover.rs b/crates/ide/src/hover.rs index 0332c7be0..94d895c5e 100644 --- a/crates/ide/src/hover.rs +++ b/crates/ide/src/hover.rs @@ -1,8 +1,8 @@ -use base_db::SourceDatabase; use hir::{ Adt, AsAssocItem, AssocItemContainer, Documentation, FieldSource, HasSource, HirDisplay, Module, ModuleDef, ModuleSource, Semantics, }; +use ide_db::base_db::SourceDatabase; use ide_db::{ defs::{Definition, NameClass, NameRefClass}, RootDatabase, @@ -385,8 +385,8 @@ fn pick_best(tokens: TokenAtOffset) -> Option { #[cfg(test)] mod tests { - use base_db::FileLoader; use expect_test::{expect, Expect}; + use ide_db::base_db::FileLoader; use crate::fixture; diff --git a/crates/ide/src/lib.rs b/crates/ide/src/lib.rs index d84b970d4..4bc733b70 100644 --- a/crates/ide/src/lib.rs +++ b/crates/ide/src/lib.rs @@ -48,11 +48,11 @@ mod doc_links; use std::sync::Arc; -use base_db::{ +use cfg::CfgOptions; +use ide_db::base_db::{ salsa::{self, ParallelDatabase}, CheckCanceled, Env, FileLoader, FileSet, SourceDatabase, VfsPath, }; -use cfg::CfgOptions; use ide_db::{ symbol_index::{self, FileSymbol}, LineIndexDatabase, @@ -88,11 +88,11 @@ pub use ide_db::call_info::CallInfo; pub use assists::{ utils::MergeBehaviour, Assist, AssistConfig, AssistId, AssistKind, ResolvedAssist, }; -pub use base_db::{ +pub use hir::{Documentation, Semantics}; +pub use ide_db::base_db::{ Canceled, Change, CrateGraph, CrateId, Edition, FileId, FilePosition, FileRange, SourceRoot, SourceRootId, }; -pub use hir::{Documentation, Semantics}; pub use ide_db::{ label::Label, line_index::{LineCol, LineIndex}, diff --git a/crates/ide/src/parent_module.rs b/crates/ide/src/parent_module.rs index ef94acfec..6cc3b2991 100644 --- a/crates/ide/src/parent_module.rs +++ b/crates/ide/src/parent_module.rs @@ -1,5 +1,5 @@ -use base_db::{CrateId, FileId, FilePosition}; use hir::Semantics; +use ide_db::base_db::{CrateId, FileId, FilePosition}; use ide_db::RootDatabase; use syntax::{ algo::find_node_at_offset, diff --git a/crates/ide/src/prime_caches.rs b/crates/ide/src/prime_caches.rs index 6944dbcd2..ea0acfaa0 100644 --- a/crates/ide/src/prime_caches.rs +++ b/crates/ide/src/prime_caches.rs @@ -3,8 +3,8 @@ //! request takes longer to compute. This modules implemented prepopulating of //! various caches, it's not really advanced at the moment. -use base_db::SourceDatabase; use hir::db::DefDatabase; +use ide_db::base_db::SourceDatabase; use crate::RootDatabase; diff --git a/crates/ide/src/references.rs b/crates/ide/src/references.rs index 67ec257a8..a517081d5 100644 --- a/crates/ide/src/references.rs +++ b/crates/ide/src/references.rs @@ -191,8 +191,8 @@ fn get_struct_def_name_for_struct_literal_search( #[cfg(test)] mod tests { - use base_db::FileId; use expect_test::{expect, Expect}; + use ide_db::base_db::FileId; use stdx::format_to; use crate::{fixture, SearchScope}; diff --git a/crates/ide/src/references/rename.rs b/crates/ide/src/references/rename.rs index 35aafc49d..26ac2371a 100644 --- a/crates/ide/src/references/rename.rs +++ b/crates/ide/src/references/rename.rs @@ -1,7 +1,7 @@ //! FIXME: write short doc here -use base_db::SourceDatabaseExt; use hir::{Module, ModuleDef, ModuleSource, Semantics}; +use ide_db::base_db::SourceDatabaseExt; use ide_db::{ defs::{Definition, NameClass, NameRefClass}, RootDatabase, diff --git a/crates/ide/src/status.rs b/crates/ide/src/status.rs index 0af84daa0..8e91c99d7 100644 --- a/crates/ide/src/status.rs +++ b/crates/ide/src/status.rs @@ -1,10 +1,10 @@ use std::{fmt, iter::FromIterator, sync::Arc}; -use base_db::{ +use hir::MacroFile; +use ide_db::base_db::{ salsa::debug::{DebugQueryTable, TableEntry}, CrateId, FileId, FileTextQuery, SourceDatabase, SourceRootId, }; -use hir::MacroFile; use ide_db::{ symbol_index::{LibrarySymbolsQuery, SymbolIndex}, RootDatabase, @@ -16,7 +16,7 @@ use stdx::format_to; use syntax::{ast, Parse, SyntaxNode}; fn syntax_tree_stats(db: &RootDatabase) -> SyntaxTreeStats { - base_db::ParseQuery.in_db(db).entries::() + ide_db::base_db::ParseQuery.in_db(db).entries::() } fn macro_syntax_tree_stats(db: &RootDatabase) -> SyntaxTreeStats { hir::db::ParseMacroQuery.in_db(db).entries::() diff --git a/crates/ide/src/syntax_highlighting/html.rs b/crates/ide/src/syntax_highlighting/html.rs index 57e2d2923..abcc5cccc 100644 --- a/crates/ide/src/syntax_highlighting/html.rs +++ b/crates/ide/src/syntax_highlighting/html.rs @@ -1,6 +1,6 @@ //! Renders a bit of code as HTML. -use base_db::SourceDatabase; +use ide_db::base_db::SourceDatabase; use oorandom::Rand32; use stdx::format_to; use syntax::{AstNode, TextRange, TextSize}; diff --git a/crates/ide/src/syntax_tree.rs b/crates/ide/src/syntax_tree.rs index 0eed2dbd7..7941610d6 100644 --- a/crates/ide/src/syntax_tree.rs +++ b/crates/ide/src/syntax_tree.rs @@ -1,4 +1,4 @@ -use base_db::{FileId, SourceDatabase}; +use ide_db::base_db::{FileId, SourceDatabase}; use ide_db::RootDatabase; use syntax::{ algo, AstNode, NodeOrToken, SourceFile, diff --git a/crates/ide/src/typing.rs b/crates/ide/src/typing.rs index 94b91f049..43458a3a2 100644 --- a/crates/ide/src/typing.rs +++ b/crates/ide/src/typing.rs @@ -15,7 +15,7 @@ mod on_enter; -use base_db::{FilePosition, SourceDatabase}; +use ide_db::base_db::{FilePosition, SourceDatabase}; use ide_db::{source_change::SourceFileEdit, RootDatabase}; use syntax::{ algo::find_node_at_offset, diff --git a/crates/ide/src/typing/on_enter.rs b/crates/ide/src/typing/on_enter.rs index 98adef1d6..f4ea30352 100644 --- a/crates/ide/src/typing/on_enter.rs +++ b/crates/ide/src/typing/on_enter.rs @@ -1,7 +1,7 @@ //! Handles the `Enter` key press. At the momently, this only continues //! comments, but should handle indent some time in the future as well. -use base_db::{FilePosition, SourceDatabase}; +use ide_db::base_db::{FilePosition, SourceDatabase}; use ide_db::RootDatabase; use syntax::{ ast::{self, AstToken}, -- cgit v1.2.3