Beispiel #1
0
        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));
        }
Beispiel #2
0
        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));
            }
        }
Beispiel #3
0
 public virtual Inline ToInline(CodeLexem codeLexem)
 {
     return(new Run(codeLexem.Text));
 }