commonmarker 0.17.6 → 0.17.7
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of commonmarker might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Rakefile +0 -7
- data/ext/commonmarker/{cmark/src/arena.c → arena.c} +0 -0
- data/ext/commonmarker/{cmark/extensions/autolink.c → autolink.c} +0 -0
- data/ext/commonmarker/{cmark/extensions/autolink.h → autolink.h} +0 -0
- data/ext/commonmarker/{cmark/src/blocks.c → blocks.c} +0 -0
- data/ext/commonmarker/{cmark/src/buffer.c → buffer.c} +0 -0
- data/ext/commonmarker/{cmark/src/buffer.h → buffer.h} +0 -0
- data/ext/commonmarker/{cmark/src/case_fold_switch.inc → case_fold_switch.inc} +0 -0
- data/ext/commonmarker/{cmark/src/chunk.h → chunk.h} +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/CMakeLists.txt +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/COPYING +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/FindAsan.cmake +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/Makefile +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/Makefile.nmake +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/README.md +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/api_test/CMakeLists.txt +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/api_test/cplusplus.cpp +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/api_test/cplusplus.h +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/api_test/harness.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/api_test/harness.h +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/api_test/main.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/appveyor.yml +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/block-bq-flat.md +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/block-bq-nested.md +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/block-code.md +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/block-fences.md +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/block-heading.md +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/block-hr.md +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/block-html.md +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/block-lheading.md +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/block-list-flat.md +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/block-list-nested.md +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/block-ref-flat.md +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/block-ref-nested.md +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/inline-autolink.md +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/inline-backticks.md +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/inline-em-flat.md +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/inline-em-nested.md +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/inline-em-worst.md +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/inline-entity.md +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/inline-escape.md +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/inline-html.md +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/inline-links-flat.md +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/inline-links-nested.md +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/inline-newlines.md +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/lorem1.md +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/rawtabs.md +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/bench/statistics.py +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/bench/stats.py +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/benchmarks.md +0 -0
- data/ext/commonmarker/cmark-upstream/build/CMakeCache.txt +478 -0
- data/ext/commonmarker/cmark-upstream/build/CMakeFiles/3.9.6/CMakeCCompiler.cmake +71 -0
- data/ext/commonmarker/cmark-upstream/build/CMakeFiles/3.9.6/CMakeCXXCompiler.cmake +73 -0
- data/ext/commonmarker/cmark-upstream/build/CMakeFiles/3.9.6/CMakeDetermineCompilerABI_C.bin +0 -0
- data/ext/commonmarker/cmark-upstream/build/CMakeFiles/3.9.6/CMakeDetermineCompilerABI_CXX.bin +0 -0
- data/ext/commonmarker/cmark-upstream/build/CMakeFiles/3.9.6/CMakeSystem.cmake +15 -0
- data/ext/commonmarker/cmark-upstream/build/CMakeFiles/3.9.6/CompilerIdC/CMakeCCompilerId.c +567 -0
- data/ext/commonmarker/cmark-upstream/build/CMakeFiles/3.9.6/CompilerIdC/a.out +0 -0
- data/ext/commonmarker/cmark-upstream/build/CMakeFiles/3.9.6/CompilerIdCXX/CMakeCXXCompilerId.cpp +539 -0
- data/ext/commonmarker/cmark-upstream/build/CMakeFiles/3.9.6/CompilerIdCXX/a.out +0 -0
- data/ext/commonmarker/cmark-upstream/build/CMakeFiles/CMakeDirectoryInformation.cmake +16 -0
- data/ext/commonmarker/cmark-upstream/build/CMakeFiles/CMakeError.log +18 -0
- data/ext/commonmarker/cmark-upstream/build/CMakeFiles/CMakeOutput.log +709 -0
- data/ext/commonmarker/cmark-upstream/build/CMakeFiles/Makefile.cmake +157 -0
- data/ext/commonmarker/cmark-upstream/build/CMakeFiles/Makefile2 +391 -0
- data/ext/commonmarker/cmark-upstream/build/CMakeFiles/TargetDirectories.txt +48 -0
- data/ext/commonmarker/cmark-upstream/build/CMakeFiles/cmake.check_cache +1 -0
- data/ext/commonmarker/cmark-upstream/build/CMakeFiles/feature_tests.bin +0 -0
- data/ext/commonmarker/cmark-upstream/build/CMakeFiles/feature_tests.c +34 -0
- data/ext/commonmarker/cmark-upstream/build/CMakeFiles/feature_tests.cxx +405 -0
- data/ext/commonmarker/cmark-upstream/build/CMakeFiles/progress.marks +1 -0
- data/ext/commonmarker/cmark-upstream/build/CTestTestfile.cmake +11 -0
- data/ext/commonmarker/cmark-upstream/build/Makefile +280 -0
- data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/CMakeDirectoryInformation.cmake +16 -0
- data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/api_test.dir/C.includecache +134 -0
- data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/api_test.dir/CXX.includecache +38 -0
- data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/api_test.dir/DependInfo.cmake +38 -0
- data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/api_test.dir/build.make +169 -0
- data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/api_test.dir/cmake_clean.cmake +12 -0
- data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/api_test.dir/cplusplus.cpp.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/api_test.dir/depend.internal +28 -0
- data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/api_test.dir/depend.make +28 -0
- data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/api_test.dir/flags.make +17 -0
- data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/api_test.dir/harness.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/api_test.dir/link.txt +1 -0
- data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/api_test.dir/main.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/api_test.dir/progress.make +5 -0
- data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/progress.marks +1 -0
- data/ext/commonmarker/cmark-upstream/build/api_test/Makefile +302 -0
- data/ext/commonmarker/cmark-upstream/build/api_test/api_test +0 -0
- data/ext/commonmarker/cmark-upstream/build/api_test/cmake_install.cmake +29 -0
- data/ext/commonmarker/cmark-upstream/build/cmake_install.cmake +49 -0
- data/ext/commonmarker/cmark-upstream/build/compile_commands.json +352 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/CMakeDirectoryInformation.cmake +16 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/Export/lib/cmake-gfmextensions/cmark-gfmextensions-release.cmake +30 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/Export/lib/cmake-gfmextensions/cmark-gfmextensions.cmake +108 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/C.includecache +246 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/DependInfo.cmake +36 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/autolink.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/build.make +253 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/cmake_clean.cmake +16 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/core-extensions.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/depend.internal +96 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/depend.make +96 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/ext_scanners.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/flags.make +10 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/link.txt +1 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/progress.make +8 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/strikethrough.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/table.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/tagfilter.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/C.includecache +246 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/DependInfo.cmake +29 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/autolink.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/build.make +249 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/cmake_clean.cmake +15 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/cmake_clean_target.cmake +3 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/core-extensions.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/depend.internal +96 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/depend.make +96 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/ext_scanners.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/flags.make +10 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/link.txt +2 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/progress.make +8 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/strikethrough.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/table.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/tagfilter.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/progress.marks +1 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/Makefile +426 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/cmake_install.cmake +84 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/cmarkextensions_export.h +42 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/libcmark-gfmextensions.0.28.3.gfm.11.dylib +0 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/libcmark-gfmextensions.a +0 -0
- data/ext/commonmarker/cmark-upstream/build/extensions/libcmark-gfmextensions.dylib +1 -0
- data/ext/commonmarker/cmark-upstream/build/man/CMakeFiles/CMakeDirectoryInformation.cmake +16 -0
- data/ext/commonmarker/cmark-upstream/build/man/CMakeFiles/progress.marks +1 -0
- data/ext/commonmarker/cmark-upstream/build/man/Makefile +196 -0
- data/ext/commonmarker/cmark-upstream/build/man/cmake_install.cmake +37 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/CMakeDirectoryInformation.cmake +16 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/Export/lib/cmake/cmark-gfm-release.cmake +38 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/Export/lib/cmake/cmark-gfm.cmake +95 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/cmark-gfm.dir/C.includecache +156 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/cmark-gfm.dir/DependInfo.cmake +30 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/cmark-gfm.dir/build.make +115 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/cmark-gfm.dir/cmake_clean.cmake +10 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/cmark-gfm.dir/depend.internal +20 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/cmark-gfm.dir/depend.make +20 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/cmark-gfm.dir/flags.make +10 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/cmark-gfm.dir/link.txt +1 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/cmark-gfm.dir/main.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/cmark-gfm.dir/progress.make +3 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/C.includecache +612 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/DependInfo.cmake +60 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/arena.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/blocks.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/buffer.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/build.make +819 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/cmake_clean.cmake +37 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/cmark.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/cmark_ctype.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/commonmark.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/depend.internal +319 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/depend.make +319 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/flags.make +10 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/footnotes.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/houdini_href_e.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/houdini_html_e.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/houdini_html_u.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/html.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/inlines.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/iterator.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/latex.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/link.txt +1 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/linked_list.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/man.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/map.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/node.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/plaintext.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/plugin.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/progress.make +29 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/references.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/registry.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/render.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/scanners.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/syntax_extension.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/utf8.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/xml.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/C.includecache +612 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/DependInfo.cmake +54 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/arena.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/blocks.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/buffer.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/build.make +816 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/cmake_clean.cmake +36 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/cmake_clean_target.cmake +3 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/cmark.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/cmark_ctype.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/commonmark.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/depend.internal +319 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/depend.make +319 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/flags.make +10 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/footnotes.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/houdini_href_e.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/houdini_html_e.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/houdini_html_u.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/html.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/inlines.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/iterator.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/latex.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/link.txt +2 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/linked_list.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/man.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/map.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/node.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/plaintext.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/plugin.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/progress.make +29 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/references.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/registry.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/render.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/scanners.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/syntax_extension.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/utf8.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/xml.c.o +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/progress.marks +1 -0
- data/ext/commonmarker/cmark-upstream/build/src/Makefile +1165 -0
- data/ext/commonmarker/cmark-upstream/build/src/cmake_install.cmake +97 -0
- data/ext/commonmarker/cmark-upstream/build/src/cmark-gfm +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/cmark_export.h +42 -0
- data/ext/commonmarker/cmark-upstream/build/src/cmark_version.h +8 -0
- data/ext/commonmarker/cmark-upstream/build/src/config.h +76 -0
- data/ext/commonmarker/cmark-upstream/build/src/libcmark-gfm.0.28.3.gfm.11.dylib +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/libcmark-gfm.a +0 -0
- data/ext/commonmarker/cmark-upstream/build/src/libcmark-gfm.dylib +1 -0
- data/ext/commonmarker/cmark-upstream/build/src/libcmark-gfm.pc +10 -0
- data/ext/commonmarker/cmark-upstream/build/testdir/CMakeFiles/CMakeDirectoryInformation.cmake +16 -0
- data/ext/commonmarker/cmark-upstream/build/testdir/CMakeFiles/progress.marks +1 -0
- data/ext/commonmarker/cmark-upstream/build/testdir/CTestTestfile.cmake +17 -0
- data/ext/commonmarker/cmark-upstream/build/testdir/Makefile +196 -0
- data/ext/commonmarker/cmark-upstream/build/testdir/cmake_install.cmake +29 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/changelog.txt +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/data/CaseFolding.txt +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/extensions/CMakeLists.txt +0 -0
- data/ext/commonmarker/cmark-upstream/extensions/autolink.c +421 -0
- data/ext/commonmarker/cmark-upstream/extensions/autolink.h +8 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/extensions/core-extensions.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/extensions/core-extensions.h +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/extensions/ext_scanners.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/extensions/ext_scanners.h +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/extensions/ext_scanners.re +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/extensions/strikethrough.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/extensions/strikethrough.h +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/extensions/table.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/extensions/table.h +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/extensions/tagfilter.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/extensions/tagfilter.h +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/man/CMakeLists.txt +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/man/make_man_page.py +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/man/man1/cmark-gfm.1 +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/man/man3/cmark-gfm.3 +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/nmake.bat +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/CMakeLists.txt +0 -0
- data/ext/commonmarker/cmark-upstream/src/arena.c +103 -0
- data/ext/commonmarker/cmark-upstream/src/blocks.c +1519 -0
- data/ext/commonmarker/cmark-upstream/src/buffer.c +279 -0
- data/ext/commonmarker/cmark-upstream/src/buffer.h +116 -0
- data/ext/commonmarker/cmark-upstream/src/case_fold_switch.inc +4327 -0
- data/ext/commonmarker/cmark-upstream/src/chunk.h +136 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/cmark.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/cmark.h +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/cmark_ctype.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/cmark_ctype.h +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/cmark_extension_api.h +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/cmark_version.h.in +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/commonmark.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/config.h.in +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/entities.inc +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/footnotes.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/footnotes.h +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/houdini.h +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/houdini_href_e.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/houdini_html_e.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/houdini_html_u.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/html.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/html.h +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/inlines.c +8 -4
- data/ext/commonmarker/{cmark → cmark-upstream}/src/inlines.h +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/iterator.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/iterator.h +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/latex.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/libcmark-gfm.pc.in +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/linked_list.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/main.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/man.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/map.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/map.h +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/node.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/node.h +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/parser.h +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/plaintext.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/plugin.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/plugin.h +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/references.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/references.h +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/registry.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/registry.h +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/render.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/render.h +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/scanners.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/scanners.h +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/scanners.re +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/syntax_extension.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/syntax_extension.h +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/utf8.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/utf8.h +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/src/xml.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/suppressions +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/test/CMakeLists.txt +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/test/afl_test_cases/test.md +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/test/cmark-fuzz.c +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/test/cmark.py +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/test/entity_tests.py +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/test/extensions.txt +2 -2
- data/ext/commonmarker/{cmark → cmark-upstream}/test/fuzzing_dictionary +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/test/normalize.py +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/test/pathological_tests.py +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/test/regression.txt +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/test/roundtrip_tests.py +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/test/run-cmark-fuzz +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/test/smart_punct.txt +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/test/spec.txt +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/test/spec_tests.py +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/toolchain-mingw32.cmake +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/tools/Dockerfile +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/tools/appveyor-build.bat +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/tools/make_entities_inc.py +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/tools/mkcasefold.pl +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/why-cmark-and-not-x.md +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/wrappers/wrapper.js +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/wrappers/wrapper.py +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/wrappers/wrapper.rb +0 -0
- data/ext/commonmarker/{cmark → cmark-upstream}/wrappers/wrapper.rkt +0 -0
- data/ext/commonmarker/cmark.c +55 -0
- data/ext/commonmarker/cmark.h +789 -0
- data/ext/commonmarker/cmark_ctype.c +44 -0
- data/ext/commonmarker/cmark_ctype.h +33 -0
- data/ext/commonmarker/cmark_export.h +42 -0
- data/ext/commonmarker/cmark_extension_api.h +719 -0
- data/ext/commonmarker/cmark_version.h +8 -0
- data/ext/commonmarker/cmarkextensions_export.h +42 -0
- data/ext/commonmarker/commonmark.c +508 -0
- data/ext/commonmarker/config.h +76 -0
- data/ext/commonmarker/core-extensions.c +25 -0
- data/ext/commonmarker/core-extensions.h +25 -0
- data/ext/commonmarker/entities.inc +2138 -0
- data/ext/commonmarker/ext_scanners.c +941 -0
- data/ext/commonmarker/ext_scanners.h +22 -0
- data/ext/commonmarker/extconf.rb +1 -48
- data/ext/commonmarker/footnotes.c +40 -0
- data/ext/commonmarker/footnotes.h +25 -0
- data/ext/commonmarker/houdini.h +57 -0
- data/ext/commonmarker/houdini_href_e.c +100 -0
- data/ext/commonmarker/houdini_html_e.c +66 -0
- data/ext/commonmarker/houdini_html_u.c +149 -0
- data/ext/commonmarker/html.c +457 -0
- data/ext/commonmarker/html.h +27 -0
- data/ext/commonmarker/inlines.c +1594 -0
- data/ext/commonmarker/inlines.h +29 -0
- data/ext/commonmarker/iterator.c +159 -0
- data/ext/commonmarker/iterator.h +27 -0
- data/ext/commonmarker/latex.c +466 -0
- data/ext/commonmarker/linked_list.c +37 -0
- data/ext/commonmarker/man.c +278 -0
- data/ext/commonmarker/map.c +122 -0
- data/ext/commonmarker/map.h +42 -0
- data/ext/commonmarker/node.c +965 -0
- data/ext/commonmarker/node.h +116 -0
- data/ext/commonmarker/parser.h +57 -0
- data/ext/commonmarker/plaintext.c +213 -0
- data/ext/commonmarker/plugin.c +36 -0
- data/ext/commonmarker/plugin.h +34 -0
- data/ext/commonmarker/references.c +42 -0
- data/ext/commonmarker/references.h +26 -0
- data/ext/commonmarker/registry.c +63 -0
- data/ext/commonmarker/registry.h +24 -0
- data/ext/commonmarker/render.c +202 -0
- data/ext/commonmarker/render.h +63 -0
- data/ext/commonmarker/scanners.c +18195 -0
- data/ext/commonmarker/scanners.h +64 -0
- data/ext/commonmarker/scanners.re +341 -0
- data/ext/commonmarker/strikethrough.c +157 -0
- data/ext/commonmarker/strikethrough.h +9 -0
- data/ext/commonmarker/syntax_extension.c +139 -0
- data/ext/commonmarker/syntax_extension.h +32 -0
- data/ext/commonmarker/table.c +683 -0
- data/ext/commonmarker/table.h +8 -0
- data/ext/commonmarker/tagfilter.c +60 -0
- data/ext/commonmarker/tagfilter.h +8 -0
- data/ext/commonmarker/utf8.c +317 -0
- data/ext/commonmarker/utf8.h +35 -0
- data/ext/commonmarker/xml.c +174 -0
- data/lib/commonmarker/version.rb +1 -1
- data/test/test_helper.rb +1 -1
- metadata +401 -145
@@ -0,0 +1,64 @@
|
|
1
|
+
#ifndef CMARK_SCANNERS_H
|
2
|
+
#define CMARK_SCANNERS_H
|
3
|
+
|
4
|
+
#include "cmark.h"
|
5
|
+
#include "chunk.h"
|
6
|
+
|
7
|
+
#ifdef __cplusplus
|
8
|
+
extern "C" {
|
9
|
+
#endif
|
10
|
+
|
11
|
+
bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c,
|
12
|
+
bufsize_t offset);
|
13
|
+
bufsize_t _scan_scheme(const unsigned char *p);
|
14
|
+
bufsize_t _scan_autolink_uri(const unsigned char *p);
|
15
|
+
bufsize_t _scan_autolink_email(const unsigned char *p);
|
16
|
+
bufsize_t _scan_html_tag(const unsigned char *p);
|
17
|
+
bufsize_t _scan_liberal_html_tag(const unsigned char *p);
|
18
|
+
bufsize_t _scan_html_block_start(const unsigned char *p);
|
19
|
+
bufsize_t _scan_html_block_start_7(const unsigned char *p);
|
20
|
+
bufsize_t _scan_html_block_end_1(const unsigned char *p);
|
21
|
+
bufsize_t _scan_html_block_end_2(const unsigned char *p);
|
22
|
+
bufsize_t _scan_html_block_end_3(const unsigned char *p);
|
23
|
+
bufsize_t _scan_html_block_end_4(const unsigned char *p);
|
24
|
+
bufsize_t _scan_html_block_end_5(const unsigned char *p);
|
25
|
+
bufsize_t _scan_link_title(const unsigned char *p);
|
26
|
+
bufsize_t _scan_spacechars(const unsigned char *p);
|
27
|
+
bufsize_t _scan_atx_heading_start(const unsigned char *p);
|
28
|
+
bufsize_t _scan_setext_heading_line(const unsigned char *p);
|
29
|
+
bufsize_t _scan_thematic_break(const unsigned char *p);
|
30
|
+
bufsize_t _scan_open_code_fence(const unsigned char *p);
|
31
|
+
bufsize_t _scan_close_code_fence(const unsigned char *p);
|
32
|
+
bufsize_t _scan_entity(const unsigned char *p);
|
33
|
+
bufsize_t _scan_dangerous_url(const unsigned char *p);
|
34
|
+
bufsize_t _scan_footnote_definition(const unsigned char *p);
|
35
|
+
|
36
|
+
#define scan_scheme(c, n) _scan_at(&_scan_scheme, c, n)
|
37
|
+
#define scan_autolink_uri(c, n) _scan_at(&_scan_autolink_uri, c, n)
|
38
|
+
#define scan_autolink_email(c, n) _scan_at(&_scan_autolink_email, c, n)
|
39
|
+
#define scan_html_tag(c, n) _scan_at(&_scan_html_tag, c, n)
|
40
|
+
#define scan_liberal_html_tag(c, n) _scan_at(&_scan_liberal_html_tag, c, n)
|
41
|
+
#define scan_html_block_start(c, n) _scan_at(&_scan_html_block_start, c, n)
|
42
|
+
#define scan_html_block_start_7(c, n) _scan_at(&_scan_html_block_start_7, c, n)
|
43
|
+
#define scan_html_block_end_1(c, n) _scan_at(&_scan_html_block_end_1, c, n)
|
44
|
+
#define scan_html_block_end_2(c, n) _scan_at(&_scan_html_block_end_2, c, n)
|
45
|
+
#define scan_html_block_end_3(c, n) _scan_at(&_scan_html_block_end_3, c, n)
|
46
|
+
#define scan_html_block_end_4(c, n) _scan_at(&_scan_html_block_end_4, c, n)
|
47
|
+
#define scan_html_block_end_5(c, n) _scan_at(&_scan_html_block_end_5, c, n)
|
48
|
+
#define scan_link_title(c, n) _scan_at(&_scan_link_title, c, n)
|
49
|
+
#define scan_spacechars(c, n) _scan_at(&_scan_spacechars, c, n)
|
50
|
+
#define scan_atx_heading_start(c, n) _scan_at(&_scan_atx_heading_start, c, n)
|
51
|
+
#define scan_setext_heading_line(c, n) \
|
52
|
+
_scan_at(&_scan_setext_heading_line, c, n)
|
53
|
+
#define scan_thematic_break(c, n) _scan_at(&_scan_thematic_break, c, n)
|
54
|
+
#define scan_open_code_fence(c, n) _scan_at(&_scan_open_code_fence, c, n)
|
55
|
+
#define scan_close_code_fence(c, n) _scan_at(&_scan_close_code_fence, c, n)
|
56
|
+
#define scan_entity(c, n) _scan_at(&_scan_entity, c, n)
|
57
|
+
#define scan_dangerous_url(c, n) _scan_at(&_scan_dangerous_url, c, n)
|
58
|
+
#define scan_footnote_definition(c, n) _scan_at(&_scan_footnote_definition, c, n)
|
59
|
+
|
60
|
+
#ifdef __cplusplus
|
61
|
+
}
|
62
|
+
#endif
|
63
|
+
|
64
|
+
#endif
|
@@ -0,0 +1,341 @@
|
|
1
|
+
#include <stdlib.h>
|
2
|
+
#include "chunk.h"
|
3
|
+
#include "scanners.h"
|
4
|
+
|
5
|
+
bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c, bufsize_t offset)
|
6
|
+
{
|
7
|
+
bufsize_t res;
|
8
|
+
unsigned char *ptr = (unsigned char *)c->data;
|
9
|
+
|
10
|
+
if (ptr == NULL || offset > c->len) {
|
11
|
+
return 0;
|
12
|
+
} else {
|
13
|
+
unsigned char lim = ptr[c->len];
|
14
|
+
|
15
|
+
ptr[c->len] = '\0';
|
16
|
+
res = scanner(ptr + offset);
|
17
|
+
ptr[c->len] = lim;
|
18
|
+
}
|
19
|
+
|
20
|
+
return res;
|
21
|
+
}
|
22
|
+
|
23
|
+
/*!re2c
|
24
|
+
re2c:define:YYCTYPE = "unsigned char";
|
25
|
+
re2c:define:YYCURSOR = p;
|
26
|
+
re2c:define:YYMARKER = marker;
|
27
|
+
re2c:define:YYCTXMARKER = marker;
|
28
|
+
re2c:yyfill:enable = 0;
|
29
|
+
|
30
|
+
wordchar = [^\x00-\x20];
|
31
|
+
|
32
|
+
spacechar = [ \t\v\f\r\n];
|
33
|
+
|
34
|
+
reg_char = [^\\()\x00-\x20];
|
35
|
+
|
36
|
+
escaped_char = [\\][!"#$%&'()*+,./:;<=>?@[\\\]^_`{|}~-];
|
37
|
+
|
38
|
+
tagname = [A-Za-z][A-Za-z0-9-]*;
|
39
|
+
|
40
|
+
blocktagname = 'address'|'article'|'aside'|'base'|'basefont'|'blockquote'|'body'|'caption'|'center'|'col'|'colgroup'|'dd'|'details'|'dialog'|'dir'|'div'|'dl'|'dt'|'fieldset'|'figcaption'|'figure'|'footer'|'form'|'frame'|'frameset'|'h1'|'h2'|'h3'|'h4'|'h5'|'h6'|'head'|'header'|'hr'|'html'|'iframe'|'legend'|'li'|'link'|'main'|'menu'|'menuitem'|'meta'|'nav'|'noframes'|'ol'|'optgroup'|'option'|'p'|'param'|'section'|'source'|'title'|'summary'|'table'|'tbody'|'td'|'tfoot'|'th'|'thead'|'title'|'tr'|'track'|'ul';
|
41
|
+
|
42
|
+
attributename = [a-zA-Z_:][a-zA-Z0-9:._-]*;
|
43
|
+
|
44
|
+
unquotedvalue = [^"'=<>`\x00]+;
|
45
|
+
singlequotedvalue = ['][^'\x00]*['];
|
46
|
+
doublequotedvalue = ["][^"\x00]*["];
|
47
|
+
|
48
|
+
attributevalue = unquotedvalue | singlequotedvalue | doublequotedvalue;
|
49
|
+
|
50
|
+
attributevaluespec = spacechar* [=] spacechar* attributevalue;
|
51
|
+
|
52
|
+
attribute = spacechar+ attributename attributevaluespec?;
|
53
|
+
|
54
|
+
opentag = tagname attribute* spacechar* [/]? [>];
|
55
|
+
closetag = [/] tagname spacechar* [>];
|
56
|
+
|
57
|
+
htmlcomment = "!---->" | ("!--" ([-]? [^\x00>-]) ([-]? [^\x00-])* "-->");
|
58
|
+
|
59
|
+
processinginstruction = "?" ([^?>\x00]+ | [?][^>\x00] | [>])* "?>";
|
60
|
+
|
61
|
+
declaration = "!" [A-Z]+ spacechar+ [^>\x00]* ">";
|
62
|
+
|
63
|
+
cdata = "![CDATA[" ([^\]\x00]+ | "]" [^\]\x00] | "]]" [^>\x00])* "]]>";
|
64
|
+
|
65
|
+
htmltag = opentag | closetag | htmlcomment | processinginstruction |
|
66
|
+
declaration | cdata;
|
67
|
+
|
68
|
+
in_parens_nosp = [(] (reg_char|escaped_char|[\\])* [)];
|
69
|
+
|
70
|
+
in_double_quotes = ["] (escaped_char|[^"\x00])* ["];
|
71
|
+
in_single_quotes = ['] (escaped_char|[^'\x00])* ['];
|
72
|
+
in_parens = [(] (escaped_char|[^)\x00])* [)];
|
73
|
+
|
74
|
+
scheme = [A-Za-z][A-Za-z0-9.+-]{1,31};
|
75
|
+
*/
|
76
|
+
|
77
|
+
// Try to match a scheme including colon.
|
78
|
+
bufsize_t _scan_scheme(const unsigned char *p)
|
79
|
+
{
|
80
|
+
const unsigned char *marker = NULL;
|
81
|
+
const unsigned char *start = p;
|
82
|
+
/*!re2c
|
83
|
+
scheme [:] { return (bufsize_t)(p - start); }
|
84
|
+
* { return 0; }
|
85
|
+
*/
|
86
|
+
}
|
87
|
+
|
88
|
+
// Try to match URI autolink after first <, returning number of chars matched.
|
89
|
+
bufsize_t _scan_autolink_uri(const unsigned char *p)
|
90
|
+
{
|
91
|
+
const unsigned char *marker = NULL;
|
92
|
+
const unsigned char *start = p;
|
93
|
+
/*!re2c
|
94
|
+
scheme [:][^\x00-\x20<>]*[>] { return (bufsize_t)(p - start); }
|
95
|
+
* { return 0; }
|
96
|
+
*/
|
97
|
+
}
|
98
|
+
|
99
|
+
// Try to match email autolink after first <, returning num of chars matched.
|
100
|
+
bufsize_t _scan_autolink_email(const unsigned char *p)
|
101
|
+
{
|
102
|
+
const unsigned char *marker = NULL;
|
103
|
+
const unsigned char *start = p;
|
104
|
+
/*!re2c
|
105
|
+
[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+
|
106
|
+
[@]
|
107
|
+
[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?
|
108
|
+
([.][a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*
|
109
|
+
[>] { return (bufsize_t)(p - start); }
|
110
|
+
* { return 0; }
|
111
|
+
*/
|
112
|
+
}
|
113
|
+
|
114
|
+
// Try to match an HTML tag after first <, returning num of chars matched.
|
115
|
+
bufsize_t _scan_html_tag(const unsigned char *p)
|
116
|
+
{
|
117
|
+
const unsigned char *marker = NULL;
|
118
|
+
const unsigned char *start = p;
|
119
|
+
/*!re2c
|
120
|
+
htmltag { return (bufsize_t)(p - start); }
|
121
|
+
* { return 0; }
|
122
|
+
*/
|
123
|
+
}
|
124
|
+
|
125
|
+
// Try to (liberally) match an HTML tag after first <, returning num of chars matched.
|
126
|
+
bufsize_t _scan_liberal_html_tag(const unsigned char *p)
|
127
|
+
{
|
128
|
+
const unsigned char *marker = NULL;
|
129
|
+
const unsigned char *start = p;
|
130
|
+
/*!re2c
|
131
|
+
[^\n\x00]+ [>] { return (bufsize_t)(p - start); }
|
132
|
+
* { return 0; }
|
133
|
+
*/
|
134
|
+
}
|
135
|
+
|
136
|
+
// Try to match an HTML block tag start line, returning
|
137
|
+
// an integer code for the type of block (1-6, matching the spec).
|
138
|
+
// #7 is handled by a separate function, below.
|
139
|
+
bufsize_t _scan_html_block_start(const unsigned char *p)
|
140
|
+
{
|
141
|
+
const unsigned char *marker = NULL;
|
142
|
+
/*!re2c
|
143
|
+
[<] ('script'|'pre'|'style') (spacechar | [>]) { return 1; }
|
144
|
+
'<!--' { return 2; }
|
145
|
+
'<?' { return 3; }
|
146
|
+
'<!' [A-Z] { return 4; }
|
147
|
+
'<![CDATA[' { return 5; }
|
148
|
+
[<] [/]? blocktagname (spacechar | [/]? [>]) { return 6; }
|
149
|
+
* { return 0; }
|
150
|
+
*/
|
151
|
+
}
|
152
|
+
|
153
|
+
// Try to match an HTML block tag start line of type 7, returning
|
154
|
+
// 7 if successful, 0 if not.
|
155
|
+
bufsize_t _scan_html_block_start_7(const unsigned char *p)
|
156
|
+
{
|
157
|
+
const unsigned char *marker = NULL;
|
158
|
+
/*!re2c
|
159
|
+
[<] (opentag | closetag) [\t\n\f ]* [\r\n] { return 7; }
|
160
|
+
* { return 0; }
|
161
|
+
*/
|
162
|
+
}
|
163
|
+
|
164
|
+
// Try to match an HTML block end line of type 1
|
165
|
+
bufsize_t _scan_html_block_end_1(const unsigned char *p)
|
166
|
+
{
|
167
|
+
const unsigned char *marker = NULL;
|
168
|
+
const unsigned char *start = p;
|
169
|
+
/*!re2c
|
170
|
+
[^\n\x00]* [<] [/] ('script'|'pre'|'style') [>] { return (bufsize_t)(p - start); }
|
171
|
+
* { return 0; }
|
172
|
+
*/
|
173
|
+
}
|
174
|
+
|
175
|
+
// Try to match an HTML block end line of type 2
|
176
|
+
bufsize_t _scan_html_block_end_2(const unsigned char *p)
|
177
|
+
{
|
178
|
+
const unsigned char *marker = NULL;
|
179
|
+
const unsigned char *start = p;
|
180
|
+
/*!re2c
|
181
|
+
[^\n\x00]* '-->' { return (bufsize_t)(p - start); }
|
182
|
+
* { return 0; }
|
183
|
+
*/
|
184
|
+
}
|
185
|
+
|
186
|
+
// Try to match an HTML block end line of type 3
|
187
|
+
bufsize_t _scan_html_block_end_3(const unsigned char *p)
|
188
|
+
{
|
189
|
+
const unsigned char *marker = NULL;
|
190
|
+
const unsigned char *start = p;
|
191
|
+
/*!re2c
|
192
|
+
[^\n\x00]* '?>' { return (bufsize_t)(p - start); }
|
193
|
+
* { return 0; }
|
194
|
+
*/
|
195
|
+
}
|
196
|
+
|
197
|
+
// Try to match an HTML block end line of type 4
|
198
|
+
bufsize_t _scan_html_block_end_4(const unsigned char *p)
|
199
|
+
{
|
200
|
+
const unsigned char *marker = NULL;
|
201
|
+
const unsigned char *start = p;
|
202
|
+
/*!re2c
|
203
|
+
[^\n\x00]* '>' { return (bufsize_t)(p - start); }
|
204
|
+
* { return 0; }
|
205
|
+
*/
|
206
|
+
}
|
207
|
+
|
208
|
+
// Try to match an HTML block end line of type 5
|
209
|
+
bufsize_t _scan_html_block_end_5(const unsigned char *p)
|
210
|
+
{
|
211
|
+
const unsigned char *marker = NULL;
|
212
|
+
const unsigned char *start = p;
|
213
|
+
/*!re2c
|
214
|
+
[^\n\x00]* ']]>' { return (bufsize_t)(p - start); }
|
215
|
+
* { return 0; }
|
216
|
+
*/
|
217
|
+
}
|
218
|
+
|
219
|
+
// Try to match a link title (in single quotes, in double quotes, or
|
220
|
+
// in parentheses), returning number of chars matched. Allow one
|
221
|
+
// level of internal nesting (quotes within quotes).
|
222
|
+
bufsize_t _scan_link_title(const unsigned char *p)
|
223
|
+
{
|
224
|
+
const unsigned char *marker = NULL;
|
225
|
+
const unsigned char *start = p;
|
226
|
+
/*!re2c
|
227
|
+
["] (escaped_char|[^"\x00])* ["] { return (bufsize_t)(p - start); }
|
228
|
+
['] (escaped_char|[^'\x00])* ['] { return (bufsize_t)(p - start); }
|
229
|
+
[(] (escaped_char|[^)\x00])* [)] { return (bufsize_t)(p - start); }
|
230
|
+
* { return 0; }
|
231
|
+
*/
|
232
|
+
}
|
233
|
+
|
234
|
+
// Match space characters, including newlines.
|
235
|
+
bufsize_t _scan_spacechars(const unsigned char *p)
|
236
|
+
{
|
237
|
+
const unsigned char *start = p; \
|
238
|
+
/*!re2c
|
239
|
+
[ \t\v\f\r\n]+ { return (bufsize_t)(p - start); }
|
240
|
+
* { return 0; }
|
241
|
+
*/
|
242
|
+
}
|
243
|
+
|
244
|
+
// Match ATX heading start.
|
245
|
+
bufsize_t _scan_atx_heading_start(const unsigned char *p)
|
246
|
+
{
|
247
|
+
const unsigned char *marker = NULL;
|
248
|
+
const unsigned char *start = p;
|
249
|
+
/*!re2c
|
250
|
+
[#]{1,6} ([ \t]+|[\r\n]) { return (bufsize_t)(p - start); }
|
251
|
+
* { return 0; }
|
252
|
+
*/
|
253
|
+
}
|
254
|
+
|
255
|
+
// Match setext heading line. Return 1 for level-1 heading,
|
256
|
+
// 2 for level-2, 0 for no match.
|
257
|
+
bufsize_t _scan_setext_heading_line(const unsigned char *p)
|
258
|
+
{
|
259
|
+
const unsigned char *marker = NULL;
|
260
|
+
/*!re2c
|
261
|
+
[=]+ [ \t]* [\r\n] { return 1; }
|
262
|
+
[-]+ [ \t]* [\r\n] { return 2; }
|
263
|
+
* { return 0; }
|
264
|
+
*/
|
265
|
+
}
|
266
|
+
|
267
|
+
// Scan a thematic break line: "...three or more hyphens, asterisks,
|
268
|
+
// or underscores on a line by themselves. If you wish, you may use
|
269
|
+
// spaces between the hyphens or asterisks."
|
270
|
+
bufsize_t _scan_thematic_break(const unsigned char *p)
|
271
|
+
{
|
272
|
+
const unsigned char *marker = NULL;
|
273
|
+
const unsigned char *start = p;
|
274
|
+
/*!re2c
|
275
|
+
([*][ \t]*){3,} [ \t]* [\r\n] { return (bufsize_t)(p - start); }
|
276
|
+
([_][ \t]*){3,} [ \t]* [\r\n] { return (bufsize_t)(p - start); }
|
277
|
+
([-][ \t]*){3,} [ \t]* [\r\n] { return (bufsize_t)(p - start); }
|
278
|
+
* { return 0; }
|
279
|
+
*/
|
280
|
+
}
|
281
|
+
|
282
|
+
// Scan an opening code fence.
|
283
|
+
bufsize_t _scan_open_code_fence(const unsigned char *p)
|
284
|
+
{
|
285
|
+
const unsigned char *marker = NULL;
|
286
|
+
const unsigned char *start = p;
|
287
|
+
/*!re2c
|
288
|
+
[`]{3,} / [^`\r\n\x00]*[\r\n] { return (bufsize_t)(p - start); }
|
289
|
+
[~]{3,} / [^~\r\n\x00]*[\r\n] { return (bufsize_t)(p - start); }
|
290
|
+
* { return 0; }
|
291
|
+
*/
|
292
|
+
}
|
293
|
+
|
294
|
+
// Scan a closing code fence with length at least len.
|
295
|
+
bufsize_t _scan_close_code_fence(const unsigned char *p)
|
296
|
+
{
|
297
|
+
const unsigned char *marker = NULL;
|
298
|
+
const unsigned char *start = p;
|
299
|
+
/*!re2c
|
300
|
+
[`]{3,} / [ \t]*[\r\n] { return (bufsize_t)(p - start); }
|
301
|
+
[~]{3,} / [ \t]*[\r\n] { return (bufsize_t)(p - start); }
|
302
|
+
* { return 0; }
|
303
|
+
*/
|
304
|
+
}
|
305
|
+
|
306
|
+
// Scans an entity.
|
307
|
+
// Returns number of chars matched.
|
308
|
+
bufsize_t _scan_entity(const unsigned char *p)
|
309
|
+
{
|
310
|
+
const unsigned char *marker = NULL;
|
311
|
+
const unsigned char *start = p;
|
312
|
+
/*!re2c
|
313
|
+
[&] ([#] ([Xx][A-Fa-f0-9]{1,8}|[0-9]{1,8}) |[A-Za-z][A-Za-z0-9]{1,31} ) [;]
|
314
|
+
{ return (bufsize_t)(p - start); }
|
315
|
+
* { return 0; }
|
316
|
+
*/
|
317
|
+
}
|
318
|
+
|
319
|
+
// Returns positive value if a URL begins in a way that is potentially
|
320
|
+
// dangerous, with javascript:, vbscript:, file:, or data:, otherwise 0.
|
321
|
+
bufsize_t _scan_dangerous_url(const unsigned char *p)
|
322
|
+
{
|
323
|
+
const unsigned char *marker = NULL;
|
324
|
+
const unsigned char *start = p;
|
325
|
+
/*!re2c
|
326
|
+
'data:image/' ('png'|'gif'|'jpeg'|'webp') { return 0; }
|
327
|
+
'javascript:' | 'vbscript:' | 'file:' | 'data:' { return (bufsize_t)(p - start); }
|
328
|
+
* { return 0; }
|
329
|
+
*/
|
330
|
+
}
|
331
|
+
|
332
|
+
// Scans a footnote definition opening.
|
333
|
+
bufsize_t _scan_footnote_definition(const unsigned char *p)
|
334
|
+
{
|
335
|
+
const unsigned char *marker = NULL;
|
336
|
+
const unsigned char *start = p;
|
337
|
+
/*!re2c
|
338
|
+
'[^' ([^\] \r\n\x00\t]+) ']:' [ \t]* { return (bufsize_t)(p - start); }
|
339
|
+
* { return 0; }
|
340
|
+
*/
|
341
|
+
}
|
@@ -0,0 +1,157 @@
|
|
1
|
+
#include "strikethrough.h"
|
2
|
+
#include <parser.h>
|
3
|
+
#include <render.h>
|
4
|
+
|
5
|
+
cmark_node_type CMARK_NODE_STRIKETHROUGH;
|
6
|
+
|
7
|
+
static cmark_node *match(cmark_syntax_extension *self, cmark_parser *parser,
|
8
|
+
cmark_node *parent, unsigned char character,
|
9
|
+
cmark_inline_parser *inline_parser) {
|
10
|
+
cmark_node *res = NULL;
|
11
|
+
int left_flanking, right_flanking, punct_before, punct_after, delims;
|
12
|
+
char buffer[101];
|
13
|
+
|
14
|
+
if (character != '~')
|
15
|
+
return NULL;
|
16
|
+
|
17
|
+
delims = cmark_inline_parser_scan_delimiters(
|
18
|
+
inline_parser, sizeof(buffer) - 1, '~',
|
19
|
+
&left_flanking,
|
20
|
+
&right_flanking, &punct_before, &punct_after);
|
21
|
+
|
22
|
+
memset(buffer, '~', delims);
|
23
|
+
buffer[delims] = 0;
|
24
|
+
|
25
|
+
res = cmark_node_new_with_mem(CMARK_NODE_TEXT, parser->mem);
|
26
|
+
cmark_node_set_literal(res, buffer);
|
27
|
+
res->start_line = res->end_line = cmark_inline_parser_get_line(inline_parser);
|
28
|
+
res->start_column = cmark_inline_parser_get_column(inline_parser) - delims;
|
29
|
+
|
30
|
+
if (left_flanking || right_flanking) {
|
31
|
+
cmark_inline_parser_push_delimiter(inline_parser, character, left_flanking,
|
32
|
+
right_flanking, res);
|
33
|
+
}
|
34
|
+
|
35
|
+
return res;
|
36
|
+
}
|
37
|
+
|
38
|
+
static delimiter *insert(cmark_syntax_extension *self, cmark_parser *parser,
|
39
|
+
cmark_inline_parser *inline_parser, delimiter *opener,
|
40
|
+
delimiter *closer) {
|
41
|
+
cmark_node *strikethrough;
|
42
|
+
cmark_node *tmp, *next;
|
43
|
+
delimiter *delim, *tmp_delim;
|
44
|
+
delimiter *res = closer->next;
|
45
|
+
|
46
|
+
strikethrough = opener->inl_text;
|
47
|
+
|
48
|
+
if (!cmark_node_set_type(strikethrough, CMARK_NODE_STRIKETHROUGH))
|
49
|
+
goto done;
|
50
|
+
|
51
|
+
cmark_node_set_syntax_extension(strikethrough, self);
|
52
|
+
|
53
|
+
cmark_node_set_string_content(strikethrough, "~");
|
54
|
+
tmp = cmark_node_next(opener->inl_text);
|
55
|
+
|
56
|
+
while (tmp) {
|
57
|
+
if (tmp == closer->inl_text)
|
58
|
+
break;
|
59
|
+
next = cmark_node_next(tmp);
|
60
|
+
cmark_node_append_child(strikethrough, tmp);
|
61
|
+
tmp = next;
|
62
|
+
}
|
63
|
+
|
64
|
+
strikethrough->end_column = closer->inl_text->start_column + closer->inl_text->as.literal.len - 1;
|
65
|
+
cmark_node_free(closer->inl_text);
|
66
|
+
|
67
|
+
delim = closer;
|
68
|
+
while (delim != NULL && delim != opener) {
|
69
|
+
tmp_delim = delim->previous;
|
70
|
+
cmark_inline_parser_remove_delimiter(inline_parser, delim);
|
71
|
+
delim = tmp_delim;
|
72
|
+
}
|
73
|
+
|
74
|
+
cmark_inline_parser_remove_delimiter(inline_parser, opener);
|
75
|
+
|
76
|
+
done:
|
77
|
+
return res;
|
78
|
+
}
|
79
|
+
|
80
|
+
static const char *get_type_string(cmark_syntax_extension *extension,
|
81
|
+
cmark_node *node) {
|
82
|
+
return node->type == CMARK_NODE_STRIKETHROUGH ? "strikethrough" : "<unknown>";
|
83
|
+
}
|
84
|
+
|
85
|
+
static int can_contain(cmark_syntax_extension *extension, cmark_node *node,
|
86
|
+
cmark_node_type child_type) {
|
87
|
+
if (node->type != CMARK_NODE_STRIKETHROUGH)
|
88
|
+
return false;
|
89
|
+
|
90
|
+
return CMARK_NODE_TYPE_INLINE_P(child_type);
|
91
|
+
}
|
92
|
+
|
93
|
+
static void commonmark_render(cmark_syntax_extension *extension,
|
94
|
+
cmark_renderer *renderer, cmark_node *node,
|
95
|
+
cmark_event_type ev_type, int options) {
|
96
|
+
renderer->out(renderer, node, cmark_node_get_string_content(node), false, LITERAL);
|
97
|
+
}
|
98
|
+
|
99
|
+
static void latex_render(cmark_syntax_extension *extension,
|
100
|
+
cmark_renderer *renderer, cmark_node *node,
|
101
|
+
cmark_event_type ev_type, int options) {
|
102
|
+
// requires \usepackage{ulem}
|
103
|
+
bool entering = (ev_type == CMARK_EVENT_ENTER);
|
104
|
+
if (entering) {
|
105
|
+
renderer->out(renderer, node, "\\sout{", false, LITERAL);
|
106
|
+
} else {
|
107
|
+
renderer->out(renderer, node, "}", false, LITERAL);
|
108
|
+
}
|
109
|
+
}
|
110
|
+
|
111
|
+
static void man_render(cmark_syntax_extension *extension,
|
112
|
+
cmark_renderer *renderer, cmark_node *node,
|
113
|
+
cmark_event_type ev_type, int options) {
|
114
|
+
bool entering = (ev_type == CMARK_EVENT_ENTER);
|
115
|
+
if (entering) {
|
116
|
+
renderer->cr(renderer);
|
117
|
+
renderer->out(renderer, node, ".ST \"", false, LITERAL);
|
118
|
+
} else {
|
119
|
+
renderer->out(renderer, node, "\"", false, LITERAL);
|
120
|
+
renderer->cr(renderer);
|
121
|
+
}
|
122
|
+
}
|
123
|
+
|
124
|
+
static void html_render(cmark_syntax_extension *extension,
|
125
|
+
cmark_html_renderer *renderer, cmark_node *node,
|
126
|
+
cmark_event_type ev_type, int options) {
|
127
|
+
bool entering = (ev_type == CMARK_EVENT_ENTER);
|
128
|
+
if (entering) {
|
129
|
+
cmark_strbuf_puts(renderer->html, "<del>");
|
130
|
+
} else {
|
131
|
+
cmark_strbuf_puts(renderer->html, "</del>");
|
132
|
+
}
|
133
|
+
}
|
134
|
+
|
135
|
+
cmark_syntax_extension *create_strikethrough_extension(void) {
|
136
|
+
cmark_syntax_extension *ext = cmark_syntax_extension_new("strikethrough");
|
137
|
+
cmark_llist *special_chars = NULL;
|
138
|
+
|
139
|
+
cmark_syntax_extension_set_get_type_string_func(ext, get_type_string);
|
140
|
+
cmark_syntax_extension_set_can_contain_func(ext, can_contain);
|
141
|
+
cmark_syntax_extension_set_commonmark_render_func(ext, commonmark_render);
|
142
|
+
cmark_syntax_extension_set_latex_render_func(ext, latex_render);
|
143
|
+
cmark_syntax_extension_set_man_render_func(ext, man_render);
|
144
|
+
cmark_syntax_extension_set_html_render_func(ext, html_render);
|
145
|
+
CMARK_NODE_STRIKETHROUGH = cmark_syntax_extension_add_node(1);
|
146
|
+
|
147
|
+
cmark_syntax_extension_set_match_inline_func(ext, match);
|
148
|
+
cmark_syntax_extension_set_inline_from_delim_func(ext, insert);
|
149
|
+
|
150
|
+
cmark_mem *mem = cmark_get_default_mem_allocator();
|
151
|
+
special_chars = cmark_llist_append(mem, special_chars, (void *)'~');
|
152
|
+
cmark_syntax_extension_set_special_inline_chars(ext, special_chars);
|
153
|
+
|
154
|
+
cmark_syntax_extension_set_emphasis(ext, 1);
|
155
|
+
|
156
|
+
return ext;
|
157
|
+
}
|