⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 colorsyntaxvisitor.cs

📁 微软系列丛书<<C#2005从入门到精通>>
💻 CS
字号:
namespace Tokenizer
{
    using System;
	using System.Windows.Forms;
	using System.Drawing;

    sealed class ColorSyntaxVisitor : ITokenVisitor
    {
        public ColorSyntaxVisitor(RichTextBox rtb)
        {
            this.target = rtb;
            this.target.Clear();
            this.index = 0;
        }

        private void Write(string token, Color color)
        {
            target.AppendText(token);
            target.Select(this.index, this.index + token.Length);
            this.index += token.Length;
            target.SelectionColor = color;
        }

        void ITokenVisitor.VisitComment(string token)
        {
            Write(token, Color.Black);
        }

        void ITokenVisitor.VisitIdentifier(string token)
        {
            Write(token, Color.Black);
        }

        void ITokenVisitor.VisitKeyword(string token)
        {
            Write(token, Color.Blue);
        }

        void ITokenVisitor.VisitOperator(string token)
        {
            Write(token, Color.Black);
        }

        void ITokenVisitor.VisitPunctuator(string token)
        {
            Write(token, Color.Black);
        }

        void ITokenVisitor.VisitStringLiteral(string token)
        {
            Write(token, Color.Green);
        }

        void ITokenVisitor.VisitWhitespace(string token)
        {
            Write(token, Color.Black);
        }

        private readonly RichTextBox target;
		private int index;        
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -