diff options
Diffstat (limited to 'org/ao_defaults.org')
-rw-r--r-- | org/ao_defaults.org | 444 |
1 files changed, 392 insertions, 52 deletions
diff --git a/org/ao_defaults.org b/org/ao_defaults.org index fc176d0..ed01540 100644 --- a/org/ao_defaults.org +++ b/org/ao_defaults.org @@ -12,7 +12,9 @@ #+FILETAGS: :sdp:rel:ao: #+TAGS: assert(a) class(c) debug(d) mixin(m) sdp(s) tangle(T) template(t) WEB(W) noexport(n) -* defaults :template:defaults: +[[./sdp.org][sdp]] [[./][org/]] + +* default templates :template:defaults: [[./sdp.org][sdp]] [[./][org/]] ** template: header :header: #+name: ao_defaults_templates @@ -186,37 +188,40 @@ template SiSUheader() { #+BEGIN_SRC d /+ regex flags +/ template SiSUrgxInitFlags() { - int[string] flag_type = [ - "make_headings" : 0, - "header_make" : 0, - "header_metadata" : 0, - "heading" : 0, - "heading_biblio" : 0, - "para" : 0, - "blocks" : 0, // 0..2 generic - "code" : 0, // 0..2 - "poem" : 0, // 0..2 - "table" : 0, // 0..2 - "group" : 0, // 0..2 - "block" : 0, // 0..2 - "quote" : 0, // 0..2 - "verse_new" : 0, - "curly_code" : 0, - "curly_poem" : 0, - "curly_table" : 0, - "curly_group" : 0, - "curly_block" : 0, - "curly_quote" : 0, - "tic_code" : 0, - "tic_poem" : 0, - "tic_table" : 0, - "tic_group" : 0, - "tic_block" : 0, - "tic_quote" : 0, - "ocn_status" : 0, // 0 ocn; 1 no ocn; 2 no ocn & dummy headings - "ocn_status_multi_obj" : 0, // 0 ocn; 1 no ocn; 2 no ocn & dummy headings - "book_index" : 0, - ]; + int[string] flags_type_init() { + int[string] flags_type_init = [ + "make_headings" : 0, + "header_make" : 0, + "header_metadata" : 0, + "heading" : 0, + "heading_biblio" : 0, + "para" : 0, + "blocks" : 0, // 0..2 generic + "code" : 0, // 0..2 + "poem" : 0, // 0..2 + "table" : 0, // 0..2 + "group" : 0, // 0..2 + "block" : 0, // 0..2 + "quote" : 0, // 0..2 + "verse_new" : 0, + "curly_code" : 0, + "curly_poem" : 0, + "curly_table" : 0, + "curly_group" : 0, + "curly_block" : 0, + "curly_quote" : 0, + "tic_code" : 0, + "tic_poem" : 0, + "tic_table" : 0, + "tic_group" : 0, + "tic_block" : 0, + "tic_quote" : 0, + "obj_cite_number_status" : 0, // 0 obj_cite_number; 1 no obj_cite_number; 2 no obj_cite_number & dummy headings + "obj_cite_number_status_multi_obj" : 0, // 0 obj_cite_number; 1 no obj_cite_number; 2 no obj_cite_number & dummy headings + "book_index" : 0, + ]; + return flags_type_init; + } } #+END_SRC ** template: bibliography :biblio: @@ -252,35 +257,19 @@ template SiSUbiblio() { "short_name" : "", "id" : "" }`; // is: book, article, magazine, newspaper, blog, other - auto biblio_tag_map = [ - "au" : "author_raw", - "ed" : "editor_raw", - "ti" : "fulltitle", - "lng" : "language", - "jo" : "journal", - "vol" : "volume", - "edn" : "edition", - "yr" : "year", - "pl" : "place", - "pb" : "publisher", - "pub" : "publisher", - "pg" : "pages", - "pgs" : "pages", - "sn" : "short_name" - ]; // is: book, article, magazine, newspaper, blog, other } #+END_SRC ** template: internal markup :markup: #+name: ao_defaults_templates #+BEGIN_SRC d template InternalMarkup() { - struct InternalMarkup { + struct InlineMarkup { auto en_a_o = "【"; auto en_a_c = "】"; auto en_b_o = "〖"; auto en_b_c = "〗"; // auto segname_prefix_auto_num_extract = "c"; // auto segname_prefix_auto_num_provide = "s"; // auto segname_prefix_auto_num_other = "x"; - // auto ocn_id_char = ""; //'o'; now as before; remove for html5 + // auto obj_cite_number_id_char = ""; //'o'; now as before; remove for html5 // auto note = "note_"; // auto note_ref = "noteref_"; // auto note_astx = "note_astx_"; @@ -349,8 +338,334 @@ template InternalMarkup() { } #+END_SRC -* tangles :tangle: -** code structure: :ao_defaults.d: +* regex ctRegex :regex: +[[./sdp.org][sdp]] [[./][org/]] +** misc :misc: +#+name: ao_rgx +#+BEGIN_SRC d +/+ misc +/ +static flag_action = ctRegex!(`^(--[a-z][a-z0-9-]+)$`); +static flag_action_str = ctRegex!(` (--[a-z][a-z0-9-]+)`); +static src_pth = ctRegex!(`^([a-zA-Z0-9._-]+/)*([a-zA-Z0-9._-]+[.]ss[tm])$`); +static src_fn = ctRegex!(`^([a-zA-Z0-9._-]+/)*([a-zA-Z0-9._-]+[.]ss[tm])$`); +static src_fn_master = ctRegex!(`^([a-zA-Z0-9._-]+/)*([a-zA-Z0-9._-]+[.]ssm)$`); +static src_fn_find_inserts = ctRegex!(`^([a-zA-Z0-9._-]+/)*([a-zA-Z0-9._-]+[.]ss[im])$`); +// static ssm_fn = ctRegex!(`^[a-zA-Z0-9._-]+[.]ssm$`); +static line_delimiter = ctRegex!("\n"); +// static arr_delimiter = ctRegex!(`\s*[;]\s*`); +static within_quotes = ctRegex!(`"(.+?)"`); +static make_heading_delimiter = ctRegex!(`[;][ ]*`); +static arr_delimiter = ctRegex!(`[ ]*[;][ ]*`); +static name_delimiter = ctRegex!(`^([^,]+)[ ]*,[ ]+(.+?)$`); +// static name_delimiter = ctRegex!(`^(.+?)[ ]*,[ ]*(.+?)$`); +static book_index_go = ctRegex!("([0-9]+)(?:-[0-9]+)?"); +static trailing_comma = ctRegex!(",[ ]*$"); +static trailing_linebreak = ctRegex!(",[ ]{1,2}\\\\\\\\\n[ ]{4}$","m"); +static line_delimiter_ws_strip = ctRegex!("[ ]*\n[ ]*"); +static line_delimiter_only = ctRegex!("^\n"); +static para_delimiter = ctRegex!("\n[ ]*\n+"); +static levels_markup = ctRegex!(`^[A-D1-4]$`); +static levels_numbered = ctRegex!(`^[0-9]$`); +static levels_numbered_headings = ctRegex!(`^[0-7]$`); +#+END_SRC +** markup insert file :insert:file: +#+name: ao_rgx +#+BEGIN_SRC d +/+ insert markup file +/ +// static insert_src_fn_ssi_or_sst = ctRegex!(`^<<\s*([a-zA-Z0-9._-]+/)*(?P<filename>[a-zA-Z0-9._-]+[.]ss[ti])$`); +static insert_src_fn_ssi_or_sst = ctRegex!(`^<<\s*(?P<path>[a-zA-Z0-9._-]+/)*(?P<filename>[a-zA-Z0-9._-]+[.]ss[ti])$`); +// static insert_ssi_or_sst_fn = ctRegex!(`^<<\s*[a-zA-Z0-9._-]+[.]ss[ti]`); +#+END_SRC +** comments :comment: +#+name: ao_rgx +#+BEGIN_SRC d +/+ comments +/ +static comment = ctRegex!(`^%+ `); +#+END_SRC +** header :header: +#+name: ao_rgx +#+BEGIN_SRC d +/+ header +/ +static header = ctRegex!(`^@([a-z_]+):(?:\s|$)`); +static header_make = ctRegex!(`^@(make):(?:\s|$)`); +static header_metadata = ctRegex!(`^@([a-z_]+):(?:\s|$)`); +static header_sub = ctRegex!(`^[ ]+:([a-z_]+):\s`); +static head_main = ctRegex!(`^@([a-z_]+):\s*(.*)`, "m"); +static head_sub = ctRegex!(`^[ ]*:([a-z_]+):\s+(.+)`, "m"); +#+END_SRC +** header & paragraph operators :paragraph:operator: +#+name: ao_rgx +#+BEGIN_SRC d +/+ heading & paragraph operators +/ +static heading = ctRegex!(`^:?([A-D1-4])[~]([a-z0-9_.-]*[?]?) `); +static heading_marker = ctRegex!(`^:?([A-D1-4])[~]`); +static heading_title = ctRegex!(`^:?[A-D1-4][~][a-z0-9_.-]*[?]?\s+(.+?)$`); +static heading_all = ctRegex!(`^:?([A-D1-4])[~]([a-z0-9_.-]*[?]?)\s+(.+?)$`); // test, particularly [2] name/hashtag which may or may not be, does this affect title [3] +static heading_biblio = ctRegex!(`^:?(1)[~][!](biblio(?:graphy)?|references?)`); +static heading_glossary = ctRegex!(`^:?(1)[~][!](glossary)`); +static para_bullet = ctRegex!(`^_[*] `); +static para_bullet_indent = ctRegex!(`^_([1-9])[*] `); +static para_indent = ctRegex!(`^_([1-9]) `); +static para_indent_hang = ctRegex!(`^_([0-9])_([0-9]) `); +static para_attribs = ctRegex!(`^_(([0-9])(_([0-9]))?|_([1-9])?[*]) `); +#+END_SRC + +** blocked markup :block:tic: +#+name: ao_rgx +#+BEGIN_SRC d +/+ blocked markup +/ +static block_open = ctRegex!("^((code|poem|group|block|quote|table)[{].*?$)|^`{3} (code|poem|group|block|quote|table)"); +// static block_open_less_code = ctRegex!("^(((poem|group|block|quote|table)[{].*?$)|`{3} (poem|group|block|quote|table))"); +static block_poem_open = ctRegex!("^((poem[{].*?$)|`{3} poem)"); +#+END_SRC +** blocked markup tics :block:tic: +#+name: ao_rgx +#+BEGIN_SRC d +/+ blocked markup tics +/ +static block_tic_open = ctRegex!("^`{3} (code|poem|group|block|quote|table)"); +// static block_tic_open_less_code = ctRegex!("^`{3} (poem|group|block|quote|table)"); +static block_tic_code_open = ctRegex!("^`{3} (code)"); +static block_tic_poem_open = ctRegex!("^`{3} (poem)"); +static block_tic_group_open = ctRegex!("^`{3} (group)"); +static block_tic_block_open = ctRegex!("^`{3} (block)"); +static block_tic_quote_open = ctRegex!("^`{3} (quote)"); +static block_tic_table_open = ctRegex!("^`{3} (table)"); +static block_tic_close = ctRegex!("^(`{3})$","m"); +#+END_SRC +** blocked markup curly :block:curly: +#+name: ao_rgx +#+BEGIN_SRC d +/+ blocked markup curly +/ +static block_curly_open = ctRegex!(`^((code|poem|group|block|quote|table)[{].*?$)`); +// static block_curly_open_less_code = ctRegex!(`^((poem|group|block|quote|table)[{].*?$)`); +static block_curly_code_open = ctRegex!(`^(code[{].*?$)`); +static block_curly_code_close = ctRegex!(`^([}]code)`); +static block_curly_poem_open = ctRegex!(`^(poem[{].*?$)`); +static block_curly_poem_close = ctRegex!(`^([}]poem)`); +static block_curly_group_open = ctRegex!(`^(group[{].*?$)`); +static block_curly_group_close = ctRegex!(`^([}]group)`); +static block_curly_block_open = ctRegex!(`^(block[{].*?$)`); +static block_curly_block_close = ctRegex!(`^([}]block)`); +static block_curly_quote_open = ctRegex!(`^(quote[{].*?$)`); +static block_curly_quote_close = ctRegex!(`^([}]quote)`); +static block_curly_table_open = ctRegex!(`^(table[{].*?$)`); +static block_curly_table_close = ctRegex!(`^([}]table)`); +#+END_SRC +** inline markup font face mod :inline:font:face: +#+name: ao_rgx +#+BEGIN_SRC d +/+ inline markup font face mod +/ +static inline_emphasis = ctRegex!(`\*\{(?P<text>.+?)\}\*`); +static inline_bold = ctRegex!(`!\{(?P<text>.+?)\}!`); +static inline_italics = ctRegex!(`/\{(?P<text>.+?)\}/`); +static inline_superscript = ctRegex!(`\^\{(?P<text>.+?)\}\^`); +static inline_subscript = ctRegex!(`,\{(?P<text>.+?)\},`); +static inline_strike = ctRegex!(`-\{(?P<text>.+?)\}-`); +static inline_insert = ctRegex!(`\+\{(?P<text>.+?)\}\+`); +static inline_mono = ctRegex!(`#\{(?P<text>.+?)\}#`); +#+END_SRC +** inline markup footnotes :inline:footnote: +#+name: ao_rgx +#+BEGIN_SRC d +/+ inline markup footnotes +/ +static true_dollar = ctRegex!(`\$`, "gm"); +static inline_notes_al = ctRegex!(`【(?:[*+]\s+|\s*)(.+?)】`, "mg"); +static inline_notes_al_gen = ctRegex!(`【.+?】`, "m"); +static inline_notes_curly_gen = ctRegex!(`~\{.+?\}~`, "m"); +static inline_notes_curly = ctRegex!(`~\{\s*(.+?)\}~`, "mg"); +// static inline_notes_curly = ctRegex!(`~\{(?:[*+]\s+|\s*)(.+?)\}~`, "mg"); +static inline_al_delimiter_open_regular = ctRegex!(`【`, "m"); +static inline_al_delimiter_close_regular = ctRegex!(`】`, "m"); +static inline_al_delimiter_open_and_close_regular = ctRegex!(`【|】`, "m"); +static inline_notes_delimiter_al_regular = ctRegex!(`【(.+?)】`, "m"); +static inline_notes_delimiter_al_regular_number_note = ctRegex!(`【(\d+)\s+(.+?)】`, "m"); + +static inline_al_delimiter_open_asterisk = ctRegex!(`【\*`, "m"); +static inline_al_delimiter_open_plus = ctRegex!(`【\+`, "m"); + +static inline_curly_delimiter_open_regular = ctRegex!(`~\{\s*`, "m"); +static inline_curly_delimiter_close_regular = ctRegex!(`\s*\}~`, "m"); +static inline_curly_delimiter_open_and_close_regular = ctRegex!(`~\{\s*|\s*\}~`, "m"); +static inline_notes_delimiter_curly_regular = ctRegex!(`~\{[ ]*(.+?)\}~`, "m"); +// static inline_notes_curly_regular = ctRegex!(`(?:[~][{][ ]*)(.+?)(?:[}][~])`, "m"); +// static inline_notes_curly_regular = ctRegex!(`~\{\s*(.+?)\}~`, "m"); +// static inline_notes_curly = ctRegex!(`~\{(?:[*+]\s+|\s*)(.+?)\}~`, "mg"); +static inline_notes_curly_sp = ctRegex!(`~\{[*+]+\s+(.+?)\}~`, "m"); +static inline_notes_curly_sp_asterisk = ctRegex!(`~\{[*]+\s+(.+?)\}~`, "m"); +static inline_notes_curly_sp_plus = ctRegex!(`~\{[+]+\s+(.+?)\}~`, "m"); +// static inline_text_and_note_curly = ctRegex!(`(.+?)~\{(?:[*+]\s+|\s*)(.+?)\}~`, "mg"); +static inline_text_and_note_al = ctRegex!(`(?P<text>.+?)【(?:[*+ ]*)(?P<note>.+?)】`, "mg"); +static inline_text_and_note_curly = ctRegex!(`(?P<text>.+?)(?:(?:[~])[{][*+ ]*)(?P<note>.+?)(?:[}][~])`, "mg"); +// static inline_text_and_note_curly = ctRegex!(`(?P<text>.+?)~\{(?:[*+]\s+|\s*)(?P<note>.+?)\}~`, "mg"); +// static inline_text_and_note_curly_sp = ctRegex!(`(.+?)~\{[*+]+\s+(.+?)\}~`, "mg"); +// static inline_text_and_note_curly_sp_asterisk = ctRegex!(`(.+?)~\{[*]+\s+(.+?)\}~`, "mg"); +// static inline_text_and_note_curly_sp_plus = ctRegex!(`(.+?)~\{[+]+\s+(.+?)\}~`, "mg"); +static inline_note_curly_delimiters = ctRegex!(`(~\{[*+]?\s*)(.+?)(\}~)`, "mg"); +static inline_notes_square = ctRegex!(`~\[\s*(.+?)\]~`, "mg"); +static inline_text_and_note_square_sp = ctRegex!(`(.+?)~\[[*+]+\s+(.+?)\]~`, "mg"); +static inline_text_and_note_square = ctRegex!(`(.+?)~\[\s*(.+?)\]~`, "mg"); +static inline_note_square_delimiters = ctRegex!(`(~\[\s*)(.+?)(\]~)`, "mg"); +#+END_SRC +** inline markup book index :inline:bookindex: +#+name: ao_rgx +#+BEGIN_SRC d +/+ inline markup book index +/ +static book_index = ctRegex!(`^=\{\s*(.+?)\}$`, "m"); +static book_index_open = ctRegex!(`^=\{\s*([^}]+?)$`); +static book_index_close = ctRegex!(`^(.*?)\}$`, "m"); // strip +#+END_SRC +** no obj_cite_number object :ocn:off:object: +#+name: ao_rgx +#+BEGIN_SRC d +/+ no obj_cite_number object +/ +static obj_cite_number_off = ctRegex!(`~#$`, "m"); +static obj_cite_number_off_dh = ctRegex!(`-#$`, "m"); +static obj_cite_number_off_all = ctRegex!(`[~-]#$`, "m"); +#+END_SRC +** no obj_cite_number block :ocn:off:block: +#+name: ao_rgx +#+BEGIN_SRC d +/+ no obj_cite_number block +/ +static obj_cite_number_off_block = ctRegex!(`^--~#$`); +static obj_cite_number_off_block_dh = ctRegex!(`^---#$`); +static obj_cite_number_off_block_close = ctRegex!(`^--\+#$`); +// static auto_obj_cite_number_ignore = ctRegex!(`^[+~*$-]{3,}$`); // reminder +static obj_cite_number_block_marks = ctRegex!(`^--[+~-]#$`); +#+END_SRC +** ignore outside code blocks :block:code: +#+name: ao_rgx +#+BEGIN_SRC d +/+ ignore outside code blocks +/ +static regular_parse_skip = ctRegex!(`^(--[+~-]#|-[\\]{2}-|=[.\\]{2}=)$`); // not structural info +#+END_SRC +** line & page breaks :break: +#+name: ao_rgx +#+BEGIN_SRC d +/+ line & page breaks +/ +static break_line_within_object = ctRegex!(`[\\]{2}( |$)`); +// static break_line_break_within_object = ctRegex!(`( |^)[\\]{2}( |$)`); +static break_page = ctRegex!(`^-[\\]{2}-$`); +static break_page_new = ctRegex!(`^=[\\]{2}=$`); +static break_page_line_across = ctRegex!(`^=[.]{2}=$`); +static break_string = ctRegex!(`』`); +// ancestry, parent +static parent = ctRegex!(`([0-7]):([0-9]+)`); +#+END_SRC +** json :json: +#+name: ao_rgx +#+BEGIN_SRC d +/+ json +/ +static tailing_comma = ctRegex!(`,$`, "m"); +#+END_SRC +** head :header: +#+name: ao_rgx +#+BEGIN_SRC d +/+ head +/ +static main_headers = ctRegex!(`^(?:creator|title|rights|date|original|classify|identifier|notes|publisher|make|links)$`, "m"); +static subhead_creator = ctRegex!(`^(?:author|translator|illustrator)$`, "m"); +static subhead_title = ctRegex!(`^(?:main|sub(?:title)?|full|language|edition|note)$`, "m"); +static subhead_rights = ctRegex!(`^(?:copyright|illustrations|license|cover)$`, "m"); +static subhead_date = ctRegex!(`^(?:published|created|issued|available|valid|modified|added_to_site)$`, "m"); +static subhead_original = ctRegex!(`^(?:title|language|source)$`, "m"); +static subhead_classify = ctRegex!(`^(?:topic_register|subject|keywords|loc|dewey)$`, "m"); +static subhead_identifier = ctRegex!(`^(?:oclc|pg|isbn)$`, "m"); +static subhead_notes = ctRegex!(`^(?:abstract|description)$`, "m"); +static subhead_publisher = ctRegex!(`^(?:name)$`, "m"); +static subhead_make = ctRegex!(`^(?:cover_image|home_button_image|home_button_text|footer|headings|num_top|breaks|substitute|bold|italics|emphasis|texpdf_font|css)$`, "m"); +#+END_SRC +** biblio tags :biblio:tags: +#+name: ao_rgx +#+BEGIN_SRC d +/+ biblio tags +/ +static biblio_tags = ctRegex!(`^(is|au|author_raw|author|author_arr|editor_raw|ed|editor_arr|ti|title|subtitle|fulltitle|lng|language|trans|src|jo|journal|in|vol|volume|edn|edition|yr|year|pl|place|pb|pub|publisher|url|pg|pages|note|short_name|id):\s+(.+)`); +static biblio_abbreviations = ctRegex!(`^(au|ed|ti|lng|jo|vol|edn|yr|pl|pb|pub|pg|pgs|sn)$`); +// static biblio_tags = ctRegex!(`^(is|author_raw|author|author_arr|editor_raw|editor_arr|title|subtitle|fulltitle|language|trans|src|journal|in|volume|edition|year|place|publisher|url|pages|note|short_name|id):\s+(.+)`); +#+END_SRC +** bookindex split :bookindex:split: +#+name: ao_rgx +#+BEGIN_SRC d +/+ bookindex split +/ +static bi_main_terms_split = ctRegex!(`\s*;\s*`); +static bi_main_term_plus_rest_split = ctRegex!(`\s*:\s*`); +static bi_sub_terms_plus_obj_cite_number_offset_split = ctRegex!(`\s*\|\s*`); +static bi_term_and_obj_cite_numbers_match = ctRegex!(`^(.+?)\+(\d+)`); +#+END_SRC + +* set colors for terminal :colors:terminal: +#+name: ao_ansi_colors +#+BEGIN_SRC d +string[string] scr_txt_color = [ + "off" : "\033[0m", + "white" : "\033[37m", + "white_bold" : "\033[1m", + "marker" : "\033[42m", + "bold" : "\033[1m", + "underline" : "\033[4m", + "invert" : "\033[7m", + "darkgrey_hi" : "\033[100m", + "grey_hi" : "\033[47m", + "pink_hi" : "\033[105m", + "fuchsia_hi" : "\033[45m", + "red_hi" : "\033[41m", + "orange_hi" : "\033[101m", + "yellow_hi" : "\033[103m", + "brown_hi" : "\033[43m", + "lightgreen_hi" : "\033[102m", + "green_hi" : "\033[42m", + "cyan_hi" : "\033[106m", + "blue_hi" : "\033[104m", + "navy_hi" : "\033[44m", + "grey" : "\033[90m", + "pink" : "\033[95m", + "fuchsia" : "\033[35m", + "ruby" : "\033[31m", + "red" : "\033[91m", + "orange" : "\033[91m", + "yellow" : "\033[93m", + "brown" : "\033[33m", + "green" : "\033[92m", + "darkgreen" : "\033[32m", + "cyan" : "\033[36m", + "blue" : "\033[94m", + "navy" : "\033[34m", + "black" : "\033[30m" +]; +string[string] scr_txt_marker = [ + "white" : "\033[37m*\033[0m ", + "bold" : "\033[1m*\033[0m ", + "invert" : "\033[7m*\033[0m ", + "darkgrey_hi" : "\033[100m*\033[0m ", + "grey_hi" : "\033[47m*\033[0m ", + "pink_hi" : "\033[105m*\033[0m ", + "fuchsia_hi" : "\033[45m*\033[0m ", + "red_hi" : "\033[41m*\033[0m ", + "orange_hi" : "\033[101m*\033[0m ", + "yellow_hi" : "\033[103m*\033[0m ", + "brown_hi" : "\033[43m*\033[0m ", + "lightgreen_hi" : "\033[102m*\033[0m ", + "green_hi" : "\033[42m*\033[0m ", + "cyan_hi" : "\033[106m*\033[0m ", + "blue_hi" : "\033[104m*\033[0m ", + "navy_hi" : "\033[44m*\033[0m ", + "grey" : "\033[90m*\033[0m ", + "pink" : "\033[95m*\033[0m ", + "fuchsia" : "\033[35m*\033[0m ", + "ruby" : "\033[31m*\033[0m ", + "red" : "\033[91m*\033[0m ", + "orange" : "\033[91m*\033[0m ", + "yellow" : "\033[93m*\033[0m ", + "brown" : "\033[33m*\033[0m ", + "green" : "\033[92m*\033[0m ", + "darkgreen" : "\033[32m*\033[0m ", + "cyan" : "\033[36m*\033[0m ", + "blue" : "\033[94m*\033[0m ", + "navy" : "\033[34m*\033[0m ", + "black" : "\033[30m*\033[0m " +]; +#+END_SRC + +* tangles (code structure) :tangle: +** defaults: :ao_defaults.d: #+name: tangle_ao_defaults #+BEGIN_SRC d :tangle ../lib/sdp/ao_defaults.d /+ @@ -359,3 +674,28 @@ template InternalMarkup() { +/ <<ao_defaults_templates>> #+END_SRC + +** rgx: :ao_rgx.d: +#+name: tangle_ao_rgx +#+BEGIN_SRC d :tangle ../lib/sdp/ao_rgx.d +/+ + regex + ao_rgx.d ++/ +template RgxInit() { + struct Rgx { + <<ao_rgx>> + } +} +#+END_SRC +** ansi_colors: :ao_ansi_colors.d: + +#+BEGIN_SRC d :tangle ../lib/sdp/ao_ansi_colors.d +/+ + utils + ao_util.d ++/ +template ScreenTxtColors() { + <<ao_ansi_colors>> +} +#+END_SRC |