diff options
Diffstat (limited to 'crates/ra_analysis/src')
-rw-r--r-- | crates/ra_analysis/src/imp.rs | 11 | ||||
-rw-r--r-- | crates/ra_analysis/src/lib.rs | 5 |
2 files changed, 15 insertions, 1 deletions
diff --git a/crates/ra_analysis/src/imp.rs b/crates/ra_analysis/src/imp.rs index e9af98474..07357fc84 100644 --- a/crates/ra_analysis/src/imp.rs +++ b/crates/ra_analysis/src/imp.rs | |||
@@ -323,6 +323,17 @@ impl AnalysisImpl { | |||
323 | 323 | ||
324 | Ok(symbol.docs(&file)) | 324 | Ok(symbol.docs(&file)) |
325 | } | 325 | } |
326 | pub fn doc_text_for(&self, file_id: FileId, symbol: FileSymbol) -> Cancelable<Option<String>> { | ||
327 | let file = self.db.source_file(file_id); | ||
328 | let result = match (symbol.description(&file), symbol.docs(&file)) { | ||
329 | (Some(desc), Some(docs)) => Some("```rust\n".to_string() + &*desc + "\n```\n\n" + &*docs), | ||
330 | (Some(desc), None) => Some("```rust\n".to_string() + &*desc + "\n```"), | ||
331 | (None, Some(docs)) => Some(docs), | ||
332 | _ => None, | ||
333 | }; | ||
334 | |||
335 | Ok(result) | ||
336 | } | ||
326 | 337 | ||
327 | pub fn diagnostics(&self, file_id: FileId) -> Cancelable<Vec<Diagnostic>> { | 338 | pub fn diagnostics(&self, file_id: FileId) -> Cancelable<Vec<Diagnostic>> { |
328 | let syntax = self.db.source_file(file_id); | 339 | let syntax = self.db.source_file(file_id); |
diff --git a/crates/ra_analysis/src/lib.rs b/crates/ra_analysis/src/lib.rs index 4b8b10816..d33f3e4ca 100644 --- a/crates/ra_analysis/src/lib.rs +++ b/crates/ra_analysis/src/lib.rs | |||
@@ -236,7 +236,7 @@ impl Analysis { | |||
236 | pub fn approximately_resolve_symbol( | 236 | pub fn approximately_resolve_symbol( |
237 | &self, | 237 | &self, |
238 | position: FilePosition, | 238 | position: FilePosition, |
239 | ) -> Cancelable<Vec<(FileId, FileSymbol)>> { | 239 | ) -> Cancelable<Option<(TextRange, Vec<(FileId, FileSymbol)>)>> { |
240 | self.imp.approximately_resolve_symbol(position) | 240 | self.imp.approximately_resolve_symbol(position) |
241 | } | 241 | } |
242 | pub fn find_all_refs(&self, position: FilePosition) -> Cancelable<Vec<(FileId, TextRange)>> { | 242 | pub fn find_all_refs(&self, position: FilePosition) -> Cancelable<Vec<(FileId, TextRange)>> { |
@@ -249,6 +249,9 @@ impl Analysis { | |||
249 | ) -> Cancelable<Option<String>> { | 249 | ) -> Cancelable<Option<String>> { |
250 | self.imp.doc_comment_for(file_id, symbol) | 250 | self.imp.doc_comment_for(file_id, symbol) |
251 | } | 251 | } |
252 | pub fn doc_text_for(&self, file_id: FileId, symbol: FileSymbol) -> Cancelable<Option<String>> { | ||
253 | self.imp.doc_text_for(file_id, symbol) | ||
254 | } | ||
252 | pub fn parent_module(&self, position: FilePosition) -> Cancelable<Vec<(FileId, FileSymbol)>> { | 255 | pub fn parent_module(&self, position: FilePosition) -> Cancelable<Vec<(FileId, FileSymbol)>> { |
253 | self.imp.parent_module(position) | 256 | self.imp.parent_module(position) |
254 | } | 257 | } |