LagDaemon.Templates.FSharp
1.0.2
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package LagDaemon.Templates.FSharp --version 1.0.2
NuGet\Install-Package LagDaemon.Templates.FSharp -Version 1.0.2
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="LagDaemon.Templates.FSharp" Version="1.0.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add LagDaemon.Templates.FSharp --version 1.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: LagDaemon.Templates.FSharp, 1.0.2"
#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 LagDaemon.Templates.FSharp as a Cake Addin #addin nuget:?package=LagDaemon.Templates.FSharp&version=1.0.2 // Install LagDaemon.Templates.FSharp as a Cake Tool #tool nuget:?package=LagDaemon.Templates.FSharp&version=1.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
LagDaemon.Templates
An F# utility for processing templates
open System
open LagDaemon.Templates.TemplateParser
[<EntryPoint>]
let main argv =
let replacers : (string * Replacer) list = [
("date", Replacer (fun cmd prms ->
match prms with
| [] -> DateTime.Now.Date.ToString()
| h::_ -> DateTime.Now.Date.ToString(h)
)
)
("time", Replacer (fun cmd prms ->
match prms with
| [] -> DateTime.Now.TimeOfDay.ToString()
| h::_ -> DateTime.Now.TimeOfDay.ToString(h)
)
)
("datetime", Replacer (fun cmd prms ->
match prms with
| [] -> DateTime.Now.ToString()
| h::_ -> DateTime.Now.ToString(h)
)
)
("user", Replacer (fun cmd prms -> "Dave" ))
("system", Replacer (fun cmd prms -> "LagDaemon MUD" ))
]
let map = addList (ReplacementMap.create()) replacers
let template = @"
Hello {|user|},
Today, {|date(dd/MM/yy)|}, we {had} some interesting things happen.
I am writing this at {|time(hh\:mm\:ss)|} and it will take me
a few minutes. And (parentetically speaking, braces not allowed).
Bill - {|datetime(dddd, dd MMMM yyyy)|}
{|system()|}
*&^%$#^%$*&^%)*)(*^*&^^%$##@$#*&^(*)(*&)&_&(*
"
let text = processString template map
printfn "%s" text
0 // return an integer exit code
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net472 is compatible. net48 was computed. net481 was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETFramework 4.7.2
- FParsec (>= 1.0.3)
- FParsec-Pipes (>= 1.1.1)
- FSharp.Core (>= 4.7.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Corrected a bug in the parsing that appeared after changing to .net 4.72. FParsec has an issue with Net Standard 1.6 and framework 4.7.2