summaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
Diffstat (limited to 'cli')
-rw-r--r--cli/doc/printer.rs12
-rw-r--r--cli/doc/tests.rs4
2 files changed, 16 insertions, 0 deletions
diff --git a/cli/doc/printer.rs b/cli/doc/printer.rs
index d7a754933..d24e65901 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 cfa87bf96..f3355a520 100644
--- a/cli/doc/tests.rs
+++ b/cli/doc/tests.rs
@@ -885,6 +885,10 @@ export enum Hello {
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()
)
.contains("Some enum for good measure"));