diff --git a/crates/aiken-project/src/docs.rs b/crates/aiken-project/src/docs.rs index f767fd39..e5c4ff57 100644 --- a/crates/aiken-project/src/docs.rs +++ b/crates/aiken-project/src/docs.rs @@ -553,6 +553,15 @@ struct DocTypeConstructor { impl DocTypeConstructor { fn from_record_constructor(constructor: &RecordConstructor>) -> Self { + let doc_args = constructor + .arguments + .iter() + .filter_map(|arg| match (arg.label.as_deref(), arg.doc.as_deref()) { + (Some(label), Some(doc)) => Some(format!("#### `.{label}`\n{doc}\n
\n",)), + _ => None, + }) + .join("\n"); + DocTypeConstructor { definition: format::Formatter::new() .docs_record_constructor(constructor) @@ -560,7 +569,7 @@ impl DocTypeConstructor { documentation: constructor .doc .as_deref() - .map(render_markdown) + .map(|doc| render_markdown(&format!("{doc}\n{doc_args}"))) .unwrap_or_default(), raw_documentation: constructor.doc.as_deref().unwrap_or_default().to_string(), } diff --git a/crates/aiken-project/templates/css/index.css b/crates/aiken-project/templates/css/index.css index e50ac524..347f89fb 100644 --- a/crates/aiken-project/templates/css/index.css +++ b/crates/aiken-project/templates/css/index.css @@ -510,10 +510,32 @@ body.drawer-open .label-closed { color: var(--color-background-accent); } +.constructor-item-docs hr { + color: var(--color-text-accent); +} + +.constructor-item-docs hr:last-child { + display: none; +} + .constructor-item-docs p { margin: 0; } +.constructor-item-docs h4 { + margin-bottom: 1rem; + display: inline-block; +} + +.constructor-item-docs h4 > code { + padding: 0.5rem; +} + +.constructor-item-docs h4 ~ p { + padding-left: 0.5rem; + display: inline-block; +} + .constructor-name { box-shadow: unset; margin: 0;