getProcessedMultilineText function
Implementation
String getProcessedMultilineText(
String text
)
{
int processedLineTagCount = processedLineTagArray.length;
if ( processedLineTagCount > 0 )
{
List<String> lineArray = text.replaceAll( '\r', '' ).split( '\n' );
int lineCount = lineArray.length;
for ( int lineIndex = 0;
lineIndex < lineCount;
++lineIndex )
{
String line = lineArray[ lineIndex ];
while ( line.startsWith( '\n' ) )
{
line = line.substring( 1 );
}
for ( var processedLineTag in processedLineTagArray )
{
if ( line.startsWith( processedLineTag.name ) )
{
if ( processedLineTag.innerDefinition == '' )
{
lineArray[ lineIndex ]
= processedLineTag.openingDefinition
+ line.substring( processedLineTag.name.length )
+ processedLineTag.closingDefinition;
}
else
{
int spaceCharacterIndex = line.indexOf( ' ', processedLineTag.name.length );
if ( spaceCharacterIndex >= 0 )
{
lineArray[ lineIndex ]
= processedLineTag.openingDefinition
+ line.substring( processedLineTag.name.length, spaceCharacterIndex )
+ processedLineTag.innerDefinition
+ line.substring( spaceCharacterIndex + 1 )
+ processedLineTag.closingDefinition;
}
else
{
lineArray[ lineIndex ]
= processedLineTag.openingDefinition
+ line.substring( processedLineTag.name.length )
+ processedLineTag.innerDefinition
+ processedLineTag.closingDefinition;
}
}
break;
}
}
}
text = lineArray.join( '\n' );
}
return getProcessedText( text );
}