Added lists_without_preceding_blankline extension.

* Added `Ext_lists_without_preceding_blankline` to
  `Extension` in `Options`.  Added this option to
  `githubMarkdownExtensions`.
* Made markdown reader sensitive to this.
* Closes .
This commit is contained in:
John MacFarlane 2013-09-07 09:36:37 -07:00
parent 91550dd6db
commit 5afd373ae4
3 changed files with 7 additions and 0 deletions
README
src/Text/Pandoc

4
README
View file

@ -2454,6 +2454,10 @@ in pandoc, but may be enabled by adding `+EXTENSION` to the format
name, where `EXTENSION` is the name of the extension. Thus, for name, where `EXTENSION` is the name of the extension. Thus, for
example, `markdown+hard_line_breaks` is markdown with hard line breaks. example, `markdown+hard_line_breaks` is markdown with hard line breaks.
**Extension: `lists_without_preceding_blankline`**\
Allow a list to occur right after a paragraph, with no intervening
blank space.
**Extension: `hard_line_breaks`**\ **Extension: `hard_line_breaks`**\
Causes all newlines within a paragraph to be interpreted as hard line Causes all newlines within a paragraph to be interpreted as hard line
breaks instead of spaces. breaks instead of spaces.

View file

@ -80,6 +80,7 @@ data Extension =
| Ext_link_attributes -- ^ MMD style reference link attributes | Ext_link_attributes -- ^ MMD style reference link attributes
| Ext_autolink_bare_uris -- ^ Make all absolute URIs into links | Ext_autolink_bare_uris -- ^ Make all absolute URIs into links
| Ext_fancy_lists -- ^ Enable fancy list numbers and delimiters | Ext_fancy_lists -- ^ Enable fancy list numbers and delimiters
| Ext_lists_without_preceding_blankline -- ^ Allow lists without preceding blank
| Ext_startnum -- ^ Make start number of ordered list significant | Ext_startnum -- ^ Make start number of ordered list significant
| Ext_definition_lists -- ^ Definition lists as in pandoc, mmd, php | Ext_definition_lists -- ^ Definition lists as in pandoc, mmd, php
| Ext_example_lists -- ^ Markdown-style numbered examples | Ext_example_lists -- ^ Markdown-style numbered examples
@ -169,6 +170,7 @@ githubMarkdownExtensions = Set.fromList
, Ext_intraword_underscores , Ext_intraword_underscores
, Ext_strikeout , Ext_strikeout
, Ext_hard_line_breaks , Ext_hard_line_breaks
, Ext_lists_without_preceding_blankline
] ]
multimarkdownExtensions :: Set Extension multimarkdownExtensions :: Set Extension

View file

@ -1559,6 +1559,7 @@ endline :: MarkdownParser (F Inlines)
endline = try $ do endline = try $ do
newline newline
notFollowedBy blankline notFollowedBy blankline
guardDisabled Ext_lists_without_preceding_blankline <|> notFollowedBy listStart
guardEnabled Ext_blank_before_blockquote <|> notFollowedBy emailBlockQuoteStart guardEnabled Ext_blank_before_blockquote <|> notFollowedBy emailBlockQuoteStart
guardEnabled Ext_blank_before_header <|> notFollowedBy (char '#') -- atx header guardEnabled Ext_blank_before_header <|> notFollowedBy (char '#') -- atx header
-- parse potential list-starts differently if in a list: -- parse potential list-starts differently if in a list: