public override Inline ToInline(CodeLexem codeLexem) { switch (codeLexem.Type) { case LexemType.Symbol: case LexemType.Object: return(CreateRun(codeLexem.Text, Colors.LightGray)); case LexemType.Property: return(CreateRun(codeLexem.Text, Colors.Blue)); case LexemType.Value: case LexemType.Space: case LexemType.PlainText: case LexemType.String: return(CreateRun(codeLexem.Text, Colors.Black)); case LexemType.LineBreak: return(new LineBreak()); case LexemType.Complex: case LexemType.Quotes: return(CreateRun(codeLexem.Text, Colors.Brown)); } throw new NotImplementedException(string.Format("Lexem type {0} has no specific colors.", codeLexem.Type)); }
public void FillInlines(string text, InlineCollection collection) { text = text.Replace("\r", ""); var codeLexem = new CodeLexem(text); var list = codeLexem.Parse(CodeLanguage); foreach (CodeLexem current in list) { collection.Add(current.ToInline(CodeLanguage)); } }
public virtual Inline ToInline(CodeLexem codeLexem) { return(new Run(codeLexem.Text)); }