apex-ruby 1.0.29 → 1.0.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +2 -8
- data/apex-ruby.gemspec +14 -3
- data/ext/apex_ext/apex_src/include/apex/apex.h +11 -2
- data/ext/apex_ext/apex_src/src/apex.c +64 -5
- data/ext/apex_ext/apex_src/src/ast_terminal.c +2 -4
- data/ext/apex_ext/apex_src/src/extensions/callouts.c +103 -63
- data/ext/apex_ext/apex_src/src/extensions/callouts.h +3 -2
- data/ext/apex_ext/apex_src/src/extensions/citations.c +15 -2
- data/ext/apex_ext/apex_src/src/extensions/emoji.c +73 -7
- data/ext/apex_ext/apex_src/src/extensions/html_markdown.c +25 -4
- data/ext/apex_ext/apex_src/src/extensions/html_markdown.h +4 -1
- data/ext/apex_ext/apex_src/src/extensions/insert.c +49 -0
- data/ext/apex_ext/apex_src/src/extensions/metadata.c +275 -55
- data/ext/apex_ext/apex_src/src/extensions/metadata.h +9 -0
- data/ext/apex_ext/apex_src/src/extensions/relaxed_tables.c +172 -254
- data/ext/apex_ext/apex_src/src/extensions/table_html_postprocess.c +36 -127
- data/ext/apex_ext/apex_src/src/html_renderer.c +99 -157
- data/ext/apex_ext/extconf.rb +31 -79
- data/lib/apex/version.rb +1 -1
- metadata +1 -470
- data/ext/apex_ext/apex_src/AGENTS.md +0 -41
- data/ext/apex_ext/apex_src/BENCHMARK.md +0 -32
- data/ext/apex_ext/apex_src/BENCHMARK_COMPARISON.md +0 -67
- data/ext/apex_ext/apex_src/CHANGELOG.md +0 -3373
- data/ext/apex_ext/apex_src/CMakeLists.txt +0 -481
- data/ext/apex_ext/apex_src/Dockerfile.linux-build +0 -15
- data/ext/apex_ext/apex_src/Formula/apex.rb +0 -43
- data/ext/apex_ext/apex_src/Info.plist.in +0 -27
- data/ext/apex_ext/apex_src/Package.swift +0 -192
- data/ext/apex_ext/apex_src/PackageSupport/README.md +0 -17
- data/ext/apex_ext/apex_src/PackageSupport/cmark-gfm/cmark_gfm_spm_stub.c +0 -4
- data/ext/apex_ext/apex_src/README.md +0 -536
- data/ext/apex_ext/apex_src/ROADMAP.md +0 -5
- data/ext/apex_ext/apex_src/VERSION +0 -1
- data/ext/apex_ext/apex_src/apex-debug.log +0 -4
- data/ext/apex_ext/apex_src/apex-header-2-rb@2x.webp +0 -0
- data/ext/apex_ext/apex_src/apex-plugins.json.example +0 -20
- data/ext/apex_ext/apex_src/apex.code-workspace +0 -38
- data/ext/apex_ext/apex_src/apex.pc.in +0 -11
- data/ext/apex_ext/apex_src/apex.taskpaper +0 -12
- data/ext/apex_ext/apex_src/apex_deflist_debug.log +0 -25
- data/ext/apex_ext/apex_src/buildnotes.md +0 -1435
- data/ext/apex_ext/apex_src/cli/main.c +0 -4588
- data/ext/apex_ext/apex_src/debug.log +0 -7
- data/ext/apex_ext/apex_src/debug_test.sh +0 -22
- data/ext/apex_ext/apex_src/docs/API_REFERENCE.md +0 -451
- data/ext/apex_ext/apex_src/docs/ARCHITECTURE.md +0 -166
- data/ext/apex_ext/apex_src/docs/CITATIONS_EXAMPLES.md +0 -274
- data/ext/apex_ext/apex_src/docs/CITATIONS_IMPLEMENTATION_PLAN.md +0 -749
- data/ext/apex_ext/apex_src/docs/CITATIONS_PLAN.md +0 -744
- data/ext/apex_ext/apex_src/docs/CMARK_INTEGRATION.md +0 -220
- data/ext/apex_ext/apex_src/docs/CRITICMARKUP.md +0 -501
- data/ext/apex_ext/apex_src/docs/DEBUGGING.md +0 -73
- data/ext/apex_ext/apex_src/docs/FINAL_STATUS.md +0 -391
- data/ext/apex_ext/apex_src/docs/FINAL_STATUS_UPDATE.md +0 -237
- data/ext/apex_ext/apex_src/docs/IAL_FEATURES.md +0 -210
- data/ext/apex_ext/apex_src/docs/IAL_STATUS.md +0 -344
- data/ext/apex_ext/apex_src/docs/INDEX_IMPLEMENTATION_ANALYSIS.md +0 -382
- data/ext/apex_ext/apex_src/docs/INTEGRATION_EXAMPLE.m +0 -144
- data/ext/apex_ext/apex_src/docs/LIMITATIONS_RESOLVED.md +0 -278
- data/ext/apex_ext/apex_src/docs/OUTPUT_MODES.md +0 -321
- data/ext/apex_ext/apex_src/docs/PROGRESS.md +0 -167
- data/ext/apex_ext/apex_src/docs/STANDALONE_FEATURE.md +0 -174
- data/ext/apex_ext/apex_src/docs/TABLE_SPANS_STATUS.md +0 -243
- data/ext/apex_ext/apex_src/docs/TEST_COVERAGE.md +0 -316
- data/ext/apex_ext/apex_src/docs/USER_GUIDE.md +0 -803
- data/ext/apex_ext/apex_src/docs/WIKI_LINKS_ISSUE.md +0 -91
- data/ext/apex_ext/apex_src/docs/index.md +0 -459
- data/ext/apex_ext/apex_src/docs/plans/2025-02-27-man-page-output-implementation.md +0 -351
- data/ext/apex_ext/apex_src/docs/superpowers/plans/2026-07-12-toc-output-format.md +0 -745
- data/ext/apex_ext/apex_src/docs/superpowers/plans/2026-07-18-bear-image-attributes.md +0 -829
- data/ext/apex_ext/apex_src/docs/superpowers/plans/2026-07-19-apex-node-npm.md +0 -1148
- data/ext/apex_ext/apex_src/docs/superpowers/specs/2026-07-12-toc-output-format-design.md +0 -161
- data/ext/apex_ext/apex_src/docs/superpowers/specs/2026-07-18-bear-image-attributes-design.md +0 -184
- data/ext/apex_ext/apex_src/docs/superpowers/specs/2026-07-19-apex-node-npm-design.md +0 -211
- data/ext/apex_ext/apex_src/documentation/README.md +0 -160
- data/ext/apex_ext/apex_src/documentation/app-settings-table.md +0 -67
- data/ext/apex_ext/apex_src/documentation/app-transformed/Citations.md +0 -340
- data/ext/apex_ext/apex_src/documentation/app-transformed/Credits.md +0 -11
- data/ext/apex_ext/apex_src/documentation/app-transformed/Header-IDs.md +0 -234
- data/ext/apex_ext/apex_src/documentation/app-transformed/Inline-Attribute-Lists.md +0 -516
- data/ext/apex_ext/apex_src/documentation/app-transformed/Metadata-Transforms.md +0 -461
- data/ext/apex_ext/apex_src/documentation/app-transformed/Modes.md +0 -193
- data/ext/apex_ext/apex_src/documentation/app-transformed/Multi-File-Documents.md +0 -201
- data/ext/apex_ext/apex_src/documentation/app-transformed/Plugins.md +0 -678
- data/ext/apex_ext/apex_src/documentation/app-transformed/Syntax.md +0 -1367
- data/ext/apex_ext/apex_src/documentation/docsets/Apex Command Line Options.cheatsheet.txt +0 -371
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Info.plist +0 -24
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/C-API.html +0 -2211
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Callouts.html +0 -1194
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Citations.html +0 -1620
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Command-Line-Options.html +0 -6024
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Configuration.html +0 -1877
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Credits.html +0 -1040
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Examples.html +0 -1402
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Filters.html +0 -1656
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Generating-Man-Pages.html +0 -1226
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Getting-Started.html +0 -1148
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Header-IDs.html +0 -1478
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Home.html +0 -1225
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Indices.html +0 -2327
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Inline-Attribute-Lists.html +0 -2041
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Installation.html +0 -1314
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Limitations-and-Roadmap.html +0 -1868
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Metadata-Transforms.html +0 -1731
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Modes.html +0 -2242
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Multi-File-Documents.html +0 -1533
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Multi-Format-Images.html +0 -1362
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Pandoc-Integration.html +0 -1338
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Plugins.html +0 -3188
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Quarto-Mode.html +0 -1405
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Rendering-Markdown-In-Terminal.html +0 -1902
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Syntax.html +0 -4222
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Tables.html +0 -1781
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Troubleshooting.html +0 -1629
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Usage.html +0 -1394
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Using-Apex-with-Jekyll.html +0 -1132
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Writing-Tests.html +0 -1754
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Xcode-Integration.html +0 -2562
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/docSet.dsidx +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/optimizedIndex.dsidx +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Info.plist +0 -22
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Bold.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Bold_Italic.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Extrabold.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Extrabold_Italic.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Italic.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Semibold.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/cheatset_resources/Open_Sans_Semibold_Italic.woff +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/index.html +0 -914
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/Documents/style.css +0 -399
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/docSet.dsidx +0 -0
- data/ext/apex_ext/apex_src/documentation/docsets/ApexCLI.docset/Contents/Resources/optimizedIndex.dsidx +0 -0
- data/ext/apex_ext/apex_src/documentation/generate_app_docs.rb +0 -772
- data/ext/apex_ext/apex_src/documentation/generate_app_docs_ai.rb +0 -678
- data/ext/apex_ext/apex_src/documentation/generate_docset.rb +0 -873
- data/ext/apex_ext/apex_src/documentation/generate_single_html.rb +0 -733
- data/ext/apex_ext/apex_src/documentation/html/apex-app-docs.html +0 -8746
- data/ext/apex_ext/apex_src/documentation/html/apex-docs.html +0 -17073
- data/ext/apex_ext/apex_src/documentation/shared_scripts.js +0 -64
- data/ext/apex_ext/apex_src/documentation/shared_styles.css +0 -651
- data/ext/apex_ext/apex_src/documentation/transform_for_app.example.md +0 -260
- data/ext/apex_ext/apex_src/documentation/transform_for_app.md +0 -55
- data/ext/apex_ext/apex_src/escaping-repro.md +0 -103
- data/ext/apex_ext/apex_src/examples/bracketed_spans_demo.md +0 -119
- data/ext/apex_ext/apex_src/examples/emoji_span_plugin.yml +0 -11
- data/ext/apex_ext/apex_src/examples/example.html +0 -53
- data/ext/apex_ext/apex_src/examples/example.md +0 -85
- data/ext/apex_ext/apex_src/examples/fenced_divs_demo.md +0 -158
- data/ext/apex_ext/apex_src/examples/kbd.md +0 -8
- data/ext/apex_ext/apex_src/examples/kbd_plugin.rb +0 -250
- data/ext/apex_ext/apex_src/examples/kbd_plugin.yml +0 -9
- data/ext/apex_ext/apex_src/examples/quick-actions/Markdown to RTF.workflow/Contents/Info.plist +0 -8
- data/ext/apex_ext/apex_src/examples/quick-actions/Markdown to RTF.workflow/Contents/QuickLook/Preview.png +0 -0
- data/ext/apex_ext/apex_src/examples/quick-actions/Markdown to RTF.workflow/Contents/document.wflow +0 -547
- data/ext/apex_ext/apex_src/examples/quick-actions/Markdown-to-RTF.workflow.zip +0 -0
- data/ext/apex_ext/apex_src/examples/quick-actions/README.md +0 -33
- data/ext/apex_ext/apex_src/ial.html +0 -24
- data/ext/apex_ext/apex_src/icon/apexicon-outline-black.png +0 -0
- data/ext/apex_ext/apex_src/icon/apexicon-outline-black@2x.png +0 -0
- data/ext/apex_ext/apex_src/icon/apexicon-outline-mark.png +0 -0
- data/ext/apex_ext/apex_src/icon/apexicon-outline-mark@2x.png +0 -0
- data/ext/apex_ext/apex_src/icon/apexicon-outline-white.png +0 -0
- data/ext/apex_ext/apex_src/icon/apexicon-outline-white@2x.png +0 -0
- data/ext/apex_ext/apex_src/icon/apexicon.png +0 -0
- data/ext/apex_ext/apex_src/icon/apexicon@2x.png +0 -0
- data/ext/apex_ext/apex_src/man/apex-config.5 +0 -455
- data/ext/apex_ext/apex_src/man/apex-config.5.md +0 -262
- data/ext/apex_ext/apex_src/man/apex-plugins.7 +0 -541
- data/ext/apex_ext/apex_src/man/apex-plugins.7.md +0 -365
- data/ext/apex_ext/apex_src/man/apex.1 +0 -583
- data/ext/apex_ext/apex_src/man/apex.1.html +0 -703
- data/ext/apex_ext/apex_src/man/apex.1.md +0 -803
- data/ext/apex_ext/apex_src/man/apex.1.new +0 -338
- data/ext/apex_ext/apex_src/objc/Apex.swift +0 -316
- data/ext/apex_ext/apex_src/objc/ApexPlugins.swift +0 -79
- data/ext/apex_ext/apex_src/objc/NSString+Apex.h +0 -207
- data/ext/apex_ext/apex_src/objc/NSString+Apex.m +0 -584
- data/ext/apex_ext/apex_src/objc/NSString+ApexPlugins.h +0 -76
- data/ext/apex_ext/apex_src/objc/NSString+ApexPlugins.m +0 -169
- data/ext/apex_ext/apex_src/output.html +0 -87
- data/ext/apex_ext/apex_src/pages/index.md +0 -459
- data/ext/apex_ext/apex_src/plans/quarto-mode.md +0 -442
- data/ext/apex_ext/apex_src/src/_README.md +0 -413
- data/ext/apex_ext/apex_src/src/extensions/github-emoji.txt +0 -869
- data/ext/apex_ext/apex_src/test-linux-build.sh +0 -20
- data/ext/apex_ext/apex_src/test.html +0 -103
- data/ext/apex_ext/apex_src/test_coverage.sh +0 -121
- data/ext/apex_ext/apex_src/test_ial_fenced.md +0 -6
- data/ext/apex_ext/apex_src/test_math_norm.py +0 -79
- data/ext/apex_ext/apex_src/test_pandoc_output.html +0 -48
- data/ext/apex_ext/apex_src/test_spm.sh +0 -107
- data/ext/apex_ext/apex_src/tests/ApexSPMTest/main.swift +0 -50
- data/ext/apex_ext/apex_src/tests/BENCHMARK_RESULTS.md +0 -229
- data/ext/apex_ext/apex_src/tests/CMakeLists.txt +0 -25
- data/ext/apex_ext/apex_src/tests/README.md +0 -152
- data/ext/apex_ext/apex_src/tests/benchmark.sh +0 -113
- data/ext/apex_ext/apex_src/tests/benchmark_comparison.sh +0 -166
- data/ext/apex_ext/apex_src/tests/compare_header_ids.sh +0 -31
- data/ext/apex_ext/apex_src/tests/fixtures/basic/headers.md +0 -25
- data/ext/apex_ext/apex_src/tests/fixtures/basic/list-interruption.md +0 -24
- data/ext/apex_ext/apex_src/tests/fixtures/basic/misc_markup.md +0 -33
- data/ext/apex_ext/apex_src/tests/fixtures/basic/test_basic.md +0 -26
- data/ext/apex_ext/apex_src/tests/fixtures/code/code-blocks.md +0 -260
- data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/SUMMARY.md +0 -6
- data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/chapter1.md +0 -7
- data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/index.txt +0 -9
- data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/intro.md +0 -5
- data/ext/apex_ext/apex_src/tests/fixtures/combine_summary/section1_1.md +0 -5
- data/ext/apex_ext/apex_src/tests/fixtures/comprehensive_test.md +0 -652
- data/ext/apex_ext/apex_src/tests/fixtures/debug_ref_image_ial.md +0 -3
- data/ext/apex_ext/apex_src/tests/fixtures/demos/ial.md +0 -11
- data/ext/apex_ext/apex_src/tests/fixtures/demos/ial_demo.md +0 -177
- data/ext/apex_ext/apex_src/tests/fixtures/extensions/emoji-autocorrect.md +0 -94
- data/ext/apex_ext/apex_src/tests/fixtures/extensions/emoji_test.md +0 -3
- data/ext/apex_ext/apex_src/tests/fixtures/extensions/kbd_test.md +0 -3
- data/ext/apex_ext/apex_src/tests/fixtures/filters/filter_output_with_rawblock.json +0 -1
- data/ext/apex_ext/apex_src/tests/fixtures/filters/unwrap.md +0 -7
- data/ext/apex_ext/apex_src/tests/fixtures/ial/bracketed_spans_test.md +0 -74
- data/ext/apex_ext/apex_src/tests/fixtures/images/auto-wildcard.md +0 -8
- data/ext/apex_ext/apex_src/tests/fixtures/images/bear_image_attributes.md +0 -10
- data/ext/apex_ext/apex_src/tests/fixtures/images/image_and_encoding_test.md +0 -27
- data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu.avif +0 -0
- data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu.jpg +0 -0
- data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu.webp +0 -0
- data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu@2x.avif +0 -0
- data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu@2x.jpg +0 -0
- data/ext/apex_ext/apex_src/tests/fixtures/images/img/app-pass-1-profile-menu@2x.webp +0 -0
- data/ext/apex_ext/apex_src/tests/fixtures/images/media_formats_test.md +0 -63
- data/ext/apex_ext/apex_src/tests/fixtures/images/multimarkdown_image_attributes_test.md +0 -60
- data/ext/apex_ext/apex_src/tests/fixtures/images/pandoc_ial_image_test.md +0 -27
- data/ext/apex_ext/apex_src/tests/fixtures/images/width_height_conversion_test.md +0 -94
- data/ext/apex_ext/apex_src/tests/fixtures/img-in-div.md +0 -16
- data/ext/apex_ext/apex_src/tests/fixtures/includes/code.py +0 -4
- data/ext/apex_ext/apex_src/tests/fixtures/includes/data-semi.csv +0 -3
- data/ext/apex_ext/apex_src/tests/fixtures/includes/data.csv +0 -5
- data/ext/apex_ext/apex_src/tests/fixtures/includes/data.tsv +0 -5
- data/ext/apex_ext/apex_src/tests/fixtures/includes/image.png +0 -2
- data/ext/apex_ext/apex_src/tests/fixtures/includes/metadata_options.yml +0 -11
- data/ext/apex_ext/apex_src/tests/fixtures/includes/nested.md +0 -8
- data/ext/apex_ext/apex_src/tests/fixtures/includes/raw.html +0 -4
- data/ext/apex_ext/apex_src/tests/fixtures/includes/sections.md +0 -19
- data/ext/apex_ext/apex_src/tests/fixtures/includes/sections.txt +0 -11
- data/ext/apex_ext/apex_src/tests/fixtures/includes/simple.md +0 -7
- data/ext/apex_ext/apex_src/tests/fixtures/includes/test_image.png +0 -0
- data/ext/apex_ext/apex_src/tests/fixtures/includes/with space.txt +0 -1
- data/ext/apex_ext/apex_src/tests/fixtures/large_doc.md +0 -1094
- data/ext/apex_ext/apex_src/tests/fixtures/metadata/mmd-metadata.md +0 -5
- data/ext/apex_ext/apex_src/tests/fixtures/metadata/pandoc-meta.md +0 -4
- data/ext/apex_ext/apex_src/tests/fixtures/metadata/yaml-frontmatter.md +0 -6
- data/ext/apex_ext/apex_src/tests/fixtures/metadata_options.yml +0 -11
- data/ext/apex_ext/apex_src/tests/fixtures/minimal_pb.md +0 -2
- data/ext/apex_ext/apex_src/tests/fixtures/obsidian-callouts.md +0 -46
- data/ext/apex_ext/apex_src/tests/fixtures/output/gfm_header_id_test.md +0 -96
- data/ext/apex_ext/apex_src/tests/fixtures/output/test_citations.md +0 -43
- data/ext/apex_ext/apex_src/tests/fixtures/output/test_def_list_links.md +0 -12
- data/ext/apex_ext/apex_src/tests/fixtures/output/test_index_mmark.md +0 -53
- data/ext/apex_ext/apex_src/tests/fixtures/output/test_index_textindex.md +0 -37
- data/ext/apex_ext/apex_src/tests/fixtures/pagebreak_html_repro.md +0 -5
- data/ext/apex_ext/apex_src/tests/fixtures/python-callouts.md +0 -47
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/callouts.md +0 -3
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/code-attrs.md +0 -3
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/diagrams.md +0 -8
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/lists.md +0 -19
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/raw-content.md +0 -5
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/shortcodes.md +0 -7
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/smoke.md +0 -81
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/spans.md +0 -5
- data/ext/apex_ext/apex_src/tests/fixtures/quarto-callouts.md +0 -47
- data/ext/apex_ext/apex_src/tests/fixtures/speed.md +0 -192
- data/ext/apex_ext/apex_src/tests/fixtures/tables/advanced_tables_test.md +0 -93
- data/ext/apex_ext/apex_src/tests/fixtures/tables/grid-tables.md +0 -37
- data/ext/apex_ext/apex_src/tests/fixtures/tables/inline_tables_test.md +0 -41
- data/ext/apex_ext/apex_src/tests/fixtures/tables/relaxed-table.md +0 -12
- data/ext/apex_ext/apex_src/tests/fixtures/tables/table_cr_line_endings.md +0 -15
- data/ext/apex_ext/apex_src/tests/fixtures/tables/table_no_trailing_newline.md +0 -15
- data/ext/apex_ext/apex_src/tests/generate_gfm_ids.sh +0 -105
- data/ext/apex_ext/apex_src/tests/generate_ial_demo.sh +0 -143
- data/ext/apex_ext/apex_src/tests/gfm_id_comparison_summary.md +0 -96
- data/ext/apex_ext/apex_src/tests/gh_api_test.md +0 -6
- data/ext/apex_ext/apex_src/tests/ial_demo.html +0 -186
- data/ext/apex_ext/apex_src/tests/include_code.py +0 -19
- data/ext/apex_ext/apex_src/tests/include_snippet.md +0 -15
- data/ext/apex_ext/apex_src/tests/metadata_cli_test.sh +0 -119
- data/ext/apex_ext/apex_src/tests/multi_file_cli_test.sh +0 -64
- data/ext/apex_ext/apex_src/tests/paginate_cli_test.sh +0 -80
- data/ext/apex_ext/apex_src/tests/sample_data.csv +0 -7
- data/ext/apex_ext/apex_src/tests/table_escaped_ltlt.md +0 -4
- data/ext/apex_ext/apex_src/tests/terminal_width_test.sh +0 -29
- data/ext/apex_ext/apex_src/tests/test-swift-package.sh +0 -14
- data/ext/apex_ext/apex_src/tests/test_basic.c +0 -74
- data/ext/apex_ext/apex_src/tests/test_bear_image_attrs.c +0 -301
- data/ext/apex_ext/apex_src/tests/test_cmark_callback.c +0 -189
- data/ext/apex_ext/apex_src/tests/test_concordance.tsv +0 -4
- data/ext/apex_ext/apex_src/tests/test_custom_plugins.c +0 -78
- data/ext/apex_ext/apex_src/tests/test_escaping_repro.c +0 -82
- data/ext/apex_ext/apex_src/tests/test_extensions.c +0 -3337
- data/ext/apex_ext/apex_src/tests/test_helpers.c +0 -183
- data/ext/apex_ext/apex_src/tests/test_helpers.h +0 -91
- data/ext/apex_ext/apex_src/tests/test_ial.c +0 -289
- data/ext/apex_ext/apex_src/tests/test_links.c +0 -418
- data/ext/apex_ext/apex_src/tests/test_marked_integration.c +0 -290
- data/ext/apex_ext/apex_src/tests/test_metadata.c +0 -1147
- data/ext/apex_ext/apex_src/tests/test_output.c +0 -2056
- data/ext/apex_ext/apex_src/tests/test_plugins.c +0 -219
- data/ext/apex_ext/apex_src/tests/test_refs.bib +0 -31
- data/ext/apex_ext/apex_src/tests/test_runner.c +0 -268
- data/ext/apex_ext/apex_src/tests/test_syntax_highlight.c +0 -198
- data/ext/apex_ext/apex_src/tests/test_tables.c +0 -1298
- data/ext/apex_ext/apex_src/tests/update_benchmarks.sh +0 -9
- data/ext/apex_ext/apex_src/tests/yaml_test.md +0 -13
- data/ext/apex_ext/apex_src/tests.rb +0 -39
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/CMakeLists.txt +0 -48
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/CheckFileOffsetBits.c +0 -14
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/CheckFileOffsetBits.cmake +0 -43
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/FindAsan.cmake +0 -74
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/Makefile.nmake +0 -38
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/README.md +0 -206
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/CMakeLists.txt +0 -30
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/cplusplus.cpp +0 -15
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/cplusplus.h +0 -16
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/harness.c +0 -111
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/harness.h +0 -35
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/api_test/main.c +0 -1169
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/appveyor.yml +0 -21
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-bq-flat.md +0 -16
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-bq-nested.md +0 -13
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-code.md +0 -11
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-fences.md +0 -14
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-heading.md +0 -9
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-hr.md +0 -10
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-html.md +0 -32
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-lheading.md +0 -8
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-list-flat.md +0 -67
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-list-nested.md +0 -36
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-ref-flat.md +0 -15
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/block-ref-nested.md +0 -17
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-autolink.md +0 -14
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-backticks.md +0 -3
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-em-flat.md +0 -5
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-em-nested.md +0 -5
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-em-worst.md +0 -5
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-entity.md +0 -11
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-escape.md +0 -15
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-html.md +0 -44
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-links-flat.md +0 -23
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-links-nested.md +0 -13
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/inline-newlines.md +0 -24
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/lorem1.md +0 -13
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/samples/rawtabs.md +0 -18
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/statistics.py +0 -595
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/bench/stats.py +0 -19
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/benchmarks.md +0 -33
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/changelog.txt +0 -1245
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/data/CaseFolding.txt +0 -1495
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/CMakeLists.txt +0 -119
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/ext_scanners.re +0 -92
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/CMakeLists.txt +0 -22
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/README.md +0 -12
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/fuzz_quadratic.c +0 -91
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/fuzz_quadratic_brackets.c +0 -110
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/fuzz/fuzzloop.sh +0 -28
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/CMakeLists.txt +0 -10
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/make_man_page.py +0 -133
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/man1/cmark-gfm.1 +0 -78
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/man/man3/cmark-gfm.3 +0 -1041
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/nmake.bat +0 -1
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/CMakeLists.txt +0 -230
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/cmark-gfm_version.h.in +0 -7
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/config.h +0 -38
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/config.h.in +0 -76
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/libcmark-gfm.pc.in +0 -10
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/scanners.re +0 -365
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/suppressions +0 -10
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/CMakeLists.txt +0 -114
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/__pycache__/cmark.cpython-314.pyc +0 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/__pycache__/normalize.cpython-314.pyc +0 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/afl_test_cases/test.md +0 -49
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/cmark-fuzz.c +0 -58
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/cmark.py +0 -105
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/entity_tests.py +0 -67
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/extensions-full-info-string.txt +0 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/extensions-table-prefer-style-attributes.txt +0 -38
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/extensions.txt +0 -989
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/fuzzing_dictionary +0 -67
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/normalize.py +0 -194
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/pathological_tests.py +0 -160
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/regression.txt +0 -375
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/roundtrip_tests.py +0 -50
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/run-cmark-fuzz +0 -4
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/smart_punct.txt +0 -177
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/spec.txt +0 -10212
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/test/spec_tests.py +0 -152
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/toolchain-mingw32.cmake +0 -17
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/Dockerfile +0 -41
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/appveyor-build.bat +0 -13
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/make_entities_inc.py +0 -32
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/mkcasefold.pl +0 -22
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/xml2md.xsl +0 -319
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/tools/xml2md_gfm.xsl +0 -80
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/why-cmark-and-not-x.md +0 -104
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper.js +0 -6
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper.py +0 -37
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper.rb +0 -15
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper.rkt +0 -208
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/wrappers/wrapper_ext.py +0 -109
- data/ext/apex_ext/apex_src/vendor/libyaml/CMakeLists.txt +0 -160
- data/ext/apex_ext/apex_src/vendor/libyaml/Changes +0 -372
- data/ext/apex_ext/apex_src/vendor/libyaml/License +0 -20
- data/ext/apex_ext/apex_src/vendor/libyaml/Makefile.am +0 -51
- data/ext/apex_ext/apex_src/vendor/libyaml/ReadMe.md +0 -46
- data/ext/apex_ext/apex_src/vendor/libyaml/announcement.msg +0 -89
- data/ext/apex_ext/apex_src/vendor/libyaml/bootstrap +0 -3
- data/ext/apex_ext/apex_src/vendor/libyaml/cmake/config.h.in +0 -4
- data/ext/apex_ext/apex_src/vendor/libyaml/configure.ac +0 -73
- data/ext/apex_ext/apex_src/vendor/libyaml/doc/doxygen.cfg +0 -222
- data/ext/apex_ext/apex_src/vendor/libyaml/docker/README.mkd +0 -17
- data/ext/apex_ext/apex_src/vendor/libyaml/docker/alpine-3.7 +0 -26
- data/ext/apex_ext/apex_src/vendor/libyaml/docker/fedora-25 +0 -26
- data/ext/apex_ext/apex_src/vendor/libyaml/docker/ubuntu-14.04 +0 -29
- data/ext/apex_ext/apex_src/vendor/libyaml/docker/ubuntu-16.04 +0 -24
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/anchors.yaml +0 -10
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/array.yaml +0 -2
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/global-tag.yaml +0 -14
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/json.yaml +0 -1
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/mapping.yaml +0 -2
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/numbers.yaml +0 -1
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/strings.yaml +0 -7
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/tags.yaml +0 -7
- data/ext/apex_ext/apex_src/vendor/libyaml/examples/yaml-version.yaml +0 -3
- data/ext/apex_ext/apex_src/vendor/libyaml/include/Makefile.am +0 -17
- data/ext/apex_ext/apex_src/vendor/libyaml/include/yaml.h +0 -1999
- data/ext/apex_ext/apex_src/vendor/libyaml/pkg/ReadMe.md +0 -77
- data/ext/apex_ext/apex_src/vendor/libyaml/pkg/docker/Dockerfile +0 -32
- data/ext/apex_ext/apex_src/vendor/libyaml/pkg/docker/output/ReadMe +0 -1
- data/ext/apex_ext/apex_src/vendor/libyaml/pkg/docker/scripts/libyaml-dist.sh +0 -23
- data/ext/apex_ext/apex_src/vendor/libyaml/regression-inputs/clusterfuzz-testcase-minimized-5607885063061504.yml +0 -1
- data/ext/apex_ext/apex_src/vendor/libyaml/src/Makefile.am +0 -4
- data/ext/apex_ext/apex_src/vendor/libyaml/src/api.c +0 -1393
- data/ext/apex_ext/apex_src/vendor/libyaml/src/dumper.c +0 -394
- data/ext/apex_ext/apex_src/vendor/libyaml/src/emitter.c +0 -2358
- data/ext/apex_ext/apex_src/vendor/libyaml/src/loader.c +0 -544
- data/ext/apex_ext/apex_src/vendor/libyaml/src/parser.c +0 -1416
- data/ext/apex_ext/apex_src/vendor/libyaml/src/reader.c +0 -469
- data/ext/apex_ext/apex_src/vendor/libyaml/src/scanner.c +0 -3598
- data/ext/apex_ext/apex_src/vendor/libyaml/src/writer.c +0 -141
- data/ext/apex_ext/apex_src/vendor/libyaml/src/yaml_private.h +0 -684
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/CMakeLists.txt +0 -27
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/Makefile.am +0 -9
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/ReadMe.md +0 -63
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/example-deconstructor-alt.c +0 -800
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/example-deconstructor.c +0 -1127
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/example-reformatter-alt.c +0 -217
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/example-reformatter.c +0 -202
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-all-tests.sh +0 -29
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-dumper.c +0 -314
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-emitter-test-suite.c +0 -290
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-emitter.c +0 -327
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-loader.c +0 -63
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-parser-test-suite.c +0 -196
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-parser.c +0 -88
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/run-scanner.c +0 -63
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/test-reader.c +0 -354
- data/ext/apex_ext/apex_src/vendor/libyaml/tests/test-version.c +0 -29
- data/ext/apex_ext/apex_src/vendor/libyaml/yaml-0.1.pc.in +0 -10
- data/ext/apex_ext/apex_src/vendor/libyaml/yamlConfig.cmake.in +0 -16
- data/ext/apex_ext/apex_src/xcode_build/CMakeScripts/ReRunCMake.make +0 -74
- data/ext/apex_ext/apex_src/xcode_build/CTestTestfile.cmake +0 -22
- data/ext/apex_ext/apex_src/xcode_build/Debug/Apex.framework/Versions/A/Apex +0 -0
- data/ext/apex_ext/apex_src/xcode_build/Debug/Apex.framework/Versions/A/Resources/Info.plist +0 -44
- data/ext/apex_ext/apex_src/xcode_build/Debug/Apex.framework/Versions/A/_CodeSignature/CodeResources +0 -128
- data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/project.pbxproj +0 -5118
- data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +0 -8
- data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/project.xcworkspace/xcuserdata/ttscoff.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/project.xcworkspace/xcuserdata/ttscoff.xcuserdatad/WorkspaceSettings.xcsettings +0 -8
- data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/xcuserdata/ttscoff.xcuserdatad/xcschemes/xcschememanagement.plist +0 -99
- data/ext/apex_ext/apex_src/xcode_build/cmake_install.cmake +0 -452
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/CMakeScripts/ReRunCMake.make +0 -52
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/cmake_install.cmake +0 -55
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/cmark-gfm.xcodeproj/project.pbxproj +0 -2455
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/cmark-gfm.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +0 -8
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/extensions/cmake_install.cmake +0 -171
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/man/cmake_install.cmake +0 -55
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/cmake_install.cmake +0 -220
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/cmark-gfm_export.h +0 -43
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/cmark-gfm_version.h +0 -7
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/config.h +0 -76
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/libcmark-gfm.pc +0 -10
|
@@ -103,6 +103,168 @@ static void add_metadata_item(apex_metadata_item **list, const char *key, const
|
|
|
103
103
|
*list = item;
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
+
/* Append code point cp as UTF-8 at out[*len], keeping room for the NUL. */
|
|
107
|
+
static void yaml_append_utf8(char *out, size_t out_size, size_t *len, unsigned long cp) {
|
|
108
|
+
char buf[4];
|
|
109
|
+
size_t n;
|
|
110
|
+
if (cp < 0x80) {
|
|
111
|
+
buf[0] = (char)cp;
|
|
112
|
+
n = 1;
|
|
113
|
+
} else if (cp < 0x800) {
|
|
114
|
+
buf[0] = (char)(0xC0 | (cp >> 6));
|
|
115
|
+
buf[1] = (char)(0x80 | (cp & 0x3F));
|
|
116
|
+
n = 2;
|
|
117
|
+
} else if (cp < 0x10000) {
|
|
118
|
+
buf[0] = (char)(0xE0 | (cp >> 12));
|
|
119
|
+
buf[1] = (char)(0x80 | ((cp >> 6) & 0x3F));
|
|
120
|
+
buf[2] = (char)(0x80 | (cp & 0x3F));
|
|
121
|
+
n = 3;
|
|
122
|
+
} else if (cp <= 0x10FFFF) {
|
|
123
|
+
buf[0] = (char)(0xF0 | (cp >> 18));
|
|
124
|
+
buf[1] = (char)(0x80 | ((cp >> 12) & 0x3F));
|
|
125
|
+
buf[2] = (char)(0x80 | ((cp >> 6) & 0x3F));
|
|
126
|
+
buf[3] = (char)(0x80 | (cp & 0x3F));
|
|
127
|
+
n = 4;
|
|
128
|
+
} else {
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
if (*len + n >= out_size) return;
|
|
132
|
+
memcpy(out + *len, buf, n);
|
|
133
|
+
*len += n;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/* Parse exactly `digits` hex characters at p into *cp. */
|
|
137
|
+
static bool yaml_parse_hex(const char *p, int digits, unsigned long *cp) {
|
|
138
|
+
unsigned long v = 0;
|
|
139
|
+
for (int i = 0; i < digits; i++) {
|
|
140
|
+
char c = p[i];
|
|
141
|
+
int d;
|
|
142
|
+
if (c >= '0' && c <= '9') d = c - '0';
|
|
143
|
+
else if (c >= 'a' && c <= 'f') d = c - 'a' + 10;
|
|
144
|
+
else if (c >= 'A' && c <= 'F') d = c - 'A' + 10;
|
|
145
|
+
else return false;
|
|
146
|
+
v = (v << 4) | (unsigned long)d;
|
|
147
|
+
}
|
|
148
|
+
*cp = v;
|
|
149
|
+
return true;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/* True if s is empty, whitespace, or a whitespace-led # comment. */
|
|
153
|
+
static bool yaml_rest_is_ignorable(const char *s) {
|
|
154
|
+
while (*s == ' ' || *s == '\t') s++;
|
|
155
|
+
return *s == '\0' || *s == '#';
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Unquote a single-line YAML scalar for the fallback parser, matching libyaml:
|
|
160
|
+
* single-quoted '' becomes ', double-quoted backslash escapes are decoded, and
|
|
161
|
+
* plain scalars are copied unchanged. A quoted scalar may be followed by a
|
|
162
|
+
* # comment. Output is truncated to fit out_size.
|
|
163
|
+
*/
|
|
164
|
+
static void yaml_unquote_scalar(const char *raw, char *out, size_t out_size) {
|
|
165
|
+
if (!out || out_size == 0) return;
|
|
166
|
+
out[0] = '\0';
|
|
167
|
+
if (!raw) return;
|
|
168
|
+
|
|
169
|
+
size_t len = 0;
|
|
170
|
+
char quote = raw[0];
|
|
171
|
+
|
|
172
|
+
if (quote == '\'') {
|
|
173
|
+
const char *p = raw + 1;
|
|
174
|
+
while (*p) {
|
|
175
|
+
if (*p == '\'') {
|
|
176
|
+
if (p[1] == '\'') {
|
|
177
|
+
if (len + 1 < out_size) out[len++] = '\'';
|
|
178
|
+
p += 2;
|
|
179
|
+
continue;
|
|
180
|
+
}
|
|
181
|
+
if (yaml_rest_is_ignorable(p + 1)) {
|
|
182
|
+
out[len] = '\0';
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
break;
|
|
186
|
+
}
|
|
187
|
+
if (len + 1 < out_size) out[len++] = *p;
|
|
188
|
+
p++;
|
|
189
|
+
}
|
|
190
|
+
} else if (quote == '"') {
|
|
191
|
+
const char *p = raw + 1;
|
|
192
|
+
while (*p) {
|
|
193
|
+
if (*p == '"') {
|
|
194
|
+
if (yaml_rest_is_ignorable(p + 1)) {
|
|
195
|
+
out[len] = '\0';
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
break;
|
|
199
|
+
}
|
|
200
|
+
if (*p != '\\' || !p[1]) {
|
|
201
|
+
if (len + 1 < out_size) out[len++] = *p;
|
|
202
|
+
p++;
|
|
203
|
+
continue;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
char esc = p[1];
|
|
207
|
+
unsigned long cp = 0;
|
|
208
|
+
int hex_digits = 0;
|
|
209
|
+
char simple = 0;
|
|
210
|
+
switch (esc) {
|
|
211
|
+
case '0': simple = '\0'; break;
|
|
212
|
+
case 'a': simple = '\a'; break;
|
|
213
|
+
case 'b': simple = '\b'; break;
|
|
214
|
+
case 't': case '\t': simple = '\t'; break;
|
|
215
|
+
case 'n': simple = '\n'; break;
|
|
216
|
+
case 'v': simple = '\v'; break;
|
|
217
|
+
case 'f': simple = '\f'; break;
|
|
218
|
+
case 'r': simple = '\r'; break;
|
|
219
|
+
case 'e': simple = '\x1B'; break;
|
|
220
|
+
case ' ': simple = ' '; break;
|
|
221
|
+
case '"': simple = '"'; break;
|
|
222
|
+
case '/': simple = '/'; break;
|
|
223
|
+
case '\\': simple = '\\'; break;
|
|
224
|
+
case 'N': cp = 0x85; break;
|
|
225
|
+
case '_': cp = 0xA0; break;
|
|
226
|
+
case 'L': cp = 0x2028; break;
|
|
227
|
+
case 'P': cp = 0x2029; break;
|
|
228
|
+
case 'x': hex_digits = 2; break;
|
|
229
|
+
case 'u': hex_digits = 4; break;
|
|
230
|
+
case 'U': hex_digits = 8; break;
|
|
231
|
+
default:
|
|
232
|
+
/* Unknown escape: keep it literally */
|
|
233
|
+
if (len + 2 < out_size) {
|
|
234
|
+
out[len++] = '\\';
|
|
235
|
+
out[len++] = esc;
|
|
236
|
+
}
|
|
237
|
+
p += 2;
|
|
238
|
+
continue;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
if (hex_digits) {
|
|
242
|
+
if (!yaml_parse_hex(p + 2, hex_digits, &cp)) {
|
|
243
|
+
if (len + 2 < out_size) {
|
|
244
|
+
out[len++] = '\\';
|
|
245
|
+
out[len++] = esc;
|
|
246
|
+
}
|
|
247
|
+
p += 2;
|
|
248
|
+
continue;
|
|
249
|
+
}
|
|
250
|
+
yaml_append_utf8(out, out_size, &len, cp);
|
|
251
|
+
p += 2 + hex_digits;
|
|
252
|
+
} else if (cp) {
|
|
253
|
+
yaml_append_utf8(out, out_size, &len, cp);
|
|
254
|
+
p += 2;
|
|
255
|
+
} else {
|
|
256
|
+
/* \0 would end the C string; drop it rather than truncate */
|
|
257
|
+
if (simple != '\0' && len + 1 < out_size) out[len++] = simple;
|
|
258
|
+
p += 2;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
/* Plain scalar, or a quoted one that is unterminated or has trailing text */
|
|
264
|
+
strncpy(out, raw, out_size - 1);
|
|
265
|
+
out[out_size - 1] = '\0';
|
|
266
|
+
}
|
|
267
|
+
|
|
106
268
|
#ifdef APEX_HAVE_LIBYAML
|
|
107
269
|
/* Recursively convert libyaml node to flat metadata items */
|
|
108
270
|
static void yaml_node_to_flat_items(yaml_document_t *doc, yaml_node_t *node,
|
|
@@ -247,18 +409,26 @@ static void yaml_node_to_flat_items(yaml_document_t *doc, yaml_node_t *node,
|
|
|
247
409
|
}
|
|
248
410
|
}
|
|
249
411
|
|
|
250
|
-
/* Parse YAML using libyaml - returns flat metadata items for backward compatibility
|
|
251
|
-
|
|
412
|
+
/* Parse YAML using libyaml - returns flat metadata items for backward compatibility.
|
|
413
|
+
* On a libyaml parse error, a description is written to errbuf (if non-NULL).
|
|
414
|
+
* added_lines is the number of leading lines in text that are not in the
|
|
415
|
+
* source file, so reported line numbers match the file. */
|
|
416
|
+
static apex_metadata_item *parse_yaml_with_libyaml(const char *text, size_t text_len, size_t *consumed,
|
|
417
|
+
char *errbuf, size_t errbuf_size, size_t added_lines) {
|
|
252
418
|
yaml_parser_t parser;
|
|
253
419
|
yaml_document_t document;
|
|
254
420
|
apex_metadata_item *items = NULL;
|
|
255
421
|
|
|
422
|
+
if (errbuf && errbuf_size) errbuf[0] = '\0';
|
|
423
|
+
|
|
256
424
|
/* Skip opening --- if present */
|
|
257
425
|
const char *yaml_start = text;
|
|
426
|
+
size_t line_offset = 0;
|
|
258
427
|
if (text_len >= 3 && strncmp(text, "---", 3) == 0) {
|
|
259
428
|
const char *newline = strchr(text + 3, '\n');
|
|
260
429
|
if (newline) {
|
|
261
430
|
yaml_start = newline + 1;
|
|
431
|
+
line_offset = 1;
|
|
262
432
|
} else {
|
|
263
433
|
yaml_start = text + 3;
|
|
264
434
|
}
|
|
@@ -293,6 +463,12 @@ static apex_metadata_item *parse_yaml_with_libyaml(const char *text, size_t text
|
|
|
293
463
|
yaml_parser_set_input_string(&parser, (const unsigned char *)yaml_start, yaml_content_len);
|
|
294
464
|
|
|
295
465
|
if (!yaml_parser_load(&parser, &document)) {
|
|
466
|
+
if (errbuf && errbuf_size) {
|
|
467
|
+
snprintf(errbuf, errbuf_size, "%s (line %lu, column %lu)",
|
|
468
|
+
parser.problem ? parser.problem : "parse error",
|
|
469
|
+
(unsigned long)(parser.problem_mark.line + line_offset + 1 - added_lines),
|
|
470
|
+
(unsigned long)(parser.problem_mark.column + 1));
|
|
471
|
+
}
|
|
296
472
|
yaml_parser_delete(&parser);
|
|
297
473
|
return NULL;
|
|
298
474
|
}
|
|
@@ -324,18 +500,23 @@ static apex_metadata_item *parse_yaml_with_libyaml(const char *text, size_t text
|
|
|
324
500
|
* Parse YAML front matter
|
|
325
501
|
* Format: --- at start, key: value pairs, --- to close
|
|
326
502
|
* If libyaml is available, attempts to use it for full YAML support (arrays, nested structures)
|
|
327
|
-
* Falls back to simple line-by-line parser for backward compatibility
|
|
503
|
+
* Falls back to simple line-by-line parser for backward compatibility.
|
|
504
|
+
* If libyaml rejects the input, its error is written to errbuf (if non-NULL).
|
|
328
505
|
*/
|
|
329
|
-
static apex_metadata_item *
|
|
506
|
+
static apex_metadata_item *parse_yaml_metadata_ex(const char *text, size_t *consumed,
|
|
507
|
+
char *errbuf, size_t errbuf_size, size_t added_lines) {
|
|
330
508
|
apex_metadata_item *items = NULL;
|
|
509
|
+
if (errbuf && errbuf_size) errbuf[0] = '\0';
|
|
331
510
|
#ifdef APEX_HAVE_LIBYAML
|
|
332
511
|
/* Try libyaml first for full YAML support */
|
|
333
512
|
size_t text_len = strlen(text);
|
|
334
|
-
items = parse_yaml_with_libyaml(text, text_len, consumed);
|
|
513
|
+
items = parse_yaml_with_libyaml(text, text_len, consumed, errbuf, errbuf_size, added_lines);
|
|
335
514
|
if (items) {
|
|
336
515
|
return items;
|
|
337
516
|
}
|
|
338
517
|
/* Fall through to simple parser if libyaml parsing failed */
|
|
518
|
+
#else
|
|
519
|
+
(void)added_lines;
|
|
339
520
|
#endif
|
|
340
521
|
const char *line_start = text;
|
|
341
522
|
const char *line_end;
|
|
@@ -361,6 +542,11 @@ static apex_metadata_item *parse_yaml_metadata(const char *text, size_t *consume
|
|
|
361
542
|
return items;
|
|
362
543
|
}
|
|
363
544
|
|
|
545
|
+
if (*trimmed == '#') {
|
|
546
|
+
line_start = line_end + 1;
|
|
547
|
+
continue;
|
|
548
|
+
}
|
|
549
|
+
|
|
364
550
|
/* Parse key: value */
|
|
365
551
|
char *colon = strchr(line, ':');
|
|
366
552
|
if (colon) {
|
|
@@ -368,19 +554,8 @@ static apex_metadata_item *parse_yaml_metadata(const char *text, size_t *consume
|
|
|
368
554
|
char *key = trim_whitespace(line);
|
|
369
555
|
char *value_ptr = trim_whitespace(colon + 1);
|
|
370
556
|
|
|
371
|
-
char final_value[1024]
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
/* Strip quotes from value if present */
|
|
375
|
-
size_t value_len = strlen(final_value);
|
|
376
|
-
if (value_len >= 2 && ((final_value[0] == '"' && final_value[value_len - 1] == '"') ||
|
|
377
|
-
(final_value[0] == '\'' && final_value[value_len - 1] == '\''))) {
|
|
378
|
-
final_value[value_len - 1] = '\0';
|
|
379
|
-
memmove(final_value, final_value + 1, value_len - 1);
|
|
380
|
-
/* Re-trim after removing quotes */
|
|
381
|
-
trim_whitespace(final_value);
|
|
382
|
-
value_len = strlen(final_value);
|
|
383
|
-
}
|
|
557
|
+
char final_value[1024];
|
|
558
|
+
yaml_unquote_scalar(value_ptr, final_value, sizeof(final_value));
|
|
384
559
|
|
|
385
560
|
if (*key) {
|
|
386
561
|
add_metadata_item(&items, key, final_value);
|
|
@@ -393,6 +568,10 @@ static apex_metadata_item *parse_yaml_metadata(const char *text, size_t *consume
|
|
|
393
568
|
return items;
|
|
394
569
|
}
|
|
395
570
|
|
|
571
|
+
static apex_metadata_item *parse_yaml_metadata(const char *text, size_t *consumed) {
|
|
572
|
+
return parse_yaml_metadata_ex(text, consumed, NULL, 0, 0);
|
|
573
|
+
}
|
|
574
|
+
|
|
396
575
|
/**
|
|
397
576
|
* Parse MultiMarkdown metadata
|
|
398
577
|
* Format: key: value pairs at start of document, blank line to end
|
|
@@ -2232,9 +2411,15 @@ char *apex_metadata_replace_variables(const char *text, apex_metadata_item *meta
|
|
|
2232
2411
|
return result;
|
|
2233
2412
|
}
|
|
2234
2413
|
|
|
2414
|
+
static bool path_has_yaml_extension(const char *path) {
|
|
2415
|
+
const char *dot = strrchr(path, '.');
|
|
2416
|
+
if (!dot || strchr(dot, '/')) return false;
|
|
2417
|
+
return strcasecmp(dot, ".yml") == 0 || strcasecmp(dot, ".yaml") == 0;
|
|
2418
|
+
}
|
|
2419
|
+
|
|
2235
2420
|
/**
|
|
2236
2421
|
* Load metadata from a file
|
|
2237
|
-
* Auto-detects format based on first characters
|
|
2422
|
+
* Auto-detects format based on first characters; .yml/.yaml files are always YAML
|
|
2238
2423
|
*/
|
|
2239
2424
|
apex_metadata_item *apex_load_metadata_from_file(const char *filepath) {
|
|
2240
2425
|
if (!filepath) return NULL;
|
|
@@ -2265,10 +2450,32 @@ apex_metadata_item *apex_load_metadata_from_file(const char *filepath) {
|
|
|
2265
2450
|
apex_metadata_item *items = NULL;
|
|
2266
2451
|
size_t consumed = 0;
|
|
2267
2452
|
|
|
2453
|
+
/* .yml/.yaml files are YAML even without --- markers; add them so both
|
|
2454
|
+
* libyaml and the fallback parser see a delimited block. */
|
|
2455
|
+
size_t added_lines = 0;
|
|
2456
|
+
if (strncmp(buffer, "---", 3) != 0 && path_has_yaml_extension(filepath)) {
|
|
2457
|
+
bool needs_newline = bytes_read > 0 && buffer[bytes_read - 1] != '\n';
|
|
2458
|
+
size_t wrapped_len = 4 + bytes_read + (needs_newline ? 1 : 0) + 4;
|
|
2459
|
+
char *wrapped = malloc(wrapped_len + 1);
|
|
2460
|
+
if (!wrapped) {
|
|
2461
|
+
free(buffer);
|
|
2462
|
+
return NULL;
|
|
2463
|
+
}
|
|
2464
|
+
snprintf(wrapped, wrapped_len + 1, "---\n%s%s---\n", buffer, needs_newline ? "\n" : "");
|
|
2465
|
+
free(buffer);
|
|
2466
|
+
buffer = wrapped;
|
|
2467
|
+
added_lines = 1;
|
|
2468
|
+
}
|
|
2469
|
+
|
|
2268
2470
|
/* Auto-detect format */
|
|
2269
2471
|
if (strncmp(buffer, "---", 3) == 0) {
|
|
2270
2472
|
/* YAML format */
|
|
2271
|
-
|
|
2473
|
+
char yaml_error[256];
|
|
2474
|
+
items = parse_yaml_metadata_ex(buffer, &consumed, yaml_error, sizeof(yaml_error), added_lines);
|
|
2475
|
+
if (yaml_error[0]) {
|
|
2476
|
+
fprintf(stderr, "Warning: YAML error in '%s': %s; using simple key: value parsing\n",
|
|
2477
|
+
filepath, yaml_error);
|
|
2478
|
+
}
|
|
2272
2479
|
} else if (buffer[0] == '%') {
|
|
2273
2480
|
/* Pandoc format */
|
|
2274
2481
|
items = parse_pandoc_metadata(buffer, &consumed);
|
|
@@ -2436,17 +2643,36 @@ apex_metadata_item *apex_parse_command_metadata(const char *arg) {
|
|
|
2436
2643
|
* Merge multiple metadata lists with precedence
|
|
2437
2644
|
* Later lists take precedence over earlier ones
|
|
2438
2645
|
*/
|
|
2646
|
+
/* Add or replace each item of src in *result (case-insensitive keys). */
|
|
2647
|
+
static void merge_metadata_into(apex_metadata_item **result, const apex_metadata_item *src) {
|
|
2648
|
+
for (; src; src = src->next) {
|
|
2649
|
+
apex_metadata_item *prev = NULL;
|
|
2650
|
+
apex_metadata_item *curr = *result;
|
|
2651
|
+
while (curr) {
|
|
2652
|
+
if (strcasecmp(curr->key, src->key) == 0) {
|
|
2653
|
+
if (prev) {
|
|
2654
|
+
prev->next = curr->next;
|
|
2655
|
+
} else {
|
|
2656
|
+
*result = curr->next;
|
|
2657
|
+
}
|
|
2658
|
+
free(curr->key);
|
|
2659
|
+
free(curr->value);
|
|
2660
|
+
free(curr);
|
|
2661
|
+
break;
|
|
2662
|
+
}
|
|
2663
|
+
prev = curr;
|
|
2664
|
+
curr = curr->next;
|
|
2665
|
+
}
|
|
2666
|
+
add_metadata_item(result, src->key, src->value);
|
|
2667
|
+
}
|
|
2668
|
+
}
|
|
2669
|
+
|
|
2439
2670
|
apex_metadata_item *apex_merge_metadata(apex_metadata_item *first, ...) {
|
|
2440
2671
|
apex_metadata_item *result = NULL;
|
|
2441
2672
|
|
|
2442
2673
|
/* Start with a copy of the first list (if any) */
|
|
2443
|
-
apex_metadata_item *src;
|
|
2444
|
-
|
|
2445
|
-
src = first;
|
|
2446
|
-
while (src) {
|
|
2447
|
-
add_metadata_item(&result, src->key, src->value);
|
|
2448
|
-
src = src->next;
|
|
2449
|
-
}
|
|
2674
|
+
for (apex_metadata_item *src = first; src; src = src->next) {
|
|
2675
|
+
add_metadata_item(&result, src->key, src->value);
|
|
2450
2676
|
}
|
|
2451
2677
|
|
|
2452
2678
|
/* Merge remaining lists */
|
|
@@ -2455,40 +2681,22 @@ apex_metadata_item *apex_merge_metadata(apex_metadata_item *first, ...) {
|
|
|
2455
2681
|
|
|
2456
2682
|
apex_metadata_item *next_list;
|
|
2457
2683
|
while ((next_list = va_arg(args, apex_metadata_item*)) != NULL) {
|
|
2458
|
-
|
|
2459
|
-
src = next_list;
|
|
2460
|
-
while (src) {
|
|
2461
|
-
/* Remove existing item with same key (case-insensitive) */
|
|
2462
|
-
apex_metadata_item *prev = NULL;
|
|
2463
|
-
apex_metadata_item *curr = result;
|
|
2464
|
-
while (curr) {
|
|
2465
|
-
if (strcasecmp(curr->key, src->key) == 0) {
|
|
2466
|
-
/* Remove this item */
|
|
2467
|
-
if (prev) {
|
|
2468
|
-
prev->next = curr->next;
|
|
2469
|
-
} else {
|
|
2470
|
-
result = curr->next;
|
|
2471
|
-
}
|
|
2472
|
-
free(curr->key);
|
|
2473
|
-
free(curr->value);
|
|
2474
|
-
apex_metadata_item *to_free = curr;
|
|
2475
|
-
curr = curr->next;
|
|
2476
|
-
free(to_free);
|
|
2477
|
-
break;
|
|
2478
|
-
}
|
|
2479
|
-
prev = curr;
|
|
2480
|
-
curr = curr->next;
|
|
2481
|
-
}
|
|
2482
|
-
/* Add new item */
|
|
2483
|
-
add_metadata_item(&result, src->key, src->value);
|
|
2484
|
-
src = src->next;
|
|
2485
|
-
}
|
|
2684
|
+
merge_metadata_into(&result, next_list);
|
|
2486
2685
|
}
|
|
2487
2686
|
|
|
2488
2687
|
va_end(args);
|
|
2489
2688
|
return result;
|
|
2490
2689
|
}
|
|
2491
2690
|
|
|
2691
|
+
apex_metadata_item *apex_merge_metadata_lists(apex_metadata_item *const *lists, size_t count) {
|
|
2692
|
+
apex_metadata_item *result = NULL;
|
|
2693
|
+
if (!lists) return NULL;
|
|
2694
|
+
for (size_t i = 0; i < count; i++) {
|
|
2695
|
+
if (lists[i]) merge_metadata_into(&result, lists[i]);
|
|
2696
|
+
}
|
|
2697
|
+
return result;
|
|
2698
|
+
}
|
|
2699
|
+
|
|
2492
2700
|
/**
|
|
2493
2701
|
* Helper function to check if a string represents a true value
|
|
2494
2702
|
*/
|
|
@@ -2645,6 +2853,18 @@ void apex_apply_metadata_to_options(apex_metadata_item *metadata, apex_options *
|
|
|
2645
2853
|
} else if (is_false_value(value)) {
|
|
2646
2854
|
options->enable_strikethrough = false;
|
|
2647
2855
|
}
|
|
2856
|
+
} else if (strcasecmp(key, "emoji") == 0 || strcasecmp(key, "enable-emoji") == 0 || strcasecmp(key, "enable_emoji") == 0) {
|
|
2857
|
+
if (is_true_value(value)) {
|
|
2858
|
+
options->enable_emoji = true;
|
|
2859
|
+
} else if (is_false_value(value)) {
|
|
2860
|
+
options->enable_emoji = false;
|
|
2861
|
+
}
|
|
2862
|
+
} else if (strcasecmp(key, "emoji-autocorrect") == 0 || strcasecmp(key, "emoji_autocorrect") == 0) {
|
|
2863
|
+
if (is_true_value(value)) {
|
|
2864
|
+
options->enable_emoji_autocorrect = true;
|
|
2865
|
+
} else if (is_false_value(value)) {
|
|
2866
|
+
options->enable_emoji_autocorrect = false;
|
|
2867
|
+
}
|
|
2648
2868
|
} else if (strcasecmp(key, "transforms") == 0 || strcasecmp(key, "metadata-transforms") == 0) {
|
|
2649
2869
|
if (is_true_value(value)) {
|
|
2650
2870
|
options->enable_metadata_transforms = true;
|
|
@@ -107,9 +107,18 @@ void apex_metadata_fprint_yaml_document(FILE *fp, const apex_metadata_item *meta
|
|
|
107
107
|
* Merge multiple metadata lists with precedence
|
|
108
108
|
* Later lists take precedence over earlier ones
|
|
109
109
|
* Returns a new merged list (caller must free with apex_free_metadata)
|
|
110
|
+
* The argument list is NULL-terminated, so an empty (NULL) list after the
|
|
111
|
+
* first ends the merge early; use apex_merge_metadata_lists when any list
|
|
112
|
+
* may be NULL.
|
|
110
113
|
*/
|
|
111
114
|
apex_metadata_item *apex_merge_metadata(apex_metadata_item *first, ...);
|
|
112
115
|
|
|
116
|
+
/**
|
|
117
|
+
* Merge count metadata lists in order (later lists win). NULL entries are
|
|
118
|
+
* skipped. Returns a new list (caller must free with apex_free_metadata).
|
|
119
|
+
*/
|
|
120
|
+
apex_metadata_item *apex_merge_metadata_lists(apex_metadata_item *const *lists, size_t count);
|
|
121
|
+
|
|
113
122
|
/**
|
|
114
123
|
* Apply metadata values to apex_options structure
|
|
115
124
|
* Maps metadata keys to command-line options, allowing per-document control
|