public Token RealCompleteDirective() { Token tok = this; bool no_control = true; while (!tok.IsEnd() && !tok.MakesNewLine() && no_control) { if (tok.IsQuote()) { tok = tok.RealCompleteText(); if (tok.RealPrev().MakesNewLine()) { tok = tok.RealPrev(); break; } continue; } if (tok.IsControl()) { no_control = false; } if (tok.MakesNewLine()) { no_control = true; } tok = tok.RealNext(); } Tokenizer.SetUnimportantRange(this, tok); return(tok.RealNext()); }
public Token RealCompleteText() { Token tok = this.RealNext(); while (!tok.IsEnd() && !tok.IsQuote()) { if (tok.IsControl() && tok.Whitespaces.Length == 0) { tok++; } else if (tok.IsQuote() && tok.Whitespaces.Length == 0 && tok.RealNext().IsQuote()) { tok++; } tok++; } if (tok.IsEnd()) { Program.Log("Text block not finished?"); return(tok); } Tokenizer.SetUnimportantRange(this, tok); return(tok.RealNext()); }