function (section) {
		section.children.forEach(function (child) {
			if (child.type === 'section') {
				finalParse(child)
			} else if (child.type === 'text' ||
				child.type === 'value' ||
				child.type === 'code') {
				var sliceStart = child.line - 1,
					sliceEnd = child.line + child.size - 1,
					subLines = lines.slice(sliceStart, sliceEnd)
				if (child.type === 'text') {
					child.content = subLines.join('\n')
				} else if (child.type === 'code') {
					child.language = subLines[0].substr(3)
					child.content = subLines.slice(1, -1).join('\n')
				} else if (child.type === 'value') {
					child.content = subLines.join('\n')

					// Remove starting tab character
					parseValue(child, subLines.map(function (e, i) {
						return {
							line: child.line + i,
							str: e.substr(1)
						}
					}), throwSyntaxError)
				}
			}
		})
	}
function (section) {
		section.children.forEach(function (child) {
			if (child.type === 'section') {
				finalParse(child)
			} else if (child.type === 'text' ||
				child.type === 'value' ||
				child.type === 'code') {
				var sliceStart = child.line - 1,
					sliceEnd = child.line + child.size - 1,
					subLines = lines.slice(sliceStart, sliceEnd)
				if (child.type === 'text') {
					child.content = subLines.join('\n')
				} else if (child.type === 'code') {
					child.language = subLines[0].substr(3)
					child.content = subLines.slice(1, -1).join('\n')
				} else if (child.type === 'value') {
					child.content = subLines.join('\n')

					
					parseValue(child, subLines.map(function (e, i) {
						return {
							line: child.line + i,
							str: e.substr(1)
						}
					}), throwSyntaxError)
				}
			}
		})
	}
function ( section ) { section . children . forEach ( function ( child ) { if ( child . type === 'section' ) { finalParse ( child ) } else if ( child . type === 'text' || child . type === 'value' || child . type === 'code' ) { var sliceStart = child . line - 1 , sliceEnd = child . line + child . size - 1 , subLines = lines . slice ( sliceStart , sliceEnd ) if ( child . type === 'text' ) { child . content = subLines . join ( '\n' ) } else if ( child . type === 'code' ) { child . language = subLines [ 0 ] . substr ( 3 ) child . content = subLines . slice ( 1 , - 1 ) . join ( '\n' ) } else if ( child . type === 'value' ) { child . content = subLines . join ( '\n' ) // Remove starting tab character parseValue ( child , subLines . map ( function ( e , i ) { return { line : child . line + i , str : e . substr ( 1 ) } } ) , throwSyntaxError ) } } } ) }
Gather text content and parse values
Gather text content and parse values