PrismSharp 1.0.0-beta

This is a prerelease version of PrismSharp.
dotnet add package PrismSharp --version 1.0.0-beta
NuGet\Install-Package PrismSharp -Version 1.0.0-beta
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="PrismSharp" Version="1.0.0-beta" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PrismSharp --version 1.0.0-beta
#r "nuget: PrismSharp, 1.0.0-beta"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install PrismSharp as a Cake Addin
#addin nuget:?package=PrismSharp&version=1.0.0-beta&prerelease

// Install PrismSharp as a Cake Tool
#tool nuget:?package=PrismSharp&version=1.0.0-beta&prerelease

PrismSharp Library

PrismSharp is a syntax highlighting library based on an excellent javascript library PrismJS, fully written in C#. It currently supports over 270 programming languages and has 44 built in visual themes, also supporting custom themes.

Main Components

  • Tokenizer - engine converting a source code to a tree of tokens - pairs of code fragments and their meanings, e.g. foreach - keyword

  • Abstract Highlighter - an abstract base class making it easy to implement a custom highlighter creating virtually any output format

  • HTML Highlighter - a highlighter creating output in html format (HTML spans or a single pre block). A PrismJS CSS theme must be included in the html document to render the output correctly

  • RTF Highlighter - a highlighter creating output in RTF format. Can be used in GUI components like RichBox. See Implementing code editor

The tokenizer and the highlighters support tokenizing (highlighting) of the entire code or just a range of it, when high performance is needed.

Basic Usage

HTMl highlighting

            var code = "Console.WriteLine(\"Hello, World!\"); // demo";
            var beginning = "<!DOCTYPE html><html><head><meta charset=\"UTF-8\">" +
                "<link href=\"https://cdnjs.cloudflare.com/ajax/libs/prism/1.27.0/themes/prism.min.css\" rel=\"stylesheet\"/</head><body>";
            var ending  = "</body></html>";

            var highlighter = new HtmlHighlighter();
            highlighter.WrapByPre = true;
            var res = highlighter.Highlight(code, "csharp");

            File.WriteAllText("output.html", beginning + res + ending);

RTF highlighting

 var code = "Console.WriteLine(\"Hello, World!\"); // demo";

            var highlighter = new RtfHighlighter(ThemeNames.Vs);
            highlighter.Font = "Consolas";
            var res = highlighter.Highlight(code, "csharp");

            File.WriteAllText("output.rtf", res);

Installation

The library is available via Nuget

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on PrismSharp:

Package Downloads
MarkdownToPdf.SyntaxHighlighter

Syntax highlighter plugin for MarkdownToPdf Library using PrismSharp.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.0-beta 193 2/18/2022