Raiqub.Generators.InterpolationCodeWriter
2.4.2
Prefix Reserved
dotnet add package Raiqub.Generators.InterpolationCodeWriter --version 2.4.2
NuGet\Install-Package Raiqub.Generators.InterpolationCodeWriter -Version 2.4.2
<PackageReference Include="Raiqub.Generators.InterpolationCodeWriter" Version="2.4.2" />
<PackageVersion Include="Raiqub.Generators.InterpolationCodeWriter" Version="2.4.2" />
<PackageReference Include="Raiqub.Generators.InterpolationCodeWriter" />
paket add Raiqub.Generators.InterpolationCodeWriter --version 2.4.2
#r "nuget: Raiqub.Generators.InterpolationCodeWriter, 2.4.2"
#:package Raiqub.Generators.InterpolationCodeWriter@2.4.2
#addin nuget:?package=Raiqub.Generators.InterpolationCodeWriter&version=2.4.2
#tool nuget:?package=Raiqub.Generators.InterpolationCodeWriter&version=2.4.2
Raiqub.Generators.InterpolationCodeWriter
A high-performance source text writer for .NET incremental source generators. Write generated source code using plain strings or C# string interpolations with automatic indentation support.
Installation
dotnet add package Raiqub.Generators.InterpolationCodeWriter
Quick Start
var writer = new SourceTextWriter();
writer.WriteLine("using System;");
writer.WriteLine();
writer.WriteLine($"namespace {ns};");
writer.WriteLine();
writer.WriteLine($"public class {className}");
writer.WriteLine("{");
writer.PushIndent();
writer.WriteLine($"public string Name {{ get; set; }}");
writer.PopIndent();
writer.WriteLine("}");
string result = writer.ToString();
Key Features
- Automatic indentation: Use
PushIndent()/PopIndent()to manage indentation levels (4 spaces per level by default) - String interpolation support: Write code using
$"..."syntax directly - Composable text segments: Use
TextSegmentto build reusable fragments and embed them inline - Culture-invariant formatting: Numbers and other values are formatted using
InvariantCultureby default - Configurable: Customize line endings, indentation size, and format provider
TextSegment
TextSegment is an interpolated string handler that captures text fragments for embedding inside a writer.Write($"...") call. It is ideal for returning formatted snippets from helper methods without intermediate string allocations:
private static TextSegment FormatTypeRef(string ns, string name) =>
$"{ns}.{name}";
writer.WriteLine($"[global::{FormatTypeRef("System", "Serializable")}]");
writer.WriteLine($"public partial class {className}");
Compatibility
Targets .NET Standard 2.0, .NET 8, and .NET 10.
Documentation
For the full documentation and guides, see the project repository.
License
See the LICENSE file for details.
| 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 is compatible. 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. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.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
- System.Collections.Immutable (>= 6.0.0)
- System.Memory (>= 4.5.4)
-
net10.0
- No dependencies.
-
net8.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Raiqub.Generators.InterpolationCodeWriter:
| Package | Downloads |
|---|---|
|
Raiqub.Generators.InterpolationCodeWriter.CSharp
A high-performance source text writer for .NET incremental source generators using string interpolations |
GitHub repositories
This package is not used by any popular GitHub repositories.
See https://github.com/skarllot/SourceGenerators/releases for release notes.