aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sdp/ao_read_source_files.d
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sdp/ao_read_source_files.d')
-rw-r--r--lib/sdp/ao_read_source_files.d281
1 files changed, 0 insertions, 281 deletions
diff --git a/lib/sdp/ao_read_source_files.d b/lib/sdp/ao_read_source_files.d
deleted file mode 100644
index a5ca084..0000000
--- a/lib/sdp/ao_read_source_files.d
+++ /dev/null
@@ -1,281 +0,0 @@
-/+
- ao_read_source_files.d
- - open markup files
- - if master file scan for addional files to import/insert
-+/
-// module ao_read_source_files;
-template SiSUmarkupRaw() {
- private import
- std.exception,
- std.regex,
- std.stdio,
- std.utf,
- std.conv : to;
- private import
- ao_rgx; // ao_defaults.d
- mixin RgxInit;
- auto rgx = Rgx();
- struct MarkupRaw {
- final char[][] sourceContent(in string fn_src) {
- auto raw = MarkupRawUnit();
- auto sourcefile_content =
- raw.markupSourceContentRawLineArray(fn_src, rgx.src_pth);
- if (match(fn_src, rgx.src_fn_master)) {
- auto ins = Inserts();
- sourcefile_content =
- ins.scan_master_doc_source_for_insert_filenames(sourcefile_content, fn_src);
- // auto ins = SiSUdocInserts.Inserts();
- }
- return sourcefile_content;
- }
- }
- private
- struct MarkupRawUnit {
- private import std.file;
- final private string readInMarkupSource(in string fn_src) {
- enforce(
- exists(fn_src)!=0,
- "file not found"
- );
- string source_txt_str;
- try {
- if (exists(fn_src)) {
- source_txt_str = readText(fn_src);
- }
- }
- catch (ErrnoException ex) {
- //// Handle errors
- // switch(ex.errno) {
- // case EPERM:
- // case EACCES:
- // // Permission denied
- // break;
- // case ENOENT:
- // // File does not exist
- // break;
- // default:
- // // Handle other errors
- // break;
- // }
- }
- catch (UTFException ex) {
- // Handle validation errors
- }
- catch (FileException ex) {
- // Handle errors
- }
- std.utf.validate(source_txt_str);
- return source_txt_str;
- }
- final private char[][] markupSourceLineArray(in string src_text) {
- char[][] source_line_arr =
- split(cast(char[]) src_text, rgx.line_delimiter);
- return source_line_arr;
- }
- final char[][] markupSourceContentRawLineArray(in string fn_src, Regex!(char) rgx_file ) {
- enforce(
- match(fn_src, rgx_file),
- "not a sisu markup filename"
- );
- auto source_txt_str = readInMarkupSource(fn_src);
- auto source_line_arr = markupSourceLineArray(source_txt_str);
- return source_line_arr;
- }
- }
- struct Inserts {
- private import ao_defaults; // ao_defaults.d
- private import ao_ansi_colors; // ao_ansi_colors.d
- auto scan_subdoc_source(
- char[][] markup_sourcefile_insert_content,
- string fn_src
- ) {
- mixin SiSUrgxInitFlags;
- char[][] contents_insert;
- auto type1 = flags_type_init;
- mixin ScreenTxtColors;
- int tell_l(string color, in char[] line) {
- writeln(scr_txt_marker[color], line);
- return 0;
- }
- auto fn_pth_full = match(fn_src, rgx.src_pth);
- auto markup_src_file_path = fn_pth_full.captures[1];
- foreach (line; markup_sourcefile_insert_content) {
- if (type1["curly_code"] == 1) {
- type1["header_make"] = 0;
- type1["header_metadata"] = 0;
- if (auto m = match(line, rgx.block_curly_code_close)) {
- type1["curly_code"] = 0;
- }
- contents_insert ~= line;
- } else if (auto m = match(line, rgx.block_curly_code_open)) {
- type1["curly_code"] = 1;
- type1["header_make"] = 0;
- type1["header_metadata"] = 0;
- contents_insert ~= line;
- } else if (type1["tic_code"] == 1) {
- type1["header_make"] = 0;
- type1["header_metadata"] = 0;
- if (auto m = match(line, rgx.block_tic_close)) {
- type1["tic_code"] = 0;
- }
- contents_insert ~= line;
- } else if (auto m = match(line, rgx.block_tic_code_open)) {
- type1["tic_code"] = 1;
- type1["header_make"] = 0;
- type1["header_metadata"] = 0;
- contents_insert ~= line;
- } else if (
- (type1["header_make"] == 1)
- && match(line, rgx.header_sub)
- ) {
- type1["header_make"] = 1;
- type1["header_metadata"] = 0;
- // cont_dynamic_array ~= "% " ~ line;
- } else if (
- (type1["header_metadata"] == 1)
- && match(line, rgx.header_sub)
- ) {
- type1["header_metadata"] = 1;
- type1["header_make"] = 0;
- // cont_dynamic_array ~= "% " ~ line;
- } else if (auto m = match(line, rgx.insert_src_fn_ssi_or_sst)) {
- type1["header_make"] = 0;
- type1["header_metadata"] = 0;
- auto insert_fn = m.captures[2];
- auto insert_sub_pth = m.captures[1];
- auto fn_src_insert =
- to!string(markup_src_file_path ~ insert_sub_pth ~ insert_fn);
- auto raw = MarkupRawUnit();
- auto markup_sourcesubfile_insert_content =
- raw.markupSourceContentRawLineArray(fn_src_insert, rgx.src_fn_find_inserts);
- debug(insert) { // insert file
- tell_l("red", line);
- tell_l("red", fn_src_insert);
- tell_l("fuchsia", "ERROR");
- writeln(
- " length contents insert array: ",
- markup_sourcesubfile_insert_content.length
- );
- }
- auto ins = Inserts();
- /+
- 1. load file,
- 2. read lines;
- 3. scan lines,
- 4. if filename insert, and insert filename
- 5. repeat 1
- 6. else
- 7. add line to new array;
- +/
- } else {
- type1["header_make"] = 0;
- type1["header_metadata"] = 0;
- contents_insert ~= line;
- }
- } // end src subdoc (inserts) loop
- return contents_insert;
- }
- auto scan_master_doc_source_for_insert_filenames(
- char[][] sourcefile_content,
- string fn_src
- ) {
- mixin SiSUrgxInitFlags;
- char[][] contents;
- auto type = flags_type_init;
- mixin ScreenTxtColors;
- int tell_l(string color, in char[] line) {
- writeln(scr_txt_marker[color], line);
- return 0;
- }
- auto fn_pth_full = match(fn_src, rgx.src_pth);
- auto markup_src_file_path = fn_pth_full.captures[1];
- foreach (line; sourcefile_content) {
- if (type["curly_code"] == 1) {
- type["header_make"] = 0;
- type["header_metadata"] = 0;
- if (auto m = match(line, rgx.block_curly_code_close)) {
- type["curly_code"] = 0;
- }
- contents ~= line;
- } else if (auto m = match(line, rgx.block_curly_code_open)) {
- type["curly_code"] = 1;
- type["header_make"] = 0;
- type["header_metadata"] = 0;
- contents ~= line;
- } else if (type["tic_code"] == 1) {
- type["header_make"] = 0;
- type["header_metadata"] = 0;
- if (auto m = match(line, rgx.block_tic_close)) {
- type["tic_code"] = 0;
- }
- contents ~= line;
- } else if (auto m = match(line, rgx.block_tic_code_open)) {
- type["tic_code"] = 1;
- type["header_make"] = 0;
- type["header_metadata"] = 0;
- contents ~= line;
- } else if (
- (type["header_make"] == 1)
- && match(line, rgx.header_sub)
- ) {
- contents ~= line;
- } else if (
- (type["header_metadata"] == 1)
- && match(line, rgx.header_sub)
- ) {
- contents ~= line;
- } else if (auto m = match(line, rgx.header_make)) {
- type["header_make"] = 1;
- type["header_metadata"] = 0;
- contents ~= line;
- } else if (auto m = match(line, rgx.header_metadata)) {
- type["header_make"] = 0;
- type["header_metadata"] = 1;
- contents ~= line;
- } else if (auto m = match(line, rgx.insert_src_fn_ssi_or_sst)) {
- type["header_make"] = 0;
- type["header_metadata"] = 0;
- auto insert_fn = m.captures[2];
- auto insert_sub_pth = m.captures[1];
- auto fn_src_insert =
- to!string(markup_src_file_path ~ insert_sub_pth ~ insert_fn);
- auto raw = MarkupRawUnit();
- auto markup_sourcefile_insert_content =
- raw.markupSourceContentRawLineArray(fn_src_insert, rgx.src_fn_find_inserts);
- debug(insert) { // insert file
- tell_l("red", line);
- tell_l("red", fn_src_insert);
- writeln(
- " length contents insert array: ",
- markup_sourcefile_insert_content.length
- );
- }
- auto ins = Inserts();
- auto contents_insert = ins.scan_subdoc_source(
- markup_sourcefile_insert_content,
- to!string(fn_src_insert)
- );
- contents ~= contents_insert;
- /+
- 1. load file,
- 2. read lines;
- 3. scan lines,
- 4. if filename insert, and insert filename
- 5. repeat 1
- 6. else
- 7. add line to new array;
- +/
- } else {
- type["header_make"] = 0;
- type["header_metadata"] = 0;
- contents ~= line;
- }
- } // end src doc loop
- debug(insert) { // insert file
- writeln(__LINE__);
- writeln(contents.length);
- }
- return contents;
- }
- }
-}