commonmarker 0.17.11 → 0.17.12
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of commonmarker might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/ext/commonmarker/arena.c +2 -2
- data/ext/commonmarker/autolink.h +3 -3
- data/ext/commonmarker/blocks.c +1 -1
- data/ext/commonmarker/buffer.h +23 -23
- data/ext/commonmarker/chunk.h +1 -1
- data/ext/commonmarker/cmark-gfm-core-extensions.h +25 -0
- data/ext/commonmarker/{cmark_extension_api.h → cmark-gfm-extension_api.h} +67 -67
- data/ext/commonmarker/cmark-gfm-extensions_export.h +42 -0
- data/ext/commonmarker/{cmark.h → cmark-gfm.h} +88 -88
- data/ext/commonmarker/cmark-gfm_export.h +42 -0
- data/ext/commonmarker/cmark-gfm_version.h +7 -0
- data/ext/commonmarker/cmark.c +3 -3
- data/ext/commonmarker/cmark_ctype.h +6 -6
- data/ext/commonmarker/commonmark.c +2 -2
- data/ext/commonmarker/commonmarker.c +5 -5
- data/ext/commonmarker/commonmarker.h +1 -1
- data/ext/commonmarker/core-extensions.c +2 -2
- data/ext/commonmarker/ext_scanners.h +1 -1
- data/ext/commonmarker/footnotes.c +1 -1
- data/ext/commonmarker/houdini.h +6 -6
- data/ext/commonmarker/houdini_href_e.c +2 -2
- data/ext/commonmarker/html.c +1 -1
- data/ext/commonmarker/inlines.c +1 -1
- data/ext/commonmarker/inlines.h +1 -1
- data/ext/commonmarker/iterator.c +1 -1
- data/ext/commonmarker/iterator.h +1 -1
- data/ext/commonmarker/latex.c +1 -1
- data/ext/commonmarker/linked_list.c +1 -1
- data/ext/commonmarker/man.c +1 -1
- data/ext/commonmarker/node.h +4 -4
- data/ext/commonmarker/plugin.h +2 -2
- data/ext/commonmarker/references.c +1 -1
- data/ext/commonmarker/registry.c +1 -1
- data/ext/commonmarker/registry.h +4 -4
- data/ext/commonmarker/render.c +1 -1
- data/ext/commonmarker/scanners.h +1 -1
- data/ext/commonmarker/strikethrough.c +1 -2
- data/ext/commonmarker/strikethrough.h +3 -3
- data/ext/commonmarker/syntax_extension.c +1 -1
- data/ext/commonmarker/syntax_extension.h +2 -2
- data/ext/commonmarker/table.c +10 -5
- data/ext/commonmarker/table.h +3 -3
- data/ext/commonmarker/tagfilter.h +3 -3
- data/ext/commonmarker/utf8.h +6 -6
- data/ext/commonmarker/xml.c +1 -1
- data/lib/commonmarker/renderer/html_renderer.rb +5 -5
- data/lib/commonmarker/version.rb +1 -2
- data/test/test_extensions.rb +3 -1
- metadata +8 -8
- data/ext/commonmarker/cmark_export.h +0 -42
- data/ext/commonmarker/cmark_version.h +0 -8
- data/ext/commonmarker/cmarkextensions_export.h +0 -42
- data/ext/commonmarker/core-extensions.h +0 -25
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 38d855b874ccd9a4c249fb89ee64dee0ee340cf4
|
4
|
+
data.tar.gz: 712809d0eb64eeeb4d9976101ba205533e7a92d9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 38abd249d3f023e13b5f6cd97a72cd421e887637964da5b3fd25badafc2326f33679af61ebf31103347648547d6ea4077a8bd4754fa02bffab538538fa9d90cd
|
7
|
+
data.tar.gz: 7c023d24403c1b5774dde7324f32992299376d5773b35435215da9acee613470f49451be69dbf2dc3cc1291a33e19f64a8fba41e9e0560f48d7b49ef615fb0c1
|
data/ext/commonmarker/arena.c
CHANGED
data/ext/commonmarker/autolink.h
CHANGED
data/ext/commonmarker/blocks.c
CHANGED
data/ext/commonmarker/buffer.h
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
#include <limits.h>
|
8
8
|
#include <stdint.h>
|
9
9
|
#include "config.h"
|
10
|
-
#include "cmark.h"
|
10
|
+
#include "cmark-gfm.h"
|
11
11
|
|
12
12
|
#ifdef __cplusplus
|
13
13
|
extern "C" {
|
@@ -30,32 +30,32 @@ extern unsigned char cmark_strbuf__initbuf[];
|
|
30
30
|
* For the cases where CMARK_BUF_INIT cannot be used to do static
|
31
31
|
* initialization.
|
32
32
|
*/
|
33
|
-
|
33
|
+
CMARK_GFM_EXPORT
|
34
34
|
void cmark_strbuf_init(cmark_mem *mem, cmark_strbuf *buf,
|
35
35
|
bufsize_t initial_size);
|
36
36
|
|
37
37
|
/**
|
38
38
|
* Grow the buffer to hold at least `target_size` bytes.
|
39
39
|
*/
|
40
|
-
|
40
|
+
CMARK_GFM_EXPORT
|
41
41
|
void cmark_strbuf_grow(cmark_strbuf *buf, bufsize_t target_size);
|
42
42
|
|
43
|
-
|
43
|
+
CMARK_GFM_EXPORT
|
44
44
|
void cmark_strbuf_free(cmark_strbuf *buf);
|
45
45
|
|
46
|
-
|
46
|
+
CMARK_GFM_EXPORT
|
47
47
|
void cmark_strbuf_swap(cmark_strbuf *buf_a, cmark_strbuf *buf_b);
|
48
48
|
|
49
|
-
|
49
|
+
CMARK_GFM_EXPORT
|
50
50
|
bufsize_t cmark_strbuf_len(const cmark_strbuf *buf);
|
51
51
|
|
52
|
-
|
52
|
+
CMARK_GFM_EXPORT
|
53
53
|
int cmark_strbuf_cmp(const cmark_strbuf *a, const cmark_strbuf *b);
|
54
54
|
|
55
|
-
|
55
|
+
CMARK_GFM_EXPORT
|
56
56
|
unsigned char *cmark_strbuf_detach(cmark_strbuf *buf);
|
57
57
|
|
58
|
-
|
58
|
+
CMARK_GFM_EXPORT
|
59
59
|
void cmark_strbuf_copy_cstr(char *data, bufsize_t datasize,
|
60
60
|
const cmark_strbuf *buf);
|
61
61
|
|
@@ -65,48 +65,48 @@ static CMARK_INLINE const char *cmark_strbuf_cstr(const cmark_strbuf *buf) {
|
|
65
65
|
|
66
66
|
#define cmark_strbuf_at(buf, n) ((buf)->ptr[n])
|
67
67
|
|
68
|
-
|
68
|
+
CMARK_GFM_EXPORT
|
69
69
|
void cmark_strbuf_set(cmark_strbuf *buf, const unsigned char *data,
|
70
70
|
bufsize_t len);
|
71
71
|
|
72
|
-
|
72
|
+
CMARK_GFM_EXPORT
|
73
73
|
void cmark_strbuf_sets(cmark_strbuf *buf, const char *string);
|
74
74
|
|
75
|
-
|
75
|
+
CMARK_GFM_EXPORT
|
76
76
|
void cmark_strbuf_putc(cmark_strbuf *buf, int c);
|
77
77
|
|
78
|
-
|
78
|
+
CMARK_GFM_EXPORT
|
79
79
|
void cmark_strbuf_put(cmark_strbuf *buf, const unsigned char *data,
|
80
80
|
bufsize_t len);
|
81
81
|
|
82
|
-
|
82
|
+
CMARK_GFM_EXPORT
|
83
83
|
void cmark_strbuf_puts(cmark_strbuf *buf, const char *string);
|
84
84
|
|
85
|
-
|
85
|
+
CMARK_GFM_EXPORT
|
86
86
|
void cmark_strbuf_clear(cmark_strbuf *buf);
|
87
87
|
|
88
|
-
|
88
|
+
CMARK_GFM_EXPORT
|
89
89
|
bufsize_t cmark_strbuf_strchr(const cmark_strbuf *buf, int c, bufsize_t pos);
|
90
90
|
|
91
|
-
|
91
|
+
CMARK_GFM_EXPORT
|
92
92
|
bufsize_t cmark_strbuf_strrchr(const cmark_strbuf *buf, int c, bufsize_t pos);
|
93
93
|
|
94
|
-
|
94
|
+
CMARK_GFM_EXPORT
|
95
95
|
void cmark_strbuf_drop(cmark_strbuf *buf, bufsize_t n);
|
96
96
|
|
97
|
-
|
97
|
+
CMARK_GFM_EXPORT
|
98
98
|
void cmark_strbuf_truncate(cmark_strbuf *buf, bufsize_t len);
|
99
99
|
|
100
|
-
|
100
|
+
CMARK_GFM_EXPORT
|
101
101
|
void cmark_strbuf_rtrim(cmark_strbuf *buf);
|
102
102
|
|
103
|
-
|
103
|
+
CMARK_GFM_EXPORT
|
104
104
|
void cmark_strbuf_trim(cmark_strbuf *buf);
|
105
105
|
|
106
|
-
|
106
|
+
CMARK_GFM_EXPORT
|
107
107
|
void cmark_strbuf_normalize_whitespace(cmark_strbuf *s);
|
108
108
|
|
109
|
-
|
109
|
+
CMARK_GFM_EXPORT
|
110
110
|
void cmark_strbuf_unescape(cmark_strbuf *s);
|
111
111
|
|
112
112
|
#ifdef __cplusplus
|
data/ext/commonmarker/chunk.h
CHANGED
@@ -0,0 +1,25 @@
|
|
1
|
+
#ifndef CMARK_GFM_CORE_EXTENSIONS_H
|
2
|
+
#define CMARK_GFM_CORE_EXTENSIONS_H
|
3
|
+
|
4
|
+
#ifdef __cplusplus
|
5
|
+
extern "C" {
|
6
|
+
#endif
|
7
|
+
|
8
|
+
#include "cmark-gfm-extension_api.h"
|
9
|
+
#include "cmark-gfm-extensions_export.h"
|
10
|
+
#include <stdint.h>
|
11
|
+
|
12
|
+
CMARK_GFM_EXTENSIONS_EXPORT
|
13
|
+
void cmark_gfm_core_extensions_ensure_registered(void);
|
14
|
+
|
15
|
+
CMARK_GFM_EXTENSIONS_EXPORT
|
16
|
+
uint16_t cmark_gfm_extensions_get_table_columns(cmark_node *node);
|
17
|
+
|
18
|
+
CMARK_GFM_EXTENSIONS_EXPORT
|
19
|
+
uint8_t *cmark_gfm_extensions_get_table_alignments(cmark_node *node);
|
20
|
+
|
21
|
+
#ifdef __cplusplus
|
22
|
+
}
|
23
|
+
#endif
|
24
|
+
|
25
|
+
#endif
|
@@ -1,11 +1,11 @@
|
|
1
|
-
#ifndef
|
2
|
-
#define
|
1
|
+
#ifndef CMARK_GFM_EXTENSION_API_H
|
2
|
+
#define CMARK_GFM_EXTENSION_API_H
|
3
3
|
|
4
4
|
#ifdef __cplusplus
|
5
5
|
extern "C" {
|
6
6
|
#endif
|
7
7
|
|
8
|
-
#include "cmark.h"
|
8
|
+
#include "cmark-gfm.h"
|
9
9
|
|
10
10
|
struct cmark_renderer;
|
11
11
|
struct cmark_html_renderer;
|
@@ -170,7 +170,7 @@ typedef int (*cmark_plugin_init_func)(cmark_plugin *plugin);
|
|
170
170
|
* This takes ownership of 'extension', one should not call
|
171
171
|
* 'cmark_syntax_extension_free' on a registered extension.
|
172
172
|
*/
|
173
|
-
|
173
|
+
CMARK_GFM_EXPORT
|
174
174
|
int cmark_plugin_register_syntax_extension(cmark_plugin *plugin,
|
175
175
|
cmark_syntax_extension *extension);
|
176
176
|
|
@@ -180,7 +180,7 @@ int cmark_plugin_register_syntax_extension(cmark_plugin *plugin,
|
|
180
180
|
* It can then be attached to a cmark_parser
|
181
181
|
* with the cmark_parser_attach_syntax_extension method.
|
182
182
|
*/
|
183
|
-
|
183
|
+
CMARK_GFM_EXPORT
|
184
184
|
cmark_syntax_extension *cmark_find_syntax_extension(const char *name);
|
185
185
|
|
186
186
|
/** Should create and add a new open block to 'parent_container' if
|
@@ -260,143 +260,143 @@ typedef void (*cmark_opaque_free_func) (cmark_syntax_extension *extension,
|
|
260
260
|
|
261
261
|
/** Free a cmark_syntax_extension.
|
262
262
|
*/
|
263
|
-
|
263
|
+
CMARK_GFM_EXPORT
|
264
264
|
void cmark_syntax_extension_free (cmark_mem *mem, cmark_syntax_extension *extension);
|
265
265
|
|
266
266
|
/** Return a newly-constructed cmark_syntax_extension, named 'name'.
|
267
267
|
*/
|
268
|
-
|
268
|
+
CMARK_GFM_EXPORT
|
269
269
|
cmark_syntax_extension *cmark_syntax_extension_new (const char *name);
|
270
270
|
|
271
|
-
|
271
|
+
CMARK_GFM_EXPORT
|
272
272
|
cmark_node_type cmark_syntax_extension_add_node(int is_inline);
|
273
273
|
|
274
|
-
|
274
|
+
CMARK_GFM_EXPORT
|
275
275
|
void cmark_syntax_extension_set_emphasis(cmark_syntax_extension *extension, int emphasis);
|
276
276
|
|
277
277
|
/** See the documentation for 'cmark_syntax_extension'
|
278
278
|
*/
|
279
|
-
|
279
|
+
CMARK_GFM_EXPORT
|
280
280
|
void cmark_syntax_extension_set_open_block_func(cmark_syntax_extension *extension,
|
281
281
|
cmark_open_block_func func);
|
282
282
|
|
283
283
|
/** See the documentation for 'cmark_syntax_extension'
|
284
284
|
*/
|
285
|
-
|
285
|
+
CMARK_GFM_EXPORT
|
286
286
|
void cmark_syntax_extension_set_match_block_func(cmark_syntax_extension *extension,
|
287
287
|
cmark_match_block_func func);
|
288
288
|
|
289
289
|
/** See the documentation for 'cmark_syntax_extension'
|
290
290
|
*/
|
291
|
-
|
291
|
+
CMARK_GFM_EXPORT
|
292
292
|
void cmark_syntax_extension_set_match_inline_func(cmark_syntax_extension *extension,
|
293
293
|
cmark_match_inline_func func);
|
294
294
|
|
295
295
|
/** See the documentation for 'cmark_syntax_extension'
|
296
296
|
*/
|
297
|
-
|
297
|
+
CMARK_GFM_EXPORT
|
298
298
|
void cmark_syntax_extension_set_inline_from_delim_func(cmark_syntax_extension *extension,
|
299
299
|
cmark_inline_from_delim_func func);
|
300
300
|
|
301
301
|
/** See the documentation for 'cmark_syntax_extension'
|
302
302
|
*/
|
303
|
-
|
303
|
+
CMARK_GFM_EXPORT
|
304
304
|
void cmark_syntax_extension_set_special_inline_chars(cmark_syntax_extension *extension,
|
305
305
|
cmark_llist *special_chars);
|
306
306
|
|
307
307
|
/** See the documentation for 'cmark_syntax_extension'
|
308
308
|
*/
|
309
|
-
|
309
|
+
CMARK_GFM_EXPORT
|
310
310
|
void cmark_syntax_extension_set_get_type_string_func(cmark_syntax_extension *extension,
|
311
311
|
cmark_get_type_string_func func);
|
312
312
|
|
313
313
|
/** See the documentation for 'cmark_syntax_extension'
|
314
314
|
*/
|
315
|
-
|
315
|
+
CMARK_GFM_EXPORT
|
316
316
|
void cmark_syntax_extension_set_can_contain_func(cmark_syntax_extension *extension,
|
317
317
|
cmark_can_contain_func func);
|
318
318
|
|
319
319
|
/** See the documentation for 'cmark_syntax_extension'
|
320
320
|
*/
|
321
|
-
|
321
|
+
CMARK_GFM_EXPORT
|
322
322
|
void cmark_syntax_extension_set_contains_inlines_func(cmark_syntax_extension *extension,
|
323
323
|
cmark_contains_inlines_func func);
|
324
324
|
|
325
325
|
/** See the documentation for 'cmark_syntax_extension'
|
326
326
|
*/
|
327
|
-
|
327
|
+
CMARK_GFM_EXPORT
|
328
328
|
void cmark_syntax_extension_set_commonmark_render_func(cmark_syntax_extension *extension,
|
329
329
|
cmark_common_render_func func);
|
330
330
|
|
331
331
|
/** See the documentation for 'cmark_syntax_extension'
|
332
332
|
*/
|
333
|
-
|
333
|
+
CMARK_GFM_EXPORT
|
334
334
|
void cmark_syntax_extension_set_plaintext_render_func(cmark_syntax_extension *extension,
|
335
335
|
cmark_common_render_func func);
|
336
336
|
|
337
337
|
/** See the documentation for 'cmark_syntax_extension'
|
338
338
|
*/
|
339
|
-
|
339
|
+
CMARK_GFM_EXPORT
|
340
340
|
void cmark_syntax_extension_set_latex_render_func(cmark_syntax_extension *extension,
|
341
341
|
cmark_common_render_func func);
|
342
342
|
|
343
343
|
/** See the documentation for 'cmark_syntax_extension'
|
344
344
|
*/
|
345
|
-
|
345
|
+
CMARK_GFM_EXPORT
|
346
346
|
void cmark_syntax_extension_set_man_render_func(cmark_syntax_extension *extension,
|
347
347
|
cmark_common_render_func func);
|
348
348
|
|
349
349
|
/** See the documentation for 'cmark_syntax_extension'
|
350
350
|
*/
|
351
|
-
|
351
|
+
CMARK_GFM_EXPORT
|
352
352
|
void cmark_syntax_extension_set_html_render_func(cmark_syntax_extension *extension,
|
353
353
|
cmark_html_render_func func);
|
354
354
|
|
355
355
|
/** See the documentation for 'cmark_syntax_extension'
|
356
356
|
*/
|
357
|
-
|
357
|
+
CMARK_GFM_EXPORT
|
358
358
|
void cmark_syntax_extension_set_html_filter_func(cmark_syntax_extension *extension,
|
359
359
|
cmark_html_filter_func func);
|
360
360
|
|
361
361
|
/** See the documentation for 'cmark_syntax_extension'
|
362
362
|
*/
|
363
|
-
|
363
|
+
CMARK_GFM_EXPORT
|
364
364
|
void cmark_syntax_extension_set_commonmark_escape_func(cmark_syntax_extension *extension,
|
365
365
|
cmark_commonmark_escape_func func);
|
366
366
|
|
367
367
|
/** See the documentation for 'cmark_syntax_extension'
|
368
368
|
*/
|
369
|
-
|
369
|
+
CMARK_GFM_EXPORT
|
370
370
|
void cmark_syntax_extension_set_private(cmark_syntax_extension *extension,
|
371
371
|
void *priv,
|
372
372
|
cmark_free_func free_func);
|
373
373
|
|
374
374
|
/** See the documentation for 'cmark_syntax_extension'
|
375
375
|
*/
|
376
|
-
|
376
|
+
CMARK_GFM_EXPORT
|
377
377
|
void *cmark_syntax_extension_get_private(cmark_syntax_extension *extension);
|
378
378
|
|
379
379
|
/** See the documentation for 'cmark_syntax_extension'
|
380
380
|
*/
|
381
|
-
|
381
|
+
CMARK_GFM_EXPORT
|
382
382
|
void cmark_syntax_extension_set_postprocess_func(cmark_syntax_extension *extension,
|
383
383
|
cmark_postprocess_func func);
|
384
384
|
|
385
385
|
/** See the documentation for 'cmark_syntax_extension'
|
386
386
|
*/
|
387
|
-
|
387
|
+
CMARK_GFM_EXPORT
|
388
388
|
void cmark_syntax_extension_set_opaque_free_func(cmark_syntax_extension *extension,
|
389
389
|
cmark_opaque_free_func func);
|
390
390
|
|
391
391
|
/** See the documentation for 'cmark_syntax_extension'
|
392
392
|
*/
|
393
|
-
|
393
|
+
CMARK_GFM_EXPORT
|
394
394
|
void cmark_parser_set_backslash_ispunct_func(cmark_parser *parser,
|
395
395
|
cmark_ispunct_func func);
|
396
396
|
|
397
397
|
/** Return the index of the line currently being parsed, starting with 1.
|
398
398
|
*/
|
399
|
-
|
399
|
+
CMARK_GFM_EXPORT
|
400
400
|
int cmark_parser_get_line_number(cmark_parser *parser);
|
401
401
|
|
402
402
|
/** Return the offset in bytes in the line being processed.
|
@@ -407,7 +407,7 @@ int cmark_parser_get_line_number(cmark_parser *parser);
|
|
407
407
|
*
|
408
408
|
* Here, offset will first be 0, then 5 (the index of the 'f' character).
|
409
409
|
*/
|
410
|
-
|
410
|
+
CMARK_GFM_EXPORT
|
411
411
|
int cmark_parser_get_offset(cmark_parser *parser);
|
412
412
|
|
413
413
|
/**
|
@@ -441,7 +441,7 @@ int cmark_parser_get_offset(cmark_parser *parser);
|
|
441
441
|
* cmark_parser_has_partially_consumed_tab() will now return
|
442
442
|
* 'true'.
|
443
443
|
*/
|
444
|
-
|
444
|
+
CMARK_GFM_EXPORT
|
445
445
|
int cmark_parser_get_column(cmark_parser *parser);
|
446
446
|
|
447
447
|
/** Return the absolute index in bytes of the first nonspace
|
@@ -456,7 +456,7 @@ int cmark_parser_get_column(cmark_parser *parser);
|
|
456
456
|
* 0 offset (16) first_nonspace (28)
|
457
457
|
* ```
|
458
458
|
*/
|
459
|
-
|
459
|
+
CMARK_GFM_EXPORT
|
460
460
|
int cmark_parser_get_first_nonspace(cmark_parser *parser);
|
461
461
|
|
462
462
|
/** Return the absolute index of the first nonspace column coming after 'offset'
|
@@ -466,7 +466,7 @@ int cmark_parser_get_first_nonspace(cmark_parser *parser);
|
|
466
466
|
* See the documentation for cmark_parser_get_first_nonspace() and
|
467
467
|
* cmark_parser_get_column() for more information.
|
468
468
|
*/
|
469
|
-
|
469
|
+
CMARK_GFM_EXPORT
|
470
470
|
int cmark_parser_get_first_nonspace_column(cmark_parser *parser);
|
471
471
|
|
472
472
|
/** Return the difference between the values returned by
|
@@ -476,7 +476,7 @@ int cmark_parser_get_first_nonspace_column(cmark_parser *parser);
|
|
476
476
|
* This is not a byte offset, as it can count one tab as multiple
|
477
477
|
* characters.
|
478
478
|
*/
|
479
|
-
|
479
|
+
CMARK_GFM_EXPORT
|
480
480
|
int cmark_parser_get_indent(cmark_parser *parser);
|
481
481
|
|
482
482
|
/** Return 'true' if the line currently being processed has been entirely
|
@@ -507,7 +507,7 @@ int cmark_parser_get_indent(cmark_parser *parser);
|
|
507
507
|
*
|
508
508
|
* At this point, this function will now return 'true'.
|
509
509
|
*/
|
510
|
-
|
510
|
+
CMARK_GFM_EXPORT
|
511
511
|
int cmark_parser_is_blank(cmark_parser *parser);
|
512
512
|
|
513
513
|
/** Return 'true' if the value returned by cmark_parser_get_offset()
|
@@ -516,13 +516,13 @@ int cmark_parser_is_blank(cmark_parser *parser);
|
|
516
516
|
* See the documentation for cmark_parser_get_column() for more
|
517
517
|
* information.
|
518
518
|
*/
|
519
|
-
|
519
|
+
CMARK_GFM_EXPORT
|
520
520
|
int cmark_parser_has_partially_consumed_tab(cmark_parser *parser);
|
521
521
|
|
522
522
|
/** Return the length in bytes of the previously processed line, excluding potential
|
523
523
|
* newline (\n) and carriage return (\r) trailing characters.
|
524
524
|
*/
|
525
|
-
|
525
|
+
CMARK_GFM_EXPORT
|
526
526
|
int cmark_parser_get_last_line_length(cmark_parser *parser);
|
527
527
|
|
528
528
|
/** Add a child to 'parent' during the parsing process.
|
@@ -531,7 +531,7 @@ int cmark_parser_get_last_line_length(cmark_parser *parser);
|
|
531
531
|
* this function will back up till it hits a node that can, closing
|
532
532
|
* blocks as appropriate.
|
533
533
|
*/
|
534
|
-
|
534
|
+
CMARK_GFM_EXPORT
|
535
535
|
cmark_node*cmark_parser_add_child(cmark_parser *parser,
|
536
536
|
cmark_node *parent,
|
537
537
|
cmark_node_type block_type,
|
@@ -542,14 +542,14 @@ cmark_node*cmark_parser_add_child(cmark_parser *parser,
|
|
542
542
|
* See the documentation of cmark_parser_get_offset() and
|
543
543
|
* cmark_parser_get_column() for more information.
|
544
544
|
*/
|
545
|
-
|
545
|
+
CMARK_GFM_EXPORT
|
546
546
|
void cmark_parser_advance_offset(cmark_parser *parser,
|
547
547
|
const char *input,
|
548
548
|
int count,
|
549
549
|
int columns);
|
550
550
|
|
551
551
|
|
552
|
-
|
552
|
+
CMARK_GFM_EXPORT
|
553
553
|
void cmark_parser_feed_reentrant(cmark_parser *parser, const char *buffer, size_t len);
|
554
554
|
|
555
555
|
/** Attach the syntax 'extension' to the 'parser', to provide extra syntax
|
@@ -559,33 +559,33 @@ void cmark_parser_feed_reentrant(cmark_parser *parser, const char *buffer, size_
|
|
559
559
|
* Returns 'true' if the 'extension' was successfully attached,
|
560
560
|
* 'false' otherwise.
|
561
561
|
*/
|
562
|
-
|
562
|
+
CMARK_GFM_EXPORT
|
563
563
|
int cmark_parser_attach_syntax_extension(cmark_parser *parser, cmark_syntax_extension *extension);
|
564
564
|
|
565
565
|
/** Change the type of 'node'.
|
566
566
|
*
|
567
567
|
* Return 0 if the type could be changed, 1 otherwise.
|
568
568
|
*/
|
569
|
-
|
569
|
+
CMARK_GFM_EXPORT int cmark_node_set_type(cmark_node *node, cmark_node_type type);
|
570
570
|
|
571
571
|
/** Return the string content for all types of 'node'.
|
572
572
|
* The pointer stays valid as long as 'node' isn't freed.
|
573
573
|
*/
|
574
|
-
|
574
|
+
CMARK_GFM_EXPORT const char *cmark_node_get_string_content(cmark_node *node);
|
575
575
|
|
576
576
|
/** Set the string 'content' for all types of 'node'.
|
577
577
|
* Copies 'content'.
|
578
578
|
*/
|
579
|
-
|
579
|
+
CMARK_GFM_EXPORT int cmark_node_set_string_content(cmark_node *node, const char *content);
|
580
580
|
|
581
581
|
/** Get the syntax extension responsible for the creation of 'node'.
|
582
582
|
* Return NULL if 'node' was created because it matched standard syntax rules.
|
583
583
|
*/
|
584
|
-
|
584
|
+
CMARK_GFM_EXPORT cmark_syntax_extension *cmark_node_get_syntax_extension(cmark_node *node);
|
585
585
|
|
586
586
|
/** Set the syntax extension responsible for creating 'node'.
|
587
587
|
*/
|
588
|
-
|
588
|
+
CMARK_GFM_EXPORT int cmark_node_set_syntax_extension(cmark_node *node,
|
589
589
|
cmark_syntax_extension *extension);
|
590
590
|
|
591
591
|
/**
|
@@ -600,63 +600,63 @@ CMARK_EXPORT int cmark_node_set_syntax_extension(cmark_node *node,
|
|
600
600
|
typedef int (*cmark_inline_predicate)(int c);
|
601
601
|
|
602
602
|
/** Advance the current inline parsing offset */
|
603
|
-
|
603
|
+
CMARK_GFM_EXPORT
|
604
604
|
void cmark_inline_parser_advance_offset(cmark_inline_parser *parser);
|
605
605
|
|
606
606
|
/** Get the current inline parsing offset */
|
607
|
-
|
607
|
+
CMARK_GFM_EXPORT
|
608
608
|
int cmark_inline_parser_get_offset(cmark_inline_parser *parser);
|
609
609
|
|
610
610
|
/** Set the offset in bytes in the chunk being processed by the given inline parser.
|
611
611
|
*/
|
612
|
-
|
612
|
+
CMARK_GFM_EXPORT
|
613
613
|
void cmark_inline_parser_set_offset(cmark_inline_parser *parser, int offset);
|
614
614
|
|
615
615
|
/** Gets the cmark_chunk being operated on by the given inline parser.
|
616
616
|
* Use cmark_inline_parser_get_offset to get our current position in the chunk.
|
617
617
|
*/
|
618
|
-
|
618
|
+
CMARK_GFM_EXPORT
|
619
619
|
struct cmark_chunk *cmark_inline_parser_get_chunk(cmark_inline_parser *parser);
|
620
620
|
|
621
621
|
/** Returns 1 if the inline parser is currently in a bracket; pass 1 for 'image'
|
622
622
|
* if you want to know about an image-type bracket, 0 for link-type. */
|
623
|
-
|
623
|
+
CMARK_GFM_EXPORT
|
624
624
|
int cmark_inline_parser_in_bracket(cmark_inline_parser *parser, int image);
|
625
625
|
|
626
626
|
/** Remove the last n characters from the last child of the given node.
|
627
627
|
* This only works where all n characters are in the single last child, and the last
|
628
628
|
* child is CMARK_NODE_TEXT.
|
629
629
|
*/
|
630
|
-
|
630
|
+
CMARK_GFM_EXPORT
|
631
631
|
void cmark_node_unput(cmark_node *node, int n);
|
632
632
|
|
633
633
|
|
634
634
|
/** Get the character located at the current inline parsing offset
|
635
635
|
*/
|
636
|
-
|
636
|
+
CMARK_GFM_EXPORT
|
637
637
|
unsigned char cmark_inline_parser_peek_char(cmark_inline_parser *parser);
|
638
638
|
|
639
639
|
/** Get the character located 'pos' bytes in the current line.
|
640
640
|
*/
|
641
|
-
|
641
|
+
CMARK_GFM_EXPORT
|
642
642
|
unsigned char cmark_inline_parser_peek_at(cmark_inline_parser *parser, int pos);
|
643
643
|
|
644
644
|
/** Whether the inline parser has reached the end of the current line
|
645
645
|
*/
|
646
|
-
|
646
|
+
CMARK_GFM_EXPORT
|
647
647
|
int cmark_inline_parser_is_eof(cmark_inline_parser *parser);
|
648
648
|
|
649
649
|
/** Get the characters located after the current inline parsing offset
|
650
650
|
* while 'pred' matches. Free after usage.
|
651
651
|
*/
|
652
|
-
|
652
|
+
CMARK_GFM_EXPORT
|
653
653
|
char *cmark_inline_parser_take_while(cmark_inline_parser *parser, cmark_inline_predicate pred);
|
654
654
|
|
655
655
|
/** Push a delimiter on the delimiter stack.
|
656
656
|
* See <<http://spec.commonmark.org/0.24/#phase-2-inline-structure> for
|
657
657
|
* more information on the parameters
|
658
658
|
*/
|
659
|
-
|
659
|
+
CMARK_GFM_EXPORT
|
660
660
|
void cmark_inline_parser_push_delimiter(cmark_inline_parser *parser,
|
661
661
|
unsigned char c,
|
662
662
|
int can_open,
|
@@ -665,16 +665,16 @@ void cmark_inline_parser_push_delimiter(cmark_inline_parser *parser,
|
|
665
665
|
|
666
666
|
/** Remove 'delim' from the delimiter stack
|
667
667
|
*/
|
668
|
-
|
668
|
+
CMARK_GFM_EXPORT
|
669
669
|
void cmark_inline_parser_remove_delimiter(cmark_inline_parser *parser, delimiter *delim);
|
670
670
|
|
671
|
-
|
671
|
+
CMARK_GFM_EXPORT
|
672
672
|
delimiter *cmark_inline_parser_get_last_delimiter(cmark_inline_parser *parser);
|
673
673
|
|
674
|
-
|
674
|
+
CMARK_GFM_EXPORT
|
675
675
|
int cmark_inline_parser_get_line(cmark_inline_parser *parser);
|
676
676
|
|
677
|
-
|
677
|
+
CMARK_GFM_EXPORT
|
678
678
|
int cmark_inline_parser_get_column(cmark_inline_parser *parser);
|
679
679
|
|
680
680
|
/** Convenience function to scan a given delimiter.
|
@@ -691,7 +691,7 @@ int cmark_inline_parser_get_column(cmark_inline_parser *parser);
|
|
691
691
|
* Returns the number of delimiters encountered, in the limit
|
692
692
|
* of 'max_delims', and advances the inline parsing offset.
|
693
693
|
*/
|
694
|
-
|
694
|
+
CMARK_GFM_EXPORT
|
695
695
|
int cmark_inline_parser_scan_delimiters(cmark_inline_parser *parser,
|
696
696
|
int max_delims,
|
697
697
|
unsigned char c,
|
@@ -700,16 +700,16 @@ int cmark_inline_parser_scan_delimiters(cmark_inline_parser *parser,
|
|
700
700
|
int *punct_before,
|
701
701
|
int *punct_after);
|
702
702
|
|
703
|
-
|
703
|
+
CMARK_GFM_EXPORT
|
704
704
|
void cmark_manage_extensions_special_characters(cmark_parser *parser, int add);
|
705
705
|
|
706
|
-
|
706
|
+
CMARK_GFM_EXPORT
|
707
707
|
cmark_llist *cmark_parser_get_syntax_extensions(cmark_parser *parser);
|
708
708
|
|
709
|
-
|
709
|
+
CMARK_GFM_EXPORT
|
710
710
|
void cmark_arena_push(void);
|
711
711
|
|
712
|
-
|
712
|
+
CMARK_GFM_EXPORT
|
713
713
|
int cmark_arena_pop(void);
|
714
714
|
|
715
715
|
#ifdef __cplusplus
|