aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Readers/Roff.hs
AgeCommit message (Collapse)AuthorFilesLines
2018-11-02Man reader: table improvements.John MacFarlane1-6/+7
2018-11-02Roff reader: Don't require global table options.John MacFarlane1-2/+2
2018-11-02Roff reader: tbl improvements.John MacFarlane1-1/+2
2018-11-02Roff reader: Handle 'H' modifier after '.TS'.John MacFarlane1-3/+2
2018-11-02Roff reader: conditionals: allow .\} to end group.John MacFarlane1-3/+4
2018-11-02Roff reader: reinstate column check for macros.John MacFarlane1-10/+16
If .TS occurs in a table cell, this shouldn't start a table. We make an exception for the line after .if or .ie.
2018-11-02Roff reader: another fix for conditionals.John MacFarlane1-1/+1
2018-11-02Roff reader: fixed small issue with conditionals.John MacFarlane1-3/+1
2018-11-02Roff reader: Improved handling of custom strings as arguments.John MacFarlane1-6/+6
Added test.
2018-11-02Roff reader: expand strings in font commands.John MacFarlane1-12/+26
Closes #5039.
2018-11-02Revert "Revert "Revert "Roff reader: custom Stream type."""John MacFarlane1-51/+27
This reverts commit 9a0333e48917308f15d5ccda246dd31525501f79.
2018-11-02Fix readWithM with Stream.John MacFarlane1-1/+1
2018-11-02Revert "Revert "Roff reader: custom Stream type.""John MacFarlane1-27/+51
This reverts commit a64063af62351cc31006a855a59df884e0892834.
2018-11-02Revert "Roff reader: custom Stream type."John MacFarlane1-51/+27
This reverts commit 211f7ffc78ea1df49a685ac1160fa3942b3a3569. We were getting stack overflows. Not sure why.
2018-11-02Roff reader: custom Stream type.John MacFarlane1-27/+51
So far, this is just a shell. But it will allow us to expand macro strings while getting tokens, when we add a custom uncons instance.
2018-11-02Roff reader: improve lexing of conditionals.John MacFarlane1-28/+49
Partially addreses #5039.
2018-11-01Change 'groff' -> 'roff'.John MacFarlane1-2/+2
These formats (man, ms) are not groff-specific.
2018-10-30Roff reader: rename RoffToken constructors so they're shorter.John MacFarlane1-14/+14
2018-10-30Roff reader: renamed constructors for RoffToken...John MacFarlane1-14/+14
to more closely match nomenclature from man 7 groff.
2018-10-30Roff reader: removed MacroKind alias.John MacFarlane1-5/+2
2018-10-30Roff reader: properly handle unknown backslash escapes.John MacFarlane1-1/+4
They are treated as regular characters, according to groff 7. Cloess #5034.
2018-10-29Roff reader: improved escape parsing.John MacFarlane1-59/+68
Closes #5032. This also removes the FontSize constructor from LinePart. We don't need this yet.
2018-10-28Roff tokenizer: allow `\*~` etc.John MacFarlane1-1/+1
2018-10-28Roff tokenizer: handle e.g. `\*n`.John MacFarlane1-1/+1
2018-10-28Roff tokenizer: better handling of escapes.John MacFarlane1-10/+39
2018-10-28Roff reader: introduce normal/copy mode distinction.John MacFarlane1-4/+33
2018-10-28Roff reader: use escapeArg in macroArg.John MacFarlane1-3/+8
2018-10-28Roff tokenizer: refactor escString.John MacFarlane1-15/+6
2018-10-28Roff tokenizer: revamped font parsing using escapeArg.John MacFarlane1-62/+59
Add support for \C'...' escapes.
2018-10-28Roff tokenizer: abstract out patterns: escapeArg, quoteArg.John MacFarlane1-27/+27
2018-10-28Roff tokenizer: allow space before ( in table options.John MacFarlane1-1/+2
2018-10-28Hlint changes.John MacFarlane1-4/+4
2018-10-28Roff tokenizer: better handling of table format strings.John MacFarlane1-8/+10
Particularly f and m, which require a space after their argument. Also, allow space before numerical arguments, as in his example from stty.1: ``` .TS center tab(@) box; cB cB | cB cB | cB cB lf5 2 l 6 | lf5 2 l 6 | lf5 2 l. \&^c@Value@^c@Value@^c@Value ```
2018-10-27Revert "Roff tokenizer: use Seq for lineparts rather than lists."John MacFarlane1-44/+42
This reverts commit 3a5726b2cf9cdb511635209d412ccb8c50f14d6d.
2018-10-27Revert "Roff reader: use LineParts abstraction."John MacFarlane1-65/+57
This reverts commit 42ba3c0a0b15fddd51e6a4b79882ddaeccf0eb3d.
2018-10-27Roff reader: use LineParts abstraction.John MacFarlane1-57/+65
This didn't really help performance in the end.
2018-10-27Roff tokenizer: use Seq for lineparts rather than lists.John MacFarlane1-42/+44
This didn't make much measurable difference (compiled w/o optimizations), but it still seems worth doing. Eventually we may want an abstraction like RoffTokens for LineParts.
2018-10-27Remove old comment.John MacFarlane1-5/+4
2018-10-27Roff tokenizer: allow digit suffix in table cell format in any order.John MacFarlane1-11/+10
Closes #5026.
2018-10-27Roff tokenizer: check for first-column before parsing macro.John MacFarlane1-4/+8
Also add SourcePos as argument to lexRoff, so we can pass in current source pos when parsing a table cell. Closes #5025.
2018-10-27Roff reader: allow table options to be empty.John MacFarlane1-1/+1
Partially addresses #5026.
2018-10-26Roff tokenizer: further table format spec parsing improvements.John MacFarlane1-1/+3
2018-10-26Roff tokenizer: allow spaces after table row format spec.John MacFarlane1-1/+1
2018-10-26Roff tokenizer: allow . on next line after table format spec.John MacFarlane1-1/+1
2018-10-26Roff tokenizer: better handling of font inlines `\f`....John MacFarlane1-7/+4
2018-10-26Roff tokenizer: allow eof in some places we allowed only newline.John MacFarlane1-3/+3
2018-10-26Roff tokenizer: skip .sp in tables.John MacFarlane1-1/+2
2018-10-26Rename Groff -> Roff.John MacFarlane1-0/+650
Module T.P.Readers.Groff -> T.P.Readers.Roff Module T.P.Writers.Groff -> T.P.Writers.Roff Module T.P.GroffChar -> T.P.RoffChar GroffTokens -> RoffTokens GroffToken -> RoffToken.