cmark_syntax_extension *create_autolink_extension(void) { cmark_syntax_extension *ext = cmark_syntax_extension_new("autolink"); cmark_llist *special_chars = NULL; cmark_syntax_extension_set_match_inline_func(ext, match); cmark_syntax_extension_set_postprocess_func(ext, postprocess); cmark_mem *mem = cmark_get_default_mem_allocator(); special_chars = cmark_llist_append(mem, special_chars, (void *)':'); special_chars = cmark_llist_append(mem, special_chars, (void *)'w'); cmark_syntax_extension_set_special_inline_chars(ext, special_chars); return ext; }
static cmark_syntax_extension *create_gtkdoc_extension(void) { cmark_syntax_extension *ext = cmark_syntax_extension_new("gtk_doc"); ext->try_opening_block = try_opening_code_block; ext->last_block_matches = code_block_matches; ext->match_inline = gtkdoc_match; ext->insert_inline_from_delim = gtkdoc_unused; ext->special_inline_chars = cmark_llist_append(ext->special_inline_chars, (void *) '('); ext->special_inline_chars = cmark_llist_append(ext->special_inline_chars, (void *) '@'); ext->special_inline_chars = cmark_llist_append(ext->special_inline_chars, (void *) '#'); ext->special_inline_chars = cmark_llist_append(ext->special_inline_chars, (void *) '%'); return ext; }
cmark_syntax_extension *create_strikethrough_extension(void) { cmark_syntax_extension *ext = cmark_syntax_extension_new("strikethrough"); cmark_llist *special_chars = NULL; cmark_syntax_extension_set_get_type_string_func(ext, get_type_string); cmark_syntax_extension_set_can_contain_func(ext, can_contain); cmark_syntax_extension_set_commonmark_render_func(ext, commonmark_render); cmark_syntax_extension_set_latex_render_func(ext, latex_render); cmark_syntax_extension_set_man_render_func(ext, man_render); cmark_syntax_extension_set_html_render_func(ext, html_render); CMARK_NODE_STRIKETHROUGH = cmark_syntax_extension_add_node(1); cmark_syntax_extension_set_match_inline_func(ext, match); cmark_syntax_extension_set_inline_from_delim_func(ext, insert); cmark_mem *mem = cmark_get_default_mem_allocator(); special_chars = cmark_llist_append(mem, special_chars, (void *)'~'); cmark_syntax_extension_set_special_inline_chars(ext, special_chars); cmark_syntax_extension_set_emphasis(ext, 1); return ext; }