Trulla.SourceGenerator.Core 1.4.2
dotnet add package Trulla.SourceGenerator.Core --version 1.4.2
NuGet\Install-Package Trulla.SourceGenerator.Core -Version 1.4.2
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用了 NuGet 模块的 Install-Package 版本。
<PackageReference Include="Trulla.SourceGenerator.Core" Version="1.4.2" />
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件中以便引用该软件包。
paket add Trulla.SourceGenerator.Core --version 1.4.2
NuGet 团队不提供对此客户端的支持。请联系其 管理员 以获取支持。
#r "nuget: Trulla.SourceGenerator.Core, 1.4.2"
#r 指令可用于 F# Interactive 和多语言笔记本。将其复制到交互式工具或脚本的源代码中以便引用该软件包。
// Install Trulla.SourceGenerator.Core as a Cake Addin #addin nuget:?package=Trulla.SourceGenerator.Core&version=1.4.2 // Install Trulla.SourceGenerator.Core as a Cake Tool #tool nuget:?package=Trulla.SourceGenerator.Core&version=1.4.2
NuGet 团队不提供对此客户端的支持。请联系其 管理员 以获取支持。
<p align="center"> <img src='./artwork/Original Logo.png' alt='logo' width='300' /> </p>
Trulla 模板类似于 Handlebars 或 Mustache 模板,但具有静态类型且更安全!
Trulla 方法
- 提供带有关联参数的文本模板
- 模板参数
- 迭代
- 条件语句
- 模型类型是从给定的模板推断出来的。
- 用户提供一个模型实例以渲染最终的模板。
示例和用法
通用模板语法
请查看 测试 获取更多示例!
for 循环(带分隔符号)
- 对于给定的 chars = ["a"; "b"; "c"],将会渲染 'abc'。
{{for c in chars}}{{c}}{{end}}
- 对于给定项之间的分隔符号,当 chars = ["a"; "b"; "c"] 时,将渲染 'a;b;c'。
{{for x in numbers|;}}{{x.id}}{{end}}
if/else
- 这将根据order.isActive的值打印 "订单处于活动状态。" 或 "订单已关闭。"
else
部分是可选的。
Order is {{if order.isActive}}active{{else}}closed{{end}}.
它的工作原理(内部实现)
Trulla是用FS#实现的。它基本上包含了一个“真实”语言拥有的所有功能,如下:
- 解析器
- 无类型AST
- 具有求解器的类型推断
- 有类型AST
- 代码生成
如果您想了解更多信息,请参阅(内部实现)[./src/docs/Internals.md]。
产品 | 版本 兼容和额外的计算目标框架版本。 |
---|---|
.NET | net5.0已计算。 net5.0-windows已计算。 net6.0已计算。 net6.0-android已计算。 net6.0-ios已计算。 net6.0-maccatalyst已计算。 net6.0-macos已计算。 net6.0-tvos已计算。 net6.0-windows已计算。 net7.0已计算。 net7.0-android已计算。 net7.0-ios已计算。 net7.0-maccatalyst已计算。 net7.0-macos已计算。 net7.0-tvos已计算。 net7.0-windows已计算。 net8.0已计算。 net8.0-android已计算。 net8.0-browser已计算。 net8.0-ios已计算。 net8.0-maccatalyst已计算。 net8.0-macos已计算。 net8.0-tvos已计算。 net8.0-windows已计算。 |
.NET Core | netcoreapp2.0已计算。 netcoreapp2.1已计算。 netcoreapp2.2已计算。 netcoreapp3.0已计算。 netcoreapp3.1已计算。 |
.NET Standard | netstandard2.0 兼容。 netstandard2.1 已计算。 |
.NET 框架 | net461 已计算。 net462 已计算。 net463 已计算。 net47 已计算。 net471 已计算。 net472 已计算。 net48 已计算。 net481 已计算。 |
MonoAndroid | monoandroid 已计算。 |
MonoMac | monomac 已计算。 |
MonoTouch | monotouch 已计算。 |
Tizen | tizen40 已计算。 tizen60 已计算。 |
Xamarin.iOS | xamarinios 已计算。 |
Xamarin.Mac | xamarinmac 已计算。 |
Xamarin.TVOS | xamarintvos 已计算。 |
Xamarin.WatchOS | xamarinwatchos 已计算。 |
-
.NETStandard 2.0
- FSharp.Core (≥ 6.0.7)
- Microsoft.CodeAnalysis (≥ 4.7.0)
NuGet 包 (1)
显示依赖于 Trulla.SourceGenerator.Core 的 top 1 个 NuGet 包
包 | 下载 |
---|---|
Trulla.SourceGenerator
一个强类型文本模板源生成器。 |
GitHub 仓库
该包没有被任何流行的 GitHub 仓库使用。
版本 | 下载 | 最后更新 |
---|---|---|
1.4.2 | 1,307 | 10/20/2023 |
1.4.1 | 1,091 | 10/18/2023 |
1.4.0-preview01 | 1,170 | 10/17/2023 |
1.3.0 | 2,994 | 9/18/2023 |
1.3.0-preview7 | 1,287 | 9/15/2023 |
1.3.0-preview6 | 3,713 | 9/15/2023 |
1.3.0-preview18 | 1,233 | 9/18/2023 |
1.3.0-preview17 | 1,283 | 9/18/2023 |
1.3.0-preview16 | 992 | 9/18/2023 |
1.3.0-preview15 | 1,342 | 9/18/2023 |
1.3.0-preview14 | 1,218 | 9/18/2023 |
1.3.0-preview13 | 1,236 | 9/18/2023 |
1.3.0-preview12 | 1,341 | 9/18/2023 |
1.3.0-preview11 | 1,148 | 9/17/2023 |
1.3.0-preview10 | 1,268 | 9/17/2023 |
1.4.0
- 使用 TheBlunt 代替 FParsec
1.3.0
- 添加 C# 源生成器
1.2.1
- 在 `for` 循环中添加可选分隔符
1.1.1
- 移除 "实验性" 通知
1.1.0
- 重新访问 / 重命名为 "Trulla"
1.0.1
#5: 不要对 FSharp.Core 7 进行引用
#6: 构造函数参数的稳定排序
1.0.0
初次发布。