Angel \”Java\” Lopez on Blog

March 13, 2012

Acquarella Syntax Highlighter

Filed under: .NET, Acquarella, C Sharp, Open Source Projects — ajlopez @ 2:15 pm

Past weekend, I was coding a simple and configurable syntax highlighter, in C#, named Acquarella. You can see the result at:

The current solution has a class library project, a console program and a test project:

The idea is to have a library you can reference and use from your projects, in case you need some syntax highlighting functionality. The library takes a text (an string) and, giving the source code language and style name, transform it to another text, using configuration files. There is a more detailes information at project

Dog fooding, the Token.cs class transformed by Acquarella:

namespace Acquarella.Lexers
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    public class Token
        private string text;
        private int start;
        private int length;
        private TokenType type;

        public Token(TokenType type, string text, int start, int length)
            this.type = type;
            this.text = text;
            this.start = start;
            this.length = length;

        public string Value
                return this.text.Substring(this.start, this.length);

        public TokenType Type { get { return this.type; } }

        public int Start { get { return this.start; } }

        public int Length { get { return this.length; } }

Nice :-)

Pending work: Recognize comments, more styles (maybe using css files), more language configurations, extending Lexer (maybe RubyLexer, CSharpLexer, etc.)

Keep tuned!

Angel “Java” Lopez

The Shocking Blue Green Theme. Blog at


Get every new post delivered to your Inbox.

Join 72 other followers