aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nomsu_decompiler.lua6
-rw-r--r--nomsu_decompiler.moon2
2 files changed, 8 insertions, 0 deletions
diff --git a/nomsu_decompiler.lua b/nomsu_decompiler.lua
index f6552b8..3f3702c 100644
--- a/nomsu_decompiler.lua
+++ b/nomsu_decompiler.lua
@@ -94,12 +94,18 @@ tree_to_inline_nomsu = function(tree)
target_nomsu:parenthesize()
end
local nomsu = NomsuCode:from(tree.source, target_nomsu, ", ")
+ if #tree > 2 then
+ nomsu:add("(")
+ end
for i = 2, #tree do
if i > 2 then
nomsu:add("; ")
end
nomsu:add(tree_to_inline_nomsu(tree[i]))
end
+ if #tree > 2 then
+ nomsu:add(")")
+ end
return nomsu
elseif "EscapedNomsu" == _exp_0 then
local inner_nomsu = tree_to_inline_nomsu(tree[1])
diff --git a/nomsu_decompiler.moon b/nomsu_decompiler.moon
index 4c733f5..b588e1e 100644
--- a/nomsu_decompiler.moon
+++ b/nomsu_decompiler.moon
@@ -64,9 +64,11 @@ tree_to_inline_nomsu = (tree)->
if tree[1].type == "Block"
target_nomsu\parenthesize!
nomsu = NomsuCode\from(tree.source, target_nomsu, ", ")
+ if #tree > 2 then nomsu\add "("
for i=2,#tree
nomsu\add "; " if i > 2
nomsu\add tree_to_inline_nomsu(tree[i])
+ if #tree > 2 then nomsu\add ")"
return nomsu
when "EscapedNomsu"