Actipro Software LLC
CodeHighlighter Software Component Product
Copyright (c) 2004-2010 Actipro Software LLC. All rights reserved.

CodeHighlighter .NET Control

Current Version: CodeHighlighter 4.0.0059, Shared 1.0.0104
Last Updated: 12/1/2010
Release History

Redistributable Files: ActiproSoftware.CodeHighlighter.Net20.dll, ActiproSoftware.Shared.Net20.dll

Requirements: .NET framework v2.0 or later

Overview

Thank you for downloading the CodeHighlighter .NET control from Actipro Software. Actipro CodeHighlighter provides a flexible and easy way to syntax highlight code on your web sites. It uses the advanced SyntaxEditor lexical parsing engine to tokenize code and output colored HTML markup.

The CodeHighlighter package includes an ASP.NET web control and the code highlighting engine component. The ASP.NET web control can be placed on any ASP.NET page and code can instantly be highlighted. Sections below explain how to install the samples for the control. The code highlighting engine component allows direct access to the engine, even in Windows Forms applications. With this you can programmatically create code highlighting in HTML format. Code outlining and line numbering are event supported!

The sample links above will not function until you follow the installation instructions below.

About Actipro SyntaxEditor (for Windows Forms)

SyntaxEditor is a powerful editing control, similar to a multi-line TextBox, which syntax highlights text and provides an amazing number of state-of-the-art features for code editing. SyntaxEditor is modeled after the code editor in Visual Studio and provides nearly all of its functionality and more. Custom language definitions can be developed and distributed with your applications. While SyntaxEditor is designed for use in IDE (integrated development environment) applications, there are many other applications out there than can take advantage of such a control.

The SyntaxEditor package includes:

  • The SyntaxEditor multi/single line edit control.
  • The Document class, which allows for parsing and manipulation of code documents with or without the use of a SyntaxEditor (separation of UI and parsing model).
  • The extensible SyntaxLanguage class, which provides a self-contained way to handle advanced language parsing and processing.
  • The SyntaxEditor parser generator that helps construct a robust semantic parser for languages in either C# or VB.NET.
  • The semantic parser service that can perform semantic parsing operations in a separate worker thread.
  • An object model for building and manipulating an AST (abstract syntax tree) of a code document.
  • A custom backtracking NFA regular expression engine, used as the backbone for dynamic language lexical parsing and find/replace operations.
  • The TextStylePreview control that visualizes highlighting styles, and the FontDropDownList that allows for easy font selection.
  • Many free dynamic language XML definitions for common languages such as C#, VB.NET, HTML, etc.
  • Availability of advanced add-on products, such as the .NET Languages Add-on, which provide complete parsing and automated IntelliPrompt for C#.
  • Nearly all the code editing features found in Visual Studio.
  • Much, much more...
Visit the SyntaxEditor web site for more information on SyntaxEditor.

Licensing

The product you've downloaded or copied is donated to the development community as freeware by Actipro Software.

You may distribute the files marked as Redistributable without any royalty fees.

The only licensing requirement is that you must display a message indicated below within your application. If you are using the ASP.NET control on a web site, the following message must appear on some sort of About page.

This web site uses Actipro CodeHighlighter (http://www.CodeHighlighter.com).
If you are using the engine in a Windows application, the following message must appear in the Readme file of the application or on the application's About window.
This application uses Actipro CodeHighlighter (http://www.CodeHighlighter.com).

Installation

To install and run the samples for the product:
  1. Read and agree to the End-User License Agreement (in EULA.html).
  2. Unzip the downloaded .ZIP file to a new child folder that the ASP.NET process has access to, generally somewhere within C:\InetPub\wwwRoot.
  3. In IIS, map a virtual directory named CodeHighlighterTest to the folder in which you unzipped the .ZIP file.
  4. Load Internet Explorer and browse to http://localhost/CodeHighlighterTest/.
  5. The default page will appear. You may click the links to other samples to run them.

Deploying Your Application

To deploy an application that uses this product, simply copy the redistributable assemblies mentioned above to your web site's bin folder.

Documentation

Complete documentation is available in the Documentation.chm HTML Help file. We also recommend looking at the source code of provided sample web pages since they make use of much of the product's functionality.

Support

Actipro Software has set up discussion forums specifically for suggestions and support requests for our .NET components. You can find these discussion forums in our support site. We strongly urge you to post messages there.

Other .NET Components

For information about other Actipro Software .NET components, please visit http://www.ActiproSoftware.com/Products/DotNet/.

Actipro Software LLC

For more information about Actipro Software, please visit http://www.ActiproSoftware.com/.  

Release History

Bullet Key:
  • Indicates a normal addition or change.
  • Indicates a breaking change in the object model.
11/9/2010 - Version 4.0.0059
  • Updated the Shared library.
11/9/2009 - Version 4.0.0058
  • Added support for strike-out options in highlighting styles.
  • Updated the Shared library.
7/10/2009 - Version 4.0.0057
  • Added C# 3.0 and VB 9.0 contextual keywords to the dynamic language definitions for those languages.
  • Updated the Shared library.
3/13/2009 - Version 4.0.0056
  • Updated the Shared library.
12/9/2008 - Version 4.0.0055
  • Updated the Shared library.
10/13/2008 - Version 4.0.0053
  • Updated the Shared library.
7/15/2008 - Version 4.0.0052
  • Updated the Shared library.
1/15/2008 - Version 4.0.0051
  • Updated the Shared library.
9/27/2007 - Version 4.0.0050
  • Updated the Shared library.
8/13/2007 - Version 4.0.0049
  • Updated the dynamic JScript language to allow for regular expression literal syntax.
  • Updated the Shared library.
6/8/2007 - Version 4.0.0048
  • Updated the Shared library.
5/17/2007 - Version 4.0.0047
  • Added the PowerShell language.
  • Updated the Shared library.
3/12/2007 - Version 4.0.0046
  • Updated the Shared library.
3/4/2007 - Version 4.0.0045
  • Removed code signing by default on assemblies due to issues with how Microsoft's code causes assembly loading delays on newer operating systems like Vista in a certain scenario. Code signed assemblies are available in the CodeSigned child folder.
  • Updated the Shared library.
2/5/2007 - Version 4.0.0044
  • Upgraded to a new obfuscator version, which adds improved support for Vista.
  • Updated the Shared library.
  • Added a digital signature to the installation MSI.
1/30/2007 - Version 4.0.0043
  • Added outlining support for Firefox.
  • Updated the dynamic language XML schema to include documentation for all elements.
  • Updated the XML and XAML languages to use the TagNameMacro for attribute names as well.
  • Updated the Shared library.
12/18/2006 - Version 4.0.0042
  • Added the Assembly, MSIL, and XAML language definitions.
  • Updated the Shared library.
11/28/2006 - Version 4.0.0041
  • Updated the "languages.definitionPath" attribute value in the web.config so that embedded resources may be specified.
  • Updated the Shared library.
  • Added digital code-signing of all assemblies.
10/2/2006 - Version 4.0.0040
  • Updated the CodeHighlighter framework to be based on SyntaxEditor's 4.0 parsing model. Check the documentation for details on converting from CodeHighlighter v3.x to v4.0.
  • Added the Assembly, Lua, MSIL, and Pascal language definitions.
  • Added the requirePermission="false" attribute to the codeHighlighter section declaration to enable support in .NET 2.0 within a medium-trust web hosting environment.
  • Updated the Shared library.
8/23/2006 - Version 3.1.0027
  • Added XML documentation for all class libraries to the installer.
  • Updated the Shared library.
7/6/2006 - Version 3.1.0026
  • Updated the Shared library.
5/4/2006 - Version 3.1.0025
  • Installer updated and assemblies now compiled natively for both .NET 2.0 and .NET 1.1 frameworks.
3/27/2006 - Version 3.1.0018
  • Added a complete framework for performing automated keyword linking.
  • Added the Keyword and KeywordCollection classes.
  • Added the DefaultKeywordCollectionKey, KeywordCollections, KeywordLinkingEnabled, KeywordLinkingTarget properties to the CodeHighlighterConfiguration class.
  • Added the KeywordCollectionKey, KeywordLinkingEnabled, KeywordLinkingTarget, and Keywords properties to the CodeHighlighter class.
  • Added the KeywordLinkingEnabled, KeywordLinkingTarget, and Keywords properties to the CodeHighlighterEngine class.
  • Changed the outlining so that it should support all current browsers.
  • Added the AllowPartiallyTrustedCallers to the assembly.
  • Updated the Shared library.
1/17/2006 - Version 3.1.0017
  • Fixed a bug with the Visual Studio 2005 designer that displayed an exception message for the control.
  • Updated the Shared library.
11/15/2005 - Version 3.1.0016
  • Updated the C# and VB.NET language definitions to include the new .NET 2.0 keywords.
  • Updated the Shared library.
9/11/2005 - Version 3.0.0015
  • Updated the Shared library to help remove several static objects from various classes.
6/5/2005 - Version 3.0.0014
  • Updated the Shared library.
5/29/2005 - Version 3.0.0013
  • Updated the Shared library.
5/1/2005 - Version 3.0.0012
  • Updated the engine to use the SyntaxEditor 3.0 codebase.
  • Made major lexical parsing speed improvements.
  • Changed the semantic parser methods so that the root language is no longer passed in method parameters since the Document parameter allows access to it view the Document.Language property.
  • Added new language definitions for Java, Perl, PHP and batch files.
  • Updated the version of the language definitions from 2.0 to 3.0. Updated the version to 3.0 in the root SyntaxLanguage tag in each XML language definition.
  • Renamed the Token attribute to TokenKey in XML language definitions to better match the object model and fit better with the new TokenID attribute. Doing a replace all of ' Token="' with ' TokenKey="' in a XML language definition will make the update.
3/22/2005 - Version 2.5.0011
  • Added CodeHighlighter.GetLanguage method.
  • Fixed a bug that caused the CodeHighlighter control to display as an error in the designer.
3/19/2005 - Version 2.5.0010
  • Updated the code model to be based on the SyntaxEditor 2.5 engine.
  • Added line numbering functionality.
  • Added the LineNumberMarginForeColor, LineNumberMarginPaddingCharacter, and LineNumberMarginVisible properties to the CodeHighlighter class.
  • Added the LineNumberMarginForeColor, LineNumberMarginPaddingCharacter, and LineNumberMarginVisible properties to the CodeHighlighterEngine class.
  • Added the LineNumberMarginForeColor, LineNumberMarginPaddingCharacter, and LineNumberMarginVisible properties to the CodeHighlighterConfiguration class.
  • Added the lineNumberMargin tag to the web.config.
  • Updated the sample pages to demonstrate line numbering.
  • Added a language definition for INI files.
  • Added a language definition for Python.
  • Added a semantic parser for JScript.
  • Changed all methods of SemanticParser to be public instead of protected. This matches the SyntaxEditor definition.
5/5/2004 - Version 1.0.0000
  • First product release.

 
CodeHighlighter - Copyright © 2004-2005 Actipro Software LLC. All Rights Reserved.