diff options
Diffstat (limited to 'lib/sdp/ao_read_source_files.d')
-rw-r--r-- | lib/sdp/ao_read_source_files.d | 281 |
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; - } - } -} |