aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Parsing.hs
AgeCommit message (Collapse)AuthorFilesLines
2012-09-29Renamed removedLeadingTrailingSpace to trim.John MacFarlane1-3/+2
Also removeLeadingSpace to triml, removeTrailingSpace to trimr.
2012-09-27Parsing: Changed type of stateSubstitutions to use Inlines.John MacFarlane1-2/+2
2012-09-27Removed nullBlock.John MacFarlane1-6/+0
Don't use nullBlock in Textile reader. Better to know about parsing problems than to skip stuff when we get stuck.
2012-09-27Added stateSubstitutions to ParserState, use for RST substitutions.John MacFarlane1-0/+5
2012-09-23Revert "More intelligent handling of text encodings."John MacFarlane1-1/+2
This reverts commit 7272735b3d413a644fd9ab01eeae8ae9cd5a925b.
2012-09-23More intelligent handling of text encodings.John MacFarlane1-2/+1
Previously, UTF-8 was enforced for both input and output. The new system: * For input, UTF-8 is tried first; if an error is raised, the locale encoding is tried. * For output, the locale encoding is always used.
2012-09-23Revert "Use local encoding for input/output rather than forcing UTF8."John MacFarlane1-1/+2
This reverts commit c69837adb648a479167be5e2d37279a02be8060c.
2012-09-23Use local encoding for input/output rather than forcing UTF8.John MacFarlane1-2/+1
Note that system templates are stored as UTF8 and will still be read as such, even if the local encoding is different. Text downloaded from URLs will also be treated as UTF-8.
2012-09-12Export 'nested' in Parsing.John MacFarlane1-0/+13
2012-09-12Text.Pandoc.Parsing: Handle trailing slash in 'uri'.John MacFarlane1-2/+3
2012-09-09Parsing: Generalized type of withQuoteContext.John MacFarlane1-2/+2
2012-08-08Changes to literate haskell options.John MacFarlane1-5/+0
- Removed writerLiterateHaskell from WriterOptions. - Removed readerLiterateHaskell from ReaderOptions. - Added Ext_literate_haskell to Extensions. Test for this instead of the above. - Removed failUnlessLHS from Shared. Note: At this point, +lhs and .lhs extension no longer has any effect. Need to fix.
2012-08-02Made F a newtype, moved definitions to Parser.John MacFarlane1-1/+23
Parser now exports F(..), askF, asksF, runF.
2012-08-01Parsing: removed duplication of Key and Key'.John MacFarlane1-38/+5
Now we just use the former Key' (string contents), renamed Key. lookupKeySrc and fromKey are no longer eport. Key', toKey' and KeyTable' have become Key, toKey, and KeyTable.
2012-08-01Major rewrite of markdown reader.John MacFarlane1-14/+43
* Use Builder's Inlines/Blocks instead of lists. * Return values in the reader monad, which are then run (at the end of parsing) against the final parser state. This allows links, notes, and example numbers to be resolved without a second parser pass. * An effect of using Builder is that everything is normalized automatically. * New exports from Text.Pandoc.Parsing: widthsFromIndices, NoteTable', KeyTable', Key', toKey', withQuoteContext, singleQuoteStart, singleQuoteEnd, doubleQuoteStart, doubleQuoteEnd, ellipses, apostrophe, dash * Updated opendocument tests. * Don't derive Show for ParserState. * Benchmarks: markdown reader takes 82% of the time it took before. Markdown writer takes 92% of the time (here the speedup is probably due to the fact that everything is normalized by default).
2012-07-27Removed commented-out pandoc2 code.John MacFarlane1-41/+0
This will be developed in a branch, noreparsing.
2012-07-27Parser: Changed types to use type alias Parser, not Parsec.John MacFarlane1-97/+138
2012-07-26Fixed whitespace errors.John MacFarlane1-25/+25
2012-07-26Parsing: Removed failIfStrict.John MacFarlane1-5/+0
2012-07-26Parsing: Added guardEnabled, guardDisabled.John MacFarlane1-3/+14
2012-07-25Moved stateApplyMacros, stateIndentedCodeClasses to ReaderOptions.John MacFarlane1-6/+2
2012-07-25stateCitations -> readerCitations.John MacFarlane1-2/+0
2012-07-25Moved stateLiterateHaskell to readerLiterateHaskell in Options.John MacFarlane1-3/+1
2012-07-25Got rid of stateStandalone, which was hardly used anyway.John MacFarlane1-2/+0
The only possible effect will be with rst fragments that begin with an rst title block, which will now cause the header transform.
2012-07-25Moved stateOldDashes to readerOldDashes in ReaderOptions.John MacFarlane1-5/+1
2012-07-25Moved stateTabStop to readerTabStop in ReaderOptions.John MacFarlane1-3/+0
2012-07-25Moved stateColumns to readerColumns in ReaderOptions.John MacFarlane1-3/+1
2012-07-25Moved ParseRaw from ParserState to ReaderOptions.John MacFarlane1-2/+0
2012-07-25Text.Pandoc.Parsing: Added getOption.John MacFarlane1-4/+6
2012-07-25Options -> ReaderOptions.John MacFarlane1-3/+3
Better to keep reader and writer options separate.
2012-07-25Put smart, strict in separate options field in state.John MacFarlane1-8/+7
This is the beginning of a larger transition that will make Options, not ParserState, the parameter of the read functions. (Options will also be used in writers, in place of WriterOptions.) Next step is to remove strict, replacing it with granular tests for different extensions.
2012-07-24Better algorithm for oneOfStrings.John MacFarlane1-2/+9
This goes character by character, not backtracking.
2012-07-24Refactored table parsers, captions now not part of core tableWith.John MacFarlane1-10/+4
2012-07-22Revised code for pipe tables.John MacFarlane1-94/+4
* All tables now require at least one body row. * Renamed from 'extra' to 'pipe' tables. * Moved functions from Parsing to Readers.Markdown. * Cleaned up code; revised to parse in one pass rather than parsing a raw string, splitting it, and parsing the components. * Allow pipe tables without pipes on the ends (as PHP Markdown Extra does).
2012-07-22Merge pull request #510 from mytskine/markdown-extraJohn MacFarlane1-1/+97
Markdown extra tables [part of the multi-markdown syntax for tables]
2012-07-20Use Parser as type synonym for Parsec.John MacFarlane1-1/+3
2012-07-20Text.Pandoc.Parsing: Export all Parsec functions used in pandoc code.John MacFarlane1-1/+52
No other module directly imports Parsec. This will make it easier to change the parsing backend in the future, if we want to.
2012-07-20Use Text.Parsec instead of Text.ParserCombinators.Parsec.John MacFarlane1-103/+103
2012-07-19Provide Data.Default instances for ParserState and WriterOptions.John MacFarlane1-2/+6
Now you can use def (which is re-exported by Text.Pandoc) instead of defaultParserState or defaultWriterOptions. For now, these are still defined too, so existing code need not change. Closes #546.
2012-06-29Changed macro parser so it returns raw macro if stateApplyMacros false.John MacFarlane1-5/+8
Closes #554.
2012-04-24textile reader improvements : better conformance to RedCloth Textile inlinespaul.rivier1-0/+5
2012-03-24Add parsing support for the rST default-role directive.Greg Maslov1-2/+4
2012-02-21Added support for markdown-extra tables in the markdown parserFrançois Gannaz1-1/+97
Only tables whose lines begin with a "|" are supported. There are 2 warnings about unused variables when compiling.
2012-02-07Limit nesting of strong/emph.John MacFarlane1-0/+2
This avoids exponential lookahead in parasitic cases, like a**a*a**a*a**a*a**a*a**a*a**a*a**a*a**. Added stateMaxNestingLevel to ParserState. We set this to 6, so you can still have Emph inside Emph, just not indefinitely.
2012-02-05Parsing: Make characterReference fail if entity not found.John MacFarlane1-2/+2
2012-02-05Removed module Text.Pandoc.CharacterReferences.John MacFarlane1-1/+11
Moved characterReference parser to Text.Pandoc.Parsing. decodeCharacterReferences is now replaced by fromEntities in Text.Pandoc.XML.
2012-02-04Complete rewrite of LaTeX reader.John MacFarlane1-4/+20
* The new reader is more robust, accurate, and extensible. It is still quite incomplete, but it should be easier now to add features. * Text.Pandoc.Parsing: Added withRaw combinator. * Markdown reader: do escapedChar before raw latex inline. Otherwise we capture commands like \{. * Fixed latex citation tests for new citeproc. * Handle \include{} commands in latex. This is done in pandoc.hs, not the (pure) latex reader. But the reader exports the needed function, handleIncludes. * Moved err and warn from pandoc.hs to Shared. * Fixed tests - raw tex should sometimes have trailing space. * Updated lhs-test for highlighting-kate changes.
2012-01-27Fixed table parsing with wide or combining characters.John MacFarlane1-1/+1
Closes #348. Closes #108.
2012-01-01New treatment of dashes in --smart mode.John MacFarlane1-5/+29
* `---` is always em-dash, `--` is always en-dash. * pandoc no longer tries to guess when `-` should be en-dash. * A new option, `--old-dashes`, is provided for legacy documents. Rationale: The rules for en-dash are too complex and language-dependent for a guesser to work reliably. This change gives users greater control. The alternative of using unicode isn't very good, since unicode em- and en- dashes are barely distinguishable in a monospace font.
2011-12-29Better smart quote parsing.John MacFarlane1-1/+7
* Added stateLastStrPos to ParserState. This lets us keep track of whether we're parsing the position immediately after a 'str'. If we encounter a ' in such a location, it must be an apostrophe, and can't be a single quote start. * Set this in the markdown, textile, html, and rst str parsers. * Closes #360.