aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Readers/Man.hs
AgeCommit message (Collapse)AuthorFilesLines
2018-10-23Man reader: handle implicitly closed RS, nf, EX.John MacFarlane1-8/+13
These are implicitly closed by a new section command. (See e.g. tiffcp.1)
2018-10-23Man reader: handle .if.John MacFarlane1-0/+1
2018-10-23Man reader: ignore `\s` font size changes.John MacFarlane1-0/+10
2018-10-23Man reader: primitive conditional support.John MacFarlane1-6/+37
We skip conditionals in general, except .ie n which is used commonly in man pages to test for nroff. For these we evaluate the 'if' portion. Closes #4996.
2018-10-23Man reader: support .nop.John MacFarlane1-13/+16
2018-10-23Man reader: allow any nonspace char for macro name.John MacFarlane1-2/+3
2018-10-23Man reader: handle \fS as a no-op.John MacFarlane1-0/+1
This changes font, but to what? Can't find in documentation.
2018-10-23Man reader: allow lowercase b,i etc. for font commands.John MacFarlane1-6/+7
These seem to work.
2018-10-22Man reader: Handle optional argument in ME, UE macros.John MacFarlane1-4/+10
Closes #4995.
2018-10-22Man reader: improved combining accents.John MacFarlane1-15/+37
We now handle e.g. `\[A ho]`.
2018-10-22Man reader: don't parse \[ul] as unicode escape.John MacFarlane1-1/+3
2018-10-22Man reader: Support .EX/.EE macros.John MacFarlane1-3/+2
2018-10-22Man reader: support .TQ macro.John MacFarlane1-1/+6
2018-10-22Man reader: handle `\~` for nonbreaking space.John MacFarlane1-0/+1
2018-10-22Man reader: Hlint.John MacFarlane1-15/+13
2018-10-22Man reader: fix source position output with --verbose.John MacFarlane1-23/+23
We now encode SourcePos in the MMacro token. Closes #5001.
2018-10-22Man reader: fixed spurious newlines in code blocks.John MacFarlane1-7/+7
These were caused by lines that just changed to typewriter font. The lexer has been adjusted so these no longer show up as blank lines. Closes #5005.
2018-10-21Man reader: fix code block tests.John MacFarlane1-0/+1
They incorporated a spurious newline which needs to be removed.
2018-10-21Man reader: Fix spacing requirement for macro arguments.John MacFarlane1-18/+20
This is allowed: .BR "hello"x"hello".
2018-10-21Man reader: .IP can also be used for list continuations.John MacFarlane1-2/+3
2018-10-21Man reader: support .ds, .ds1; also fix macro arguments.John MacFarlane1-2/+14
Closes #4997.
2018-10-21Man reader: add predefined strings (e.g. `\*[R]`).John MacFarlane1-12/+12
2018-10-21Man reader: Remove handling of .HF.John MacFarlane1-2/+0
2018-10-21Man reader: clarify comment.John MacFarlane1-1/+1
2018-10-21Man reader: support .SY, .OP macros.John MacFarlane1-10/+23
Closes #4994.
2018-10-21Man reader: improved escaping code.John MacFarlane1-79/+86
We're now set up to handle user string substitutions `\*(xy` better. The present approach has some inefficient list concatenation, but we can fix that later.
2018-10-21Man reader: slightly improved handling of `\*` escapes.John MacFarlane1-100/+118
2018-10-21Man reader: Support .so for include files.John MacFarlane1-0/+17
Closes #4986.
2018-10-21Man reader: moved all lexer functions to the front.John MacFarlane1-29/+29
2018-10-21Man reader: Moved handling of P, PP, LP to parser phase.John MacFarlane1-5/+7
2018-10-21Man reader: added type synonym for Arg.John MacFarlane1-9/+11
2018-10-21Man reader: Moved handling of B, I, BI, IB, etc. to parsing phase.John MacFarlane1-32/+36
Ultimately groff lexing should not handle man-specific macros. This approach also gives more correct results for the test case.
2018-10-21Man reader: Clean up inline parsing.John MacFarlane1-11/+16
2018-10-21Man reader: move macro resolution to lexer phase.John MacFarlane1-76/+88
We also introduce a new type ManTokens (a sequence of tokens) and remove MComment. This allows lexers to return empty strings of tokens, or multiple tokens (as when macros are resolved). One test still fails. This needs to be fixed by moving handling of .BI, .I, etc. to the parsing phase.
2018-10-20Man reader: allow unescaped " in plain arguments.John MacFarlane1-1/+6
2018-10-20Man reader: support UR/UE, MT/ME for links.John MacFarlane1-3/+22
Closes #4989.
2018-10-20Man reader: Fixed handling of nested fonts.John MacFarlane1-19/+36
Closes #4978.
2018-10-20Man reader: Fix .B, .I, .BR, etc.John MacFarlane1-18/+36
2018-10-20Man reader: major restructuring, support macros.John MacFarlane1-139/+137
- Improved support for custom macro definitions. - LinePart type has been added. RoffStr is now one constructor of LinePart (the other being MacroArg). - MComment has lost its argument. - MEndMacro has been removed. - MStr has been removed (we now simply use LinePart). - Macros now store a list of tokens. - Each macro argument is a [LinePart], instead of a LinePart. - .BR now behaves as documented in man (and doesn't create a link).
2018-10-20Man reader: some support for custom macros.John MacFarlane1-17/+39
2018-10-20Man reader: skip macro definitions for now.John MacFarlane1-0/+12
2018-10-20Man reader: raise parse error if we don't get through whole input.John MacFarlane1-1/+1
2018-10-20Man reader: support `\*[lq]`, `\*[rq]`.John MacFarlane1-2/+2
2018-10-20Man reader: support '..' (end macro).John MacFarlane1-8/+10
Also give feedback for unknown character codes, and return a replacement character U+FFFD.
2018-10-20Man reader: handle lines with just one period.John MacFarlane1-1/+2
2018-10-20Man reader: block quotes (using RS..RE).John MacFarlane1-0/+4
2018-10-20Man reader: parse TP as definition lists.John MacFarlane1-25/+36
Closes #4981.
2018-10-20Man reader: handle shift in list style.John MacFarlane1-27/+33
Closes #4987.
2018-10-20Man reader: minor refactoring.John MacFarlane1-9/+9
2018-10-19Man reader: skip optional .IP before code block.John MacFarlane1-0/+5