diff options
author | Andrey Makarov <ph.makarov@gmail.com> | 2022-09-04 21:52:21 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-04 14:52:21 -0400 |
commit | cde6b2aab8f67291eca5375a067f97e98b7593ee (patch) | |
tree | 67f7e577b5208e823cb278dd8503d090a3e10dac /lib/pure/memfiles.nim | |
parent | b931e74a59f6e62cd1817a34b57b25ef378c8679 (diff) | |
download | Nim-cde6b2aab8f67291eca5375a067f97e98b7593ee.tar.gz |
Implement Pandoc Markdown concise link extension (#20304)
* Implement Pandoc Markdown concise link extension This implements https://github.com/nim-lang/Nim/issues/20127. Besides reference to headings we also support doing references to Nim symbols inside Nim modules. Markdown: ``` Some heading ------------ Ref. [Some heading]. ``` Nim: ``` proc someFunction*() ... ... ## Ref. [someFunction] ``` This is substitution for RST syntax like `` `target`_ ``. All 3 syntax variants of extension from Pandoc Markdown are supported: `[target]`, `[target][]`, `[description][target]`. This PR also fixes clashes in existing files, particularly conflicts with RST footnote feature, which does not work with this PR (but there is a plan to adopt a popular [Markdown footnote extension](https://pandoc.org/MANUAL.html#footnotes) to make footnotes work). Also the PR fixes a bug that Markdown links did not work when `[...]` section had a line break. The implementation is straightforward since link resolution did not change w.r.t. RST implementation, it's almost only about new syntax addition. The only essential difference is a possibility to add a custom link description: form `[description][target]` which does not have an RST equivalent. * fix nim 1.0 gotcha
Diffstat (limited to 'lib/pure/memfiles.nim')
-rw-r--r-- | lib/pure/memfiles.nim | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/pure/memfiles.nim b/lib/pure/memfiles.nim index f65ca125e..dacb15e17 100644 --- a/lib/pure/memfiles.nim +++ b/lib/pure/memfiles.nim @@ -377,7 +377,7 @@ proc `$`*(ms: MemSlice): string {.inline.} = copyMem(addr(result[0]), ms.data, ms.size) iterator memSlices*(mfile: MemFile, delim = '\l', eat = '\r'): MemSlice {.inline.} = - ## Iterates over [optional `eat`] `delim`-delimited slices in MemFile `mfile`. + ## Iterates over \[optional `eat`] `delim`-delimited slices in MemFile `mfile`. ## ## Default parameters parse lines ending in either Unix(\\l) or Windows(\\r\\l) ## style on on a line-by-line basis. I.e., not every line needs the same ending. |