cmark

My personal build of CMark ✏️

Commit
c2e63df630fac01b78859b4038be16cef26fe9be
Parent
499970acbdaef4dcd51a2e629edfddee520bba3a
Author
Nick Wellnhofer <wellnhofer@aevum.de>
Date

Move public stuff from node.h to cmark.h

Diffstat

2 files changed, 99 insertions, 98 deletions

Status File Name N° Changes Insertions Deletions
Modified src/cmark.h 99 99 0
Modified src/node.h 98 0 98
diff --git a/src/cmark.h b/src/cmark.h
@@ -11,6 +11,42 @@ extern "C" {
 #define CMARK_VERSION "0.1"
 
 typedef enum {
+    // Block
+    CMARK_NODE_DOCUMENT,
+    CMARK_NODE_BQUOTE,
+    CMARK_NODE_LIST,
+    CMARK_NODE_LIST_ITEM,
+    CMARK_NODE_FENCED_CODE,
+    CMARK_NODE_INDENTED_CODE,
+    CMARK_NODE_HTML,
+    CMARK_NODE_PARAGRAPH,
+    CMARK_NODE_ATX_HEADER,
+    CMARK_NODE_SETEXT_HEADER,
+    CMARK_NODE_HRULE,
+    CMARK_NODE_REFERENCE_DEF,
+
+    CMARK_NODE_FIRST_BLOCK = CMARK_NODE_DOCUMENT,
+    CMARK_NODE_LAST_BLOCK  = CMARK_NODE_REFERENCE_DEF,
+
+    // Inline
+    CMARK_NODE_STRING,
+    CMARK_NODE_SOFTBREAK,
+    CMARK_NODE_LINEBREAK,
+    CMARK_NODE_INLINE_CODE,
+    CMARK_NODE_INLINE_HTML,
+    CMARK_NODE_EMPH,
+    CMARK_NODE_STRONG,
+    CMARK_NODE_LINK,
+    CMARK_NODE_IMAGE,
+
+    CMARK_NODE_FIRST_INLINE = CMARK_NODE_STRING,
+    CMARK_NODE_LAST_INLINE  = CMARK_NODE_IMAGE,
+
+    // Other
+    CMARK_NODE_LINK_LABEL
+} cmark_node_type;
+
+typedef enum {
 	CMARK_BULLET_LIST,
 	CMARK_ORDERED_LIST
 }  cmark_list_type;
@@ -23,6 +59,45 @@ typedef enum {
 typedef struct cmark_node cmark_node;
 typedef struct cmark_doc_parser cmark_doc_parser;
 
+CMARK_EXPORT cmark_node_type
+cmark_node_get_type(cmark_node *node);
+
+// Tree traversal
+
+CMARK_EXPORT cmark_node*
+cmark_node_next(cmark_node *node);
+
+CMARK_EXPORT cmark_node*
+cmark_node_previous(cmark_node *node);
+
+CMARK_EXPORT cmark_node*
+cmark_node_parent(cmark_node *node);
+
+CMARK_EXPORT cmark_node*
+cmark_node_first_child(cmark_node *node);
+
+CMARK_EXPORT cmark_node*
+cmark_node_last_child(cmark_node *node);
+
+// Tree manipulation
+
+CMARK_EXPORT void
+cmark_node_unlink(cmark_node *node);
+
+CMARK_EXPORT int
+cmark_node_insert_before(cmark_node *node, cmark_node *sibling);
+
+CMARK_EXPORT int
+cmark_node_insert_before(cmark_node *node, cmark_node *sibling);
+
+CMARK_EXPORT int
+cmark_node_prepend_child(cmark_node *node, cmark_node *child);
+
+CMARK_EXPORT int
+cmark_node_append_child(cmark_node *node, cmark_node *child);
+
+// Parser
+
 CMARK_EXPORT
 cmark_doc_parser *cmark_new_doc_parser();
 
@@ -41,6 +116,8 @@ cmark_node *cmark_parse_document(const unsigned char *buffer, size_t len);
 CMARK_EXPORT
 cmark_node *cmark_parse_file(FILE *f);
 
+// Renderer
+
 CMARK_EXPORT
 void cmark_debug_print(cmark_node *root);
 
@@ -54,6 +131,28 @@ CMARK_EXPORT
 void cmark_free_nodes(cmark_node *e);
 
 #ifndef CMARK_NO_SHORT_NAMES
+  #define NODE_DOCUMENT             CMARK_NODE_DOCUMENT
+  #define NODE_BQUOTE               CMARK_NODE_BQUOTE
+  #define NODE_LIST                 CMARK_NODE_LIST
+  #define NODE_LIST_ITEM            CMARK_NODE_LIST_ITEM
+  #define NODE_FENCED_CODE          CMARK_NODE_FENCED_CODE
+  #define NODE_INDENTED_CODE        CMARK_NODE_INDENTED_CODE
+  #define NODE_HTML                 CMARK_NODE_HTML
+  #define NODE_PARAGRAPH            CMARK_NODE_PARAGRAPH
+  #define NODE_ATX_HEADER           CMARK_NODE_ATX_HEADER
+  #define NODE_SETEXT_HEADER        CMARK_NODE_SETEXT_HEADER
+  #define NODE_HRULE                CMARK_NODE_HRULE
+  #define NODE_REFERENCE_DEF        CMARK_NODE_REFERENCE_DEF
+  #define NODE_STRING               CMARK_NODE_STRING
+  #define NODE_SOFTBREAK            CMARK_NODE_SOFTBREAK
+  #define NODE_LINEBREAK            CMARK_NODE_LINEBREAK
+  #define NODE_INLINE_CODE          CMARK_NODE_INLINE_CODE
+  #define NODE_INLINE_HTML          CMARK_NODE_INLINE_HTML
+  #define NODE_EMPH                 CMARK_NODE_EMPH
+  #define NODE_STRONG               CMARK_NODE_STRONG
+  #define NODE_LINK                 CMARK_NODE_LINK
+  #define NODE_IMAGE                CMARK_NODE_IMAGE
+  #define NODE_LINK_LABEL           CMARK_NODE_LINK_LABEL
   #define BULLET_LIST               CMARK_BULLET_LIST
   #define ORDERED_LIST              CMARK_ORDERED_LIST
   #define PERIOD_DELIM              CMARK_PERIOD_DELIM
diff --git a/src/node.h b/src/node.h
@@ -9,42 +9,6 @@ extern "C" {
 #include "buffer.h"
 #include "chunk.h"
 
-typedef enum {
-    // Block
-    CMARK_NODE_DOCUMENT,
-    CMARK_NODE_BQUOTE,
-    CMARK_NODE_LIST,
-    CMARK_NODE_LIST_ITEM,
-    CMARK_NODE_FENCED_CODE,
-    CMARK_NODE_INDENTED_CODE,
-    CMARK_NODE_HTML,
-    CMARK_NODE_PARAGRAPH,
-    CMARK_NODE_ATX_HEADER,
-    CMARK_NODE_SETEXT_HEADER,
-    CMARK_NODE_HRULE,
-    CMARK_NODE_REFERENCE_DEF,
-
-    CMARK_NODE_FIRST_BLOCK = CMARK_NODE_DOCUMENT,
-    CMARK_NODE_LAST_BLOCK  = CMARK_NODE_REFERENCE_DEF,
-    
-    // Inline
-    CMARK_NODE_STRING,
-    CMARK_NODE_SOFTBREAK,
-    CMARK_NODE_LINEBREAK,
-    CMARK_NODE_INLINE_CODE,
-    CMARK_NODE_INLINE_HTML,
-    CMARK_NODE_EMPH,
-    CMARK_NODE_STRONG,
-    CMARK_NODE_LINK,
-    CMARK_NODE_IMAGE,
-
-    CMARK_NODE_FIRST_INLINE = CMARK_NODE_STRING,
-    CMARK_NODE_LAST_INLINE  = CMARK_NODE_IMAGE,
-    
-    // Other
-    CMARK_NODE_LINK_LABEL
-} cmark_node_type;
-
 typedef struct {
 	cmark_list_type   list_type;
 	int               marker_offset;
@@ -98,68 +62,6 @@ struct cmark_node {
 	} as;
 };
 
-CMARK_EXPORT cmark_node_type
-cmark_node_get_type(cmark_node *node);
-
-// Tree traversal
-
-CMARK_EXPORT cmark_node*
-cmark_node_next(cmark_node *node);
-
-CMARK_EXPORT cmark_node*
-cmark_node_previous(cmark_node *node);
-
-CMARK_EXPORT cmark_node*
-cmark_node_parent(cmark_node *node);
-
-CMARK_EXPORT cmark_node*
-cmark_node_first_child(cmark_node *node);
-
-CMARK_EXPORT cmark_node*
-cmark_node_last_child(cmark_node *node);
-
-// Tree manipulation
-
-CMARK_EXPORT void
-cmark_node_unlink(cmark_node *node);
-
-CMARK_EXPORT int
-cmark_node_insert_before(cmark_node *node, cmark_node *sibling);
-
-CMARK_EXPORT int
-cmark_node_insert_before(cmark_node *node, cmark_node *sibling);
-
-CMARK_EXPORT int
-cmark_node_prepend_child(cmark_node *node, cmark_node *child);
-
-CMARK_EXPORT int
-cmark_node_append_child(cmark_node *node, cmark_node *child);
-
-#define NODE_DOCUMENT CMARK_NODE_DOCUMENT
-#define NODE_BQUOTE CMARK_NODE_BQUOTE
-#define NODE_LIST CMARK_NODE_LIST
-#define NODE_LIST_ITEM CMARK_NODE_LIST_ITEM
-#define NODE_FENCED_CODE CMARK_NODE_FENCED_CODE
-#define NODE_INDENTED_CODE CMARK_NODE_INDENTED_CODE
-#define NODE_HTML CMARK_NODE_HTML
-#define NODE_PARAGRAPH CMARK_NODE_PARAGRAPH
-#define NODE_ATX_HEADER CMARK_NODE_ATX_HEADER
-#define NODE_SETEXT_HEADER CMARK_NODE_SETEXT_HEADER
-#define NODE_HRULE CMARK_NODE_HRULE
-#define NODE_REFERENCE_DEF CMARK_NODE_REFERENCE_DEF
-
-#define NODE_STRING CMARK_NODE_STRING
-#define NODE_SOFTBREAK CMARK_NODE_SOFTBREAK
-#define NODE_LINEBREAK CMARK_NODE_LINEBREAK
-#define NODE_INLINE_CODE CMARK_NODE_INLINE_CODE
-#define NODE_INLINE_HTML CMARK_NODE_INLINE_HTML
-#define NODE_EMPH CMARK_NODE_EMPH
-#define NODE_STRONG CMARK_NODE_STRONG
-#define NODE_LINK CMARK_NODE_LINK
-#define NODE_IMAGE CMARK_NODE_IMAGE
-
-#define NODE_LINK_LABEL CMARK_NODE_LINK_LABEL
-
 #ifdef __cplusplus
 }
 #endif