#swift #编译时 #字符串字面量 # #配置文件 #包含字符串 #预编译器

nightly app swift-precompiler

Swift的预编译器,允许您使用额外的宏、包含文件等功能

6个版本

0.1.5 2024年3月9日
0.1.4 2024年3月9日
0.1.2 2024年1月13日

#239 in 编程语言

MIT 协议

20KB
267 代码行

Swift预编译器

⚡一个快速、轻量级的Swift预编译器

功能

  • 使用precompileIncludeStr函数将Rust的includeStr类似功能添加到Swift

安装

Cargo

cargo install swift-precompiler

配置

运行swift-precompiler init以初始化一个配置文件swift-precompiled.toml,其中包含默认值

可用选项

  • dirs - 一个目录数组,用于搜索需要预编译的Swift源文件
  • path_aliases - 一个路径别名字典,用于预编译调用

示例

dirs = ["Cider/", "CiderPlaybackAgent/"]

[path_aliases]
# "@" as a path alias refers to the current working directory in most cases
"@" = "./"

用法

在编译时将文件作为字符串字面量包含

let javaScript = precompileIncludeStr("path/to/file.js")

在编译时将文件作为Data包含

let image = precompileIncludeData("path/to/image.png")

运行swift-precompiler以预编译配置文件中指定的目录中的所有Swift文件

swift-precompiler precompile

您应该在.gitignore中添加Precompiled.swift

Swift预编译器使用Base64编码您的字符串,您可以使用SPM将swift-extras-base64添加到项目中,以启用更快的Base64解码。

依赖关系

~4–16MB
~166K SLoC