aboutsummaryrefslogtreecommitdiff
path: root/nomsu_decompiler.moon
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2019-03-27 14:40:48 -0700
committerBruce Hill <bruce@bruce-hill.com>2019-03-27 14:41:31 -0700
commit8719641ace1228a9b650c27b8a575cb3d3c4c761 (patch)
treec0aaca70a58b67ae93b6aae32c01dcae0c05befc /nomsu_decompiler.moon
parentf4dd9664bf4e2a19e0aeee20117107b22bae4cd4 (diff)
Added extra newline to output after a multiply-indented region ends.
Diffstat (limited to 'nomsu_decompiler.moon')
-rw-r--r--nomsu_decompiler.moon8
1 files changed, 5 insertions, 3 deletions
diff --git a/nomsu_decompiler.moon b/nomsu_decompiler.moon
index e28c403..aff9433 100644
--- a/nomsu_decompiler.moon
+++ b/nomsu_decompiler.moon
@@ -393,7 +393,8 @@ tree_to_nomsu = (tree)->
-- or if the last line starts with ".."
if tree[i-1].type != "Comment"
needs_space[i] = (line_nomsu\is_multiline! and prev_line\is_multiline!)
- if tree[i].type == "Comment" or needs_space[i] or needs_space[i-1]
+ if (tree[i].type == "Comment" or needs_space[i] or needs_space[i-1] or
+ prev_line\text!\match("\n [^\n]*$"))
nomsu\add "\n"
nomsu\add line_nomsu
prev_line = line_nomsu
@@ -503,9 +504,10 @@ tree_to_nomsu = (tree)->
-- Rule of thumb: add a blank line between two lines if both are
-- multi-line non-comments, or if a comment comes after a non-comment,
-- or if the last line starts with ".."
- if tree[i-1].type != "Comment"
+ if i > 1 and tree[i-1].type != "Comment"
needs_space[i] = (item_nomsu\is_multiline! and prev_item\is_multiline!)
- if tree[i].type == "Comment" or needs_space[i] or needs_space[i-1]
+ if (tree[i].type == "Comment" or needs_space[i] or needs_space[i-1] or
+ prev_item\text!\match("\n [^\n]*$"))
nomsu\add "\n"
nomsu\add item_nomsu
prev_item = item_nomsu