diff options
Diffstat (limited to 'crates/ra_analysis/src/imp.rs')
-rw-r--r-- | crates/ra_analysis/src/imp.rs | 11 |
1 files changed, 11 insertions, 0 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); |