WebMarkupMin.Core.Parsers.HtmlParser.ProcessText C# (CSharp) Method

ProcessText() private method

Process a text
private ProcessText ( ) : void
return void
        private void ProcessText()
        {
            string content = _innerContext.SourceCode;

            string text;
            int tagPosition = content.IndexOf("<", _innerContext.Position, StringComparison.Ordinal);

            if (tagPosition >= _innerContext.Position)
            {
                text = content.Substring(_innerContext.Position, tagPosition - _innerContext.Position);
            }
            else
            {
                text = content.Substring(_innerContext.Position);
            }

            if (TemplateTagHelpers.ContainsTag(text))
            {
                TemplateTagHelpers.ParseMarkup(text,
                    (localContext, expression, startDelimiter, endDelimiter) =>
                    {
                        if (_handlers.TemplateTag != null)
                        {
                            _handlers.TemplateTag(_context, expression, startDelimiter, endDelimiter);
                        }

                        _innerContext.IncreasePosition(startDelimiter.Length + expression.Length + endDelimiter.Length);
                    },
                    (localContext, textValue) =>
                    {
                        if (_handlers.Text != null)
                        {
                            _handlers.Text(_context, textValue);
                        }

                        _innerContext.IncreasePosition(textValue.Length);
                    }
                );
            }
            else
            {
                if (_handlers.Text != null)
                {
                    _handlers.Text(_context, text);
                }

                _innerContext.IncreasePosition(text.Length);
            }
        }