Temper 0.1.1
dotnet add package Temper --version 0.1.1
NuGet\Install-Package Temper -Version 0.1.1
<PackageReference Include="Temper" Version="0.1.1" />
<PackageVersion Include="Temper" Version="0.1.1" />
<PackageReference Include="Temper" />
paket add Temper --version 0.1.1
#r "nuget: Temper, 0.1.1"
#:package Temper@0.1.1
#addin nuget:?package=Temper&version=0.1.1
#tool nuget:?package=Temper&version=0.1.1
What's going on here?
String templating is when you have some data, and by writing a template you describe how to transform that data into a piece of text. There are tons of uses for this, but especially code generation in my case.
This library is my take on string templating, with the catch that templates can also be used to parse pieces of text, and re-extract the data.
My main goals with this:
A simplified alternative to regular expressions, that can generate actual regular expressions suitable for putting in your favourite IDE's Find+Replace tool. Most Find+Replace tools allow regex support not only for matching text, but you can grab portions of the match out and dynamically replace the text. The advantage of generating them is that you can write a more readable/memorable template with meaningful variable names.
Code generation. T4 templates (and similar templating projects I found) are very powerful, but because of this only go from data → text. Part of the simple design for this project is to allow for reading a code file, changing a few bits of data, and writing back.
To-do list:
- Build a few more of the features I have in my head
- Write tests
- Write documentation
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. 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. net10.0 was computed. 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. |
-
net6.0
- FParsec (>= 1.1.1)
- FSharp.Core (>= 6.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.