aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/doc_reform/spine.d
diff options
context:
space:
mode:
authorRalph Amissah <ralph.amissah@gmail.com>2022-11-25 22:06:40 -0500
committerRalph Amissah <ralph.amissah@gmail.com>2022-12-23 18:17:41 -0500
commitf6d28b62f0e02b8a88a1832589e203c7a613f45b (patch)
treeb5d6462e45bae998190194784e02b143a83f79a3 /src/doc_reform/spine.d
parentgitignore & things nix (diff)
regex review, match speed & compile time, ctregex
- improve match time - add interim fontface identifier marker - improve compile time - remove unused regexs - separate out some specialized output matches
Diffstat (limited to 'src/doc_reform/spine.d')
-rwxr-xr-xsrc/doc_reform/spine.d36
1 files changed, 21 insertions, 15 deletions
diff --git a/src/doc_reform/spine.d b/src/doc_reform/spine.d
index cd780c6..4fca299 100755
--- a/src/doc_reform/spine.d
+++ b/src/doc_reform/spine.d
@@ -75,6 +75,8 @@ import
doc_reform.meta.defaults,
doc_reform.meta.doc_debugs,
doc_reform.meta.rgx,
+ doc_reform.meta.rgx_yaml,
+ doc_reform.meta.rgx_files,
doc_reform.io_in.paths_source,
doc_reform.io_in.read_config_files,
doc_reform.io_in.read_source_files,
@@ -86,6 +88,8 @@ string project_name = "spine";
string program_name = "spine";
@system void main(string[] args) {
mixin spineRgxIn;
+ mixin spineRgxYamlTags;
+ mixin spineRgxFiles;
mixin spineBiblio;
mixin outputHub;
auto hvst = spineCurateMetadata!();
@@ -93,6 +97,8 @@ string program_name = "spine";
string arg_unrecognized;
enum dAM { abstraction, matters }
static auto rgx = RgxI();
+ static auto rgx_y = RgxYaml();
+ static auto rgx_files = RgxFiles();
scope(success) {
writefln(
"~ run complete, ok ~ (%s-%s.%s.%s, %s D:%s, %s %s)",
@@ -858,7 +864,7 @@ string program_name = "spine";
} else if (_opt_action.require_processing_files) { /+ cli, assumed to be path to source files +/
auto _manifest_start = PodManifest!()(_opt_action, arg);
if ( /+ pod files +/
- !(arg.match(rgx.src_pth_sst_or_ssm))
+ !(arg.match(rgx_files.src_pth_sst_or_ssm))
&& _manifest_start.pod_manifest_file_with_path
&& _opt_action.abstraction
) {
@@ -886,10 +892,10 @@ string program_name = "spine";
}
if ("doc" in pod_manifest_yaml) {
if (pod_manifest_yaml["doc"].type.mapping
- && pod_manifest_yaml["doc"].tag.match(rgx.yaml_tag_is_map)
+ && pod_manifest_yaml["doc"].tag.match(rgx_y.yaml_tag_is_map)
) {
if ("path" in pod_manifest_yaml["doc"]) {
- if (pod_manifest_yaml["doc"]["path"].tag.match(rgx.yaml_tag_is_seq)) {
+ if (pod_manifest_yaml["doc"]["path"].tag.match(rgx_y.yaml_tag_is_seq)) {
foreach (string _path; pod_manifest_yaml["doc"]["path"]) {
markup_contents_location_ ~= _path ~ "\n";
pod_manifest_root_content_paths_to_markup_location_raw_ ~=
@@ -897,7 +903,7 @@ string program_name = "spine";
}
} else if (
pod_manifest_yaml["doc"]["path"].type.string
- && pod_manifest_yaml["doc"]["path"].tag.match(rgx.yaml_tag_is_str)
+ && pod_manifest_yaml["doc"]["path"].tag.match(rgx_y.yaml_tag_is_str)
) {
markup_contents_location_ = pod_manifest_yaml["doc"]["path"].get!string;
pod_manifest_root_content_paths_to_markup_location_raw_ =
@@ -905,17 +911,17 @@ string program_name = "spine";
}
}
if ("filename" in pod_manifest_yaml["doc"]) {
- if (pod_manifest_yaml["doc"]["filename"].tag.match(rgx.yaml_tag_is_seq)) {
+ if (pod_manifest_yaml["doc"]["filename"].tag.match(rgx_y.yaml_tag_is_seq)) {
foreach (string _filename; pod_manifest_yaml["doc"]["filename"]) {
if ("language" in pod_manifest_yaml["doc"]) {
- if (pod_manifest_yaml["doc"]["language"].tag.match(rgx.yaml_tag_is_seq)) {
+ if (pod_manifest_yaml["doc"]["language"].tag.match(rgx_y.yaml_tag_is_seq)) {
foreach (string _lang; pod_manifest_yaml["doc"]["language"]) {
markup_contents_location_ ~=
"media/text/"
~ _lang ~ "/"
~ _filename ~ "\n";
}
- } else if (pod_manifest_yaml["doc"]["language"].tag.match(rgx.yaml_tag_is_str)
+ } else if (pod_manifest_yaml["doc"]["language"].tag.match(rgx_y.yaml_tag_is_str)
) {
markup_contents_location_ =
"media/text/"
@@ -938,17 +944,17 @@ string program_name = "spine";
}
} else if (
pod_manifest_yaml["doc"]["filename"].type.string
- && pod_manifest_yaml["doc"]["filename"].tag.match(rgx.yaml_tag_is_str)
+ && pod_manifest_yaml["doc"]["filename"].tag.match(rgx_y.yaml_tag_is_str)
) {
if ("language" in pod_manifest_yaml["doc"]) {
- if (pod_manifest_yaml["doc"]["language"].tag.match(rgx.yaml_tag_is_seq)) {
+ if (pod_manifest_yaml["doc"]["language"].tag.match(rgx_y.yaml_tag_is_seq)) {
foreach (string _lang; pod_manifest_yaml["doc"]["language"]) {
markup_contents_location_ ~=
"media/text/"
~ _lang ~ "/"
~ pod_manifest_yaml["doc"]["filename"].get!string ~ "\n";
}
- } else if (pod_manifest_yaml["doc"]["language"].tag.match(rgx.yaml_tag_is_str)) {
+ } else if (pod_manifest_yaml["doc"]["language"].tag.match(rgx_y.yaml_tag_is_str)) {
markup_contents_location_ =
"media/text/"
~ pod_manifest_yaml["doc"]["language"].get!string
@@ -985,7 +991,7 @@ string program_name = "spine";
= (cast(char[]) markup_contents_location_).split;
auto tmp_dir_ = (sisudoc_txt_).dirName.array;
foreach (markup_contents_location; markup_contents_locations_arr) {
- assert(markup_contents_location.match(rgx.src_pth_sst_or_ssm),
+ assert(markup_contents_location.match(rgx_files.src_pth_sst_or_ssm),
"not a recognised file: «" ~
markup_contents_location ~ "»"
);
@@ -999,14 +1005,14 @@ string program_name = "spine";
_manifests ~= _manifested;
}
}
- } else if (arg.match(rgx.src_pth_sst_or_ssm)) { /+ markup txt files +/
+ } else if (arg.match(rgx_files.src_pth_sst_or_ssm)) { /+ markup txt files +/
if (exists(arg)==0) {
writeln("ERROR >> Processing Skipped! File not found: ", arg);
} else {
_manifested = PathMatters!()(_opt_action, _env, arg, arg);
_manifests ~= _manifested;
}
- } else if (arg.match(rgx.src_pth_zip)) {
+ } else if (arg.match(rgx_files.src_pth_zip)) {
// fns_src ~= arg; // gather input markup source file names for processing
} else { // anything remaining, unused
arg_unrecognized ~= " " ~ arg;
@@ -1042,7 +1048,7 @@ string program_name = "spine";
}
}
enforce(
- manifest.src.filename.match(rgx.src_pth_types),
+ manifest.src.filename.match(rgx_files.src_pth_types),
"not a sisu markup filename: «" ~
manifest.src.filename ~ "»"
);
@@ -1155,7 +1161,7 @@ string program_name = "spine";
}
}
enforce(
- manifest.src.filename.match(rgx.src_pth_types),
+ manifest.src.filename.match(rgx_files.src_pth_types),
"not a sisu markup filename: «" ~
manifest.src.filename ~ "»"
);