@@ -7,11 +7,9 @@ use pulldown_cmark_to_cmark::{cmark_with_options, Options as CmarkOptions};
7
7
use pulldown_cmark:: { CowStr , Event , LinkType , Options , Parser , Tag } ;
8
8
use url:: Url ;
9
9
10
- use ide_db:: { defs:: Definition , RootDatabase } ;
11
-
12
10
use hir:: {
13
11
db:: { DefDatabase , HirDatabase } ,
14
- Adt , AsName , AssocItem , Crate , Field , HasAttrs , ItemInNs , MethodOwner , ModuleDef , AssocItemContainer , AsAssocItem
12
+ Adt , AsName , AssocItem , Crate , Field , HasAttrs , ItemInNs , ModuleDef , AssocItemContainer , AsAssocItem
15
13
} ;
16
14
use ide_db:: {
17
15
defs:: { classify_name, classify_name_ref, Definition } ,
@@ -95,12 +93,6 @@ pub fn remove_links(markdown: &str) -> String {
95
93
out
96
94
}
97
95
98
- pub fn get_doc_link < T : Resolvable + Clone > ( db : & dyn HirDatabase , definition : & T ) -> Option < String > {
99
- let module_def = definition. clone ( ) . try_into_module_def ( ) ?;
100
-
101
- get_doc_link_impl ( db, & module_def)
102
- }
103
-
104
96
// FIXME:
105
97
// BUG: For Option::Some
106
98
// Returns https://doc.rust-lang.org/nightly/core/prelude/v1/enum.Option.html#variant.Some
@@ -129,8 +121,8 @@ fn get_doc_link(db: &RootDatabase, definition: Definition) -> Option<String> {
129
121
let module = definition. module ( db) ?;
130
122
let krate = module. krate ( ) ;
131
123
let import_map = db. import_map ( krate. into ( ) ) ;
132
- let base = once ( krate. display_name ( db) ?)
133
- . chain ( import_map. path_of ( ns) ?. segments . iter ( ) . map ( |name| format ! ( "{}" , name) ) )
124
+ let base = once ( krate. declaration_name ( db) ?. to_string ( ) )
125
+ . chain ( import_map. path_of ( ns) ?. segments . iter ( ) . map ( |name| name. to_string ( ) ) )
134
126
. join ( "/" ) ;
135
127
136
128
let filename = get_symbol_filename ( db, & target_def) ;
@@ -433,10 +425,10 @@ fn pick_best(tokens: TokenAtOffset<SyntaxToken>) -> Option<SyntaxToken> {
433
425
mod tests {
434
426
use expect_test:: { expect, Expect } ;
435
427
436
- use crate :: mock_analysis :: analysis_and_position ;
428
+ use crate :: fixture ;
437
429
438
430
fn check ( ra_fixture : & str , expect : Expect ) {
439
- let ( analysis, position) = analysis_and_position ( ra_fixture) ;
431
+ let ( analysis, position) = fixture :: position ( ra_fixture) ;
440
432
let url = analysis. external_docs ( position) . unwrap ( ) . expect ( "could not find url for symbol" ) ;
441
433
442
434
expect. assert_eq ( & url)
0 commit comments