aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
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 MacFarlane2-3/+4
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 MacFarlane3-4/+18
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 Krotov2-2/+20
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 MacFarlane2-33/+37
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 MacFarlane3-77/+103
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 Krotov2-0/+4
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 MacFarlane3-4/+36
Closes #4989.
2018-10-20Man reader: Fixed handling of nested fonts.John MacFarlane2-19/+43
Closes #4978.
2018-10-21Muse reader: make sure that the whole text is parsedAlexander Krotov1-0/+1
2018-10-21Muse reader: allow empty headersAlexander Krotov2-7/+8
Previously empty headers caused parser to terminate without parsing the rest of the document.
2018-10-20Man reader: Fix .B, .I, .BR, etc.John MacFarlane2-19/+40
2018-10-20Man reader: major restructuring, support macros.John MacFarlane3-144/+142
- 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-20Lua filters: iterate over AST element fields when using `pairs`Albert Krewinkel1-0/+58
This makes it possible to iterate over all field names of an AST element by using a generic `for` loop with `pairs`: for field_name, field_content in pairs(element) do … end Raw table fields of AST elements should be considered an implementation detail and might change in the future. Accessing element properties should always happen through the fields listed in the Lua filter docs. Note that the iterator currently excludes the `t`/`tag` field.
2018-10-20Man reader: block quotes (using RS..RE).John MacFarlane3-2/+8
2018-10-20Man reader: parse TP as definition lists.John MacFarlane3-26/+55
Closes #4981.
2018-10-20Man reader: handle shift in list style.John MacFarlane2-33/+43
Closes #4987.
2018-10-20Man reader: minor refactoring.John MacFarlane1-9/+9
2018-10-20Powerpoint tests: test raw openxmlJesse Rosenthal4-1/+7
Output files confirmed not to be corrupt, and with content as expected, on PowerPoint 2013 on Windows 10 (virtualbox on linux).
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 MacFarlane2-15/+10
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 MacFarlane3-24/+25
- .SH should be level 1, .SS level 2. - The header title can come on the next line.
2018-10-19Regenerated man page.John MacFarlane1-410/+0
2018-10-19Man writer: avoid unnecessary `.RS`/`.RE` pair in defn lists.John MacFarlane2-39/+3
When the definition is just one paragraph, we don't need the `.RS\n.RE`.