summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rst_context.lua13
-rw-r--r--rst_helpers.lua5
2 files changed, 14 insertions, 4 deletions
diff --git a/rst_context.lua b/rst_context.lua
index 34f4594..12c6817 100644
--- a/rst_context.lua
+++ b/rst_context.lua
@@ -118,6 +118,7 @@ function rst_context.strong_emphasis (str)
end
function rst_context.literal (str)
+ print(str)
str = str:gsub([[\]], [[\\]]) -- evade escaping of backslashes
return [[\\type{]] .. str .. [[}]]
--return [[\\starttyping ]] .. str .. [[\\stoptyping]]
@@ -270,6 +271,7 @@ local inline_parser = P{
+ P"โ€ž", -- not in standard Murkin reST
succede_inline = V"spacing"
+ + V"eol"
+ S[['")]}>-/:.,;!?\]]
+ P"โ€™" + P"โ€" + P"ยป"
+ V"inline_delimiter"
@@ -468,11 +470,18 @@ function rst_context.paragraph (data)
local str
if not data then
return ""
+ --elseif type(data) == "table" then
+ --str = #data > 1 and helpers.string.wrapat(inline_parser:match(table.concat(data, " ")), 65) or data[1]
elseif type(data) == "table" then
- str = #data > 1 and helpers.string.wrapat(inline_parser:match(table.concat(data, " ")), 65) or data[1]
+ str = table.concat(data, " ")
+ str = inline_parser:match(str)
+ str = helpers.string.wrapat(str)
+ print(str)
+ --str = #data > 1 and helpers.string.wrapat(inline_parser:match(table.concat(data, " ")), 65) or data[1]
else
str = data
end
+ --print(str)
return string.format([[
\\startparagraph
@@ -1587,7 +1596,7 @@ function optional_setups.danger ()
\def\startRSTdanger{%
\startparagraph
-\lettrine[Lines=2,Raise=.5,Findent=1em,Nindent=0pt]{\symbol[dbend]\symbol[dbend]}{}%
+\lettrine[Lines=2,Raise=.5,Findent=1em,Nindent=0pt]{\symbol[dbend]\kern 1pt\symbol[dbend]}{}%
}
\let\stopRSTdanger\stopparagraph
diff --git a/rst_helpers.lua b/rst_helpers.lua
index 49014f4..92f41a2 100644
--- a/rst_helpers.lua
+++ b/rst_helpers.lua
@@ -593,13 +593,14 @@ do
wrapper = Cs(V"nowhitespace"^0 * (Cs(V"wrapme") + V"other")^1),
whitespace = S" \t\v" + P"\n" / function() linelength = 0 end,
nowhitespace = 1 - V"whitespace",
- ignore = P"\\type{" * (1 - P"}")^1 * P"}",
- other = Cmt(V"whitespace"^1 * (V"ignore" + (1 - V"whitespace")^1), function(s,i,w)
+ ignore = P[[\\type{]] * (1 - P"}")^0 * P"}",
+ other = Cmt(V"whitespace"^0 * (V"ignore" + (1 - V"whitespace")^1), function(s,i,w)
linelength = linelength + ulen(w)
return true
end),
wrapme = Cmt(V"whitespace"^1 * (1 - V"whitespace" - V"ignore")^1, function(s,i,w)
local lw = ulen(w)
+ print(w)
if linelength + lw > width then
linelength = lw
return true