1#ifndef CMARK_AST_H
2#define CMARK_AST_H
3
4#include <stdio.h>
5#include "references.h"
6#include "node.h"
7#include "buffer.h"
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13#define MAX_LINK_LABEL_LENGTH 1000
14
15struct cmark_parser {
16 struct cmark_mem *mem;
17 struct cmark_reference_map *refmap;
18 struct cmark_node *root;
19 struct cmark_node *current;
20 int line_number;
21 bufsize_t offset;
22 bufsize_t column;
23 bufsize_t first_nonspace;
24 bufsize_t first_nonspace_column;
25 bufsize_t thematic_break_kill_pos;
26 int indent;
27 bool blank;
28 bool partially_consumed_tab;
29 cmark_strbuf curline;
30 bufsize_t last_line_length;
31 cmark_strbuf linebuf;
32 cmark_strbuf content;
33 int options;
34 bool last_buffer_ended_with_cr;
35 unsigned int total_size;
36};
37
38#ifdef __cplusplus
39}
40#endif
41
42#endif
43