Skip to content

Commit f448789

Browse files
[documentation] Refactor CommonMark formatting [#95]
1 parent eb5d7da commit f448789

File tree

1 file changed

+32
-24
lines changed

1 file changed

+32
-24
lines changed

sources/tools_documentation.rs

Lines changed: 32 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -527,26 +527,30 @@ pub fn dump_cmark (libraries : Libraries, stream : &mut dyn io::Write) -> (Outco
527527
}
528528
}
529529

530-
if category.has_definitions () {
531-
try_writeln! (stream);
532-
try_writeln! (stream, "Complete list of definitions:");
533-
for definition in category.definitions () {
534-
let definition_anchor = try! (generate_anchor (Some ("definition"), Some (library.identifier ()), Some (definition.identifier ())));
535-
try_writeln! (stream, " * [`{}`](#{});", definition.identifier (), definition_anchor);
536-
}
537-
}
530+
try! (write_description (category.description (), stream));
531+
try! (write_links (category.links (), stream));
538532

539533
if category.has_value_kinds () {
540534
try_writeln! (stream);
541-
try_writeln! (stream, "Complete list of types:");
535+
try_writeln! (stream);
536+
try_writeln! (stream, "#### Types");
537+
try_writeln! (stream);
542538
for value_kind in category.value_kinds () {
543539
let value_kind_anchor = try! (generate_anchor (Some ("value_kind"), Some (library.identifier ()), Some (value_kind.identifier ())));
544540
try_writeln! (stream, " * [`{}`](#{});", value_kind.identifier (), value_kind_anchor);
545541
}
546542
}
547543

548-
try! (write_description (category.description (), stream));
549-
try! (write_links (category.links (), stream));
544+
if category.has_definitions () {
545+
try_writeln! (stream);
546+
try_writeln! (stream);
547+
try_writeln! (stream, "#### Definitions");
548+
try_writeln! (stream);
549+
for definition in category.definitions () {
550+
let definition_anchor = try! (generate_anchor (Some ("definition"), Some (library.identifier ()), Some (definition.identifier ())));
551+
try_writeln! (stream, " * [`{}`](#{});", definition.identifier (), definition_anchor);
552+
}
553+
}
550554

551555
try_writeln! (stream);
552556
try_writeln! (stream, "Goto: [library](#{}), [categories](#{}), [types](#{}), [definitions](#{}).", &library_anchor, &categories_anchor, &value_kinds_anchor, &definitions_anchor);
@@ -646,18 +650,20 @@ pub fn dump_cmark (libraries : Libraries, stream : &mut dyn io::Write) -> (Outco
646650
}
647651
}
648652

653+
try! (write_description (value_kind.description (), stream));
654+
try! (write_links (value_kind.links (), stream));
655+
649656
if value_kind.has_definitions () {
650657
try_writeln! (stream);
651-
try_writeln! (stream, "Referenced by the following definitions:");
658+
try_writeln! (stream);
659+
try_writeln! (stream, "#### Referent definitions");
660+
try_writeln! (stream);
652661
for definition in value_kind.definitions () {
653662
let definition_anchor = try! (generate_anchor (Some ("definition"), Some (library.identifier ()), Some (definition.identifier ())));
654663
try_writeln! (stream, " * [`{}`](#{});", definition.identifier (), definition_anchor);
655664
}
656665
}
657666

658-
try! (write_description (value_kind.description (), stream));
659-
try! (write_links (value_kind.links (), stream));
660-
661667
try_writeln! (stream);
662668
try_writeln! (stream, "Goto: [library](#{}), [categories](#{}), [types](#{}), [definitions](#{}).", &library_anchor, &categories_anchor, &value_kinds_anchor, &definitions_anchor);
663669
try_writeln! (stream);
@@ -721,15 +727,6 @@ pub fn dump_cmark (libraries : Libraries, stream : &mut dyn io::Write) -> (Outco
721727
}
722728
}
723729

724-
if definition.has_referenced_value_kinds () {
725-
try_writeln! (stream);
726-
try_writeln! (stream, "References the following types:");
727-
for value_kind in definition.referenced_value_kinds () {
728-
let value_kind_anchor = try! (generate_anchor (Some ("value_kind"), Some (library.identifier ()), Some (value_kind.identifier ())));
729-
try_writeln! (stream, " * [`{}`](#{});", value_kind.identifier (), value_kind_anchor);
730-
}
731-
}
732-
733730
try! (write_description (definition.description (), stream));
734731
try! (write_links (definition.links (), stream));
735732

@@ -817,6 +814,17 @@ pub fn dump_cmark (libraries : Libraries, stream : &mut dyn io::Write) -> (Outco
817814
}
818815
}
819816

817+
if definition.has_referenced_value_kinds () {
818+
try_writeln! (stream);
819+
try_writeln! (stream);
820+
try_writeln! (stream, "#### Referenced types");
821+
try_writeln! (stream);
822+
for value_kind in definition.referenced_value_kinds () {
823+
let value_kind_anchor = try! (generate_anchor (Some ("value_kind"), Some (library.identifier ()), Some (value_kind.identifier ())));
824+
try_writeln! (stream, " * [`{}`](#{});", value_kind.identifier (), value_kind_anchor);
825+
}
826+
}
827+
820828
try_writeln! (stream);
821829
try_writeln! (stream, "Goto: [library](#{}), [categories](#{}), [types](#{}), [definitions](#{}).", &library_anchor, &categories_anchor, &value_kinds_anchor, &definitions_anchor);
822830
try_writeln! (stream);

0 commit comments

Comments
 (0)