summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-02-05Properly handle partially consumed tab.John MacFarlane
E.g. in ``` - foo <TAB><TAB>bar ``` we should consume two spaces from the second tab, including two spaces in the code block.
2016-02-05Added partially_consumed_tab to parser.John MacFarlane
This keeps track of when we have gotten partway through a tab when consuming initial indentation.
2016-02-05Fixed tabs in indentation.John MacFarlane
Closes #101. This patch fixes `S_advance_offset` so that it doesn't gobble a tab character when advancing less than the width of a tab.
2016-01-22Removed an unnecessary C99-ism in buffer.c.John MacFarlane
This helps compiling on systems like luarocks that don't have all the cmake configuration goodness. Thanks to @carlmartus
2016-01-18Include starg.h when needed in config.h.John MacFarlane
2016-01-18config.h: include stdio.h for _vscprintf etc.John MacFarlane
2016-01-18Add include guards to config.hJohn MacFarlane
2016-01-18Automatic code reformat.John MacFarlane
2016-01-18Merge branch 'master' of https://github.com/mbenelli/cmark into mbenelli-masterJohn MacFarlane
2016-01-18config.h.in - added compatibility snprintf, vsnprintf for MSVC.John MacFarlane
2016-01-17commonmark: is_autolink - handle case where link has no children.John MacFarlane
2016-01-17iterator: handle NULL root.John MacFarlane
2016-01-17Improved escaping in commonmark renderer.John MacFarlane
We try not to escape punctuation unless we absolutely have to. So, `)` and `.` are no longer escaped whenever they occur after digits; now they are only escaped if they are geuninely in a position where they'd cause a list item. This required a couple changes to render.c. - `renderer->begin_content` is only set to false AFTER a string of digits at the beginning of the line. (This is slightly unprincipled.) - We never break before a numeral (also slightly unprincipled).
2016-01-17render: initialize begin_content to true.John MacFarlane
2016-01-17Commonmark renderer: use HTML comment to separate list fromJohn MacFarlane
following list or code block. This has several advantages. First, the two blank lines breaks out of list syntax is still controversial in CommonMark. And it isn't used in other implementations. HTML comments will always work. Second, two blank lines breaks out of all lists; an HTML comment can be used to break out of just one level of nesting.
2016-01-17commonmark renderer: use 4-space indent for bullet lists.John MacFarlane
This makes the output compatible with more implementations.
2016-01-16Use 2 space + cr for line break in commonmark output.John MacFarlane
This is more portable. Closes #90.
2016-01-11cmark_node_replace - unlink, but don't free, oldnode.John MacFarlane
2016-01-11Fixed edge case with escaped parens in link destination.John MacFarlane
Closes #97. This was also checked against the #82 case with asan.
2016-01-11Removed unnecessary call to cmark_node_unlink in cmark_node_replace.John MacFarlane
2016-01-11cmark.h: moved typedefs for iterator into iterator section.John MacFarlane
This just moves some code around so it makes more sense to read, and in the man page.
2016-01-10Added cmark_node_replace(oldnode, newnode).John MacFarlane
API change. I've found in using the API that this is very often wanted.
2016-01-10html renderer - removed unnecessary check for 'fenced'.John MacFarlane
It's sufficient to check that the info string is empty. Indeed, those who use the API may well create a code block with an info string without explicitly setting 'fenced'.
2016-01-08Fixed get_containing_block logic in src/commonmark.c.John MacFarlane
This did not allow for the possibility that a node might have no containing block, causing the commonmark renderer to segfault if passed an inline node with no block parent.
2016-01-08Fixed string representations of CUSTOM_BLOCK, CUSTOM_INLINE.John MacFarlane
The old versions raw_inline and raw_block were being used, and this led to incorrect xml output.
2016-01-07Allow multiline setext header content, as per spec.John MacFarlane
2016-01-05Don't allow spaces in link destinations, even with pointy brackets.John MacFarlane
Conforms to latest change in spec.
2016-01-05Updated `scheme` scanner according to spec change.John MacFarlane
We no longer use a whitelist of valid schemes.
2015-12-31Allow NODE_ITEM inside NODE_CUSTOM_BLOCK.John MacFarlane
2015-12-30Allow both block and inline nodes as children of CUSTOM_BLOCK.John MacFarlane
Closes #96.
2015-12-28Defined aliases for old NODE_HTML and NODE_HTML_INLINEJohn MacFarlane
to ease backwards compatibility.
2015-12-28Don't allow space between link text and link labelJohn MacFarlane
in a reference link. (Spec change.)
2015-12-28Commonmark renderer: ensure that literal characters get escapedJohn MacFarlane
when they're at the beginning of a block, e.g. > \- foo
2015-12-28render: added begin_content field.John MacFarlane
This is like `begin_line` except that it doesn't trigger production of the prefix. So it can be set after an initial prefix (say `> `) is printed by the renderer, and consulted in determining whether to escape content that has a special meaning at the beginning of a line. Used in the commonmark renderer.
2015-12-28Reformat sources.John MacFarlane
2015-12-28Replaced hard-coded 4 with TAB_STOP.John MacFarlane
2015-12-28Rename NODE_HTML -> NODE_HTML_BLOCK, NODE_INLINE_HTML -> NODE_HTML_INLINE.John MacFarlane
API change. Sorry, but this is the time to break things, before 1.0 is released. This matches the recent changes to CommonMark.dtd.
2015-12-28Another small optimization in _scan_at.John MacFarlane
Check for offset greater than string length.
2015-12-28Small optimization in _scan_at.John MacFarlane
If the input is null, we can just return 0.
2015-12-28Use input not parser->curline to determine last line length.John MacFarlane
Ultimately I think we can get rid of parser->curline and avoid an unnecessary allocation per line.
2015-12-28Make LIB_INSTALL_DIR configurable.John MacFarlane
Closes #79. Thanks to Mathieu Bridon for the patch.
2015-12-27latex renderer - better handling of internal links.John MacFarlane
Now we render `[foo](#bar)` as `\protect\hyperlink{bar}{foo}`.
2015-12-24Removed obsolete TIMER macro.John MacFarlane
2015-12-23Added parens around expressions like 1 << 1.John MacFarlane
2015-12-23Added version number to XML namespace.John MacFarlane
1.0 - looking forward. We don't guarantee stability in this until 1.0 is actually released, however.
2015-12-22Adjusted scanner for link url.John MacFarlane
This fixes the heap buffer overflow reported in #82. Closes #82.
2015-12-22Regenerate scanners.c using re2c 0.15.3.John MacFarlane
2015-12-22Separate parsing and rendering opts in cmark.h.John MacFarlane
This change also changes some of these constants' numerical values, but nothing should change in the API if you use the constants themselves. It should now be clear in the man page which options affect parsing and which affect rendering. Closes #88.
2015-12-22Rename hrule -> thematic_break.John MacFarlane
CMARK_NODE_HRULE -> CMARK_NODE_THEMATIC_BREAK. However we've defined the former as the latter to keep backwards compatibility. See jgm/CommonMark 8fa94cb460f5e516b0e57adca33f50a669d51f6c
2015-12-22CMARK_NODE_HEADER -> CMARK_NODE_HEADING.John MacFarlane
Defined CMARK_NODE_HEADER to CMARK_NODE_HEADING to ease the transition.