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                
#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                

<p align="center"> <img src='./artwork/Original Logo.png' alt='logo' width='300' /> </p>

Trulla 模板类似于 Handlebars 或 Mustache 模板,但具有静态类型和安全性!

C# 源生成器: NuGet 徽章

F# 类型提供者: NuGet 徽章

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]。

此包中不支持框架资产。

了解更多关于 目标框架.NET 标准化 的信息。

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
     首次发布。