Trulla.SourceGenerator 1.4.2
dotnet add package Trulla.SourceGenerator --version 1.4.2
NuGet\Install-Package Trulla.SourceGenerator -Version 1.4.2
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块的 Install-Package 版本。
<PackageReference Include="Trulla.SourceGenerator" Version="1.4.2" />
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件中以引用包。
paket add Trulla.SourceGenerator --version 1.4.2
NuGet 团队不为此客户端提供支持。请联系其 维护者 以获取支持。
#r "nuget: Trulla.SourceGenerator, 1.4.2"
#r 指令可用于 F# Interactive 和 Polyglot Notebooks。将此复制到交互式工具或脚本的源代码中,以引用包。
// Install Trulla.SourceGenerator as a Cake Addin #addin nuget:?package=Trulla.SourceGenerator&version=1.4.2 // Install Trulla.SourceGenerator as a Cake Tool #tool nuget:?package=Trulla.SourceGenerator&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 使用 F# 实现。基本上,它包含一个 "真实" 语言的所有内容,比如
- 解析器
- 未类型化的 AST
- 带有求解器的类型推理
- 类型化的 AST
- 代码生成
如果您想了解更多信息,请参阅(内部结构)[./src/docs/Internals.md]。
-
.NETStandard 2.0
- Microsoft.CodeAnalysis (>= 4.7.0)
- Trulla.SourceGenerator.Core (>= 1.4.2)
NuGet 包
此包没有被任何 NuGet 包使用。
GitHub 仓库
此包没有被任何流行的 GitHub 仓库使用。
版本 | 下载 | 最后更新 |
---|---|---|
1.4.2 | 5,006 | 10/20/2023 |
1.4.1 | 1,239 | 10/18/2023 |
1.4.0-preview01 | 1,336 | 10/17/2023 |
1.3.0 | 1,391 | 9/18/2023 |
1.3.0-preview9 | 1,214 | 9/17/2023 |
1.3.0-preview8 | 1,254 | 9/17/2023 |
1.3.0-preview7 | 1,401 | 9/15/2023 |
1.3.0-preview6 | 1,406 | 9/15/2023 |
1.3.0-preview5 | 1,396 | 9/15/2023 |
1.3.0-preview4 | 1,425 | 9/15/2023 |
1.3.0-preview2 | 1,224 | 9/15/2023 |
1.3.0-preview18 | 1,396 | 9/18/2023 |
1.3.0-preview17 | 1,454 | 9/18/2023 |
1.3.0-preview16 | 1,146 | 9/18/2023 |
1.3.0-preview15 | 1,523 | 9/18/2023 |
1.3.0-preview14 | 1,393 | 9/18/2023 |
1.3.0-preview13 | 1,370 | 9/18/2023 |
1.3.0-preview12 | 1,438 | 9/18/2023 |
1.3.0-preview11 | 1,289 | 9/17/2023 |
1.3.0-preview10 | 1,379 | 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
首次发布。