getProcessedLineText function

String getProcessedLineText(
  1. String text
)

Implementation

String getProcessedLineText(
    String text
    )
{
    List<String> lineArray = text.split( '\n' );
    int lineCount = lineArray.length;

    for ( int lineIndex = 0;
          lineIndex < lineCount;
          ++lineIndex )
    {
        String line = lineArray[ lineIndex ];

        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;
                    }
                }
            }
        }
    }

    return lineArray.join( '\n' );
}