From bc6971c1d19d4dcb80f872de6aa1f39a1584b738 Mon Sep 17 00:00:00 2001
From: Ralph Amissah <ralph@amissah.com>
Date: Fri, 27 Jan 2017 20:58:33 -0500
Subject: read src file and split into head and body, template

---
 src/sdp.d                      |  4 +---
 src/sdp/ao_read_source_files.d | 13 +++++++++++++
 2 files changed, 14 insertions(+), 3 deletions(-)

(limited to 'src')

diff --git a/src/sdp.d b/src/sdp.d
index fddffbd..20133cd 100755
--- a/src/sdp.d
+++ b/src/sdp.d
@@ -48,9 +48,7 @@ void main(string[] args) {
   mixin SiSUbiblio;
   mixin SiSUrgxInitFlags;
   mixin SiSUconfigSDLangHub;
-  mixin SiSUmarkupRaw;
   mixin outputHub;
-  auto raw = MarkupRaw();
   /+
   struct DocumentParts {
     string[string][] contents;
@@ -196,7 +194,7 @@ void main(string[] args) {
       /+ ↓ read file (filename with path) +/
       /+ ↓ file tuple of header and content +/
       auto _0_header_1_body_content_2_insert_filelist_tuple =
-        raw.sourceContentSplitIntoHeaderAndBody(raw.sourceContent(fn_src), fn_src);
+        SiSUmarkupRaw!()(fn_src);
       static assert(!isTypeTuple!(_0_header_1_body_content_2_insert_filelist_tuple));
       static assert(_0_header_1_body_content_2_insert_filelist_tuple.length==3);
       debug(header_and_body) {
diff --git a/src/sdp/ao_read_source_files.d b/src/sdp/ao_read_source_files.d
index f25ed7e..c7616a2 100644
--- a/src/sdp/ao_read_source_files.d
+++ b/src/sdp/ao_read_source_files.d
@@ -5,12 +5,25 @@
 +/
 template SiSUmarkupRaw() {
   private import
+    ao_rgx;
+  private import
+    std.array,
     std.exception,
+    std.path,
     std.regex,
     std.stdio,
+    std.traits,
+    std.typecons,
     std.utf,
     std.conv : to;
+  mixin SiSUrgxInit;
   auto rgx = Rgx();
+  auto rawsrc = MarkupRaw();
+  auto SiSUmarkupRaw(Fn)(Fn fn_src) {
+    auto _0_header_1_body_content_2_insert_filelist_tuple =
+      rawsrc.sourceContentSplitIntoHeaderAndBody(rawsrc.sourceContent(fn_src), fn_src);
+    return _0_header_1_body_content_2_insert_filelist_tuple;
+  }
   struct MarkupRaw {
     final sourceContent(in string fn_src) {
       auto raw = MarkupRawUnit();
-- 
cgit v1.2.3