diff --git a/cli/doc/printer.rs b/cli/doc/printer.rs index d7a7549336..d24e659015 100644 --- a/cli/doc/printer.rs +++ b/cli/doc/printer.rs @@ -41,6 +41,7 @@ pub fn format_details(node: doc::DocNode) -> String { let maybe_extra = match node.kind { DocNodeKind::Class => Some(format_class_details(node)), + DocNodeKind::Enum => Some(format_enum_details(node)), DocNodeKind::Namespace => Some(format_namespace_details(node)), _ => None, }; @@ -412,6 +413,17 @@ fn format_class_details(node: doc::DocNode) -> String { details } +fn format_enum_details(node: doc::DocNode) -> String { + let mut details = String::new(); + let enum_def = node.enum_def.unwrap(); + for member in enum_def.members { + details + .push_str(&add_indent(format!("{}\n", colors::bold(member.name)), 1)); + } + details.push_str("\n"); + details +} + fn format_namespace_details(node: doc::DocNode) -> String { let mut ns = String::new(); diff --git a/cli/doc/tests.rs b/cli/doc/tests.rs index cfa87bf969..f3355a520c 100644 --- a/cli/doc/tests.rs +++ b/cli/doc/tests.rs @@ -884,6 +884,10 @@ export enum Hello { let actual = serde_json::to_value(entry).unwrap(); assert_eq!(actual, expected_json); + assert!(colors::strip_ansi_codes( + super::printer::format_details(entry.clone()).as_str() + ) + .contains("World")); assert!(colors::strip_ansi_codes( super::printer::format(entries.clone()).as_str() )