private static IMarkdownToken GroupTextTokens(IMarkdownParser parser, IMarkdownRule rule, bool wrapParagraph, StringBuffer textContent, SourceInfo si) { if (textContent.EndsWith('\n')) { textContent = textContent.Substring(0, textContent.GetLength() - 1); } var rawMarkdown = textContent.ToString(); return CreateTwoPhaseToken(parser, rule, wrapParagraph, si.Copy(rawMarkdown)); }
public StringBuffer Concat(StringBuffer another) { if (another == Empty || another == null) { return this; } if (this == Empty) { return another; } if (another._index > ShrinkArrayLength) { var result = EnsureCapacity(1); result._buffer[result._index++] = another.ToString(); return result; } else { var result = EnsureCapacity(another._index); Array.Copy(another._buffer, 0, result._buffer, result._index, another._index); result._index += another._index; return result; } }
protected virtual StringBuffer ApplyInline(IMarkdownRenderer engine, StringBuffer content, MarkdownBlockContext context) { if (content == StringBuffer.Empty) { return StringBuffer.Empty; } var result = engine.Engine.Mark(content.ToString(), context.GetInlineContext()); return result; }
protected virtual StringBuffer ApplyInline(MarkdownEngine engine, StringBuffer content, MarkdownBlockContext context) { if (content == StringBuffer.Empty) { return StringBuffer.Empty; } var c = engine.SwitchContext(context.InlineContext); var result = engine.Mark(content.ToString()); engine.SwitchContext(c); return result; }