{ "idenifier_chars" : { "headings" : "#", "inline_styles" : "`!*_~|&%$#-+=", "sup" : "^", "sub" : "_", "ordered" : [ "[number].", "[letter].", "[i]." ], "unordered" : "-=+*", "embed" : "!#$*_~|&%-+=", "link" : "/" }, "basic_unit_tests" : { "heading_1" : { "input" : "# hello this is a heading\n", "parsed" : [ {"heading" : "#"}, {"text" : "hello this is a heading"}, {"newline" : "\n"} ] }, "heading_2" : { "input" : "## hello this is a heading\n", "parsed" : [ {"heading" : "##"}, {"text" : "hello this is a heading"}, {"newline" : "\n"} ] }, "heading_3" : { "input" : "### hello this is a heading\n", "parsed" : [ {"heading" : "###"}, {"text" : "hello this is a heading"}, {"newline" : "\n"} ] }, "heading_4" : { "input" : "#### hello this is a heading\n", "parsed" : [ {"heading" : "####"}, {"text" : "hello this is a heading"}, {"newline" : "\n"} ] }, "heading_5" : { "input" : "##### hello this is a heading\n", "parsed" : [ {"heading" : "#####"}, {"text" : "hello this is a heading"}, {"newline" : "\n"} ] }, "heading_6" : { "input" : "###### hello this is a heading\n", "parsed" : [ {"heading" : "######"}, {"text" : "hello this is a heading"}, {"newline" : "\n"} ] }, "header_no_text" : { "input" : "######\n", "parsed" : [ {"heading" : "######"}, {"newline" : "\n"} ] }, "text" : { "input" : "plain test\n", "parsed" : [ {"text" : "plain test"}, {"newline" : "\n"} ] }, "text_style_code" : { "input" : "`plain test`\n", "parsed" : [ {"inline_style" : "`"}, {"text" : "plain test"}, {"inline_style" : "`"}, {"newline" : "\n"} ] }, "text_style_bold" : { "input" : "!plain test!\n", "parsed" : [ {"inline_style" : "!"}, {"text" : "plain test"}, {"inline_style" : "!"}, {"newline" : "\n"} ] }, "text_style_italic" : { "input" : "*plain test*\n", "parsed" : [ {"inline_style" : "*"}, {"text" : "plain test"}, {"inline_style" : "*"}, {"newline" : "\n"} ] }, "text_style_underline" : { "input" : "_plain test_\n", "parsed" : [ {"inline_style" : "_"}, {"text" : "plain test"}, {"inline_style" : "_"}, {"newline" : "\n"} ] }, "text_style_strikethrough" : { "input" : "~plain test~\n", "parsed" : [ {"inline_style" : "~"}, {"text" : "plain test"}, {"inline_style" : "~"}, {"newline" : "\n"} ] }, "text_style_highlighted" : { "input" : "|plain test|\n", "parsed" : [ {"inline_style" : "|"}, {"text" : "plain test"}, {"inline_style" : "|"}, {"newline" : "\n"} ] }, "text_style_&" : { "input" : "&plain test&\n", "parsed" : [ {"inline_style" : "&"}, {"text" : "plain test"}, {"inline_style" : "&"}, {"newline" : "\n"} ] }, "text_style_%" : { "input" : "%plain test%\n", "parsed" : [ {"inline_style" : "%"}, {"text" : "plain test"}, {"inline_style" : "%"}, {"newline" : "\n"} ] }, "text_style_$" : { "input" : "$plain test$\n", "parsed" : [ {"inline_style" : "$"}, {"text" : "plain test"}, {"inline_style" : "$"}, {"newline" : "\n"} ] }, "text_style_#" : { "input" : "#plain test#\n", "parsed" : [ {"inline_style" : "#"}, {"text" : "plain test"}, {"inline_style" : "#"}, {"newline" : "\n"} ] }, "text_style_-" : { "input" : "-plain test-\n", "parsed" : [ {"inline_style" : "-"}, {"text" : "plain test"}, {"inline_style" : "-"}, {"newline" : "\n"} ] }, "text_style_+" : { "input" : "+plain test+\n", "parsed" : [ {"inline_style" : "+"}, {"text" : "plain test"}, {"inline_style" : "+"}, {"newline" : "\n"} ] }, "text_style_=" : { "input" : "=plain test=\n", "parsed" : [ {"inline_style" : "="}, {"text" : "plain test"}, {"inline_style" : "="}, {"newline" : "\n"} ] }, "text_style_espaced" : { "input" : "\\`plain test`\n", "parsed" : [ {"text" : "`plain test`"}, {"newline" : "\n"} ] }, "text_style_with_style_char_in_string" : { "input" : "+plain something + something else test+\n", "parsed" : [ {"inline_style" : "+"}, {"text" : "plain something + something else test"}, {"inline_style" : "+"}, {"newline" : "\n"} ] }, "text_style_with_space right after" : { "input" : "+ plain something + something else test+\n", "parsed" : [ {"text" : "+ plain something + something else test+"}, {"newline" : "\n"} ] }, "text_style_super_script" : { "input" : "sometext^2\n", "parsed" : [ {"text" : "sometext"}, {"sup" : "^"}, {"text" : "2"} ] }, "text_style_sub_script" : { "input" : "sometext_2\n", "parsed" : [ {"text" : "sometext"}, {"sub" : "_"}, {"text" : "2"} ] }, "list_ordered_number":{ "input" : "1. ordered list\n2. ordered list\n3. ordered list\n", "parsed" : [ {"ordered_list" : "1."}, {"text" : "ordered list"}, {"newline" : "\n"}, {"ordered_list" : "2."}, {"text" : "ordered list"}, {"newline" : "\n"}, {"ordered_list" : "3."}, {"text" : "ordered list"}, {"newline" : "\n"} ] }, "list_ordered_i":{ "input" : "i. ordered list\nii. ordered list\niii. ordered list\n", "parsed" : [ {"ordered_list" : "i."}, {"text" : "ordered list"}, {"newline" : "\n"}, {"ordered_list" : "ii."}, {"text" : "ordered list"}, {"newline" : "\n"}, {"ordered_list" : "iii."}, {"text" : "ordered list"}, {"newline" : "\n"} ] }, "list_ordered_letter":{ "input" : "a. ordered list\nb. ordered list\nc. ordered list\n", "parsed" : [ {"ordered_list" : "a."}, {"text" : "ordered list"}, {"newline" : "\n"}, {"ordered_list" : "b."}, {"text" : "ordered list"}, {"newline" : "\n"}, {"ordered_list" : "c."}, {"text" : "ordered list"}, {"newline" : "\n"} ] }, "list_unordered_dashed":{ "input" : "- unordered list\n- unordered list\n- unordered list\n", "parsed" : [ {"unordered_list" : "-"}, {"text" : "unordered list"}, {"newline" : "\n"}, {"unordered_list" : "-"}, {"text" : "unordered list"}, {"newline" : "\n"}, {"unordered_list" : "-"}, {"text" : "unordered list"}, {"newline" : "\n"} ] }, "list_unordered_eq":{ "input" : "= unordered list\n= unordered list\n= unordered list\n", "parsed" : [ {"unordered_list" : "="}, {"text" : "unordered list"}, {"newline" : "\n"}, {"unordered_list" : "="}, {"text" : "unordered list"}, {"newline" : "\n"}, {"unordered_list" : "="}, {"text" : "unordered list"}, {"newline" : "\n"} ] }, "list_unordered_plus":{ "input" : "+ unordered list\n+ unordered list\n+ unordered list\n", "parsed" : [ {"unordered_list" : "+"}, {"text" : "unordered list"}, {"newline" : "\n"}, {"unordered_list" : "+"}, {"text" : "unordered list"}, {"newline" : "\n"}, {"unordered_list" : "+"}, {"text" : "unordered list"}, {"newline" : "\n"} ] }, "list_unordered_dot":{ "input" : "* unordered list\n* unordered list\n* unordered list\n", "parsed" : [ {"unordered_list" : "*"}, {"text" : "unordered list"}, {"newline" : "\n"}, {"unordered_list" : "*"}, {"text" : "unordered list"}, {"newline" : "\n"}, {"unordered_list" : "*"}, {"text" : "unordered list"}, {"newline" : "\n"} ] }, "embed_image": { "input" : "![figure text](relitive path to image)\n", "parsed" : [ {"embed" : "!"}, {"bracket_open" : "["}, {"text" : "figure text"}, {"bracket_close" : "]"}, {"bracket_open" : "("}, {"raw_text" : "relitive path to image"}, {"bracket_close" : ")"}, {"newline" : "\n"} ] }, "embed_table": { "input" : "#[table text](relitive path to tabulated data)\n", "parsed" : [ {"embed" : "#"}, {"bracket_open" : "["}, {"text" : "table text"}, {"bracket_close" : "]"}, {"bracket_open" : "("}, {"raw_text" : "relitive path to tabulated data"}, {"bracket_close" : ")"}, {"newline" : "\n"} ] }, "embed_file": { "input" : "$[file text](path to file#starting_line:ending_line)\n", "parsed" : [ {"embed" : "$"}, {"bracket_open" : "["}, {"text" : "file text"}, {"bracket_close" : "]"}, {"bracket_open" : "("}, {"raw_text" : "path to file#starting_line:ending_line"}, {"bracket_close" : ")"}, {"newline" : "\n"} ] }, "embed_*": { "input" : "*[file text](file_path)\n", "parsed" : [ {"embed" : "*"}, {"bracket_open" : "["}, {"text" : "file text"}, {"bracket_close" : "]"}, {"bracket_open" : "("}, {"raw_text" : "file_path"}, {"bracket_close" : ")"}, {"newline" : "\n"} ] }, "embed__": { "input" : "_[file text](file_path)\n", "parsed" : [ {"embed" : "_"}, {"bracket_open" : "["}, {"text" : "file text"}, {"bracket_close" : "]"}, {"bracket_open" : "("}, {"raw_text" : "file_path"}, {"bracket_close" : ")"}, {"newline" : "\n"} ] }, "embed_~": { "input" : "~[file text](file_path)\n", "parsed" : [ {"embed" : "~"}, {"bracket_open" : "["}, {"text" : "file text"}, {"bracket_close" : "]"}, {"bracket_open" : "("}, {"raw_text" : "file_path"}, {"bracket_close" : ")"}, {"newline" : "\n"} ] }, "embed_|": { "input" : "|[file text](file_path)\n", "parsed" : [ {"embed" : "|"}, {"bracket_open" : "["}, {"text" : "file text"}, {"bracket_close" : "]"}, {"bracket_open" : "("}, {"raw_text" : "file_path"}, {"bracket_close" : ")"}, {"newline" : "\n"} ] }, "embed_&": { "input" : "&[file text](file_path)\n", "parsed" : [ {"embed" : "&"}, {"bracket_open" : "["}, {"text" : "file text"}, {"bracket_close" : "]"}, {"bracket_open" : "("}, {"raw_text" : "file_path"}, {"bracket_close" : ")"}, {"newline" : "\n"} ] }, "embed_%": { "input" : "%[file text](file_path)\n", "parsed" : [ {"embed" : "%"}, {"bracket_open" : "["}, {"text" : "file text"}, {"bracket_close" : "]"}, {"bracket_open" : "("}, {"raw_text" : "file_path"}, {"bracket_close" : ")"}, {"newline" : "\n"} ] }, "embed_-": { "input" : "-[file text](file_path)\n", "parsed" : [ {"embed" : "-"}, {"bracket_open" : "["}, {"text" : "file text"}, {"bracket_close" : "]"}, {"bracket_open" : "("}, {"raw_text" : "file_path"}, {"bracket_close" : ")"}, {"newline" : "\n"} ] }, "embed_+": { "input" : "+[file text](file_path)\n", "parsed" : [ {"embed" : "+"}, {"bracket_open" : "["}, {"text" : "file text"}, {"bracket_close" : "]"}, {"bracket_open" : "("}, {"raw_text" : "file_path"}, {"bracket_close" : ")"}, {"newline" : "\n"} ] }, "embed_=": { "input" : "=[file text](file_path)\n", "parsed" : [ {"embed" : "="}, {"bracket_open" : "["}, {"text" : "file text"}, {"bracket_close" : "]"}, {"bracket_open" : "("}, {"raw_text" : "file_path"}, {"bracket_close" : ")"}, {"newline" : "\n"} ] }, "embed_link": { "input" : "/[file text](link to something)\n", "parsed" : [ {"link" : "/"}, {"bracket_open" : "["}, {"text" : "file text"}, {"bracket_close" : "]"}, {"bracket_open" : "("}, {"raw_text" : "link to something"}, {"bracket_close" : ")"}, {"newline" : "\n"} ] }, "table" : { "input" : "| col | col | col |\n| --- | --- | --- |\n| row | row | row |\n| row | row | row |\n| row | row | row |\n| row | row | row |\n", "parsed" : [ {"table_sep" : "|"}, {"text" : " col "}, {"table_sep" : "|"}, {"text" : " col "}, {"table_sep" : "|"}, {"text" : " col "}, {"table_sep" : "|"}, {"newline" : "\n"}, {"table_sep" : "|"}, {"table_row_sep" : " --- "}, {"table_sep" : "|"}, {"table_row_sep" : " --- "}, {"table_sep" : "|"}, {"table_row_sep" : " --- "}, {"table_sep" : "|"}, {"newline" : "\n"}, {"table_sep" : "|"}, {"text" : " row "}, {"table_sep" : "|"}, {"text" : " row "}, {"table_sep" : "|"}, {"text" : " row "}, {"table_sep" : "|"}, {"newline" : "\n"}, {"table_sep" : "|"}, {"text" : " row "}, {"table_sep" : "|"}, {"text" : " row "}, {"table_sep" : "|"}, {"text" : " row "}, {"table_sep" : "|"}, {"newline" : "\n"}, {"table_sep" : "|"}, {"text" : " row "}, {"table_sep" : "|"}, {"text" : " row "}, {"table_sep" : "|"}, {"text" : " row "}, {"table_sep" : "|"}, {"newline" : "\n"}, {"table_sep" : "|"}, {"text" : " row "}, {"table_sep" : "|"}, {"text" : " row "}, {"table_sep" : "|"}, {"text" : " row "}, {"table_sep" : "|"}, {"newline" : "\n"} ] }, "quote_arrow" : { "input" : "> quote\n> quote\n> quote\n", "parsed" : [ {"quote" : ">"}, {"text" : "quote"}, {"newline" : "\n"}, {"quote" : ">"}, {"text" : "quote"}, {"newline" : "\n"}, {"quote" : ">"}, {"text" : "quote"}, {"newline" : "\n"} ] }, "quote_bar" : { "input" : "| quote\n| quote\n| quote\n", "parsed" : [ {"quote" : "|"}, {"text" : "quote"}, {"newline" : "\n"}, {"quote" : "|"}, {"text" : "quote"}, {"newline" : "\n"}, {"quote" : "|"}, {"text" : "quote"}, {"newline" : "\n"} ] }, "text_block" : { "input" : "```\nsome text or code\n```\n", "parsed" : [ {"code_block" : "```"}, {"newline" : "\n"}, {"raw_text" : "some text or code"}, {"newline" : "\n"}, {"code_block" : "```"}, {"newline" : "\n"} ] }, "code_block" : { "input" : "```lang_name\nsome text or code\n```\n", "parsed" : [ {"code_block" : "```"}, {"raw_text" : "lang_name"}, {"newline" : "\n"}, {"raw_text" : "some text or code"}, {"newline" : "\n"}, {"code_block" : "```"}, {"newline" : "\n"} ] }, "passthrough_block" : { "input" : "```passthrough\nsome text or code\n```\n", "parsed" : [ {"code_block" : "```"}, {"raw_text" : "passthrough"}, {"newline" : "\n"}, {"raw_text" : "some text or code"}, {"newline" : "\n"}, {"code_block" : "```"}, {"newline" : "\n"} ] }, "comment" : { "input" : "// this is a comment\n", "parsed" : [ {"comment" : "// "}, {"raw_text" : "this is a comment"}, {"newline" : "\n"} ] }, "tick_box_empty" : { "input" : "- [ ] something to check off\n", "parsed" : [ {"tickbox" : "- [ ]"}, {"text" : "something to check off"}, {"newline" : "\n"} ] }, "tick_box_checked" : { "input" : "- [x] something checked off\n", "parsed" : [ {"tickbox" : "- [x]"}, {"text" : "something checked off"}, {"newline" : "\n"} ] }, "tick_box_ticked" : { "input" : "- [/] something ticked off\n", "parsed" : [ {"tickbox" : "- [/]"}, {"text" : "something ticked off"}, {"newline" : "\n"} ] }, "tick_box_dashed" : { "input" : "- [~] something dashed off\n", "parsed" : [ {"tickbox" : "- [~]"}, {"text" : "something dashed off"}, {"newline" : "\n"} ] }, "horizontal_rule_straight_line" : { "input" : "---\n", "parsed" : [ {"rule" : "---"}, {"newline" : "\n"} ] }, "horizontal_rule_double_straight_line" : { "input" : "===\n", "parsed" : [ {"rule" : "==="}, {"newline" : "\n"} ] }, "horizontal_rule_big_dotted_straight_line" : { "input" : "***\n", "parsed" : [ {"rule" : "***"}, {"newline" : "\n"} ] }, "horizontal_rule_small_dotted_line" : { "input" : "...\n", "parsed" : [ {"rule" : "..."}, {"newline" : "\n"} ] }, "horizontal_rule_squiggly_line" : { "input" : "&&&\n", "parsed" : [ {"rule" : "&&&"}, {"newline" : "\n"} ] }, "horizontal_rule_jagged_line" : { "input" : "^^^\n", "parsed" : [ {"rule" : "^^^"}, {"newline" : "\n"} ] }, "footnote" : { "input" : "sometext [^1]\n\n[^1]: footnote\n", "parsed" : [ {"text" : "sometext "}, {"footnote" : "[^1]"}, {"newline" : "\n"}, {"newline" : "\n"}, {"footnote_def" : "[^1]:"}, {"text" : "footnote"}, {"newline" : "\n"} ] }, "inbulit" : { "input" : "@.macro(arg, arg2)\n", "parsed" : [ {"inbulit" : "macro"}, {"bracket_open" : "("}, {"macro_arg" : "arg"}, {"arg_sep" : ","}, {"macro_arg" : "arg2"}, {"bracket_close" : ")"}, {"newline" : "\n"} ] } } }