3 use crate::HirDatabase;
5 #[derive(Debug, Clone)]
6 pub struct Documentation(String);
9 pub fn new(s: &str) -> Self {
13 pub fn contents(&self) -> &str {
18 impl Into<String> for Documentation {
19 fn into(self) -> String {
20 self.contents().into()
25 fn docs(&self, db: &impl HirDatabase) -> Option<Documentation>;
28 pub(crate) fn docs_from_ast(node: &impl ast::DocCommentsOwner) -> Option<Documentation> {
29 let comments = node.doc_comment_text();
30 if comments.is_empty() {
33 Some(Documentation::new(&comments))