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.

Files changed (405) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +0 -7
  3. data/ext/commonmarker/{cmark/src/arena.c → arena.c} +0 -0
  4. data/ext/commonmarker/{cmark/extensions/autolink.c → autolink.c} +0 -0
  5. data/ext/commonmarker/{cmark/extensions/autolink.h → autolink.h} +0 -0
  6. data/ext/commonmarker/{cmark/src/blocks.c → blocks.c} +0 -0
  7. data/ext/commonmarker/{cmark/src/buffer.c → buffer.c} +0 -0
  8. data/ext/commonmarker/{cmark/src/buffer.h → buffer.h} +0 -0
  9. data/ext/commonmarker/{cmark/src/case_fold_switch.inc → case_fold_switch.inc} +0 -0
  10. data/ext/commonmarker/{cmark/src/chunk.h → chunk.h} +0 -0
  11. data/ext/commonmarker/{cmark → cmark-upstream}/CMakeLists.txt +0 -0
  12. data/ext/commonmarker/{cmark → cmark-upstream}/COPYING +0 -0
  13. data/ext/commonmarker/{cmark → cmark-upstream}/FindAsan.cmake +0 -0
  14. data/ext/commonmarker/{cmark → cmark-upstream}/Makefile +0 -0
  15. data/ext/commonmarker/{cmark → cmark-upstream}/Makefile.nmake +0 -0
  16. data/ext/commonmarker/{cmark → cmark-upstream}/README.md +0 -0
  17. data/ext/commonmarker/{cmark → cmark-upstream}/api_test/CMakeLists.txt +0 -0
  18. data/ext/commonmarker/{cmark → cmark-upstream}/api_test/cplusplus.cpp +0 -0
  19. data/ext/commonmarker/{cmark → cmark-upstream}/api_test/cplusplus.h +0 -0
  20. data/ext/commonmarker/{cmark → cmark-upstream}/api_test/harness.c +0 -0
  21. data/ext/commonmarker/{cmark → cmark-upstream}/api_test/harness.h +0 -0
  22. data/ext/commonmarker/{cmark → cmark-upstream}/api_test/main.c +0 -0
  23. data/ext/commonmarker/{cmark → cmark-upstream}/appveyor.yml +0 -0
  24. data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/block-bq-flat.md +0 -0
  25. data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/block-bq-nested.md +0 -0
  26. data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/block-code.md +0 -0
  27. data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/block-fences.md +0 -0
  28. data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/block-heading.md +0 -0
  29. data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/block-hr.md +0 -0
  30. data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/block-html.md +0 -0
  31. data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/block-lheading.md +0 -0
  32. data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/block-list-flat.md +0 -0
  33. data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/block-list-nested.md +0 -0
  34. data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/block-ref-flat.md +0 -0
  35. data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/block-ref-nested.md +0 -0
  36. data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/inline-autolink.md +0 -0
  37. data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/inline-backticks.md +0 -0
  38. data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/inline-em-flat.md +0 -0
  39. data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/inline-em-nested.md +0 -0
  40. data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/inline-em-worst.md +0 -0
  41. data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/inline-entity.md +0 -0
  42. data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/inline-escape.md +0 -0
  43. data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/inline-html.md +0 -0
  44. data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/inline-links-flat.md +0 -0
  45. data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/inline-links-nested.md +0 -0
  46. data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/inline-newlines.md +0 -0
  47. data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/lorem1.md +0 -0
  48. data/ext/commonmarker/{cmark → cmark-upstream}/bench/samples/rawtabs.md +0 -0
  49. data/ext/commonmarker/{cmark → cmark-upstream}/bench/statistics.py +0 -0
  50. data/ext/commonmarker/{cmark → cmark-upstream}/bench/stats.py +0 -0
  51. data/ext/commonmarker/{cmark → cmark-upstream}/benchmarks.md +0 -0
  52. data/ext/commonmarker/cmark-upstream/build/CMakeCache.txt +478 -0
  53. data/ext/commonmarker/cmark-upstream/build/CMakeFiles/3.9.6/CMakeCCompiler.cmake +71 -0
  54. data/ext/commonmarker/cmark-upstream/build/CMakeFiles/3.9.6/CMakeCXXCompiler.cmake +73 -0
  55. data/ext/commonmarker/cmark-upstream/build/CMakeFiles/3.9.6/CMakeDetermineCompilerABI_C.bin +0 -0
  56. data/ext/commonmarker/cmark-upstream/build/CMakeFiles/3.9.6/CMakeDetermineCompilerABI_CXX.bin +0 -0
  57. data/ext/commonmarker/cmark-upstream/build/CMakeFiles/3.9.6/CMakeSystem.cmake +15 -0
  58. data/ext/commonmarker/cmark-upstream/build/CMakeFiles/3.9.6/CompilerIdC/CMakeCCompilerId.c +567 -0
  59. data/ext/commonmarker/cmark-upstream/build/CMakeFiles/3.9.6/CompilerIdC/a.out +0 -0
  60. data/ext/commonmarker/cmark-upstream/build/CMakeFiles/3.9.6/CompilerIdCXX/CMakeCXXCompilerId.cpp +539 -0
  61. data/ext/commonmarker/cmark-upstream/build/CMakeFiles/3.9.6/CompilerIdCXX/a.out +0 -0
  62. data/ext/commonmarker/cmark-upstream/build/CMakeFiles/CMakeDirectoryInformation.cmake +16 -0
  63. data/ext/commonmarker/cmark-upstream/build/CMakeFiles/CMakeError.log +18 -0
  64. data/ext/commonmarker/cmark-upstream/build/CMakeFiles/CMakeOutput.log +709 -0
  65. data/ext/commonmarker/cmark-upstream/build/CMakeFiles/Makefile.cmake +157 -0
  66. data/ext/commonmarker/cmark-upstream/build/CMakeFiles/Makefile2 +391 -0
  67. data/ext/commonmarker/cmark-upstream/build/CMakeFiles/TargetDirectories.txt +48 -0
  68. data/ext/commonmarker/cmark-upstream/build/CMakeFiles/cmake.check_cache +1 -0
  69. data/ext/commonmarker/cmark-upstream/build/CMakeFiles/feature_tests.bin +0 -0
  70. data/ext/commonmarker/cmark-upstream/build/CMakeFiles/feature_tests.c +34 -0
  71. data/ext/commonmarker/cmark-upstream/build/CMakeFiles/feature_tests.cxx +405 -0
  72. data/ext/commonmarker/cmark-upstream/build/CMakeFiles/progress.marks +1 -0
  73. data/ext/commonmarker/cmark-upstream/build/CTestTestfile.cmake +11 -0
  74. data/ext/commonmarker/cmark-upstream/build/Makefile +280 -0
  75. data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/CMakeDirectoryInformation.cmake +16 -0
  76. data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/api_test.dir/C.includecache +134 -0
  77. data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/api_test.dir/CXX.includecache +38 -0
  78. data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/api_test.dir/DependInfo.cmake +38 -0
  79. data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/api_test.dir/build.make +169 -0
  80. data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/api_test.dir/cmake_clean.cmake +12 -0
  81. data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/api_test.dir/cplusplus.cpp.o +0 -0
  82. data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/api_test.dir/depend.internal +28 -0
  83. data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/api_test.dir/depend.make +28 -0
  84. data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/api_test.dir/flags.make +17 -0
  85. data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/api_test.dir/harness.c.o +0 -0
  86. data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/api_test.dir/link.txt +1 -0
  87. data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/api_test.dir/main.c.o +0 -0
  88. data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/api_test.dir/progress.make +5 -0
  89. data/ext/commonmarker/cmark-upstream/build/api_test/CMakeFiles/progress.marks +1 -0
  90. data/ext/commonmarker/cmark-upstream/build/api_test/Makefile +302 -0
  91. data/ext/commonmarker/cmark-upstream/build/api_test/api_test +0 -0
  92. data/ext/commonmarker/cmark-upstream/build/api_test/cmake_install.cmake +29 -0
  93. data/ext/commonmarker/cmark-upstream/build/cmake_install.cmake +49 -0
  94. data/ext/commonmarker/cmark-upstream/build/compile_commands.json +352 -0
  95. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/CMakeDirectoryInformation.cmake +16 -0
  96. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/Export/lib/cmake-gfmextensions/cmark-gfmextensions-release.cmake +30 -0
  97. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/Export/lib/cmake-gfmextensions/cmark-gfmextensions.cmake +108 -0
  98. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/C.includecache +246 -0
  99. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/DependInfo.cmake +36 -0
  100. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/autolink.c.o +0 -0
  101. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/build.make +253 -0
  102. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/cmake_clean.cmake +16 -0
  103. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/core-extensions.c.o +0 -0
  104. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/depend.internal +96 -0
  105. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/depend.make +96 -0
  106. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/ext_scanners.c.o +0 -0
  107. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/flags.make +10 -0
  108. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/link.txt +1 -0
  109. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/progress.make +8 -0
  110. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/strikethrough.c.o +0 -0
  111. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/table.c.o +0 -0
  112. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions.dir/tagfilter.c.o +0 -0
  113. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/C.includecache +246 -0
  114. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/DependInfo.cmake +29 -0
  115. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/autolink.c.o +0 -0
  116. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/build.make +249 -0
  117. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/cmake_clean.cmake +15 -0
  118. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/cmake_clean_target.cmake +3 -0
  119. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/core-extensions.c.o +0 -0
  120. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/depend.internal +96 -0
  121. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/depend.make +96 -0
  122. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/ext_scanners.c.o +0 -0
  123. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/flags.make +10 -0
  124. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/link.txt +2 -0
  125. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/progress.make +8 -0
  126. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/strikethrough.c.o +0 -0
  127. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/table.c.o +0 -0
  128. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/libcmark-gfmextensions_static.dir/tagfilter.c.o +0 -0
  129. data/ext/commonmarker/cmark-upstream/build/extensions/CMakeFiles/progress.marks +1 -0
  130. data/ext/commonmarker/cmark-upstream/build/extensions/Makefile +426 -0
  131. data/ext/commonmarker/cmark-upstream/build/extensions/cmake_install.cmake +84 -0
  132. data/ext/commonmarker/cmark-upstream/build/extensions/cmarkextensions_export.h +42 -0
  133. data/ext/commonmarker/cmark-upstream/build/extensions/libcmark-gfmextensions.0.28.3.gfm.11.dylib +0 -0
  134. data/ext/commonmarker/cmark-upstream/build/extensions/libcmark-gfmextensions.a +0 -0
  135. data/ext/commonmarker/cmark-upstream/build/extensions/libcmark-gfmextensions.dylib +1 -0
  136. data/ext/commonmarker/cmark-upstream/build/man/CMakeFiles/CMakeDirectoryInformation.cmake +16 -0
  137. data/ext/commonmarker/cmark-upstream/build/man/CMakeFiles/progress.marks +1 -0
  138. data/ext/commonmarker/cmark-upstream/build/man/Makefile +196 -0
  139. data/ext/commonmarker/cmark-upstream/build/man/cmake_install.cmake +37 -0
  140. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/CMakeDirectoryInformation.cmake +16 -0
  141. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/Export/lib/cmake/cmark-gfm-release.cmake +38 -0
  142. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/Export/lib/cmake/cmark-gfm.cmake +95 -0
  143. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/cmark-gfm.dir/C.includecache +156 -0
  144. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/cmark-gfm.dir/DependInfo.cmake +30 -0
  145. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/cmark-gfm.dir/build.make +115 -0
  146. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/cmark-gfm.dir/cmake_clean.cmake +10 -0
  147. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/cmark-gfm.dir/depend.internal +20 -0
  148. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/cmark-gfm.dir/depend.make +20 -0
  149. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/cmark-gfm.dir/flags.make +10 -0
  150. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/cmark-gfm.dir/link.txt +1 -0
  151. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/cmark-gfm.dir/main.c.o +0 -0
  152. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/cmark-gfm.dir/progress.make +3 -0
  153. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/C.includecache +612 -0
  154. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/DependInfo.cmake +60 -0
  155. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/arena.c.o +0 -0
  156. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/blocks.c.o +0 -0
  157. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/buffer.c.o +0 -0
  158. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/build.make +819 -0
  159. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/cmake_clean.cmake +37 -0
  160. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/cmark.c.o +0 -0
  161. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/cmark_ctype.c.o +0 -0
  162. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/commonmark.c.o +0 -0
  163. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/depend.internal +319 -0
  164. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/depend.make +319 -0
  165. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/flags.make +10 -0
  166. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/footnotes.c.o +0 -0
  167. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/houdini_href_e.c.o +0 -0
  168. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/houdini_html_e.c.o +0 -0
  169. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/houdini_html_u.c.o +0 -0
  170. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/html.c.o +0 -0
  171. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/inlines.c.o +0 -0
  172. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/iterator.c.o +0 -0
  173. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/latex.c.o +0 -0
  174. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/link.txt +1 -0
  175. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/linked_list.c.o +0 -0
  176. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/man.c.o +0 -0
  177. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/map.c.o +0 -0
  178. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/node.c.o +0 -0
  179. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/plaintext.c.o +0 -0
  180. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/plugin.c.o +0 -0
  181. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/progress.make +29 -0
  182. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/references.c.o +0 -0
  183. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/registry.c.o +0 -0
  184. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/render.c.o +0 -0
  185. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/scanners.c.o +0 -0
  186. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/syntax_extension.c.o +0 -0
  187. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/utf8.c.o +0 -0
  188. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm.dir/xml.c.o +0 -0
  189. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/C.includecache +612 -0
  190. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/DependInfo.cmake +54 -0
  191. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/arena.c.o +0 -0
  192. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/blocks.c.o +0 -0
  193. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/buffer.c.o +0 -0
  194. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/build.make +816 -0
  195. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/cmake_clean.cmake +36 -0
  196. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/cmake_clean_target.cmake +3 -0
  197. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/cmark.c.o +0 -0
  198. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/cmark_ctype.c.o +0 -0
  199. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/commonmark.c.o +0 -0
  200. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/depend.internal +319 -0
  201. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/depend.make +319 -0
  202. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/flags.make +10 -0
  203. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/footnotes.c.o +0 -0
  204. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/houdini_href_e.c.o +0 -0
  205. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/houdini_html_e.c.o +0 -0
  206. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/houdini_html_u.c.o +0 -0
  207. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/html.c.o +0 -0
  208. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/inlines.c.o +0 -0
  209. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/iterator.c.o +0 -0
  210. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/latex.c.o +0 -0
  211. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/link.txt +2 -0
  212. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/linked_list.c.o +0 -0
  213. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/man.c.o +0 -0
  214. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/map.c.o +0 -0
  215. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/node.c.o +0 -0
  216. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/plaintext.c.o +0 -0
  217. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/plugin.c.o +0 -0
  218. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/progress.make +29 -0
  219. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/references.c.o +0 -0
  220. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/registry.c.o +0 -0
  221. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/render.c.o +0 -0
  222. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/scanners.c.o +0 -0
  223. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/syntax_extension.c.o +0 -0
  224. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/utf8.c.o +0 -0
  225. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/libcmark-gfm_static.dir/xml.c.o +0 -0
  226. data/ext/commonmarker/cmark-upstream/build/src/CMakeFiles/progress.marks +1 -0
  227. data/ext/commonmarker/cmark-upstream/build/src/Makefile +1165 -0
  228. data/ext/commonmarker/cmark-upstream/build/src/cmake_install.cmake +97 -0
  229. data/ext/commonmarker/cmark-upstream/build/src/cmark-gfm +0 -0
  230. data/ext/commonmarker/cmark-upstream/build/src/cmark_export.h +42 -0
  231. data/ext/commonmarker/cmark-upstream/build/src/cmark_version.h +8 -0
  232. data/ext/commonmarker/cmark-upstream/build/src/config.h +76 -0
  233. data/ext/commonmarker/cmark-upstream/build/src/libcmark-gfm.0.28.3.gfm.11.dylib +0 -0
  234. data/ext/commonmarker/cmark-upstream/build/src/libcmark-gfm.a +0 -0
  235. data/ext/commonmarker/cmark-upstream/build/src/libcmark-gfm.dylib +1 -0
  236. data/ext/commonmarker/cmark-upstream/build/src/libcmark-gfm.pc +10 -0
  237. data/ext/commonmarker/cmark-upstream/build/testdir/CMakeFiles/CMakeDirectoryInformation.cmake +16 -0
  238. data/ext/commonmarker/cmark-upstream/build/testdir/CMakeFiles/progress.marks +1 -0
  239. data/ext/commonmarker/cmark-upstream/build/testdir/CTestTestfile.cmake +17 -0
  240. data/ext/commonmarker/cmark-upstream/build/testdir/Makefile +196 -0
  241. data/ext/commonmarker/cmark-upstream/build/testdir/cmake_install.cmake +29 -0
  242. data/ext/commonmarker/{cmark → cmark-upstream}/changelog.txt +0 -0
  243. data/ext/commonmarker/{cmark → cmark-upstream}/data/CaseFolding.txt +0 -0
  244. data/ext/commonmarker/{cmark → cmark-upstream}/extensions/CMakeLists.txt +0 -0
  245. data/ext/commonmarker/cmark-upstream/extensions/autolink.c +421 -0
  246. data/ext/commonmarker/cmark-upstream/extensions/autolink.h +8 -0
  247. data/ext/commonmarker/{cmark → cmark-upstream}/extensions/core-extensions.c +0 -0
  248. data/ext/commonmarker/{cmark → cmark-upstream}/extensions/core-extensions.h +0 -0
  249. data/ext/commonmarker/{cmark → cmark-upstream}/extensions/ext_scanners.c +0 -0
  250. data/ext/commonmarker/{cmark → cmark-upstream}/extensions/ext_scanners.h +0 -0
  251. data/ext/commonmarker/{cmark → cmark-upstream}/extensions/ext_scanners.re +0 -0
  252. data/ext/commonmarker/{cmark → cmark-upstream}/extensions/strikethrough.c +0 -0
  253. data/ext/commonmarker/{cmark → cmark-upstream}/extensions/strikethrough.h +0 -0
  254. data/ext/commonmarker/{cmark → cmark-upstream}/extensions/table.c +0 -0
  255. data/ext/commonmarker/{cmark → cmark-upstream}/extensions/table.h +0 -0
  256. data/ext/commonmarker/{cmark → cmark-upstream}/extensions/tagfilter.c +0 -0
  257. data/ext/commonmarker/{cmark → cmark-upstream}/extensions/tagfilter.h +0 -0
  258. data/ext/commonmarker/{cmark → cmark-upstream}/man/CMakeLists.txt +0 -0
  259. data/ext/commonmarker/{cmark → cmark-upstream}/man/make_man_page.py +0 -0
  260. data/ext/commonmarker/{cmark → cmark-upstream}/man/man1/cmark-gfm.1 +0 -0
  261. data/ext/commonmarker/{cmark → cmark-upstream}/man/man3/cmark-gfm.3 +0 -0
  262. data/ext/commonmarker/{cmark → cmark-upstream}/nmake.bat +0 -0
  263. data/ext/commonmarker/{cmark → cmark-upstream}/src/CMakeLists.txt +0 -0
  264. data/ext/commonmarker/cmark-upstream/src/arena.c +103 -0
  265. data/ext/commonmarker/cmark-upstream/src/blocks.c +1519 -0
  266. data/ext/commonmarker/cmark-upstream/src/buffer.c +279 -0
  267. data/ext/commonmarker/cmark-upstream/src/buffer.h +116 -0
  268. data/ext/commonmarker/cmark-upstream/src/case_fold_switch.inc +4327 -0
  269. data/ext/commonmarker/cmark-upstream/src/chunk.h +136 -0
  270. data/ext/commonmarker/{cmark → cmark-upstream}/src/cmark.c +0 -0
  271. data/ext/commonmarker/{cmark → cmark-upstream}/src/cmark.h +0 -0
  272. data/ext/commonmarker/{cmark → cmark-upstream}/src/cmark_ctype.c +0 -0
  273. data/ext/commonmarker/{cmark → cmark-upstream}/src/cmark_ctype.h +0 -0
  274. data/ext/commonmarker/{cmark → cmark-upstream}/src/cmark_extension_api.h +0 -0
  275. data/ext/commonmarker/{cmark → cmark-upstream}/src/cmark_version.h.in +0 -0
  276. data/ext/commonmarker/{cmark → cmark-upstream}/src/commonmark.c +0 -0
  277. data/ext/commonmarker/{cmark → cmark-upstream}/src/config.h.in +0 -0
  278. data/ext/commonmarker/{cmark → cmark-upstream}/src/entities.inc +0 -0
  279. data/ext/commonmarker/{cmark → cmark-upstream}/src/footnotes.c +0 -0
  280. data/ext/commonmarker/{cmark → cmark-upstream}/src/footnotes.h +0 -0
  281. data/ext/commonmarker/{cmark → cmark-upstream}/src/houdini.h +0 -0
  282. data/ext/commonmarker/{cmark → cmark-upstream}/src/houdini_href_e.c +0 -0
  283. data/ext/commonmarker/{cmark → cmark-upstream}/src/houdini_html_e.c +0 -0
  284. data/ext/commonmarker/{cmark → cmark-upstream}/src/houdini_html_u.c +0 -0
  285. data/ext/commonmarker/{cmark → cmark-upstream}/src/html.c +0 -0
  286. data/ext/commonmarker/{cmark → cmark-upstream}/src/html.h +0 -0
  287. data/ext/commonmarker/{cmark → cmark-upstream}/src/inlines.c +8 -4
  288. data/ext/commonmarker/{cmark → cmark-upstream}/src/inlines.h +0 -0
  289. data/ext/commonmarker/{cmark → cmark-upstream}/src/iterator.c +0 -0
  290. data/ext/commonmarker/{cmark → cmark-upstream}/src/iterator.h +0 -0
  291. data/ext/commonmarker/{cmark → cmark-upstream}/src/latex.c +0 -0
  292. data/ext/commonmarker/{cmark → cmark-upstream}/src/libcmark-gfm.pc.in +0 -0
  293. data/ext/commonmarker/{cmark → cmark-upstream}/src/linked_list.c +0 -0
  294. data/ext/commonmarker/{cmark → cmark-upstream}/src/main.c +0 -0
  295. data/ext/commonmarker/{cmark → cmark-upstream}/src/man.c +0 -0
  296. data/ext/commonmarker/{cmark → cmark-upstream}/src/map.c +0 -0
  297. data/ext/commonmarker/{cmark → cmark-upstream}/src/map.h +0 -0
  298. data/ext/commonmarker/{cmark → cmark-upstream}/src/node.c +0 -0
  299. data/ext/commonmarker/{cmark → cmark-upstream}/src/node.h +0 -0
  300. data/ext/commonmarker/{cmark → cmark-upstream}/src/parser.h +0 -0
  301. data/ext/commonmarker/{cmark → cmark-upstream}/src/plaintext.c +0 -0
  302. data/ext/commonmarker/{cmark → cmark-upstream}/src/plugin.c +0 -0
  303. data/ext/commonmarker/{cmark → cmark-upstream}/src/plugin.h +0 -0
  304. data/ext/commonmarker/{cmark → cmark-upstream}/src/references.c +0 -0
  305. data/ext/commonmarker/{cmark → cmark-upstream}/src/references.h +0 -0
  306. data/ext/commonmarker/{cmark → cmark-upstream}/src/registry.c +0 -0
  307. data/ext/commonmarker/{cmark → cmark-upstream}/src/registry.h +0 -0
  308. data/ext/commonmarker/{cmark → cmark-upstream}/src/render.c +0 -0
  309. data/ext/commonmarker/{cmark → cmark-upstream}/src/render.h +0 -0
  310. data/ext/commonmarker/{cmark → cmark-upstream}/src/scanners.c +0 -0
  311. data/ext/commonmarker/{cmark → cmark-upstream}/src/scanners.h +0 -0
  312. data/ext/commonmarker/{cmark → cmark-upstream}/src/scanners.re +0 -0
  313. data/ext/commonmarker/{cmark → cmark-upstream}/src/syntax_extension.c +0 -0
  314. data/ext/commonmarker/{cmark → cmark-upstream}/src/syntax_extension.h +0 -0
  315. data/ext/commonmarker/{cmark → cmark-upstream}/src/utf8.c +0 -0
  316. data/ext/commonmarker/{cmark → cmark-upstream}/src/utf8.h +0 -0
  317. data/ext/commonmarker/{cmark → cmark-upstream}/src/xml.c +0 -0
  318. data/ext/commonmarker/{cmark → cmark-upstream}/suppressions +0 -0
  319. data/ext/commonmarker/{cmark → cmark-upstream}/test/CMakeLists.txt +0 -0
  320. data/ext/commonmarker/{cmark → cmark-upstream}/test/afl_test_cases/test.md +0 -0
  321. data/ext/commonmarker/{cmark → cmark-upstream}/test/cmark-fuzz.c +0 -0
  322. data/ext/commonmarker/{cmark → cmark-upstream}/test/cmark.py +0 -0
  323. data/ext/commonmarker/{cmark → cmark-upstream}/test/entity_tests.py +0 -0
  324. data/ext/commonmarker/{cmark → cmark-upstream}/test/extensions.txt +2 -2
  325. data/ext/commonmarker/{cmark → cmark-upstream}/test/fuzzing_dictionary +0 -0
  326. data/ext/commonmarker/{cmark → cmark-upstream}/test/normalize.py +0 -0
  327. data/ext/commonmarker/{cmark → cmark-upstream}/test/pathological_tests.py +0 -0
  328. data/ext/commonmarker/{cmark → cmark-upstream}/test/regression.txt +0 -0
  329. data/ext/commonmarker/{cmark → cmark-upstream}/test/roundtrip_tests.py +0 -0
  330. data/ext/commonmarker/{cmark → cmark-upstream}/test/run-cmark-fuzz +0 -0
  331. data/ext/commonmarker/{cmark → cmark-upstream}/test/smart_punct.txt +0 -0
  332. data/ext/commonmarker/{cmark → cmark-upstream}/test/spec.txt +0 -0
  333. data/ext/commonmarker/{cmark → cmark-upstream}/test/spec_tests.py +0 -0
  334. data/ext/commonmarker/{cmark → cmark-upstream}/toolchain-mingw32.cmake +0 -0
  335. data/ext/commonmarker/{cmark → cmark-upstream}/tools/Dockerfile +0 -0
  336. data/ext/commonmarker/{cmark → cmark-upstream}/tools/appveyor-build.bat +0 -0
  337. data/ext/commonmarker/{cmark → cmark-upstream}/tools/make_entities_inc.py +0 -0
  338. data/ext/commonmarker/{cmark → cmark-upstream}/tools/mkcasefold.pl +0 -0
  339. data/ext/commonmarker/{cmark → cmark-upstream}/why-cmark-and-not-x.md +0 -0
  340. data/ext/commonmarker/{cmark → cmark-upstream}/wrappers/wrapper.js +0 -0
  341. data/ext/commonmarker/{cmark → cmark-upstream}/wrappers/wrapper.py +0 -0
  342. data/ext/commonmarker/{cmark → cmark-upstream}/wrappers/wrapper.rb +0 -0
  343. data/ext/commonmarker/{cmark → cmark-upstream}/wrappers/wrapper.rkt +0 -0
  344. data/ext/commonmarker/cmark.c +55 -0
  345. data/ext/commonmarker/cmark.h +789 -0
  346. data/ext/commonmarker/cmark_ctype.c +44 -0
  347. data/ext/commonmarker/cmark_ctype.h +33 -0
  348. data/ext/commonmarker/cmark_export.h +42 -0
  349. data/ext/commonmarker/cmark_extension_api.h +719 -0
  350. data/ext/commonmarker/cmark_version.h +8 -0
  351. data/ext/commonmarker/cmarkextensions_export.h +42 -0
  352. data/ext/commonmarker/commonmark.c +508 -0
  353. data/ext/commonmarker/config.h +76 -0
  354. data/ext/commonmarker/core-extensions.c +25 -0
  355. data/ext/commonmarker/core-extensions.h +25 -0
  356. data/ext/commonmarker/entities.inc +2138 -0
  357. data/ext/commonmarker/ext_scanners.c +941 -0
  358. data/ext/commonmarker/ext_scanners.h +22 -0
  359. data/ext/commonmarker/extconf.rb +1 -48
  360. data/ext/commonmarker/footnotes.c +40 -0
  361. data/ext/commonmarker/footnotes.h +25 -0
  362. data/ext/commonmarker/houdini.h +57 -0
  363. data/ext/commonmarker/houdini_href_e.c +100 -0
  364. data/ext/commonmarker/houdini_html_e.c +66 -0
  365. data/ext/commonmarker/houdini_html_u.c +149 -0
  366. data/ext/commonmarker/html.c +457 -0
  367. data/ext/commonmarker/html.h +27 -0
  368. data/ext/commonmarker/inlines.c +1594 -0
  369. data/ext/commonmarker/inlines.h +29 -0
  370. data/ext/commonmarker/iterator.c +159 -0
  371. data/ext/commonmarker/iterator.h +27 -0
  372. data/ext/commonmarker/latex.c +466 -0
  373. data/ext/commonmarker/linked_list.c +37 -0
  374. data/ext/commonmarker/man.c +278 -0
  375. data/ext/commonmarker/map.c +122 -0
  376. data/ext/commonmarker/map.h +42 -0
  377. data/ext/commonmarker/node.c +965 -0
  378. data/ext/commonmarker/node.h +116 -0
  379. data/ext/commonmarker/parser.h +57 -0
  380. data/ext/commonmarker/plaintext.c +213 -0
  381. data/ext/commonmarker/plugin.c +36 -0
  382. data/ext/commonmarker/plugin.h +34 -0
  383. data/ext/commonmarker/references.c +42 -0
  384. data/ext/commonmarker/references.h +26 -0
  385. data/ext/commonmarker/registry.c +63 -0
  386. data/ext/commonmarker/registry.h +24 -0
  387. data/ext/commonmarker/render.c +202 -0
  388. data/ext/commonmarker/render.h +63 -0
  389. data/ext/commonmarker/scanners.c +18195 -0
  390. data/ext/commonmarker/scanners.h +64 -0
  391. data/ext/commonmarker/scanners.re +341 -0
  392. data/ext/commonmarker/strikethrough.c +157 -0
  393. data/ext/commonmarker/strikethrough.h +9 -0
  394. data/ext/commonmarker/syntax_extension.c +139 -0
  395. data/ext/commonmarker/syntax_extension.h +32 -0
  396. data/ext/commonmarker/table.c +683 -0
  397. data/ext/commonmarker/table.h +8 -0
  398. data/ext/commonmarker/tagfilter.c +60 -0
  399. data/ext/commonmarker/tagfilter.h +8 -0
  400. data/ext/commonmarker/utf8.c +317 -0
  401. data/ext/commonmarker/utf8.h +35 -0
  402. data/ext/commonmarker/xml.c +174 -0
  403. data/lib/commonmarker/version.rb +1 -1
  404. data/test/test_helper.rb +1 -1
  405. 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
+ }