public override void EnterWhitespace([NotNull] TxMarkParser.WhitespaceContext context) { if (context.Parent is TxMarkParser.PhraseContext || context.Parent is TxMarkParser.HtmlAttributeValueContentContext) { var whitespace = context.GetText(); var newLines = whitespace.Split('\n'); if (newLines.Length == 1) { _compileContext.Whitespace(); } else { for (int i = 1; i < newLines.Length; i++) { _compileContext.NewLine(); } } } else { Debug.WriteLine($"Whitespace ignored under {context.Parent.GetType()}"); } }
/// <summary> /// Exit a parse tree produced by <see cref="TxMarkParser.whitespace"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitWhitespace([NotNull] TxMarkParser.WhitespaceContext context) { }
/// <summary> /// Visit a parse tree produced by <see cref="TxMarkParser.whitespace"/>. /// <para> /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/> /// on <paramref name="context"/>. /// </para> /// </summary> /// <param name="context">The parse tree.</param> /// <return>The visitor result.</return> public virtual Result VisitWhitespace([NotNull] TxMarkParser.WhitespaceContext context) { return(VisitChildren(context)); }