aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sdp/abstraction_summary.d
blob: 9532fc727cff0502450adb49f0691a70315a7960 (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
module sdp.abstraction_summary;
template SiSUabstractionSummary() {
  auto SiSUabstractionSummary(S,T)(
    auto return ref const S  doc_abstraction,
    auto return ref T        doc_matters,
  ) {
    import
      sdp.ao_defaults,
      sdp.ao_rgx;
    import
      std.array,
      std.exception,
      std.stdio,
      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; doc_abstraction[k]) {
          if (obj.use != "empty") {
            if (!empty(obj.obj_cite_number)) {
              check["last_obj_cite_number"] = obj.obj_cite_number;
            }
          }
        }
      }
      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;
      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 arr:      ",
        to!int(doc_abstraction["toc_seg"].length),
        "length doc_abstraction arr: ",
        to!int(doc_abstraction["body"].length),
        "last obj_cite_number:  ",
        to!int(check["last_obj_cite_number"]),
        "length endnotes:       ",
        (doc_abstraction["endnotes"].length > 1)
        ? (to!int(doc_abstraction["endnotes"].length))
        : 0,
        "length glossary:       ",
        (doc_abstraction["glossary"].length > 1)
        ? (to!int(doc_abstraction["glossary"].length))
        : 0,
        "length biblio:         ",
        (doc_abstraction["bibliography"].length > 1)
        ? (to!int(doc_abstraction["bibliography"].length))
        : 0,
        "length bookindex:      ",
        (doc_abstraction["bookindex_seg"].length > 1)
        ? (to!int(doc_abstraction["bookindex_seg"].length))
        : 0,
        "length blurb:          ",
        (doc_abstraction["blurb"].length > 1)
        ? (to!int(doc_abstraction["blurb"].length))
        : 0,
        __FILE__,
        __LINE__,
        markup.repeat_character_by_number_provided("-", min_repeat_number),
      );
    }
  }
}