aboutsummaryrefslogtreecommitdiffhomepage
path: root/org/meta_abstraction.org
diff options
context:
space:
mode:
Diffstat (limited to 'org/meta_abstraction.org')
-rw-r--r--org/meta_abstraction.org90
1 files changed, 66 insertions, 24 deletions
diff --git a/org/meta_abstraction.org b/org/meta_abstraction.org
index 8b8fe79..51b089c 100644
--- a/org/meta_abstraction.org
+++ b/org/meta_abstraction.org
@@ -613,7 +613,7 @@ scope(failure) {
line,
);
}
-line = (line).replaceAll(rgx.true_dollar, "$$$$");
+line = line.replaceAll(rgx.true_dollar, "$$$$");
/+ dollar represented as $$ needed to stop submatching on $
(substitutions using ${identifiers} must take into account (i.e. happen earlier))
+/
@@ -950,7 +950,7 @@ if there is a blurb section you need to:
/+ within block object: group +/
line = _doc_header_and_make_substitutions_(line, conf_make_meta);
line = _doc_header_and_make_substitutions_fontface_(line, conf_make_meta);
- line = (line)
+ line = line
.replaceAll(rgx.para_delimiter, mkup.br_paragraph ~ "$1");
_group_block_(line, an_object, obj_type_status);
continue;
@@ -965,11 +965,11 @@ if there is a blurb section you need to:
line = _doc_header_and_make_substitutions_(line, conf_make_meta);
line = _doc_header_and_make_substitutions_fontface_(line, conf_make_meta);
if (auto m = line.match(rgx.spaces_line_start)) {
- line = (line)
+ line = line
.replaceAll(rgx.spaces_line_start, (m.captures[1]).translate([ ' ' : mkup.nbsp ]));
}
if (auto m = line.match(rgx.spaces_multiple)) {
- line = (line)
+ line = line
.replaceAll(rgx.spaces_multiple, (m.captures[1]).translate([ ' ' : mkup.nbsp ]));
}
_block_block_(line, an_object, obj_type_status);
@@ -3517,7 +3517,7 @@ void _biblio_block_(
tmp ~= au.str;
}
}
- tmp = (tmp).replace(rgx.trailing_comma, "");
+ tmp = tmp.replace(rgx.trailing_comma, "");
j["author"].str = tmp;
goto default;
case "editor_raw": // editor_arr editor (fn sn)
@@ -3532,7 +3532,7 @@ void _biblio_block_(
tmp ~= ed.str;
}
}
- tmp = (tmp).replace(rgx.trailing_comma, "");
+ tmp = tmp.replace(rgx.trailing_comma, "");
j["editor"].str = tmp;
goto default;
case "fulltitle": // title & subtitle
@@ -4927,7 +4927,7 @@ auto font_faces_line(T)(
) {
static auto rgx = Rgx();
if (textline.match(rgx.inline_faces_line)) {
- textline = (textline)
+ textline = textline
.replaceFirst(rgx.inline_emphasis_line, ("*{$1}*$2"))
.replaceFirst(rgx.inline_bold_line, ("!{$1}!$2"))
.replaceFirst(rgx.inline_underscore_line, ("_{$1}_$2"))
@@ -5269,7 +5269,7 @@ static struct ObjInlineMarkupMunge {
if (obj_txt_in.match(rgx.smid_inline_url_generic)) {
/+ link: naked url: http://url +/
if (obj_txt_in.match(rgx.smid_inline_link_naked_url)) {
- obj_txt_in = (obj_txt_in).replaceAll(
+ obj_txt_in = obj_txt_in.replaceAll(
rgx.smid_inline_link_naked_url,
("$1"
~ mkup.lnk_o ~ "$2" ~ mkup.lnk_c
@@ -5283,7 +5283,7 @@ static struct ObjInlineMarkupMunge {
{ link which includes url as footnote }http://url~{ { http://url }http://url }~
+/
if (obj_txt_in.match(rgx.smid_inline_link_endnote_url_helper)) {
- obj_txt_in = (obj_txt_in)
+ obj_txt_in = obj_txt_in
.replaceAll(
rgx.smid_inline_link_endnote_url_helper_punctuated,
(mkup.lnk_o ~ "$1" ~ mkup.lnk_c
@@ -5305,7 +5305,7 @@ static struct ObjInlineMarkupMunge {
{ linked text or image }http://url
+/
if (obj_txt_in.match(rgx.smid_inline_link_markup_regular)) {
- obj_txt_in = (obj_txt_in).replaceAll(
+ obj_txt_in = obj_txt_in.replaceAll(
rgx.smid_inline_link_markup_regular,
("$1"
~ mkup.lnk_o ~ "$2" ~ mkup.lnk_c
@@ -5334,7 +5334,7 @@ static struct ObjInlineMarkupMunge {
writeln("Image: ", obj_txt_in);
}
if (obj_txt_in.match(rgx.smid_image_with_dimensions)) {
- obj_txt_in = (obj_txt_in).replaceAll(
+ obj_txt_in = obj_txt_in.replaceAll(
rgx.smid_image_with_dimensions,
("$1"
~ mkup.img ~ "$2,w$3h$4 "
@@ -5344,7 +5344,7 @@ static struct ObjInlineMarkupMunge {
writeln("IMAGE with size: ", obj_txt_in); // decide on representation
}
} else if (obj_txt_in.match(rgx.smid_image)) {
- obj_txt_in = (obj_txt_in).replaceAll(
+ obj_txt_in = obj_txt_in.replaceAll(
rgx.smid_image,
("$1"
~ mkup.img ~ "$2,w0h0 "
@@ -5372,7 +5372,7 @@ static struct ObjInlineMarkupMunge {
bool flg_notes_reg = false;
bool flg_notes_star = false;
bool flg_notes_plus = false;
- obj_txt_in = (obj_txt_in).replaceAll(
+ obj_txt_in = obj_txt_in.replaceAll(
rgx.inline_notes_curly,
(mkup.en_a_o ~ " $1" ~ mkup.en_a_c)
);
@@ -5471,7 +5471,7 @@ static struct ObjInlineMarkupMunge {
obj_txt_in = url_links(obj_txt_in);
}
if (auto m = obj_txt_in.match(rgx.para_inline_link_anchor)) {
- obj_txt_in = (obj_txt_in)
+ obj_txt_in = obj_txt_in
.replaceAll(rgx.para_inline_link_anchor, "┋$1┋");
}
auto ftn = footnotes_endnotes_markup_and_number_or_stars(obj_txt_in, reset_note_numbers);
@@ -5520,7 +5520,7 @@ static struct ObjInlineMarkupMunge {
}
}
body {
- obj_txt["munge"]=(obj_txt_in)
+ obj_txt["munge"] = obj_txt_in
.replaceFirst(rgx.heading, "")
.replaceFirst(rgx.object_number_off_all, "")
.strip;
@@ -5677,7 +5677,7 @@ static struct ObjInlineMarkupMunge {
}
}
body {
- obj_txt_in = (obj_txt_in).replaceAll(rgx.space, mkup.nbsp);
+ obj_txt_in = obj_txt_in.replaceAll(rgx.space, mkup.nbsp);
obj_txt["munge"] = obj_txt_in;
return obj_txt["munge"];
}
@@ -6081,7 +6081,7 @@ private:
}
if ((!empty(heading_number_auto_composite))
&& (obj_["lev_markup_number"].to!uint >= conf_make_meta.make.auto_num_top_lv)) {
- munge_=(munge_)
+ munge_ = munge_
.replaceFirst(rgx.heading,
"$1~$2 " ~ heading_number_auto_composite ~ ". ")
.replaceFirst(rgx.heading_marker_missing_tag,
@@ -6109,16 +6109,16 @@ private:
if (!(munge_.match(rgx.heading_anchor_tag))) {
if (munge_.match(rgx.heading_identify_anchor_tag)) {
if (auto m = munge_.match(rgx.heading_extract_named_anchor_tag)) {
- munge_=(munge_).replaceFirst(
+ munge_ = munge_.replaceFirst(
rgx.heading_marker_missing_tag,
"$1~" ~ m.captures[1].toLower ~ "_" ~ m.captures[2] ~ " ");
if (auto n = munge_.match(rgx.heading_anchor_tag_plus_colon)) {
auto tag_remunge_ = n.captures[2]
.replaceAll(rgx.heading_marker_tag_has_colon, "..");
- munge_=(munge_).replaceFirst(rgx.heading_anchor_tag_plus_colon, n.captures[1] ~ tag_remunge_ ~ " ");
+ munge_=munge_.replaceFirst(rgx.heading_anchor_tag_plus_colon, n.captures[1] ~ tag_remunge_ ~ " ");
}
} else if (auto m = munge_.match(rgx.heading_extract_unnamed_anchor_tag)) {
- munge_=(munge_).replaceFirst(
+ munge_ = munge_.replaceFirst(
rgx.heading_marker_missing_tag,
"$1~" ~ "s" ~ m.captures[1] ~ " ");
}
@@ -6127,7 +6127,7 @@ private:
heading_num_lev1 = 0;
}
heading_num_lev1 ++;
- munge_=(munge_).replaceFirst(
+ munge_ = munge_.replaceFirst(
rgx.heading_marker_missing_tag,
"$1~" ~ "x" ~ heading_num_lev1.to!string ~ " ");
}
@@ -6689,7 +6689,7 @@ struct BookIndexReportSection {
foreach (mainkey; mainkeys) {
write("_0_1 !{", mainkey, "}! ");
foreach (ref_; bookindex_unordered_hashes[mainkey]["_a"]) {
- auto go = (ref_).replaceAll(rgx.book_index_go, "$1");
+ auto go = ref_.replaceAll(rgx.book_index_go, "$1");
write(" {", ref_, "}#", go, ", ");
}
writeln(" \\\\");
@@ -6699,7 +6699,7 @@ struct BookIndexReportSection {
foreach (subkey; subkeys) {
write(" ", subkey, ", ");
foreach (ref_; bookindex_unordered_hashes[mainkey][subkey]) {
- auto go = (ref_).replaceAll(rgx.book_index_go, "$1");
+ auto go = ref_.replaceAll(rgx.book_index_go, "$1");
write(" {", ref_, "}#", go, ", ");
}
writeln(" \\\\");
@@ -6823,7 +6823,7 @@ struct BookIndexReportSection {
bi_tmp ~= " \\\\\n ";
++skn;
}
- bi_tmp = (bi_tmp).replaceFirst(rgx.trailing_linebreak, "");
+ bi_tmp = bi_tmp.replaceFirst(rgx.trailing_linebreak, "");
comp_obj_para = comp_obj_para.init;
comp_obj_para.metainfo.is_of_part = "backmatter";
comp_obj_para.metainfo.is_of_section = "bookindex";
@@ -7863,18 +7863,36 @@ struct DocObj_MetaInfo_ {
int parent_ocn = 0;
int last_decendant_ocn = 0;
}
+#+END_SRC
+
+**** object text attributes
+
+#+name: meta_structs_init
+#+BEGIN_SRC d
struct DocObj_TxtAttrib_ {
int indent_base = 0;
int indent_hang = 0;
bool bullet = false;
string language = ""; // not implemented, consider
}
+#+END_SRC
+
+**** object has within it
+
+#+name: meta_structs_init
+#+BEGIN_SRC d
struct DocObj_Has_ { // has
bool inline_links = false;
bool inline_notes_reg = false;
bool inline_notes_star = false;
bool contains_image_without_dimensions = false;
}
+#+END_SRC
+
+**** table attributes
+
+#+name: meta_structs_init
+#+BEGIN_SRC d
struct DocObj_Table_ {
int number_of_columns = 0;
double[] column_widths = [];
@@ -7882,14 +7900,32 @@ struct DocObj_Table_ {
bool heading = false;
bool walls = false; // not implemented
}
+#+END_SRC
+
+**** code attributes
+
+#+name: meta_structs_init
+#+BEGIN_SRC d
struct DocObj_CodeBlock_ {
string syntax = "";
}
+#+END_SRC
+
+**** pointers
+
+#+name: meta_structs_init
+#+BEGIN_SRC d
struct DocObj_Pointer_ {
int doc_object = 0;
int html_segnames = 0;
int heading = 0;
}
+#+END_SRC
+
+**** tags
+
+#+name: meta_structs_init
+#+BEGIN_SRC d
struct DocObj_Tags_ {
string[] heading_ancestors_text = [ "", "", "", "", "", "", "", "", ]; // TODO redundant? see markedup and collapsed ancestors DONE
string anchor_tag_html = "";
@@ -7903,6 +7939,12 @@ struct DocObj_Tags_ {
string[] lev4_subtoc = [];
string[] anchor_tags = [];
}
+#+END_SRC
+
+**** composite object the parts
+
+#+name: meta_structs_init
+#+BEGIN_SRC d
struct ObjGenericComposite {
string text = "";
DocObj_MetaInfo_ metainfo;