3 use crate::HirDatabase;
5 /// Holds documentation
6 #[derive(Debug, Clone)]
7 pub struct Documentation(String);
10 pub fn new(s: &str) -> Self {
14 pub fn contents(&self) -> &str {
19 impl Into<String> for Documentation {
20 fn into(self) -> String {
21 self.contents().into()
26 fn docs(&self, db: &impl HirDatabase) -> Option<Documentation>;
29 pub(crate) fn docs_from_ast(node: &impl ast::DocCommentsOwner) -> Option<Documentation> {
30 let comments = node.doc_comment_text();
31 if comments.is_empty() {
34 Some(Documentation::new(&comments))