diff options
| author | Ralph Amissah <ralph@amissah.com> | 2017-01-29 11:57:41 -0500 | 
|---|---|---|
| committer | Ralph Amissah <ralph@amissah.com> | 2019-04-10 15:14:14 -0400 | 
| commit | c8c141d8abf715c9a697d2e3dd949d4621cfea7b (patch) | |
| tree | 7124b76ac74734dbe9265151a874822c70eef12f /org/ao_read_source_files.org | |
| parent | defaults org, reorganize (diff) | |
0.12.1 abstraction template
Diffstat (limited to 'org/ao_read_source_files.org')
| -rw-r--r-- | org/ao_read_source_files.org | 133 | 
1 files changed, 60 insertions, 73 deletions
| diff --git a/org/ao_read_source_files.org b/org/ao_read_source_files.org index c362f9a..f537e6a 100644 --- a/org/ao_read_source_files.org +++ b/org/ao_read_source_files.org @@ -23,17 +23,10 @@    - read config files<BR>    ao_config_files.d  +/ -template SiSUconfigIn() { -  private import -    std.exception, -    std.stdio, -    std.utf, -    std.conv : to; -  private -  struct ConfigIn { -    private import std.file; -    <<ao_config_file_in>> -  } +template ConfigIn() { +  <<imports_std>> +  import std.file; +  <<ao_config_file_in>>  }  #+END_SRC @@ -43,25 +36,10 @@ template SiSUconfigIn() {  /+  +/ -template SiSUconfigSDLang() { -  struct ConfigSDLangRootTag { -    <<ao_config_file_sdlang>> -  } -} -#+END_SRC - -*** config files hub - -#+BEGIN_SRC d :tangle ../src/sdp/ao_read_config_files.d -/+ - -+/ -template SiSUconfigSDLangHub() { -  mixin SiSUconfigIn; -  mixin SiSUconfigSDLang; -  struct ConfigHub { -    <<ao_config_file_sdlang_hub>> -  } +template ConfigSDLang() { +  import sdlang; +  <<imports_std>> +  <<ao_config_file_sdlang>>  }  #+END_SRC @@ -76,16 +54,7 @@ template SiSUconfigSDLangHub() {  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; +  <<imports_std>>    mixin SiSUrgxInit;    auto rgx = Rgx();    auto rawsrc = MarkupRaw(); @@ -125,7 +94,6 @@ template SiSUmarkupRaw() {        return t;      }    } -  private    struct MarkupRawUnit {      private import std.file;      <<ao_markup_source_raw_read_file_source_string>> @@ -168,10 +136,10 @@ template SiSUmarkupRaw() {  #+name: ao_config_file_in  #+BEGIN_SRC d -final private string readInConfigFile(string conf_sdl) { -  string dot_pwd = chainPath(to!string(environment["PWD"]), ".sisu").array; -  string underscore_pwd = chainPath(to!string(environment["PWD"]), "_sisu").array; -  string dot_home = chainPath(to!string(environment["HOME"]), ".sisu").array; +final string ConfigIn(C,E)(C conf_sdl, E env) { +  string dot_pwd = chainPath(to!string(env["pwd"]), ".sisu").array; +  string underscore_pwd = chainPath(to!string(env["pwd"]), "_sisu").array; +  string dot_home = chainPath(to!string(env["home"]), ".sisu").array;    string[] possible_config_path_locations = [      dot_pwd,      underscore_pwd, @@ -207,7 +175,7 @@ final private string readInConfigFile(string conf_sdl) {  #+name: ao_config_file_sdlang  #+BEGIN_SRC d -private auto configSDLangRootTag(string configuration, string conf_sdl_filename) { +auto ConfigSDLang(string configuration, string conf_sdl_filename) {    Tag sdl_root_conf;    try {      sdl_root_conf = parseSource(configuration); @@ -228,14 +196,55 @@ private auto configSDLangRootTag(string configuration, string conf_sdl_filename)  #+END_SRC  ** config file (conf.sdl & sisu_document_make)             :file:config:hub: +*** config hub template + +#+BEGIN_SRC d :tangle ../src/sdp/ao_read_config_files.d +/+ + ++/ +template ConfigHub() { +  <<imports_std>> +  <<ao_config_file_import_sdlang>> +  <<ao_config_file_sdlang_hub>> +} +#+END_SRC + +*** imports + +#+name: imports_std +#+BEGIN_SRC d +private import +  std.algorithm, +  std.array, +  std.container, +  std.exception, +  std.stdio, +  std.file, +  std.path, +  std.range, +  std.regex, +  std.string, +  std.traits, +  std.typecons, +  std.uni, +  std.utf, +  std.conv : to; +#+END_SRC + + +*** config hub import sdlang +#+name: ao_config_file_import_mixin +#+BEGIN_SRC d +private import sdlang; +#+END_SRC + +*** config hub function  #+name: ao_config_file_sdlang_hub  #+BEGIN_SRC d -final private auto configSDLang(string conf_sdl) { -  auto conf_get = ConfigIn(); -  auto configuration = conf_get.readInConfigFile(conf_sdl); -  auto conf = ConfigSDLangRootTag(); -  auto sdl_root = conf.configSDLangRootTag(configuration, conf_sdl); +final auto ConfigHub(C,E)(C conf_sdl, E env) { +  auto configuration = ConfigIn!()(conf_sdl, env); +  auto sdl_root = ConfigSDLang!()(configuration, conf_sdl);    return sdl_root;  }  #+END_SRC @@ -549,25 +558,3 @@ auto t = tuple(  );  return t;  #+END_SRC - -* figure out -** break up file here to sisu markup content and header - -break up file here to sisu markup content and header - -*** header -take master and single sst file, read in as header until the required header 0~ -keep separate (from content) for extraction of header metadata & make detail -also now may be sdlang or old sisu markup! - -*** content -from 0~ read in as content - -** what -# #+NAME: sdp_each_file_do -# #+BEGIN_SRC d -/+ ↓ read file +/ -auto conf = ConfigIn(); -auto configfile_content = -  conf.sourceConfig(fn_src); -# #+END_SRC | 
