aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
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-22Muse reader internals: remove unnecessary "skipSpaces"Alexander Krotov1-1/+1
2018-10-22Add enclosedByPair1 and change relevant invocations.leungbk1-7/+13
2018-10-22Add space after brace.leungbk1-1/+1
2018-10-22Reduce code duplication in Muse writerAlexander Krotov1-34/+18
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-22hlint Muse writerAlexander Krotov1-5/+3
2018-10-22Muse reader: allow footnotes to start with empty lineAlexander Krotov1-2/+3
A space character was required after footnote marker, now newline is allowed.
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-21Muse writer: use lightweight markup after </em> tagAlexander Krotov1-0/+1
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-21Muse reader: make sure that the whole text is parsedAlexander Krotov1-0/+1
2018-10-21Muse reader: allow empty headersAlexander Krotov1-7/+1
Previously empty headers caused parser to terminate without parsing the rest of the document.
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-20Powerpoint: Support raw openxml in pptx writer.Jesse Rosenthal2-12/+25
This allows raw openxml blocks and inlines to be used in the pptx writer. A few caveats: 1. It's up to the user to write well-formed openxml. The chances for corruption, especially with such a brittle format as pptx, is pretty high. 2. Because of the tricky way that blocks map onto shapes, if you are using a raw block, it should be the only block on a slide (otherwise other text might end up overlapping it). 3. The pptx ooxml namespace abbreviations are different from the docx ooxml namespaces. Again, it's up to the user to get it right. Unzipped document and ooxml specification should be consulted. Closes: #4976
2018-10-19Man reader: skip optional .IP before code block.John MacFarlane1-0/+5
2018-10-19Man reader: improve treatment of .TH.John MacFarlane1-12/+8
This should just add to metadata (title, date, section), and not produce a level-1 header. (That might be done in the template, depending on the output format.)
2018-10-19Man reader: remove commented-out code.John MacFarlane1-23/+0
2018-10-19Man reader: Improved header parsing.John MacFarlane1-10/+11
- .SH should be level 1, .SS level 2. - The header title can come on the next line.