From 989e133a5798850a9778bc6db8d07c2e5a274893 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Mon, 10 Sep 2018 16:29:04 -0700 Subject: Fixed tree_to_nomsu for method calls that span lines. --- nomsu_compiler.lua | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'nomsu_compiler.lua') diff --git a/nomsu_compiler.lua b/nomsu_compiler.lua index a53de1a..7d02458 100644 --- a/nomsu_compiler.lua +++ b/nomsu_compiler.lua @@ -1059,7 +1059,19 @@ do local pos, next_space = tree.source.start, '' local nomsu = NomsuCode(tree.source, pop_comments(pos)) if tree.target then - nomsu:append(self:tree_to_nomsu(tree.target), "::") + if tree.target.type == "Block" then + nomsu:append(recurse(tree.target, #nomsu:match('[^\n]*$'))) + pos = tree.target.source.stop + next_space = inline and "::" or "\n..::" + else + local target_nomsu = recurse(tree.target, #nomsu:match('[^\n]*$')) + if tree.target.type == "Action" and not target_nomsu:is_multiline() then + target_nomsu:parenthesize() + end + nomsu:append(target_nomsu) + pos = tree.target.source.stop + next_space = target_nomsu:is_multiline() and "\n..::" or "::" + end end for i, bit in ipairs(tree) do if next_space == "\n.." or (next_space == " " and nomsu:trailing_line_len() > MAX_LINE) then -- cgit v1.2.3