apex-ruby 1.0.17 → 1.0.20
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 +17 -3
- data/ext/apex_ext/apex_ext.c +260 -91
- data/ext/apex_ext/apex_src/CHANGELOG.md +440 -0
- data/ext/apex_ext/apex_src/CMakeLists.txt +15 -1
- data/ext/apex_ext/apex_src/Formula/apex.rb +7 -2
- data/ext/apex_ext/apex_src/Package.swift +15 -4
- data/ext/apex_ext/apex_src/README.md +94 -35
- data/ext/apex_ext/apex_src/VERSION +1 -1
- data/ext/apex_ext/apex_src/apex-debug.log +4 -0
- data/ext/apex_ext/apex_src/apex.code-workspace +38 -0
- data/ext/apex_ext/apex_src/apex.taskpaper +12 -0
- data/ext/apex_ext/apex_src/apex_deflist_debug.log +25 -0
- data/ext/apex_ext/apex_src/buildnotes.md +1435 -0
- data/ext/apex_ext/apex_src/cli/main.c +262 -33
- data/ext/apex_ext/apex_src/debug.log +7 -0
- data/ext/apex_ext/apex_src/docs/CITATIONS_EXAMPLES.md +274 -0
- data/ext/apex_ext/apex_src/docs/CITATIONS_IMPLEMENTATION_PLAN.md +749 -0
- data/ext/apex_ext/apex_src/docs/CITATIONS_PLAN.md +744 -0
- data/ext/apex_ext/apex_src/docs/INDEX_IMPLEMENTATION_ANALYSIS.md +382 -0
- data/ext/apex_ext/apex_src/docs/plans/2025-02-27-man-page-output-implementation.md +351 -0
- data/ext/apex_ext/apex_src/docs/superpowers/plans/2026-07-12-toc-output-format.md +745 -0
- data/ext/apex_ext/apex_src/docs/superpowers/plans/2026-07-18-bear-image-attributes.md +829 -0
- data/ext/apex_ext/apex_src/docs/superpowers/plans/2026-07-19-apex-node-npm.md +1148 -0
- data/ext/apex_ext/apex_src/docs/superpowers/specs/2026-07-12-toc-output-format-design.md +161 -0
- data/ext/apex_ext/apex_src/docs/superpowers/specs/2026-07-18-bear-image-attributes-design.md +184 -0
- data/ext/apex_ext/apex_src/docs/superpowers/specs/2026-07-19-apex-node-npm-design.md +211 -0
- data/ext/apex_ext/apex_src/documentation/app-settings-table.md +67 -0
- data/ext/apex_ext/apex_src/documentation/app-transformed/Citations.md +340 -0
- data/ext/apex_ext/apex_src/documentation/app-transformed/Credits.md +11 -0
- data/ext/apex_ext/apex_src/documentation/app-transformed/Header-IDs.md +234 -0
- data/ext/apex_ext/apex_src/documentation/app-transformed/Inline-Attribute-Lists.md +516 -0
- data/ext/apex_ext/apex_src/documentation/app-transformed/Metadata-Transforms.md +461 -0
- data/ext/apex_ext/apex_src/documentation/app-transformed/Modes.md +193 -0
- data/ext/apex_ext/apex_src/documentation/app-transformed/Multi-File-Documents.md +201 -0
- data/ext/apex_ext/apex_src/documentation/app-transformed/Plugins.md +678 -0
- data/ext/apex_ext/apex_src/documentation/app-transformed/Syntax.md +1367 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex Command Line Options.cheatsheet.txt +6 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/C-API.html +774 -300
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Callouts.html +1194 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Citations.html +416 -216
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Command-Line-Options.html +3544 -1094
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Configuration.html +371 -97
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Credits.html +153 -23
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Examples.html +358 -124
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Filters.html +1656 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Generating-Man-Pages.html +1226 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Getting-Started.html +201 -56
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Header-IDs.html +279 -109
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Home.html +200 -53
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Indices.html +2327 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Inline-Attribute-Lists.html +690 -271
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Installation.html +201 -55
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Limitations-and-Roadmap.html +238 -68
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Metadata-Transforms.html +421 -221
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Modes.html +340 -78
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Multi-File-Documents.html +251 -86
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Multi-Format-Images.html +1362 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Pandoc-Integration.html +277 -90
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Plugins.html +673 -346
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Quarto-Mode.html +1405 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Rendering-Markdown-In-Terminal.html +1902 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Syntax.html +1939 -1698
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Tables.html +1781 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Troubleshooting.html +315 -140
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Usage.html +307 -113
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Using-Apex-with-Jekyll.html +1132 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Writing-Tests.html +1754 -0
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/Documents/Xcode-Integration.html +872 -376
- 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/html/apex-app-docs.html +8746 -0
- data/ext/apex_ext/apex_src/documentation/shared_styles.css +20 -15
- data/ext/apex_ext/apex_src/documentation/transform_for_app.md +55 -0
- data/ext/apex_ext/apex_src/escaping-repro.md +103 -0
- data/ext/apex_ext/apex_src/examples/quick-actions/Markdown to RTF.workflow/Contents/Info.plist +8 -0
- 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 +547 -0
- 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 +33 -0
- data/ext/apex_ext/apex_src/include/apex/apex.h +92 -6
- data/ext/apex_ext/apex_src/include/apex/ast_rtf.h +23 -0
- data/ext/apex_ext/apex_src/include/apex/ast_terminal.h +6 -0
- data/ext/apex_ext/apex_src/include/apex/module.modulemap +5 -0
- data/ext/apex_ext/apex_src/include/apex/plugins.h +105 -0
- data/ext/apex_ext/apex_src/include/apexc.h +1 -0
- data/ext/apex_ext/apex_src/man/apex.1 +82 -78
- data/ext/apex_ext/apex_src/man/apex.1.md +81 -4
- data/ext/apex_ext/apex_src/objc/Apex.swift +73 -0
- data/ext/apex_ext/apex_src/objc/ApexPlugins.swift +79 -0
- data/ext/apex_ext/apex_src/objc/NSString+Apex.h +83 -5
- data/ext/apex_ext/apex_src/objc/NSString+Apex.m +244 -1
- data/ext/apex_ext/apex_src/objc/NSString+ApexPlugins.h +76 -0
- data/ext/apex_ext/apex_src/objc/NSString+ApexPlugins.m +169 -0
- data/ext/apex_ext/apex_src/output.html +87 -0
- data/ext/apex_ext/apex_src/plans/quarto-mode.md +442 -0
- data/ext/apex_ext/apex_src/src/_README.md +85 -32
- data/ext/apex_ext/apex_src/src/apex.c +770 -200
- data/ext/apex_ext/apex_src/src/ast_rtf.c +848 -0
- data/ext/apex_ext/apex_src/src/ast_terminal.c +184 -7
- data/ext/apex_ext/apex_src/src/extensions/abbreviations.c +10 -3
- data/ext/apex_ext/apex_src/src/extensions/advanced_tables.c +7 -11
- data/ext/apex_ext/apex_src/src/extensions/bear_image_attrs.c +467 -0
- data/ext/apex_ext/apex_src/src/extensions/bear_image_attrs.h +27 -0
- data/ext/apex_ext/apex_src/src/extensions/callouts.c +400 -4
- data/ext/apex_ext/apex_src/src/extensions/callouts.h +15 -5
- data/ext/apex_ext/apex_src/src/extensions/citations.c +26 -5
- data/ext/apex_ext/apex_src/src/extensions/code_fence_attrs.c +632 -0
- data/ext/apex_ext/apex_src/src/extensions/code_fence_attrs.h +22 -0
- data/ext/apex_ext/apex_src/src/extensions/concordance.c +632 -0
- data/ext/apex_ext/apex_src/src/extensions/definition_list.c +129 -15
- data/ext/apex_ext/apex_src/src/extensions/grid_tables.c +1050 -121
- data/ext/apex_ext/apex_src/src/extensions/html_markdown.c +569 -16
- data/ext/apex_ext/apex_src/src/extensions/ial.c +502 -52
- data/ext/apex_ext/apex_src/src/extensions/ial.h +2 -1
- data/ext/apex_ext/apex_src/src/extensions/includes.c +532 -33
- data/ext/apex_ext/apex_src/src/extensions/includes.h +7 -1
- data/ext/apex_ext/apex_src/src/extensions/index.c +1427 -140
- data/ext/apex_ext/apex_src/src/extensions/index.h +28 -0
- data/ext/apex_ext/apex_src/src/extensions/metadata.c +200 -161
- data/ext/apex_ext/apex_src/src/extensions/quarto_diagrams.c +251 -0
- data/ext/apex_ext/apex_src/src/extensions/quarto_diagrams.h +22 -0
- data/ext/apex_ext/apex_src/src/extensions/quarto_lists.c +624 -0
- data/ext/apex_ext/apex_src/src/extensions/quarto_lists.h +35 -0
- data/ext/apex_ext/apex_src/src/extensions/quarto_polish.c +264 -0
- data/ext/apex_ext/apex_src/src/extensions/quarto_polish.h +23 -0
- data/ext/apex_ext/apex_src/src/extensions/quarto_shortcodes.c +307 -0
- data/ext/apex_ext/apex_src/src/extensions/quarto_shortcodes.h +21 -0
- data/ext/apex_ext/apex_src/src/extensions/raw_content.c +351 -0
- data/ext/apex_ext/apex_src/src/extensions/raw_content.h +20 -0
- data/ext/apex_ext/apex_src/src/extensions/relaxed_tables.c +117 -3
- data/ext/apex_ext/apex_src/src/extensions/special_markers.c +53 -0
- data/ext/apex_ext/apex_src/src/extensions/syntax_highlight.c +23 -1
- data/ext/apex_ext/apex_src/src/extensions/table_html_postprocess.c +83 -92
- data/ext/apex_ext/apex_src/src/extensions/toc.c +446 -25
- data/ext/apex_ext/apex_src/src/extensions/toc.h +26 -1
- data/ext/apex_ext/apex_src/src/extensions/wiki_links.c +28 -0
- data/ext/apex_ext/apex_src/src/html_renderer.c +387 -17
- data/ext/apex_ext/apex_src/src/plugin_catalog.c +517 -0
- data/ext/apex_ext/apex_src/src/plugins_remote.c +88 -14
- data/ext/apex_ext/apex_src/src/plugins_remote.h +34 -0
- data/ext/apex_ext/apex_src/src/pretty_html.c +6 -1
- data/ext/apex_ext/apex_src/tests/fixtures/comprehensive_test.md +21 -0
- data/ext/apex_ext/apex_src/tests/fixtures/images/bear_image_attributes.md +10 -0
- data/ext/apex_ext/apex_src/tests/fixtures/includes/sections.md +19 -0
- data/ext/apex_ext/apex_src/tests/fixtures/includes/sections.txt +11 -0
- data/ext/apex_ext/apex_src/tests/fixtures/minimal_pb.md +2 -0
- data/ext/apex_ext/apex_src/tests/fixtures/obsidian-callouts.md +46 -0
- data/ext/apex_ext/apex_src/tests/fixtures/pagebreak_html_repro.md +5 -0
- data/ext/apex_ext/apex_src/tests/fixtures/python-callouts.md +47 -0
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/callouts.md +3 -0
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/code-attrs.md +3 -0
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/diagrams.md +8 -0
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/lists.md +19 -0
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/raw-content.md +5 -0
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/shortcodes.md +7 -0
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/smoke.md +81 -0
- data/ext/apex_ext/apex_src/tests/fixtures/quarto/spans.md +5 -0
- data/ext/apex_ext/apex_src/tests/fixtures/quarto-callouts.md +47 -0
- data/ext/apex_ext/apex_src/tests/fixtures/speed.md +192 -0
- data/ext/apex_ext/apex_src/tests/fixtures/tables/grid-tables.md +37 -0
- data/ext/apex_ext/apex_src/tests/paginate_cli_test.sh +16 -0
- data/ext/apex_ext/apex_src/tests/test_bear_image_attrs.c +301 -0
- data/ext/apex_ext/apex_src/tests/test_concordance.tsv +4 -0
- data/ext/apex_ext/apex_src/tests/test_escaping_repro.c +82 -0
- data/ext/apex_ext/apex_src/tests/test_extensions.c +821 -1
- data/ext/apex_ext/apex_src/tests/test_ial.c +7 -0
- data/ext/apex_ext/apex_src/tests/test_marked_integration.c +25 -0
- data/ext/apex_ext/apex_src/tests/test_metadata.c +129 -0
- data/ext/apex_ext/apex_src/tests/test_output.c +568 -2
- data/ext/apex_ext/apex_src/tests/test_runner.c +11 -0
- data/ext/apex_ext/apex_src/tests/test_tables.c +420 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/CMakeLists.txt +1 -1
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/autolink.c +77 -1
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/extensions/table.c +135 -5
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/blocks.c +56 -1
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/config.h +38 -0
- data/ext/apex_ext/apex_src/vendor/cmark-gfm/src/main.c +1 -1
- 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/extensions.txt +69 -0
- data/ext/apex_ext/apex_src/xcode_build/CMakeScripts/ReRunCMake.make +74 -0
- data/ext/apex_ext/apex_src/xcode_build/CTestTestfile.cmake +22 -0
- 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 +44 -0
- data/ext/apex_ext/apex_src/xcode_build/Debug/Apex.framework/Versions/A/_CodeSignature/CodeResources +128 -0
- data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/project.pbxproj +5118 -0
- data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +8 -0
- 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 +8 -0
- data/ext/apex_ext/apex_src/xcode_build/apex.xcodeproj/xcuserdata/ttscoff.xcuserdatad/xcschemes/xcschememanagement.plist +99 -0
- data/ext/apex_ext/apex_src/xcode_build/cmake_install.cmake +452 -0
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/CMakeScripts/ReRunCMake.make +52 -0
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/cmake_install.cmake +55 -0
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/cmark-gfm.xcodeproj/project.pbxproj +2455 -0
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/cmark-gfm.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +8 -0
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/extensions/cmake_install.cmake +171 -0
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/man/cmake_install.cmake +55 -0
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/cmake_install.cmake +220 -0
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/cmark-gfm_export.h +43 -0
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/cmark-gfm_version.h +7 -0
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/config.h +76 -0
- data/ext/apex_ext/apex_src/xcode_build/vendor/cmark-gfm/src/libcmark-gfm.pc +10 -0
- data/ext/apex_ext/extconf.rb +35 -0
- data/lib/apex/version.rb +2 -2
- metadata +117 -2
- data/ext/apex_ext/apex_src/documentation/docsets/Apex.docset/Contents/Resources/tempOptimizedIndex.dsidx +0 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
#include <cmark-gfm-extension_api.h>
|
|
2
|
+
#include <buffer.h>
|
|
2
3
|
#include <html.h>
|
|
3
4
|
#include <inlines.h>
|
|
4
5
|
#include <parser.h>
|
|
@@ -147,6 +148,30 @@ static int set_cell_index(cmark_node *node, int i) {
|
|
|
147
148
|
return 1;
|
|
148
149
|
}
|
|
149
150
|
|
|
151
|
+
/* Placeholder for escaped << (literal << in table cells). No underscore so inline parser doesn't treat as emphasis. */
|
|
152
|
+
static const unsigned char ESCAPED_LTLT_PLACEHOLDER[] = "APEXLTLT";
|
|
153
|
+
#define ESCAPED_LTLT_PLACEHOLDER_LEN 8
|
|
154
|
+
|
|
155
|
+
/* Replace \<< with placeholder so it is not treated as colspan; output as << later. */
|
|
156
|
+
static void replace_escaped_ltlt(cmark_mem *mem, cmark_strbuf *buf) {
|
|
157
|
+
bufsize_t r;
|
|
158
|
+
bufsize_t len = buf->size;
|
|
159
|
+
unsigned char *ptr = buf->ptr;
|
|
160
|
+
cmark_strbuf out;
|
|
161
|
+
cmark_strbuf_init(mem, &out, len + 1);
|
|
162
|
+
|
|
163
|
+
for (r = 0; r < len;) {
|
|
164
|
+
if (r + 2 < len && ptr[r] == '\\' && ptr[r + 1] == '<' && ptr[r + 2] == '<') {
|
|
165
|
+
cmark_strbuf_put(&out, ESCAPED_LTLT_PLACEHOLDER, ESCAPED_LTLT_PLACEHOLDER_LEN);
|
|
166
|
+
r += 3;
|
|
167
|
+
} else {
|
|
168
|
+
cmark_strbuf_putc(&out, ptr[r++]);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
cmark_strbuf_swap(buf, &out);
|
|
172
|
+
cmark_strbuf_free(&out);
|
|
173
|
+
}
|
|
174
|
+
|
|
150
175
|
static cmark_strbuf *unescape_pipes(cmark_mem *mem, unsigned char *string, bufsize_t len)
|
|
151
176
|
{
|
|
152
177
|
cmark_strbuf *res = (cmark_strbuf *)mem->calloc(1, sizeof(cmark_strbuf));
|
|
@@ -168,6 +193,81 @@ static cmark_strbuf *unescape_pipes(cmark_mem *mem, unsigned char *string, bufsi
|
|
|
168
193
|
return res;
|
|
169
194
|
}
|
|
170
195
|
|
|
196
|
+
/* Keep table delimiter scanning out of code content by masking pipes. */
|
|
197
|
+
static void mask_pipes_in_code(unsigned char *string, int len) {
|
|
198
|
+
int i;
|
|
199
|
+
bool in_fenced_code = false;
|
|
200
|
+
bool in_code_span = false;
|
|
201
|
+
unsigned char fence_char = 0;
|
|
202
|
+
int fence_len = 0;
|
|
203
|
+
int code_span_ticks = 0;
|
|
204
|
+
bool line_start = true;
|
|
205
|
+
int line_indent = 0;
|
|
206
|
+
bool line_is_indented_code = false;
|
|
207
|
+
|
|
208
|
+
for (i = 0; i < len; ++i) {
|
|
209
|
+
unsigned char c = string[i];
|
|
210
|
+
|
|
211
|
+
if (line_start) {
|
|
212
|
+
line_indent = 0;
|
|
213
|
+
while (i < len && string[i] == ' ' && line_indent < 4) {
|
|
214
|
+
line_indent++;
|
|
215
|
+
i++;
|
|
216
|
+
}
|
|
217
|
+
if (i >= len) {
|
|
218
|
+
break;
|
|
219
|
+
}
|
|
220
|
+
c = string[i];
|
|
221
|
+
line_start = false;
|
|
222
|
+
line_is_indented_code = !in_fenced_code && line_indent >= 4;
|
|
223
|
+
|
|
224
|
+
if (!in_code_span && line_indent <= 3 && (c == '`' || c == '~')) {
|
|
225
|
+
int j = i;
|
|
226
|
+
while (j < len && string[j] == c) {
|
|
227
|
+
j++;
|
|
228
|
+
}
|
|
229
|
+
if (j - i >= 3) {
|
|
230
|
+
if (!in_fenced_code) {
|
|
231
|
+
in_fenced_code = true;
|
|
232
|
+
fence_char = c;
|
|
233
|
+
fence_len = j - i;
|
|
234
|
+
} else if (fence_char == c && j - i >= fence_len) {
|
|
235
|
+
in_fenced_code = false;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
c = string[i];
|
|
242
|
+
if (!in_fenced_code && !line_is_indented_code && c == '`') {
|
|
243
|
+
int j = i;
|
|
244
|
+
while (j < len && string[j] == '`') {
|
|
245
|
+
j++;
|
|
246
|
+
}
|
|
247
|
+
if (!in_code_span) {
|
|
248
|
+
in_code_span = true;
|
|
249
|
+
code_span_ticks = j - i;
|
|
250
|
+
} else if (j - i == code_span_ticks) {
|
|
251
|
+
in_code_span = false;
|
|
252
|
+
code_span_ticks = 0;
|
|
253
|
+
}
|
|
254
|
+
i = j - 1;
|
|
255
|
+
continue;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
if (c == '|' && (in_fenced_code || line_is_indented_code || in_code_span)) {
|
|
259
|
+
string[i] = '\x1f';
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
if (c == '\n' || c == '\r') {
|
|
263
|
+
line_start = true;
|
|
264
|
+
if (c == '\r' && i + 1 < len && string[i + 1] == '\n') {
|
|
265
|
+
i++;
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
|
|
171
271
|
// Adds a new cell to the end of the row. A pointer to the new cell is returned
|
|
172
272
|
// for the caller to initialize.
|
|
173
273
|
static node_cell* append_row_cell(cmark_mem *mem, table_row *row) {
|
|
@@ -205,19 +305,28 @@ static table_row *row_from_string(cmark_syntax_extension *self,
|
|
|
205
305
|
int expect_more_cells = 1;
|
|
206
306
|
int row_end_offset = 0;
|
|
207
307
|
int int_overflow_abort = 0;
|
|
308
|
+
unsigned char *scan_string = NULL;
|
|
309
|
+
|
|
310
|
+
scan_string = (unsigned char *)parser->mem->calloc(len + 1, sizeof(unsigned char));
|
|
311
|
+
if (!scan_string) {
|
|
312
|
+
return NULL;
|
|
313
|
+
}
|
|
314
|
+
memcpy(scan_string, string, len);
|
|
315
|
+
scan_string[len] = '\0';
|
|
316
|
+
mask_pipes_in_code(scan_string, len);
|
|
208
317
|
|
|
209
318
|
row = (table_row *)parser->mem->calloc(1, sizeof(table_row));
|
|
210
319
|
row->n_columns = 0;
|
|
211
320
|
row->cells = NULL;
|
|
212
321
|
|
|
213
322
|
// Scan past the (optional) leading pipe.
|
|
214
|
-
offset = scan_table_cell_end(
|
|
323
|
+
offset = scan_table_cell_end(scan_string, len, 0);
|
|
215
324
|
|
|
216
325
|
// Parse the cells of the row. Stop if we reach the end of the input, or if we
|
|
217
326
|
// cannot detect any more cells.
|
|
218
327
|
while (offset < len && expect_more_cells) {
|
|
219
|
-
cell_matched = scan_table_cell(
|
|
220
|
-
pipe_matched = scan_table_cell_end(
|
|
328
|
+
cell_matched = scan_table_cell(scan_string, len, offset);
|
|
329
|
+
pipe_matched = scan_table_cell_end(scan_string, len, offset + cell_matched);
|
|
221
330
|
|
|
222
331
|
if (cell_matched || pipe_matched) {
|
|
223
332
|
// We are guaranteed to have a cell, since (1) either we found some
|
|
@@ -226,6 +335,7 @@ static table_row *row_from_string(cmark_syntax_extension *self,
|
|
|
226
335
|
cmark_strbuf *cell_buf = unescape_pipes(parser->mem, string + offset,
|
|
227
336
|
cell_matched);
|
|
228
337
|
cmark_strbuf_trim(cell_buf);
|
|
338
|
+
replace_escaped_ltlt(parser->mem, cell_buf);
|
|
229
339
|
|
|
230
340
|
node_cell *cell = append_row_cell(parser->mem, row);
|
|
231
341
|
if (!cell) {
|
|
@@ -251,7 +361,7 @@ static table_row *row_from_string(cmark_syntax_extension *self,
|
|
|
251
361
|
expect_more_cells = 1;
|
|
252
362
|
} else {
|
|
253
363
|
// We've scanned the last cell. Check if we have reached the end of the row
|
|
254
|
-
row_end_offset = scan_table_row_end(
|
|
364
|
+
row_end_offset = scan_table_row_end(scan_string, len, offset);
|
|
255
365
|
offset += row_end_offset;
|
|
256
366
|
|
|
257
367
|
// If the end of the row is not the end of the input,
|
|
@@ -263,7 +373,7 @@ static table_row *row_from_string(cmark_syntax_extension *self,
|
|
|
263
373
|
free_row_cells(parser->mem, row);
|
|
264
374
|
|
|
265
375
|
// Scan past the (optional) leading pipe.
|
|
266
|
-
offset += scan_table_cell_end(
|
|
376
|
+
offset += scan_table_cell_end(scan_string, len, offset);
|
|
267
377
|
|
|
268
378
|
expect_more_cells = 1;
|
|
269
379
|
} else {
|
|
@@ -277,6 +387,8 @@ static table_row *row_from_string(cmark_syntax_extension *self,
|
|
|
277
387
|
row = NULL;
|
|
278
388
|
}
|
|
279
389
|
|
|
390
|
+
parser->mem->free(scan_string);
|
|
391
|
+
|
|
280
392
|
return row;
|
|
281
393
|
}
|
|
282
394
|
|
|
@@ -410,6 +522,15 @@ static cmark_node *try_opening_table_header(cmark_syntax_extension *self,
|
|
|
410
522
|
header_cell->internal_offset = cell->internal_offset;
|
|
411
523
|
header_cell->end_column = parent_container->start_column + cell->end_offset;
|
|
412
524
|
cmark_node_set_string_content(header_cell, (char *) cell->buf->ptr);
|
|
525
|
+
/* Store raw content for colspan check (content may be cleared after inline parse) */
|
|
526
|
+
{
|
|
527
|
+
size_t len = cell->buf->size;
|
|
528
|
+
char *raw_copy = (char *)parser->mem->calloc(len + 1, 1);
|
|
529
|
+
if (raw_copy) {
|
|
530
|
+
memcpy(raw_copy, cell->buf->ptr, len);
|
|
531
|
+
cmark_node_set_user_data(header_cell, raw_copy);
|
|
532
|
+
}
|
|
533
|
+
}
|
|
413
534
|
cmark_node_set_syntax_extension(header_cell, self);
|
|
414
535
|
set_cell_index(header_cell, i);
|
|
415
536
|
}
|
|
@@ -465,6 +586,15 @@ static cmark_node *try_opening_table_row(cmark_syntax_extension *self,
|
|
|
465
586
|
node->internal_offset = cell->internal_offset;
|
|
466
587
|
node->end_column = parent_container->start_column + cell->end_offset;
|
|
467
588
|
cmark_node_set_string_content(node, (char *) cell->buf->ptr);
|
|
589
|
+
/* Store raw content for colspan check (content may be cleared after inline parse) */
|
|
590
|
+
{
|
|
591
|
+
size_t len = cell->buf->size;
|
|
592
|
+
char *raw_copy = (char *)parser->mem->calloc(len + 1, 1);
|
|
593
|
+
if (raw_copy) {
|
|
594
|
+
memcpy(raw_copy, cell->buf->ptr, len);
|
|
595
|
+
cmark_node_set_user_data(node, raw_copy);
|
|
596
|
+
}
|
|
597
|
+
}
|
|
468
598
|
cmark_node_set_syntax_extension(node, self);
|
|
469
599
|
set_cell_index(node, i);
|
|
470
600
|
}
|
|
@@ -1091,6 +1091,32 @@ static cmark_node *check_open_blocks(cmark_parser *parser, cmark_chunk *input,
|
|
|
1091
1091
|
case CMARK_NODE_PARAGRAPH:
|
|
1092
1092
|
if (parser->blank)
|
|
1093
1093
|
goto done;
|
|
1094
|
+
// Check if this line starts with a list marker (CommonMark spec: lists interrupt paragraphs)
|
|
1095
|
+
if (!parser->blank) {
|
|
1096
|
+
cmark_list *list_data = NULL;
|
|
1097
|
+
bufsize_t matched = parse_list_marker(
|
|
1098
|
+
parser->mem, input, parser->first_nonspace,
|
|
1099
|
+
true, // interrupts_paragraph = true
|
|
1100
|
+
&list_data);
|
|
1101
|
+
if (matched > 0) {
|
|
1102
|
+
// Found a list marker - close the paragraph
|
|
1103
|
+
parser->mem->free(list_data);
|
|
1104
|
+
goto done;
|
|
1105
|
+
}
|
|
1106
|
+
/* Definition list line (: or :: followed by space) interrupts paragraph
|
|
1107
|
+
* so extensions can open a definition list (e.g. Kramdown-style). */
|
|
1108
|
+
bufsize_t pos = parser->first_nonspace;
|
|
1109
|
+
if (pos < (bufsize_t)input->len && input->data[pos] == ':') {
|
|
1110
|
+
bufsize_t next = pos + 1;
|
|
1111
|
+
if (next < (bufsize_t)input->len && (input->data[next] == ' ' || input->data[next] == '\t'))
|
|
1112
|
+
goto done;
|
|
1113
|
+
if (next < (bufsize_t)input->len && input->data[next] == ':') {
|
|
1114
|
+
next++;
|
|
1115
|
+
if (next < (bufsize_t)input->len && (input->data[next] == ' ' || input->data[next] == '\t'))
|
|
1116
|
+
goto done;
|
|
1117
|
+
}
|
|
1118
|
+
}
|
|
1119
|
+
}
|
|
1094
1120
|
break;
|
|
1095
1121
|
case CMARK_NODE_FOOTNOTE_DEFINITION:
|
|
1096
1122
|
if (!parse_footnote_definition_block_prefix(parser, input, container))
|
|
@@ -1334,6 +1360,34 @@ static void open_new_blocks(cmark_parser *parser, cmark_node **container,
|
|
|
1334
1360
|
}
|
|
1335
1361
|
}
|
|
1336
1362
|
|
|
1363
|
+
/* Apex: image and reference-definition lines should not lazy-continue into
|
|
1364
|
+
* blockquote paragraphs (e.g. "> quote" followed by "![][id]" on the next line). */
|
|
1365
|
+
static bool S_line_interrupts_blockquote_lazy(cmark_chunk *input, bufsize_t pos) {
|
|
1366
|
+
if (pos >= (bufsize_t)input->len)
|
|
1367
|
+
return false;
|
|
1368
|
+
|
|
1369
|
+
if (peek_at(input, pos) == '!' && pos + 1 < (bufsize_t)input->len &&
|
|
1370
|
+
peek_at(input, pos + 1) == '[')
|
|
1371
|
+
return true;
|
|
1372
|
+
|
|
1373
|
+
if (peek_at(input, pos) == '[') {
|
|
1374
|
+
bufsize_t i = pos + 1;
|
|
1375
|
+
while (i < (bufsize_t)input->len && input->data[i] != '\n' &&
|
|
1376
|
+
input->data[i] != '\r' && input->data[i] != ']') {
|
|
1377
|
+
i++;
|
|
1378
|
+
}
|
|
1379
|
+
if (i < (bufsize_t)input->len && input->data[i] == ']' &&
|
|
1380
|
+
i + 1 < (bufsize_t)input->len && input->data[i + 1] == ':') {
|
|
1381
|
+
bufsize_t j = i + 2;
|
|
1382
|
+
if (j < (bufsize_t)input->len &&
|
|
1383
|
+
(input->data[j] == ' ' || input->data[j] == '\t'))
|
|
1384
|
+
return true;
|
|
1385
|
+
}
|
|
1386
|
+
}
|
|
1387
|
+
|
|
1388
|
+
return false;
|
|
1389
|
+
}
|
|
1390
|
+
|
|
1337
1391
|
static void add_text_to_container(cmark_parser *parser, cmark_node *container,
|
|
1338
1392
|
cmark_node *last_matched_container,
|
|
1339
1393
|
cmark_chunk *input) {
|
|
@@ -1374,7 +1428,8 @@ static void add_text_to_container(cmark_parser *parser, cmark_node *container,
|
|
|
1374
1428
|
// the open paragraph.
|
|
1375
1429
|
if (parser->current != last_matched_container &&
|
|
1376
1430
|
container == last_matched_container && !parser->blank &&
|
|
1377
|
-
S_type(parser->current) == CMARK_NODE_PARAGRAPH
|
|
1431
|
+
S_type(parser->current) == CMARK_NODE_PARAGRAPH &&
|
|
1432
|
+
!S_line_interrupts_blockquote_lazy(input, parser->first_nonspace)) {
|
|
1378
1433
|
add_line(parser->current, input, parser);
|
|
1379
1434
|
} else { // not a lazy continuation
|
|
1380
1435
|
// Finalize any blocks that were not matched and set cur to container:
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
#ifndef CMARK_CONFIG_H
|
|
2
|
+
#define CMARK_CONFIG_H
|
|
3
|
+
|
|
4
|
+
#ifdef __cplusplus
|
|
5
|
+
extern "C" {
|
|
6
|
+
#endif
|
|
7
|
+
|
|
8
|
+
#define HAVE_STDBOOL_H 1
|
|
9
|
+
|
|
10
|
+
#ifdef HAVE_STDBOOL_H
|
|
11
|
+
#include <stdbool.h>
|
|
12
|
+
#elif !defined(__cplusplus)
|
|
13
|
+
typedef char bool;
|
|
14
|
+
#endif
|
|
15
|
+
|
|
16
|
+
#define HAVE___BUILTIN_EXPECT 1
|
|
17
|
+
|
|
18
|
+
#define HAVE___ATTRIBUTE__ 1
|
|
19
|
+
|
|
20
|
+
#ifdef HAVE___ATTRIBUTE__
|
|
21
|
+
#define CMARK_ATTRIBUTE(list) __attribute__ (list)
|
|
22
|
+
#else
|
|
23
|
+
#define CMARK_ATTRIBUTE(list)
|
|
24
|
+
#endif
|
|
25
|
+
|
|
26
|
+
#ifndef CMARK_INLINE
|
|
27
|
+
#if defined(_MSC_VER) && !defined(__cplusplus)
|
|
28
|
+
#define CMARK_INLINE __inline
|
|
29
|
+
#else
|
|
30
|
+
#define CMARK_INLINE inline
|
|
31
|
+
#endif
|
|
32
|
+
#endif
|
|
33
|
+
|
|
34
|
+
#ifdef __cplusplus
|
|
35
|
+
}
|
|
36
|
+
#endif
|
|
37
|
+
|
|
38
|
+
#endif
|
|
Binary file
|
|
Binary file
|
|
@@ -298,6 +298,69 @@ Tables with embedded pipes could be tricky.
|
|
|
298
298
|
</table>
|
|
299
299
|
````````````````````````````````
|
|
300
300
|
|
|
301
|
+
Code spans should not contribute table delimiters.
|
|
302
|
+
|
|
303
|
+
```````````````````````````````` example
|
|
304
|
+
| a | b |
|
|
305
|
+
| --- | --- |
|
|
306
|
+
| `x | y` | z |
|
|
307
|
+
.
|
|
308
|
+
<table>
|
|
309
|
+
<thead>
|
|
310
|
+
<tr>
|
|
311
|
+
<th>a</th>
|
|
312
|
+
<th>b</th>
|
|
313
|
+
</tr>
|
|
314
|
+
</thead>
|
|
315
|
+
<tbody>
|
|
316
|
+
<tr>
|
|
317
|
+
<td><code>x | y</code></td>
|
|
318
|
+
<td>z</td>
|
|
319
|
+
</tr>
|
|
320
|
+
</tbody>
|
|
321
|
+
</table>
|
|
322
|
+
````````````````````````````````
|
|
323
|
+
|
|
324
|
+
Multi-backtick code spans should not split on pipes.
|
|
325
|
+
|
|
326
|
+
```````````````````````````````` example
|
|
327
|
+
| a | b |
|
|
328
|
+
| --- | --- |
|
|
329
|
+
| ``code | span`` | z |
|
|
330
|
+
| ```left | right``` | q |
|
|
331
|
+
.
|
|
332
|
+
<table>
|
|
333
|
+
<thead>
|
|
334
|
+
<tr>
|
|
335
|
+
<th>a</th>
|
|
336
|
+
<th>b</th>
|
|
337
|
+
</tr>
|
|
338
|
+
</thead>
|
|
339
|
+
<tbody>
|
|
340
|
+
<tr>
|
|
341
|
+
<td><code>code | span</code></td>
|
|
342
|
+
<td>z</td>
|
|
343
|
+
</tr>
|
|
344
|
+
<tr>
|
|
345
|
+
<td><code>left | right</code></td>
|
|
346
|
+
<td>q</td>
|
|
347
|
+
</tr>
|
|
348
|
+
</tbody>
|
|
349
|
+
</table>
|
|
350
|
+
````````````````````````````````
|
|
351
|
+
|
|
352
|
+
Indented code lines should prevent lazy table detection.
|
|
353
|
+
|
|
354
|
+
```````````````````````````````` example
|
|
355
|
+
| a | b |
|
|
356
|
+
code | with | pipes
|
|
357
|
+
| --- | --- |
|
|
358
|
+
.
|
|
359
|
+
<p>| a | b |
|
|
360
|
+
code | with | pipes
|
|
361
|
+
| --- | --- |</p>
|
|
362
|
+
````````````````````````````````
|
|
363
|
+
|
|
301
364
|
### Oddly-formatted markers
|
|
302
365
|
|
|
303
366
|
This shouldn't assert.
|
|
@@ -637,6 +700,12 @@ http://🍄.ga/ http://x🍄.ga/
|
|
|
637
700
|
<p><a href="http://%F0%9F%8D%84.ga/">http://🍄.ga/</a> <a href="http://x%F0%9F%8D%84.ga/">http://x🍄.ga/</a></p>
|
|
638
701
|
````````````````````````````````
|
|
639
702
|
|
|
703
|
+
```````````````````````````````` example
|
|
704
|
+
<a class="widget-shot js-lightbox" href="/assets/images/shots/macos/text-basic@2x.jpg"><img srcset="/assets/images/shots/macos/text-basic@2x.jpg 2x"></a> scyther@pokemon.com
|
|
705
|
+
.
|
|
706
|
+
<p><a class="widget-shot js-lightbox" href="/assets/images/shots/macos/text-basic@2x.jpg"><img srcset="/assets/images/shots/macos/text-basic@2x.jpg 2x"></a> <a href="mailto:scyther@pokemon.com">scyther@pokemon.com</a></p>
|
|
707
|
+
````````````````````````````````
|
|
708
|
+
|
|
640
709
|
```````````````````````````````` example
|
|
641
710
|
This shouldn't crash everything: (_A_@_.A
|
|
642
711
|
.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# Generated by CMake, DO NOT EDIT
|
|
2
|
+
|
|
3
|
+
TARGETS:=
|
|
4
|
+
empty:=
|
|
5
|
+
space:= $(empty) $(empty)
|
|
6
|
+
spaceplus:= $(empty)\ $(empty)
|
|
7
|
+
|
|
8
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /Users/ttscoff/Desktop/Code/apex/CMakeLists.txt))
|
|
9
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /Users/ttscoff/Desktop/Code/apex/vendor/cmark-gfm/CMakeLists.txt))
|
|
10
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /Users/ttscoff/Desktop/Code/apex/vendor/cmark-gfm/CheckFileOffsetBits.cmake))
|
|
11
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /Users/ttscoff/Desktop/Code/apex/vendor/cmark-gfm/FindAsan.cmake))
|
|
12
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /Users/ttscoff/Desktop/Code/apex/vendor/cmark-gfm/extensions/CMakeLists.txt))
|
|
13
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /Users/ttscoff/Desktop/Code/apex/vendor/cmark-gfm/man/CMakeLists.txt))
|
|
14
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /Users/ttscoff/Desktop/Code/apex/vendor/cmark-gfm/src/CMakeLists.txt))
|
|
15
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /Users/ttscoff/Desktop/Code/apex/vendor/cmark-gfm/src/cmark-gfm_version.h.in))
|
|
16
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /Users/ttscoff/Desktop/Code/apex/vendor/cmark-gfm/src/config.h.in))
|
|
17
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /Users/ttscoff/Desktop/Code/apex/vendor/cmark-gfm/src/libcmark-gfm.pc.in))
|
|
18
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /Users/ttscoff/Desktop/Code/apex/xcode_build/CMakeFiles/4.2.3/CMakeCCompiler.cmake))
|
|
19
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /Users/ttscoff/Desktop/Code/apex/xcode_build/CMakeFiles/4.2.3/CMakeCXXCompiler.cmake))
|
|
20
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /Users/ttscoff/Desktop/Code/apex/xcode_build/CMakeFiles/4.2.3/CMakeSystem.cmake))
|
|
21
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/CMakeCInformation.cmake))
|
|
22
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/CMakeCXXInformation.cmake))
|
|
23
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake))
|
|
24
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/CMakeCommonLanguageInclude.cmake))
|
|
25
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/CMakeGenericSystem.cmake))
|
|
26
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/CMakeInitializeConfigs.cmake))
|
|
27
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/CMakeLanguageInformation.cmake))
|
|
28
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/CMakeSystemSpecificInformation.cmake))
|
|
29
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake))
|
|
30
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/CheckCCompilerFlag.cmake))
|
|
31
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/CheckCSourceCompiles.cmake))
|
|
32
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/CheckCSourceRuns.cmake))
|
|
33
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/CheckCXXCompilerFlag.cmake))
|
|
34
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/CheckCXXSourceCompiles.cmake))
|
|
35
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/CheckCompilerFlag.cmake))
|
|
36
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/CheckIncludeFile.cmake))
|
|
37
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/CheckSourceCompiles.cmake))
|
|
38
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/CheckSymbolExists.cmake))
|
|
39
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/Compiler/AppleClang-C.cmake))
|
|
40
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/Compiler/AppleClang-CXX.cmake))
|
|
41
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/Compiler/CMakeCommonCompilerMacros.cmake))
|
|
42
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/Compiler/Clang.cmake))
|
|
43
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/Compiler/GNU.cmake))
|
|
44
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/FindPackageHandleStandardArgs.cmake))
|
|
45
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/FindPackageMessage.cmake))
|
|
46
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/FindPkgConfig.cmake))
|
|
47
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/GNUInstallDirs.cmake))
|
|
48
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/GenerateExportHeader.cmake))
|
|
49
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/InstallRequiredSystemLibraries.cmake))
|
|
50
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/Internal/CMakeCLinkerInformation.cmake))
|
|
51
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/Internal/CMakeCXXLinkerInformation.cmake))
|
|
52
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/Internal/CMakeCommonLinkerInformation.cmake))
|
|
53
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/Internal/CheckCompilerFlag.cmake))
|
|
54
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/Internal/CheckFlagCommonConfig.cmake))
|
|
55
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/Internal/CheckSourceCompiles.cmake))
|
|
56
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/Internal/CheckSourceRuns.cmake))
|
|
57
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/Linker/AppleClang-C.cmake))
|
|
58
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/Linker/AppleClang-CXX.cmake))
|
|
59
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/Linker/AppleClang.cmake))
|
|
60
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/Platform/Apple-AppleClang-C.cmake))
|
|
61
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/Platform/Apple-AppleClang-CXX.cmake))
|
|
62
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/Platform/Apple-Clang-C.cmake))
|
|
63
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/Platform/Apple-Clang-CXX.cmake))
|
|
64
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/Platform/Apple-Clang.cmake))
|
|
65
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/Platform/Darwin-Initialize.cmake))
|
|
66
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/Platform/Darwin.cmake))
|
|
67
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/Platform/Linker/Apple-AppleClang-C.cmake))
|
|
68
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/Platform/Linker/Apple-AppleClang-CXX.cmake))
|
|
69
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/Platform/Linker/Apple-AppleClang.cmake))
|
|
70
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/Platform/UnixPaths.cmake))
|
|
71
|
+
TARGETS += $(subst $(space),$(spaceplus),$(wildcard /opt/homebrew/share/cmake/Modules/exportheader.cmake.in))
|
|
72
|
+
|
|
73
|
+
/Users/ttscoff/Desktop/Code/apex/xcode_build/CMakeFiles/cmake.check_cache: $(TARGETS)
|
|
74
|
+
/opt/homebrew/bin/cmake -S/Users/ttscoff/Desktop/Code/apex -B/Users/ttscoff/Desktop/Code/apex/xcode_build
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# CMake generated Testfile for
|
|
2
|
+
# Source directory: /Users/ttscoff/Desktop/Code/apex
|
|
3
|
+
# Build directory: /Users/ttscoff/Desktop/Code/apex/xcode_build
|
|
4
|
+
#
|
|
5
|
+
# This file includes the relevant testing commands required for
|
|
6
|
+
# testing this directory and lists subdirectories to be tested as well.
|
|
7
|
+
if(CTEST_CONFIGURATION_TYPE MATCHES "^([Dd][Ee][Bb][Uu][Gg])$")
|
|
8
|
+
add_test(apex_tests "/Users/ttscoff/Desktop/Code/apex/xcode_build/Debug/apex_test_runner")
|
|
9
|
+
set_tests_properties(apex_tests PROPERTIES WORKING_DIRECTORY "/Users/ttscoff/Desktop/Code/apex" _BACKTRACE_TRIPLES "/Users/ttscoff/Desktop/Code/apex/CMakeLists.txt;357;add_test;/Users/ttscoff/Desktop/Code/apex/CMakeLists.txt;0;")
|
|
10
|
+
elseif(CTEST_CONFIGURATION_TYPE MATCHES "^([Rr][Ee][Ll][Ee][Aa][Ss][Ee])$")
|
|
11
|
+
add_test(apex_tests "/Users/ttscoff/Desktop/Code/apex/xcode_build/Release/apex_test_runner")
|
|
12
|
+
set_tests_properties(apex_tests PROPERTIES WORKING_DIRECTORY "/Users/ttscoff/Desktop/Code/apex" _BACKTRACE_TRIPLES "/Users/ttscoff/Desktop/Code/apex/CMakeLists.txt;357;add_test;/Users/ttscoff/Desktop/Code/apex/CMakeLists.txt;0;")
|
|
13
|
+
elseif(CTEST_CONFIGURATION_TYPE MATCHES "^([Mm][Ii][Nn][Ss][Ii][Zz][Ee][Rr][Ee][Ll])$")
|
|
14
|
+
add_test(apex_tests "/Users/ttscoff/Desktop/Code/apex/xcode_build/MinSizeRel/apex_test_runner")
|
|
15
|
+
set_tests_properties(apex_tests PROPERTIES WORKING_DIRECTORY "/Users/ttscoff/Desktop/Code/apex" _BACKTRACE_TRIPLES "/Users/ttscoff/Desktop/Code/apex/CMakeLists.txt;357;add_test;/Users/ttscoff/Desktop/Code/apex/CMakeLists.txt;0;")
|
|
16
|
+
elseif(CTEST_CONFIGURATION_TYPE MATCHES "^([Rr][Ee][Ll][Ww][Ii][Tt][Hh][Dd][Ee][Bb][Ii][Nn][Ff][Oo])$")
|
|
17
|
+
add_test(apex_tests "/Users/ttscoff/Desktop/Code/apex/xcode_build/RelWithDebInfo/apex_test_runner")
|
|
18
|
+
set_tests_properties(apex_tests PROPERTIES WORKING_DIRECTORY "/Users/ttscoff/Desktop/Code/apex" _BACKTRACE_TRIPLES "/Users/ttscoff/Desktop/Code/apex/CMakeLists.txt;357;add_test;/Users/ttscoff/Desktop/Code/apex/CMakeLists.txt;0;")
|
|
19
|
+
else()
|
|
20
|
+
add_test(apex_tests NOT_AVAILABLE)
|
|
21
|
+
endif()
|
|
22
|
+
subdirs("vendor/cmark-gfm")
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
+
<plist version="1.0">
|
|
4
|
+
<dict>
|
|
5
|
+
<key>BuildMachineOSBuild</key>
|
|
6
|
+
<string>25E5223i</string>
|
|
7
|
+
<key>CFBundleDevelopmentRegion</key>
|
|
8
|
+
<string>en</string>
|
|
9
|
+
<key>CFBundleExecutable</key>
|
|
10
|
+
<string>Apex</string>
|
|
11
|
+
<key>CFBundleIdentifier</key>
|
|
12
|
+
<string>com.brettterpstra.apex</string>
|
|
13
|
+
<key>CFBundleInfoDictionaryVersion</key>
|
|
14
|
+
<string>6.0</string>
|
|
15
|
+
<key>CFBundleName</key>
|
|
16
|
+
<string>Apex</string>
|
|
17
|
+
<key>CFBundlePackageType</key>
|
|
18
|
+
<string>FMWK</string>
|
|
19
|
+
<key>CFBundleSupportedPlatforms</key>
|
|
20
|
+
<array>
|
|
21
|
+
<string>MacOSX</string>
|
|
22
|
+
</array>
|
|
23
|
+
<key>DTCompiler</key>
|
|
24
|
+
<string>com.apple.compilers.llvm.clang.1_0</string>
|
|
25
|
+
<key>DTPlatformBuild</key>
|
|
26
|
+
<string>25C58</string>
|
|
27
|
+
<key>DTPlatformName</key>
|
|
28
|
+
<string>macosx</string>
|
|
29
|
+
<key>DTPlatformVersion</key>
|
|
30
|
+
<string>26.2</string>
|
|
31
|
+
<key>DTSDKBuild</key>
|
|
32
|
+
<string>25C58</string>
|
|
33
|
+
<key>DTSDKName</key>
|
|
34
|
+
<string>macosx26.2</string>
|
|
35
|
+
<key>DTXcode</key>
|
|
36
|
+
<string>2630</string>
|
|
37
|
+
<key>DTXcodeBuild</key>
|
|
38
|
+
<string>17C529</string>
|
|
39
|
+
<key>LSMinimumSystemVersion</key>
|
|
40
|
+
<string>26.2</string>
|
|
41
|
+
<key>NSHumanReadableCopyright</key>
|
|
42
|
+
<string>Copyright © 2025 Brett Terpstra. All rights reserved.</string>
|
|
43
|
+
</dict>
|
|
44
|
+
</plist>
|