summaryrefslogtreecommitdiff
path: root/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h
diff options
context:
space:
mode:
Diffstat (limited to 'libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h')
-rw-r--r--libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h
new file mode 100644
index 0000000..69f1f31
--- /dev/null
+++ b/libcmark-gfm-extensions/libcmark-gfm-extensions/extensions/cmark-gfm-core-extensions.h
@@ -0,0 +1,61 @@
+#ifndef CMARK_GFM_CORE_EXTENSIONS_H
+#define CMARK_GFM_CORE_EXTENSIONS_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "cmark-gfm-extension_api.h"
+#include "cmark-gfm-extensions_export.h"
+#include <stdint.h>
+
+/* Fix the issue #244, including stdbool.h instead of (private) config.h.
+ *
+ * Note that here we assume that stdbool.h is available regardless if the C99
+ * standard is specified for the C compiler or not, which is true for all the
+ * platforms/compilers that we currently support.
+ */
+#include <stdbool.h>
+
+CMARK_GFM_EXTENSIONS_EXPORT
+void cmark_gfm_core_extensions_ensure_registered(void);
+
+CMARK_GFM_EXTENSIONS_EXPORT
+uint16_t cmark_gfm_extensions_get_table_columns(cmark_node *node);
+
+/** Sets the number of columns for the table, returning 1 on success and 0 on error.
+ */
+CMARK_GFM_EXTENSIONS_EXPORT
+int cmark_gfm_extensions_set_table_columns(cmark_node *node, uint16_t n_columns);
+
+CMARK_GFM_EXTENSIONS_EXPORT
+uint8_t *cmark_gfm_extensions_get_table_alignments(cmark_node *node);
+
+/** Sets the alignments for the table, returning 1 on success and 0 on error.
+ */
+CMARK_GFM_EXTENSIONS_EXPORT
+int cmark_gfm_extensions_set_table_alignments(cmark_node *node, uint16_t ncols, uint8_t *alignments);
+
+CMARK_GFM_EXTENSIONS_EXPORT
+int cmark_gfm_extensions_get_table_row_is_header(cmark_node *node);
+
+/** Sets whether the node is a table header row, returning 1 on success and 0 on error.
+ */
+CMARK_GFM_EXTENSIONS_EXPORT
+int cmark_gfm_extensions_set_table_row_is_header(cmark_node *node, int is_header);
+
+CMARK_GFM_EXTENSIONS_EXPORT
+bool cmark_gfm_extensions_get_tasklist_item_checked(cmark_node *node);
+/* For backwards compatibility */
+#define cmark_gfm_extensions_tasklist_is_checked cmark_gfm_extensions_get_tasklist_item_checked
+
+/** Sets whether a tasklist item is "checked" (completed), returning 1 on success and 0 on error.
+ */
+CMARK_GFM_EXTENSIONS_EXPORT
+int cmark_gfm_extensions_set_tasklist_item_checked(cmark_node *node, bool is_checked);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif