aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sdp/abstraction_summary.d
blob: d39e0208b45f897ecead5bc69738d048ffdeeefa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
template SiSUabstractionSummary() {
  auto SiSUabstractionSummary(S,T)(
    auto ref const S         contents,
    auto ref T               doc_matters,
  ) {
    import
      ao_defaults,
      ao_rgx;
    import
      std.algorithm,
      std.array,
      std.container,
      std.exception,
      std.getopt,
      std.stdio,
      std.file,
      std.path,
      std.range,
      std.regex,
      std.string,
      std.traits,
      std.typecons,
      std.uni,
      std.utf,
      std.conv : to;
    mixin InternalMarkup;
    auto markup = InlineMarkup();
    if (doc_matters.opt_action_bool["verbose"]) {
      string[string] check = [
        "last_obj_cite_number" : "NA [debug \"checkdoc\" not run]",
      ];
      foreach (k; doc_matters.keys_seq_seg) {
        foreach (obj; contents[k]) {
          if (obj.use != "empty") {
            if (!empty(obj.obj_cite_number)) {
              check["last_obj_cite_number"] = obj.obj_cite_number;
            }
          }
        }
      }
      // auto char_repeat_number = doc_matters.source_filename.length;
      // char_repeat_number = (char_repeat_number > 33)
      auto min_repeat_number = 66;
      auto char_repeat_number = (doc_matters.dochead_meta["title"]["full"].length
        + doc_matters.dochead_meta["creator"]["author"].length + 4);
      char_repeat_number = (char_repeat_number > min_repeat_number)
      ? char_repeat_number
      : min_repeat_number;
      // writeln(char_repeat_number);
      writefln(
        "%s\n\"%s\", %s\n%s\n%s\n%s%10d\n%s%10d\n%s%10d\n%s%10d\n%s%10d\n%s%10d\n%s%10d\n%s%10d\n(%s: %s)\n%s",
        markup.repeat_character_by_number_provided("-", char_repeat_number),
        doc_matters.dochead_meta["title"]["full"],
        doc_matters.dochead_meta["creator"]["author"],
        doc_matters.source_filename,
        markup.repeat_character_by_number_provided("-", char_repeat_number),
        "length toc array:      ",
        to!int(contents["toc_seg"].length),
        "length contents array: ",
        to!int(contents["body"].length),
        "last obj_cite_number:  ",
        to!int(check["last_obj_cite_number"]),
        "length endnotes:       ",
        (contents["endnotes"].length > 1)
        ? (to!int(contents["endnotes"].length))
        : 0,
        "length glossary:       ",
        (contents["glossary"].length > 1)
        ? (to!int(contents["glossary"].length))
        : 0,
        "length biblio:         ",
        (contents["bibliography"].length > 1)
        ? (to!int(contents["bibliography"].length))
        : 0,
        "length bookindex:      ",
        (contents["bookindex_seg"].length > 1)
        ? (to!int(contents["bookindex_seg"].length))
        : 0,
        "length blurb:          ",
        (contents["blurb"].length > 1)
        ? (to!int(contents["blurb"].length))
        : 0,
        __FILE__,
        __LINE__,
        markup.repeat_character_by_number_provided("-", min_repeat_number),
      );
    }
  }
}