This is a port of ColorCode to .NET Standard. The original Html only formatter has been separated from the Logic, so now it can produce Syntax Highlighted code for any output. This Project can currently produce HTML, and Render to UWP RichTextBlocks.
Перейти к файлу
Jérôme Laban 56d64859d7
Merge pull request #12 from unoplatform/dev/jela/net6
feat: Add net6-ios, android, macOS and Catalyst support
2022-03-22 16:53:44 -04:00
ColorCode.Core feat: Add net6-ios, android, macOS and Catalyst support 2022-03-22 13:49:51 -04:00
ColorCode.HTML merge from upstream/master 2021-10-30 23:43:29 -04:00
ColorCode.UWP feat: Add net6-ios, android, macOS and Catalyst support 2022-03-22 13:49:51 -04:00
ColorCode.WinUI feat: Add net6-ios, android, macOS and Catalyst support 2022-03-22 13:49:51 -04:00
Tests merge from upstream/master 2021-10-30 23:43:29 -04:00
build ci: Adjust windows sdk setup 2022-03-22 16:25:11 -04:00
.azure-pipelines.yml ci: Adjust windows sdk setup 2022-03-22 16:25:11 -04:00
.gitattributes -Updated to .NET Standard 1.4. 2017-11-28 13:57:34 +13:00
.gitignore Added WinUI3 version. 2021-03-30 14:18:35 -07:00
ColorCode.sln Added WinUI3 version. 2021-03-30 14:18:35 -07:00
ColorCode.snk Added signing. 2021-02-10 19:57:30 -08:00
Directory.Build.props feat: Add net6-ios, android, macOS and Catalyst support 2022-03-22 13:49:51 -04:00
Directory.Build.targets Updated to the WindowsAppSDK 1.0.0-preview3. 2021-10-27 16:35:22 -07:00
azure-pipelines.yml Updated to the WindowsAppSDK 1.0.0-preview2. 2021-10-12 13:02:42 -07:00
gitversion.yml feat: Add support for macOS 2020-04-14 13:36:26 -04:00
global.json feat: Add net6-ios, android, macOS and Catalyst support 2022-03-22 13:49:51 -04:00
license.md -Updated to .NET Standard 1.4. 2017-11-28 13:57:34 +13:00
readme.md Readme update for Uno 2018-06-14 13:10:02 -04:00
version.json Updated to the WindowsAppSDK 1.0.0-preview3. 2021-10-27 16:35:22 -07:00

readme.md

ColorCode-Universal port for Uno

This port allows for Uno-based apps to use ColorCode-Universal on Windows, iOS, Android and WebAssembly.

The following nuget packages are available:

ColorCode-Universal

This is a port of ColorCode to .NET Standard. The original Html only formatter has been separated from the Logic, so now it can produce Syntax Highlighted code for any output.

This Project can currently produce HTML, and Render to UWP RichTextBlocks.

Usage

HTML

To use ColorCode to create colorised HTML, ensure you have installed the ColorCode.HTML NuGet package, then you can use the following code:

var csharpstring = "public void Method()\n{\n}";
var formatter = new HtmlFormatter();
var html = formatter.GetHtmlString(csharpstring, Languages.CSharp);

This will create the formatting into the HTML, via inline styling. To use CSS to format the HTML instead, use the following:

var csharpstring = "public void Method()\n{\n}";
var formatter = new HtmlClassFormatter();
var html = formatter.GetHtmlString(csharpstring, Languages.CSharp);
var css = formatter.GetCSSString();

You will then have to manually reference the css, from the HTML head.

UWP

To use ColorCode to render colorized code to a RichTextBlock, then you can use the following code:

var csharpstring = "public void Method()\n{\n}";
var formatter = new RichTextBlockFormatter();
formatter.FormatRichTextBlock(csharpstring, Languages.CSharp, PresentationBlock);

Or you can append onto an existing InlineCollection, with the following code:

var paragraph = new Paragraph();
var csharpstring = "public void Method()\n{\n}";
var formatter = new RichTextBlockFormatter();
formatter.FormatInlines(csharpstring, Languages.CSharp, paragraph.Inlines);

Determining the Programming Language

To get the Programming Language manually, you can provide the identifier name, with the following code:

var language = ColorCode.Languages.FindById("java");

See LanguageId.cs for the list of available Languages to parse.

Packages

Package Description Supports
ColorCode.Core The Core Library, containing the Parser, and the classes to create your own formatter. .NET Standard 1.4
ColorCode.HTML The Library containing the HtmlFormatter, and the HtmlClassFormatter, for rendering Html from the Colorized Code. .NET Standard 1.4
ColorCode.UWP The Library containing the RichTextBlockFormatter, for rendering the Colorized Code to a RichTextBlock. Tested against 10.0.14393.0 and up.

Feedback and Requests

Please use GitHub issues for bug reports and feature requests.

Contributing

Want to help out and add some more parsing support, or add a new Formatter platform? Submit a PR!