diff core/src/luan/modules/parsers/Theme.java @ 688:f99f51bc5bea

fix up-values
author Franklin Schmidt <fschmidt@gmail.com>
date Mon, 18 Apr 2016 15:46:05 -0600
parents fc08c3b42010
children 6a489a6b3cbc
line wrap: on
line diff
--- a/core/src/luan/modules/parsers/Theme.java	Mon Apr 18 01:08:35 2016 -0600
+++ b/core/src/luan/modules/parsers/Theme.java	Mon Apr 18 15:46:05 2016 -0600
@@ -60,14 +60,13 @@
 		if( !parser.match('}') )
 			throw exception("unclosed define tag");
 		String block = parseBody("define:"+name);
-		String rtn = "function M." + name + "(env) " + block + "end;  ";
+		String rtn = "function M." + name + "(env) " + block + " end;  ";
 		return parser.success(rtn);
 	}
 
 	private String parseBody(String tagName) throws ParseException {
 		StringBuilder stmts = new StringBuilder();
 		int start = parser.currentIndex();
-		stmts.append( "%>" );
 		int end = start;
 		while( !matchEndTag(tagName) ) {
 			if( parser.endOfInput() ) {
@@ -92,7 +91,6 @@
 			end = parser.currentIndex();
 		}
 		addText(start,end,stmts);
-		stmts.append( "<% ");
 		return stmts.toString();
 	}
 
@@ -107,7 +105,7 @@
 
 	private void addText(int start,int end,StringBuilder stmts) {
 		if( start < end ) {
-			stmts.append( parser.text.substring(start,end) );
+			stmts.append( "%>" ).append( parser.text.substring(start,end) ).append( "<%" );
 		}
 	}
 
@@ -123,7 +121,7 @@
 		if( !parser.match('}') )
 			return parser.failure(null);
 		String block = parseBody("block:"+name);
-		String rtn = "<% env."+ name + "( env, function(env) " + block + "end) %>";
+		String rtn = " env."+ name + "( env, function(env) " + block + "end); ";
 //		String rtn = "<% env." + tag.name + "(" + (tag.attrs.isEmpty() ? "nil" : table(tag.attrs)) + ",env,function(env) %>" + block + "<% end) %>";
 		return parser.success(rtn);
 	}
@@ -138,7 +136,7 @@
 		if( !parser.match('}') )
 			return parser.failure(null);
 //		rtn = "<% env." + name + (attrs.isEmpty() ? "()" : table(attrs)) + " %>";
-		String rtn = "<% env." + name + "(env) %>";
+		String rtn = " env." + name + "(env); ";
 		return parser.success(rtn);
 	}