aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sdp/meta/metadoc_from_src.d
diff options
context:
space:
mode:
authorRalph Amissah <ralph@amissah.com>2017-11-23 16:09:14 -0500
committerRalph Amissah <ralph@amissah.com>2019-04-10 15:14:14 -0400
commit916e227028ab19e58a4ae1e5ebb1fa38691633bd (patch)
tree3b0134a4e5fd7dd7f872be87559ee7d41c0c930c /src/sdp/meta/metadoc_from_src.d
parentsdp, select language source to process (diff)
0.20.1 struct for opt_actions
Diffstat (limited to 'src/sdp/meta/metadoc_from_src.d')
-rw-r--r--src/sdp/meta/metadoc_from_src.d175
1 files changed, 86 insertions, 89 deletions
diff --git a/src/sdp/meta/metadoc_from_src.d b/src/sdp/meta/metadoc_from_src.d
index 24c4699..917b66f 100644
--- a/src/sdp/meta/metadoc_from_src.d
+++ b/src/sdp/meta/metadoc_from_src.d
@@ -244,7 +244,6 @@ template SiSUdocAbstraction() {
static auto rgx = Rgx();
debug(asserts) {
static assert(is(typeof(markup_sourcefile_content) == char[][]));
- static assert(is(typeof(opt_action) == bool[string]));
}
/+ ↓ abstraction init +/
scope(success) {
@@ -410,7 +409,7 @@ template SiSUdocAbstraction() {
obj_type_status["glossary_section"] = State.off;
obj_type_status["biblio_section"] = State.on;
obj_type_status["blurb_section"] = State.off;
- if (opt_action["backmatter"] && opt_action["section_biblio"]) {
+ if (opt_action.backmatter && opt_action.section_biblio) {
_biblio_block_(line, obj_type_status, bib_entry, biblio_entry_str_json, biblio_arr_json);
debug(bibliobuild) {
writeln("- ", biblio_entry_str_json);
@@ -431,7 +430,7 @@ template SiSUdocAbstraction() {
obj_type_status["glossary_section"] = State.on;
obj_type_status["biblio_section"] = State.off;
obj_type_status["blurb_section"] = State.off;
- if (opt_action["backmatter"] && opt_action["section_glossary"]) {
+ if (opt_action.backmatter && opt_action.section_glossary) {
indent=[
"hang_position" : 0,
"base_position" : 0,
@@ -513,7 +512,7 @@ template SiSUdocAbstraction() {
obj_type_status["glossary_section"] = State.off;
obj_type_status["biblio_section"] = State.off;
obj_type_status["blurb_section"] = State.on;
- if (opt_action["backmatter"] && opt_action["section_blurb"]) {
+ if (opt_action.backmatter && opt_action.section_blurb) {
indent=[
"hang_position" : 0,
"base_position" : 0,
@@ -563,7 +562,7 @@ template SiSUdocAbstraction() {
comp_obj_heading_.dom_collapsed = [ 1, 1, 1, 0, 0, 0, 0, 0];
the_blurb_section ~= comp_obj_heading_;
} else if (line.matchFirst(rgx.heading)
- && (opt_action["backmatter"] && opt_action["section_blurb"])) {
+ && (opt_action.backmatter && opt_action.section_blurb)) {
comp_obj_heading_ = comp_obj_heading_.init;
comp_obj_heading_.of_part = "backmatter";
comp_obj_heading_.of_section = "blurb";
@@ -1374,13 +1373,13 @@ template SiSUdocAbstraction() {
obj.obj_cite_number_type = OCNtype.ocn;
}
/+ dom structure (marked up & collapsed) +/
- if ((opt_action["html"])
- || (opt_action["html-scroll"])
- || (opt_action["html-seg"])
- || (opt_action["epub"])
- || (opt_action["sqlite-discrete"])
- || (opt_action["sqlite-update"])
- || (opt_action["postgresql"])) {
+ if ((opt_action.html)
+ || (opt_action.html_scroll)
+ || (opt_action.html_seg)
+ || (opt_action.epub)
+ || (opt_action.sqlite_discrete)
+ || (opt_action.sqlite_update)
+ || (opt_action.postgresql)) {
obj = obj_dom_structure_set_markup_tags(obj, dom_markedup, obj.heading_lev_markup);
obj = obj_dom_set_collapsed_tags(obj, dom_collapsed, obj.heading_lev_collapsed);
}
@@ -1401,13 +1400,13 @@ template SiSUdocAbstraction() {
}
}
/+ dom structure (marked up & collapsed) +/
- if ((opt_action["html"])
- || (opt_action["html-scroll"])
- || (opt_action["html-seg"])
- || (opt_action["epub"])
- || (opt_action["sqlite-discrete"])
- || (opt_action["sqlite-update"])
- || (opt_action["postgresql"])) {
+ if ((opt_action.html)
+ || (opt_action.html_scroll)
+ || (opt_action.html_seg)
+ || (opt_action.epub)
+ || (opt_action.sqlite_discrete)
+ || (opt_action.sqlite_update)
+ || (opt_action.postgresql)) {
obj = obj_dom_structure_set_markup_tags(obj, dom_markedup, obj.heading_lev_markup);
obj = obj_dom_set_collapsed_tags(obj, dom_collapsed, obj.heading_lev_collapsed);
}
@@ -1429,10 +1428,10 @@ template SiSUdocAbstraction() {
assert(obj.segment_anchor_tag == html_segnames[obj.ptr_html_segnames]);
}
}
- if ((opt_action["html"])
- || (opt_action["html-scroll"])
- || (opt_action["html-seg"])
- || (opt_action["epub"])) {
+ if ((opt_action.html)
+ || (opt_action.html_scroll)
+ || (opt_action.html_seg)
+ || (opt_action.epub)) {
obj = obj_dom_structure_set_markup_tags(obj, dom_markedup, obj.heading_lev_markup);
obj = obj_dom_set_collapsed_tags(obj, dom_collapsed, obj.heading_lev_collapsed);
}
@@ -1459,13 +1458,13 @@ template SiSUdocAbstraction() {
}
}
/+ dom structure (marked up & collapsed) +/
- if ((opt_action["html"])
- || (opt_action["html-scroll"])
- || (opt_action["html-seg"])
- || (opt_action["epub"])
- || (opt_action["sqlite-discrete"])
- || (opt_action["sqlite-update"])
- || (opt_action["postgresql"])) {
+ if ((opt_action.html)
+ || (opt_action.html_scroll)
+ || (opt_action.html_seg)
+ || (opt_action.epub)
+ || (opt_action.sqlite_discrete)
+ || (opt_action.sqlite_update)
+ || (opt_action.postgresql)) {
obj = obj_dom_structure_set_markup_tags(obj, dom_markedup, obj.heading_lev_markup);
obj = obj_dom_set_collapsed_tags(obj, dom_collapsed, obj.heading_lev_collapsed);
}
@@ -1501,13 +1500,13 @@ template SiSUdocAbstraction() {
}
}
/+ dom structure (marked up & collapsed) +/
- if ((opt_action["html"])
- || (opt_action["html-scroll"])
- || (opt_action["html-seg"])
- || (opt_action["epub"])
- || (opt_action["sqlite-discrete"])
- || (opt_action["sqlite-update"])
- || (opt_action["postgresql"])) {
+ if ((opt_action.html)
+ || (opt_action.html_scroll)
+ || (opt_action.html_seg)
+ || (opt_action.epub)
+ || (opt_action.sqlite_discrete)
+ || (opt_action.sqlite_update)
+ || (opt_action.postgresql)) {
obj = obj_dom_structure_set_markup_tags(obj, dom_markedup, obj.heading_lev_markup);
obj = obj_dom_set_collapsed_tags(obj, dom_collapsed, obj.heading_lev_collapsed);
}
@@ -1536,13 +1535,13 @@ template SiSUdocAbstraction() {
}
}
/+ dom structure (marked up & collapsed) +/
- if ((opt_action["html"])
- || (opt_action["html-scroll"])
- || (opt_action["html-seg"])
- || (opt_action["epub"])
- || (opt_action["sqlite-discrete"])
- || (opt_action["sqlite-update"])
- || (opt_action["postgresql"])) {
+ if ((opt_action.html)
+ || (opt_action.html_scroll)
+ || (opt_action.html_seg)
+ || (opt_action.epub)
+ || (opt_action.sqlite_discrete)
+ || (opt_action.sqlite_update)
+ || (opt_action.postgresql)) {
obj = obj_dom_structure_set_markup_tags(obj, dom_markedup, obj.heading_lev_markup);
obj = obj_dom_set_collapsed_tags(obj, dom_collapsed, obj.heading_lev_collapsed);
}
@@ -1575,13 +1574,13 @@ template SiSUdocAbstraction() {
}
}
/+ dom structure (marked up & collapsed) +/
- if ((opt_action["html"])
- || (opt_action["html-scroll"])
- || (opt_action["html-seg"])
- || (opt_action["epub"])
- || (opt_action["sqlite-discrete"])
- || (opt_action["sqlite-update"])
- || (opt_action["postgresql"])) {
+ if ((opt_action.html)
+ || (opt_action.html_scroll)
+ || (opt_action.html_seg)
+ || (opt_action.epub)
+ || (opt_action.sqlite_discrete)
+ || (opt_action.sqlite_update)
+ || (opt_action.postgresql)) {
obj = obj_dom_structure_set_markup_tags(obj, dom_markedup, obj.heading_lev_markup);
obj = obj_dom_set_collapsed_tags(obj, dom_collapsed, obj.heading_lev_collapsed);
}
@@ -1619,13 +1618,13 @@ template SiSUdocAbstraction() {
}
}
/+ dom structure (marked up & collapsed) +/
- if ((opt_action["html"])
- || (opt_action["html-scroll"])
- || (opt_action["html-seg"])
- || (opt_action["epub"])
- || (opt_action["sqlite-discrete"])
- || (opt_action["sqlite-update"])
- || (opt_action["postgresql"])) {
+ if ((opt_action.html)
+ || (opt_action.html_scroll)
+ || (opt_action.html_seg)
+ || (opt_action.epub)
+ || (opt_action.sqlite_discrete)
+ || (opt_action.sqlite_update)
+ || (opt_action.postgresql)) {
obj = obj_dom_structure_set_markup_tags(obj, dom_markedup, obj.heading_lev_markup);
obj = obj_dom_set_collapsed_tags(obj, dom_collapsed, obj.heading_lev_collapsed);
}
@@ -1658,13 +1657,13 @@ template SiSUdocAbstraction() {
}
}
/+ dom structure (marked up & collapsed) +/
- if ((opt_action["html"])
- || (opt_action["html-scroll"])
- || (opt_action["html-seg"])
- || (opt_action["epub"])
- || (opt_action["sqlite-discrete"])
- || (opt_action["sqlite-update"])
- || (opt_action["postgresql"])) {
+ if ((opt_action.html)
+ || (opt_action.html_scroll)
+ || (opt_action.html_seg)
+ || (opt_action.epub)
+ || (opt_action.sqlite_discrete)
+ || (opt_action.sqlite_update)
+ || (opt_action.postgresql)) {
obj = obj_dom_structure_set_markup_tags(obj, dom_markedup, obj.heading_lev_markup);
obj = obj_dom_set_collapsed_tags(obj, dom_collapsed, obj.heading_lev_collapsed);
}
@@ -1701,13 +1700,13 @@ template SiSUdocAbstraction() {
}
}
/+ dom structure (marked up & collapsed) +/
- if ((opt_action["html"])
- || (opt_action["html-scroll"])
- || (opt_action["html-seg"])
- || (opt_action["epub"])
- || (opt_action["sqlite-discrete"])
- || (opt_action["sqlite-update"])
- || (opt_action["postgresql"])) {
+ if ((opt_action.html)
+ || (opt_action.html_scroll)
+ || (opt_action.html_seg)
+ || (opt_action.epub)
+ || (opt_action.sqlite_discrete)
+ || (opt_action.sqlite_update)
+ || (opt_action.postgresql)) {
obj = obj_dom_structure_set_markup_tags(obj, dom_markedup, obj.heading_lev_markup);
obj = obj_dom_set_collapsed_tags(obj, dom_collapsed, obj.heading_lev_collapsed);
}
@@ -1793,10 +1792,10 @@ template SiSUdocAbstraction() {
document_section_keys_sequenced["scroll"] ~= "blurb";
document_section_keys_sequenced["sql"] ~= "blurb";
}
- if ((opt_action["html"])
- || (opt_action["html-scroll"])
- || (opt_action["html-seg"])
- || (opt_action["epub"])) {
+ if ((opt_action.html)
+ || (opt_action.html_scroll)
+ || (opt_action.html_seg)
+ || (opt_action.epub)) {
document_section_keys_sequenced["seg"] ~= "tail";
document_section_keys_sequenced["scroll"] ~= "tail";
}
@@ -3012,7 +3011,6 @@ template SiSUdocAbstraction() {
static assert(is(typeof(book_idx_tmp) == string));
static assert(is(typeof(an_object) == string[string]));
static assert(is(typeof(obj_type_status) == int[string]));
- static assert(is(typeof(opt_action) == bool[string]));
}
static auto rgx = Rgx();
if (auto m = line.match(rgx.book_index)) {
@@ -3027,7 +3025,7 @@ template SiSUdocAbstraction() {
} else if (auto m = line.match(rgx.book_index_open)) {
/+ match open book_index +/
obj_type_status["book_index"] = State.on;
- if (opt_action["backmatter"] && opt_action["section_bookindex"]) {
+ if (opt_action.backmatter && opt_action.section_bookindex) {
book_idx_tmp = m.captures[1].to!string;
debug(bookindexmatch) { // book index
writefln(
@@ -3040,8 +3038,8 @@ template SiSUdocAbstraction() {
/+ book_index flag set +/
if (auto m = line.match(rgx.book_index_close)) {
obj_type_status["book_index"] = State.off;
- if (opt_action["backmatter"]
- && opt_action["section_bookindex"]) {
+ if (opt_action.backmatter
+ && opt_action.section_bookindex) {
an_object["bookindex_nugget"] = book_idx_tmp ~ m.captures[1].to!string;
debug(bookindexmatch) { // book index
writefln(
@@ -3052,8 +3050,8 @@ template SiSUdocAbstraction() {
}
book_idx_tmp = "";
} else {
- if (opt_action["backmatter"]
- && opt_action["section_bookindex"]) {
+ if (opt_action.backmatter
+ && opt_action.section_bookindex) {
book_idx_tmp ~= line;
}
}
@@ -4870,7 +4868,6 @@ template SiSUdocAbstraction() {
debug(asserts) {
static assert(is(typeof(bookindex_unordered_hashes) == string[][string][string]));
static assert(is(typeof(obj_cite_digits.on) == int));
- static assert(is(typeof(opt_action) == bool[string]));
}
mixin SiSUnode;
mixin InternalMarkup;
@@ -4887,8 +4884,8 @@ template SiSUdocAbstraction() {
auto node_para_int_ = node_metadata_para_int;
auto node_para_str_ = node_metadata_para_str;
if ((mainkeys.length > 0)
- && (opt_action["backmatter"]
- && opt_action["section_bookindex"])) {
+ && (opt_action.backmatter
+ && opt_action.section_bookindex)) {
string bi_tmp_seg, bi_tmp_scroll;
string[] bi_tmp_tags;
comp_obj_heading_ = comp_obj_heading_.init;
@@ -5104,9 +5101,9 @@ template SiSUdocAbstraction() {
}
return endnotes_;
}
- private auto endnote_objects(N)(
+ private auto endnote_objects(N,O)(
N obj_cite_digits,
- bool[string] opt_action,
+ O opt_action,
)
in {
}
@@ -5120,7 +5117,7 @@ template SiSUdocAbstraction() {
int[string] indent;
ObjGenericComposite comp_obj_heading_;
if ((endnotes_["notes"].length > 0)
- && (opt_action["backmatter"] && opt_action["section_endnotes"])) {
+ && (opt_action.backmatter && opt_action.section_endnotes)) {
comp_obj_heading_ = comp_obj_heading_.init;
comp_obj_heading_.of_part = "backmatter";
comp_obj_heading_.of_section = "endnotes";
@@ -5176,7 +5173,7 @@ template SiSUdocAbstraction() {
comp_obj_heading_.parent_lev_markup = 0;
the_endnotes_section ~= comp_obj_heading_;
}
- if (opt_action["backmatter"] && opt_action["section_endnotes"]) {
+ if (opt_action.backmatter && opt_action.section_endnotes) {
ObjGenericComposite comp_obj_endnote_;
comp_obj_endnote_ = comp_obj_endnote_.init;
comp_obj_endnote_.of_part = "backmatter";