PrismSharp 1.0.0-beta
dotnet add package PrismSharp --version 1.0.0-beta
NuGet\Install-Package PrismSharp -Version 1.0.0-beta
<PackageReference Include="PrismSharp" Version="1.0.0-beta" />
paket add PrismSharp --version 1.0.0-beta
#r "nuget: PrismSharp, 1.0.0-beta"
// 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
span
s or a singlepre
block). A PrismJS CSS theme must be included in the html document to render the output correctlyRTF 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 | Versions 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.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. |
-
.NETStandard 2.0
- Microsoft.CSharp (>= 4.7.0)
- Newtonsoft.Json (>= 13.0.1)
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 | 721 | 2/18/2022 |