aboutsummaryrefslogtreecommitdiff
path: root/code_obj.moon
diff options
context:
space:
mode:
Diffstat (limited to 'code_obj.moon')
-rw-r--r--code_obj.moon16
1 files changed, 16 insertions, 0 deletions
diff --git a/code_obj.moon b/code_obj.moon
index ec644a5..d3de65c 100644
--- a/code_obj.moon
+++ b/code_obj.moon
@@ -65,6 +65,22 @@ class Code
elseif @current_indent != 0
indents[#bits] = @current_indent
@__str = nil
+
+ concat_append: (values, joiner)=>
+ bits, indents = @bits, @indents
+ match = string.match
+ for i=1,#values
+ b = values[i]
+ assert(b)
+ if i > 1
+ bits[#bits+1] = joiner
+ bits[#bits+1] = b
+ if type(b) == 'string'
+ if spaces = match(b, "\n([ ]*)[^\n]*$")
+ @current_indent = #spaces
+ elseif @current_indent != 0
+ indents[#bits] = @current_indent
+ @__str = nil
prepend: (...)=>
n = select("#",...)