Return a new basic template that is automatically added in self (using add)

This is an easy way to provide a free insertion point in an existing template.

var t = new Template
t.add("""void main(void) {""")
var tdecl = t.new_sub # used to group declarations
tdecl.add("int i; ")
t.add("i = 1; ")
tdecl.add("int j; ")
t.add("j = i + 1; ")
t.add("\}")
assert t.write_to_string == """void main(void) {int i; int j; i = 1; j = i + 1; }"""

Property definitions

template $ Template :: new_sub
	# Return a new basic template that is automatically added in `self` (using `add`)
	#
	# This is an easy way to provide a free insertion point in an existing template.
	#
	#     var t = new Template
	#     t.add("""void main(void) {""")
	#     var tdecl = t.new_sub # used to group declarations
	#     tdecl.add("int i; ")
	#     t.add("i = 1; ")
	#     tdecl.add("int j; ")
	#     t.add("j = i + 1; ")
	#     t.add("\}")
	#     assert t.write_to_string == """void main(void) {int i; int j; i = 1; j = i + 1; }"""
	fun new_sub: Template
	do
		var res = new Template
		add res
		return res
	end
lib/template/template.nit:163,2--181,4