diff options
author | Karl Berry <karl@freefriends.org> | 2021-09-01 21:03:14 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-09-01 21:03:14 +0000 |
commit | 67fbca6a9c67fe7b928da5e03367e081b721eaf5 (patch) | |
tree | c6c8ac8af81afb13d2e7b71621e29ce0dea31402 /Master/texmf-dist/tex/luatex | |
parent | ae20adff83abd02f56ef30dac6cb38a25d6d312c (diff) |
markdown (31aug21)
git-svn-id: svn://tug.org/texlive/trunk@60394 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/luatex')
-rw-r--r-- | Master/texmf-dist/tex/luatex/markdown/markdown.lua | 57 |
1 files changed, 36 insertions, 21 deletions
diff --git a/Master/texmf-dist/tex/luatex/markdown/markdown.lua b/Master/texmf-dist/tex/luatex/markdown/markdown.lua index 8583a21f5a0..85900563718 100644 --- a/Master/texmf-dist/tex/luatex/markdown/markdown.lua +++ b/Master/texmf-dist/tex/luatex/markdown/markdown.lua @@ -58,7 +58,7 @@ -- those in the standard .ins files. -- local metadata = { - version = "2.10.0", + version = "2.10.1", comment = "A module for the conversion from markdown to plain TeX", author = "John MacFarlane, Hans Hagen, Vít Novotný", copyright = {"2009-2016 John MacFarlane, Hans Hagen", @@ -2765,29 +2765,45 @@ parsers.spnl = parsers.optionalspace parsers.line = parsers.linechar^0 * parsers.newline parsers.nonemptyline = parsers.line - parsers.blankline -parsers.commented_line = Cs(((parsers.linechar -- initial - - parsers.backslash - - parsers.percent)^1 - + (parsers.backslash -- even backslash - * parsers.backslash)^1 - + (parsers.backslash -- odd backslash - * parsers.backslash)^0 - * (parsers.backslash / "" - * parsers.percent - + parsers.backslash - * (parsers.linechar -- initial - + parsers.newline - - parsers.backslash - - parsers.percent)) - )^0) +parsers.commented_line_letter = parsers.linechar + + parsers.newline + - parsers.backslash + - parsers.percent +parsers.commented_line = Cg(Cc(""), "backslashes") + * ((#(parsers.commented_line_letter + - parsers.newline) + * Cb("backslashes") + * Cs(parsers.commented_line_letter + - parsers.newline)^1 -- initial + * Cg(Cc(""), "backslashes")) + + #(parsers.backslash * parsers.backslash) + * Cg((parsers.backslash -- even backslash + * parsers.backslash)^1, "backslashes") + + (parsers.backslash + * (#parsers.percent + * Cb("backslashes") + / function(backslashes) + return string.rep("\\", #backslashes / 2) + end + * C(parsers.percent) + + #parsers.commented_line_letter + * Cb("backslashes") + * Cc("\\") + * C(parsers.commented_line_letter)) + * Cg(Cc(""), "backslashes")))^0 + * (#parsers.percent + * Cb("backslashes") + / function(backslashes) + return string.rep("\\", #backslashes / 2) + end * ((parsers.percent -- comment * parsers.line * #parsers.blankline) -- blank line - / "\n" + / "\n" + parsers.percent -- comment * parsers.line - * parsers.optionalspace -- leading tabs and spaces - + C(parsers.newline)) + * parsers.optionalspace) -- leading tabs and spaces + + C(parsers.newline)) parsers.chunk = parsers.line * (parsers.optionallyindentedline - parsers.blankline)^0 @@ -3380,10 +3396,9 @@ function M.reader.new(writer, options) end) str = str:gsub('^' .. min_prefix, '') end - if toplevel and options.texComments then + if toplevel and (options.texComments or options.hybrid) then str = lpeg.match(Ct(parsers.commented_line^1), str) str = util.rope_to_string(str) - print(str) end local res = lpeg.match(grammar(), str) if res == nil then |