From 82cfd3e54b5910843c091a9fb6ef3ad6b64ba757 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Thu, 14 Jun 2018 21:59:25 -0700 Subject: More streamlining and cleanup. Especially for core/metaprogramming.nom --- code_obj.moon | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'code_obj.moon') 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("#",...) -- cgit v1.2.3