diff options
Diffstat (limited to 'org/default_regex.org')
-rw-r--r-- | org/default_regex.org | 154 |
1 files changed, 77 insertions, 77 deletions
diff --git a/org/default_regex.org b/org/default_regex.org index 4329447..b0a47ca 100644 --- a/org/default_regex.org +++ b/org/default_regex.org @@ -41,45 +41,45 @@ https://dlang.org/phobos/std_regex.html module doc_reform.meta.rgx; static template spineRgxIn() { static struct RgxI { - <<meta_rgx_0>> - <<meta_rgx_1>> - <<meta_rgx_2>> - <<meta_rgx_3>> - <<meta_rgx_4>> - <<meta_rgx_5>> - <<meta_rgx_6>> - <<meta_rgx_7>> - <<meta_rgx_8>> - <<meta_rgx_9>> - <<meta_rgx_10>> - <<meta_rgx_11>> - <<meta_rgx_12>> - <<meta_rgx_13>> - <<meta_rgx_14>> - <<meta_rgx_15>> - <<meta_rgx_16>> - <<meta_rgx_17>> - <<meta_rgx_18>> - <<meta_rgx_19>> - <<meta_rgx_20>> - <<meta_rgx_21>> - <<meta_rgx_22>> - <<prgmkup_rgx_0>> - <<prgmkup_rgx_1>> - <<prgmkup_rgx_2>> - <<prgmkup_rgx_3>> - <<prgmkup_rgx_4>> - <<prgmkup_rgx_5>> - <<prgmkup_rgx_6>> - <<prgmkup_rgx_7>> - <<prgmkup_rgx_8>> + <<meta_rgx_misc>> + <<meta_rgx_comments>> + <<meta_rgx_config>> + <<meta_rgx_headers>> + <<meta_rgx_heading_and_paragraph_marks>> + <<meta_rgx_blocks>> + <<meta_rgx_block_tic>> + <<meta_rgx_block_curly>> + <<meta_rgx_sub_match_code>> + <<meta_rgx_table>> + <<meta_rgx_footnote_endnote>> + <<meta_rgx_url>> + <<meta_rgx_images>> + <<meta_rgx_book_index>> + <<meta_rgx_heading_number>> + <<meta_rgx_object_number_off_object>> + <<meta_rgx_object_number_off_block>> + <<meta_rgx_code_block>> + <<meta_rgx_line_and_page_breaks>> + <<meta_rgx_bibliography>> + <<meta_rgx_book_index_split>> + <<meta_rgx_topic_register_split>> + <<meta_rgx_language_codes>> + <<prgmkup_rgx_spaces>> + <<prgmkup_rgx_filename_and_path>> + <<prgmkup_rgx_inline_breaks>> + <<prgmkup_rgx_internal_footnotes_and_endnotes>> + <<prgmkup_rgx_inline_links>> + <<prgmkup_rgx_font_face>> + <<prgmkup_rgx_font_face_line>> + <<prgmkup_rgx_inline_font_face>> + <<prgmkup_rgx_table>> } } #+END_SRC ** misc :misc: -#+NAME: meta_rgx_0 +#+NAME: meta_rgx_misc #+BEGIN_SRC d /+ misc +/ // static true_dollar = ctRegex!(`\$`, "gm"); @@ -118,7 +118,7 @@ static numeric_col = ctRegex!(`^[ 0-9,.%$£ ** comments :comment: -#+NAME: meta_rgx_1 +#+NAME: meta_rgx_comments #+BEGIN_SRC d /+ comments +/ static comment = ctRegex!(`^%+ `); @@ -126,7 +126,7 @@ static comment = ctRegex!(`^%+ `); ** config -#+NAME: meta_rgx_2 +#+NAME: meta_rgx_config #+BEGIN_SRC d /+ header +/ #+END_SRC @@ -134,7 +134,7 @@ static comment = ctRegex!(`^%+ `); ** native headers *** native header :native:header: -#+NAME: meta_rgx_3 +#+NAME: meta_rgx_headers #+BEGIN_SRC d /+ header +/ static variable_doc_title = ctRegex!(`@title`); @@ -146,7 +146,7 @@ static yaml_config = ctRegex!(`^[a-z]+\s*:\s* ** heading & paragraph operators :paragraph:operator: -#+NAME: meta_rgx_4 +#+NAME: meta_rgx_heading_and_paragraph_marks #+BEGIN_SRC d /+ heading & paragraph operators +/ static heading_a = ctRegex!(`^:?[A][~] `, "m"); @@ -175,7 +175,7 @@ static para_inline_link_anchor = ctRegex!(`\*[~](?P<ancho ** blocked markup *** blocked markup curly & tic :block: -#+NAME: meta_rgx_5 +#+NAME: meta_rgx_blocks #+BEGIN_SRC d /+ blocked markup +/ static block_open = ctRegex!("^((code(?:[.][a-z][0-9a-z#+_]+)?|(?:poem|group|block|quote)(?:[.][a-z][0-9a-z_]+)?|table)(?:[(][ a-zA-Z0-9;:,]*[)])?[{][ ]*$)|^`{3} (code(?:[.][a-z][0-9a-z#+_]+)?|(?:poem|group|block|quote)(?:[.][a-z][0-9a-z_]+)?|table)(?:[(][ a-zA-Z0-9;:,]*[)])?|^[{]table[(](?:h;)?(?P<columns>(?:[ ,]+[0-9]+)+)[)][}]"); @@ -184,7 +184,7 @@ static block_poem_open = ctRegex!("^((poem(?:[(][ *** blocked markup tic :block:tic: -#+NAME: meta_rgx_6 +#+NAME: meta_rgx_block_tic #+BEGIN_SRC d /+ blocked markup tics +/ static block_tic_code_open = ctRegex!("^`{3} code(?:[.](?P<syntax>[a-z][0-9a-z#+_]+))?(?:[(](?P<attrib>[ a-zA-Z0-9;:,]*)[)])?"); @@ -198,7 +198,7 @@ static block_tic_close = ctRegex!("^(`{3})$","m") *** blocked markup curly :block:curly: -#+NAME: meta_rgx_7 +#+NAME: meta_rgx_block_curly #+BEGIN_SRC d /+ blocked markup curly +/ static block_curly_code_open = ctRegex!(`^(?:code(?:[.](?P<syntax>[a-z][0-9a-z_]+))?(?:[(](?P<attrib>[ a-zA-Z0-9;:,]*)[)])?[{][ ]*$)`); @@ -219,14 +219,14 @@ static block_curly_table_special_markup = ctRegex!(`^[{]table[(](? *** block sub-matches :block: **** code -#+NAME: meta_rgx_8 +#+NAME: meta_rgx_sub_match_code #+BEGIN_SRC d static code_numbering = ctRegex!(`(?P<number>\blinenumber\b|\bnumber\b|\blnr\b)`); #+END_SRC **** table -#+NAME: meta_rgx_9 +#+NAME: meta_rgx_table #+BEGIN_SRC d static table_head_instructions = ctRegex!(`(?:(?P<c_heading>h);)?(?:[ ]+c(?P<c_num>[0-9]):)?(?P<c_widths>(?:[, ]+[0-9]+[lr]?)+)`); static table_col_widths_and_alignment = ctRegex!(`(?P<width>[0-9]+)(?P<align>[lr]?)`); @@ -240,7 +240,7 @@ static table_col_separator_nl = ctRegex!(`[┊]$`, "mg") ** inline markup :inline:footnote: *** footnotes & endnotes -#+NAME: meta_rgx_10 +#+NAME: meta_rgx_footnote_endnote #+BEGIN_SRC d /+ inline markup footnotes endnotes +/ static inline_notes_curly_gen = ctRegex!(`~\{.+?\}~`, "m"); @@ -258,7 +258,7 @@ static note_ref = ctRegex!(`^\S+?noteref_( *** links/ urls :inline:footnote: -#+NAME: meta_rgx_11 +#+NAME: meta_rgx_url #+BEGIN_SRC d static webserv_url_doc_root = ctRegex!(`(?P<url>(?P<domain>https?:\/\/[^ /]+)\/(?P<path>\S*))`, "mg"); static smid_inline_url_generic = ctRegex!(`(?:^|[}(\[ ])(?:(?:https?|git):\/\/|¤?\.\.\/|¤?\.\/|¤|#)[a-zA-Z0-9_#]`, "mg"); @@ -271,7 +271,7 @@ static smid_inline_link_endnote_url_helper = ctRegex!(`\{~\^\s+(?P<co *** images :images: -#+NAME: meta_rgx_12 +#+NAME: meta_rgx_images #+BEGIN_SRC d static image = ctRegex!(`([a-zA-Z0-9._-]+?\.(?:png|gif|jpg))`, "mg"); static smid_image = ctRegex!(`(?P<pre>(?:^|[ ])[{┥](?:~\^\s+|\s*))(?P<image>[a-zA-Z0-9._-]+?\.(?:png|gif|jpg))(?P<post>(?:.*?)\s*[}┝](?:image|┤.*?├|(?:(?:https?|git):\/\/|¤?\.\.\/|¤?\.\/|¤|#)\S+?)(?=[;:!,?.]?([ )\]]|$)))`, "mg"); @@ -284,7 +284,7 @@ static smid_image_delimit = ctRegex!(`(?P<pre>^|[ ] *** inline markup book index :inline:bookindex: -#+NAME: meta_rgx_13 +#+NAME: meta_rgx_book_index #+BEGIN_SRC d /+ inline markup book index +/ static book_index_item = ctRegex!(`^=\{\s*(?P<bookindex>.+?)\}$`, "m"); @@ -295,7 +295,7 @@ static book_index_item_close = ctRegex!(`^(.*?)\}$`, "m ** switch *** switch off auto-heading number -#+NAME: meta_rgx_14 +#+NAME: meta_rgx_heading_number #+BEGIN_SRC d static auto_heading_numbering_lv1 = ctRegex!(`^1~`, "m"); static auto_heading_numbering_lv2 = ctRegex!(`^2~`, "m"); @@ -310,7 +310,7 @@ static auto_heading_numbering_off_lv4 = ctRegex!(`^4~\S*?-\s`, "m ** no object_number object :ocn:off:object: -#+NAME: meta_rgx_15 +#+NAME: meta_rgx_object_number_off_object #+BEGIN_SRC d /+ no object_number object +/ static object_number_off = ctRegex!(`~#[ ]*$`, "m"); @@ -321,7 +321,7 @@ static repeated_character_line_separator = ctRegex!(`^(?:[ ]*(?:(?:[. ** no object_number block :ocn:off:block: -#+NAME: meta_rgx_16 +#+NAME: meta_rgx_object_number_off_block #+BEGIN_SRC d /+ no object_number block +/ static object_number_off_block = ctRegex!(`^--~#$`); @@ -332,7 +332,7 @@ static object_number_block_marks = ctRegex!(`^--[+~-]#$`); ** ignore outside code blocks :block:code: -#+NAME: meta_rgx_17 +#+NAME: meta_rgx_code_block #+BEGIN_SRC d /+ ignore outside code blocks +/ static skip_from_regular_parse = ctRegex!(`^(--[+~-]#|-[\\]{2}-|=[.\\]{2}=)$`); @@ -340,7 +340,7 @@ static skip_from_regular_parse = ctRegex!(`^(--[+~-]#|-[\\]{2}-|=[.\\]{2}=)$` ** line & page breaks :break: -#+NAME: meta_rgx_18 +#+NAME: meta_rgx_line_and_page_breaks #+BEGIN_SRC d /+ line & page breaks +/ static break_string = ctRegex!(`』`); @@ -348,7 +348,7 @@ static break_string = ctRegex!(`』`); ** biblio tags :biblio:tags: -#+NAME: meta_rgx_19 +#+NAME: meta_rgx_bibliography #+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+(.+)`); @@ -357,7 +357,7 @@ static biblio_abbreviations = ctRegex!(`^(au|ed|ti|lng ** bookindex split :bookindex:split: -#+NAME: meta_rgx_20 +#+NAME: meta_rgx_book_index_split #+BEGIN_SRC d /+ bookindex split +/ static bi_main_terms_split = ctRegex!(`\s*;\s*`); @@ -368,7 +368,7 @@ static bi_term_and_object_numbers_match = ctRegex!(`^(.+?)\+(\d+)` ** topic register split (document classify) -#+NAME: meta_rgx_21 +#+NAME: meta_rgx_topic_register_split #+BEGIN_SRC d static topic_register_main_terms_split = ctRegex!(`\s*;\s*`); static topic_register_main_term_plus_rest_split = ctRegex!(`\s*:\s*`); @@ -378,7 +378,7 @@ static topic_register_multiple_sub_terms_split = ctRegex!(`␣([^|␣]+(? ** language codes :language:codes: -#+NAME: meta_rgx_22 +#+NAME: meta_rgx_language_codes #+BEGIN_SRC d /+ language codes +/ auto language_code_and_filename = @@ -403,17 +403,17 @@ https://dlang.org/phobos/std_regex.html module doc_reform.io_out.rgx; static template spineRgxOut() { static struct RgxO { - <<prgmkup_rgx_0>> - <<prgmkup_rgx_1>> - <<prgmkup_rgx_2>> - <<prgmkup_rgx_3>> - <<prgmkup_rgx_4>> - <<prgmkup_rgx_5>> - <<prgmkup_rgx_6>> - <<prgmkup_rgx_7>> - <<prgmkup_rgx_8>> - <<sp_ch_xhtml_rgx_0>> - <<sp_ch_xhtml_rgx_1>> + <<prgmkup_rgx_spaces>> + <<prgmkup_rgx_filename_and_path>> + <<prgmkup_rgx_inline_breaks>> + <<prgmkup_rgx_internal_footnotes_and_endnotes>> + <<prgmkup_rgx_inline_links>> + <<prgmkup_rgx_font_face>> + <<prgmkup_rgx_font_face_line>> + <<prgmkup_rgx_inline_font_face>> + <<prgmkup_rgx_table>> + <<sp_ch_xhtml_rgx>> + <<sp_ch_latex_rgx>> } } #+END_SRC @@ -421,7 +421,7 @@ static template spineRgxOut() { ** special characters *** xhtml special characters -#+NAME: sp_ch_xhtml_rgx_0 +#+NAME: sp_ch_xhtml_rgx #+BEGIN_SRC d static xhtml_ampersand = ctRegex!(`[&]`, "m"); // & static xhtml_quotation = ctRegex!(`["]`, "m"); // " @@ -432,7 +432,7 @@ static xhtml_line_break = ctRegex!(` [\\]{2}`, "m"); / *** latex special characters -#+NAME: sp_ch_xhtml_rgx_1 +#+NAME: sp_ch_latex_rgx #+BEGIN_SRC d static latex_special_char = ctRegex!(`([%${}_#&\\])`); static latex_special_char_for_escape = ctRegex!(`([%${}_#\\])`); @@ -449,7 +449,7 @@ static latex_clean_bookindex_linebreak = ctRegex!(`\s*\\\\\\\\\s*`, " * 2. ctRegex defaults shared by meta & output (generic) ** misc generic -#+NAME: prgmkup_rgx_0 +#+NAME: prgmkup_rgx_spaces #+BEGIN_SRC d static newline = ctRegex!("\n", "mg"); static space = ctRegex!(`[ ]`, "mg"); @@ -460,7 +460,7 @@ static nbsp_char = ctRegex!(`░`, "mg"); ** filename (& path) (including insert file) :insert:file:path:filename: -#+NAME: prgmkup_rgx_1 +#+NAME: prgmkup_rgx_filename_and_path #+BEGIN_SRC d static src_pth_sst_or_ssm = ctRegex!(`^(?P<path>[/]?(?:[a-zA-Z0-9._-]+/)*)(?P<filename>[a-zA-Z0-9._-]+[.](?P<extension>ss[tm]))$`); static src_pth_pod_sst_or_ssm = ctRegex!(`^(?P<podpath>[/]?(?:[a-zA-Z0-9._-]+/)*)media/text/[a-z]{2}/(?P<filename>[a-zA-Z0-9][a-zA-Z0-9._-]*?[.]ss[tm])$`); @@ -481,7 +481,7 @@ static src_formalised_file_path_parts = ctRegex!(`(?P<pth>(?:[/a *** inline breaks -#+NAME: prgmkup_rgx_2 +#+NAME: prgmkup_rgx_inline_breaks #+BEGIN_SRC d /+ line breaks +/ static br_empty_line = ctRegex!(`\n[ ]*\n`, "mg"); @@ -492,7 +492,7 @@ static br_nl = ctRegex!(`┙`, "mg"); *** inline (internal program) markup footnotes endnotes :inline:footnote: -#+NAME: prgmkup_rgx_3 +#+NAME: prgmkup_rgx_internal_footnotes_and_endnotes #+BEGIN_SRC d /+ inline markup footnotes endnotes +/ static inline_notes_al = ctRegex!(`【(?:[*+]\s+|\s*)(.+?)】`, "mg"); @@ -512,7 +512,7 @@ static inline_text_and_note_al_ = ctRegex!(`(.+?(?:【[*+] *** inline links -#+NAME: prgmkup_rgx_4 +#+NAME: prgmkup_rgx_inline_links #+BEGIN_SRC d /+ inline markup links +/ static inline_image = ctRegex!(`(?P<pre>┥)☼(?P<imginf>(?P<img>[a-zA-Z0-9._-]+?\.(?:jpg|gif|png)),w(?P<width>\d+)h(?P<height>\d+))\s*(?P<post>.*?┝┤.*?├)`, "mg"); @@ -540,7 +540,7 @@ static quotation_mark_sql_insert_delimiter = ctRegex!("[']", "mg"); *** inline markup font face mod :inline:font:face: -#+NAME: prgmkup_rgx_5 +#+NAME: prgmkup_rgx_font_face #+BEGIN_SRC d /+ inline markup font face mod +/ static inline_mark_emphasis = ctRegex!(`(?P<mark>[*])\{(?P<text>.+?)\}[*]`, "mg"); @@ -555,7 +555,7 @@ static inline_mark_mono = ctRegex!(`(?P<mark>[#])\{( static inline_mark_cite = ctRegex!(`(?P<mark>["])\{(?P<text>.+?)\}["]`, "mg"); #+END_SRC -#+NAME: prgmkup_rgx_6 +#+NAME: prgmkup_rgx_font_face_line #+BEGIN_SRC d static inline_faces_line = ctRegex!(`^[*!/_]_ (?P<text>.+?)((?: [\\]{2}|[~]#){0,2}$)`); static inline_emphasis_line = ctRegex!(`^\*_ (?P<text>.+?)(?P<tail>(?: [\\]{2}|[~]#){0,2}$)`); @@ -564,7 +564,7 @@ static inline_italics_line = ctRegex!(`^/_ (?P<text>. static inline_underscore_line = ctRegex!(`^__ (?P<text>.+?)(?P<tail>(?: [\\]{2}|[~]#){0,2}$)`); #+END_SRC -#+NAME: prgmkup_rgx_7 +#+NAME: prgmkup_rgx_inline_font_face #+BEGIN_SRC d /+ inline markup font face mod +/ static inline_emphasis = ctRegex!(`[*]┨(?P<text>.+?)┣[*]`, "mg"); @@ -583,7 +583,7 @@ static inline_fontface_clean = ctRegex!(`[*!_/^,+■‖ *** table related -#+NAME: prgmkup_rgx_8 +#+NAME: prgmkup_rgx_table #+BEGIN_SRC d /+ table delimiters +/ static table_delimiter_col = ctRegex!("[ ]*[┊][ ]*", "mg"); |