`cmark`’s pretty-printer matches our output pretty well, with a few differences:
- it puts a space between the fence and the info string for in code blocks;
- it prefers `-` over `*` for bulleted lists (as do I) and it indents them;
- it `\`-escapes certain chars very conservatively;
- it prefers indented/unfenced code blocks if there is no info string; and
- it prefers `*` over `_` (unlike any sane person).
This also shows how the change fixes a number of issues:
- fix2158-1.output.md also illustrates how this change fixes#1809;
- alias-many.output.md and input-parse-errors.output.md show how fenced
code blocks without an info string would use the beginning of the
content as the info string;
- transcripts-round-trip/main.output.md shows how output blocks for
generated `unison` stanzas (which could contain nested fenced blocks)
might not have long-enough fences; and
- error-messages.output.md and generic-parse-errors.output.md show how
Unison errors were reported on the wrong line number (and thus the
printed error lines were also incorrect).
Adding a Pattern.captureAs which will act just like capture, but
additionally takes an `a` which will be used as a replacement for the
capture.
My motivation for adding it is that I want to match on escape
sequence, but actually capture the unescaped character instead.
For example:
```
Pattern.captureAs "\n" (Pattern.literal "\\n")
```
* Add diff.namespace tip to reflog output
* Add @jesselooney to CONTRIBUTORS.markdown
* Update transcripts to reflect change to reflog output
Co-authored-by: Impartiall <42242696+Impartiall@users.noreply.github.com>
- Add 24 and 40 bit primitive reads. These are directly supported by
Chez, and are convenient for base32hex coding.
- Add size operations on builtin arrays.
- Fix order of operations in implementations multi-byte array reads.
They were shifting before promoting to a larger word size, which would
just zero the values out.