diff options
Diffstat (limited to 'lib/sdp/ao_rgx.d')
-rw-r--r-- | lib/sdp/ao_rgx.d | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/lib/sdp/ao_rgx.d b/lib/sdp/ao_rgx.d index 7050d25..4c36ff9 100644 --- a/lib/sdp/ao_rgx.d +++ b/lib/sdp/ao_rgx.d @@ -1,10 +1,10 @@ -/* +/+ regex ao_rgx.d -*/ ++/ mixin template RgxInit() { - class Rgx { - /* misc */ + struct Rgx { + /+ 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])$`); @@ -25,19 +25,19 @@ mixin template RgxInit() { static levels_markup = ctRegex!(`^[A-D1-4]$`); static levels_numbered = ctRegex!(`^[0-9]$`); static levels_numbered_headings = ctRegex!(`^[0-7]$`); - /* insert markup file */ + /+ insert markup file +/ 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]`); - /* comments */ + /+ comments +/ static comment = ctRegex!(`^%+ `); - /* header */ + /+ 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"); - /* heading & paragraph operators */ + /+ 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+(.+?)$`); @@ -49,7 +49,7 @@ mixin template RgxInit() { 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])?[*]) `); - /* blocked markup tics */ + /+ blocked markup tics +/ static block_tic_code_open = ctRegex!("^`{3} (code)"); static block_tic_poem_open = ctRegex!("^`{3} (poem)"); static block_tic_group_open = ctRegex!("^`{3} (group)"); @@ -57,7 +57,7 @@ mixin template RgxInit() { static block_tic_quote_open = ctRegex!("^`{3} (quote)"); static block_tic_table_open = ctRegex!("^`{3} (table)"); static block_tic_close = ctRegex!("^(`{3})$","m"); - /* blocked markup curly */ + /+ blocked markup curly +/ static block_curly_code_open = ctRegex!(`^(code[{].*?$)`); static block_curly_code_close = ctRegex!(`^([}]code)`); static block_curly_poem_open = ctRegex!(`^(poem[{].*?$)`); @@ -70,7 +70,7 @@ mixin template RgxInit() { static block_curly_quote_close = ctRegex!(`^([}]quote)`); static block_curly_table_open = ctRegex!(`^(table[{].*?$)`); static block_curly_table_close = ctRegex!(`^([}]table)`); - /* inline markup font face mod */ + /+ inline markup font face mod +/ static inline_emphasis = ctRegex!(`\*\{(?P<text>.+?)\}\*`); static inline_bold = ctRegex!(`!\{(?P<text>.+?)\}!`); static inline_italics = ctRegex!(`/\{(?P<text>.+?)\}/`); @@ -79,7 +79,7 @@ mixin template RgxInit() { static inline_strike = ctRegex!(`-\{(?P<text>.+?)\}-`); static inline_insert = ctRegex!(`\+\{(?P<text>.+?)\}\+`); static inline_mono = ctRegex!(`#\{(?P<text>.+?)\}#`); - /* inline markup footnotes */ + /+ inline markup footnotes +/ static true_dollar = ctRegex!(`\$`, "gm"); static inline_notes_al = ctRegex!(`【(?:[*+]\s+|\s*)(.+?)】`, "mg"); static inline_notes_al_gen = ctRegex!(`【.+?】`, "m"); @@ -106,23 +106,23 @@ mixin template RgxInit() { 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"); - /* inline markup book index */ + /+ inline markup book index +/ static book_index = ctRegex!(`^=\{\s*(.+?)\}$`, "m"); static book_index_open = ctRegex!(`^=\{\s*([^}]+?)$`); static book_index_close = ctRegex!(`^(.*?)\}$`, "m"); // strip - /* no ocn object */ + /+ no ocn object +/ static ocn_off = ctRegex!(`~#$`, "m"); static ocn_off_dh = ctRegex!(`-#$`, "m"); static ocn_off_all = ctRegex!(`[~-]#$`, "m"); - /* no ocn block */ + /+ no ocn block +/ static ocn_off_block = ctRegex!(`^--~#$`); static ocn_off_block_dh = ctRegex!(`^---#$`); static ocn_off_block_close = ctRegex!(`^--\+#$`); // static auto_ocn_ignore = ctRegex!(`^[+~*$-]{3,}$`); // reminder static ocn_block_marks = ctRegex!(`^--[+~-]#$`); - /* ignore outside code blocks */ + /+ ignore outside code blocks +/ static regular_parse_skip = ctRegex!(`^(--[+~-]#|-[\\]{2}-|=[.\\]{2}=)$`); // not structural info - /* line & page breaks */ + /+ line & page breaks +/ static break_line_within_object = ctRegex!(`[\\]{2}( |$)`); // static break_line_break_within_object = ctRegex!(`( |^)[\\]{2}( |$)`); static break_page = ctRegex!(`^-[\\]{2}-$`); @@ -131,9 +131,9 @@ mixin template RgxInit() { static break_string = ctRegex!(`』`); // ancestry, parent static parent = ctRegex!(`([0-7]):([0-9]+)`); - /* json */ + /+ json +/ static tailing_comma = ctRegex!(`,$`, "m"); - /* head */ + /+ 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"); @@ -145,10 +145,10 @@ mixin template RgxInit() { 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"); - /* biblio tags */ + /+ 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)$`); - /* bookindex split */ + /+ 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_ocn_offset_split = ctRegex!(`\s*\|\s*`); |