SwiftSyntaxMacroExpansion 509.1.0

SwiftSyntaxMacroExpansion 509.1.0

SwiftyLab 维护。



 
依赖项
SwiftSyntaxLib= 509.1.0
SwiftSyntaxBuilder= 509.1.0
SwiftSyntaxMacros= 509.1.0
SwiftDiagnostics= 509.1.0
SwiftOperators= 509.1.0
 

SwiftSyntax

SwiftSyntax 是一组 Swift 库,用于解析、检查、生成和转换 Swift 源代码。

文档

您可以在 swiftpackageindex.com 阅读关于 SwiftSyntax 的文档。

通过 https://swift-ast-explorer.com 交互式地探索源文件的 SwiftSyntax 树是一个很好的方式,该工具由 @kishikawakatsumi 开发。

将 SwiftSyntax 添加为依赖项

主干开发(主要分支)

SwiftSyntax的主线分支跟踪最新的开发。它不是一个官方版本,API和行为可能会快速变化。要使用它,请将此存储库添加到项目的Package.swift清单中

// swift-tools-version:5.7
import PackageDescription

let package = Package(
  name: "MyTool",
  dependencies: [
    .package(url: "https://github.com/apple/swift-syntax.git", branch: "main"),
  ],
  targets: [
    .target(name: "MyTool", dependencies: [
      .product(name: "SwiftSyntax", package: "swift-syntax"),
    ]),
  ]
)

主线SwiftSyntax还包括

  • SwiftParser,用于本地解析源代码
  • SwiftOperators,用于折叠包含运算符的SwiftSyntax树
  • SwiftSyntaxBuilder,用于通过结果构建器样式接口生成Swift代码
  • SwiftSyntaxMacros,用于提供语法宏支持

版本发布

SwiftSyntax的版本发布与相应的语言和工具版本保持一致,并且是稳定的。要使用它们,请将此存储库添加到项目的Package.swift清单中

// swift-tools-version:5.7
import PackageDescription

let package = Package(
  name: "MyTool",
  dependencies: [
    .package(url: "https://github.com/apple/swift-syntax.git", exact: "<#Specify Release tag#>"),
  ],
  targets: [
    .target(name: "MyTool", dependencies: [
      .product(name: "SwiftSyntax", package: "swift-syntax"),
    ]),
  ]
)

请将<#Specify Release tag#>替换为你希望使用的主干版本(以下表格提供映射详情)。

Xcode版本发布 Swift版本标签 SwiftSyntax版本标签
Xcode 14.3 swift-5.8-RELEASE 508.0.0
Xcode 14.0 swift-5.7-RELEASE 0.50700.1
Xcode 13.3 swift-5.6-RELEASE 0.50600.1
Xcode 13.0 swift-5.5-RELEASE 0.50500.0
Xcode 12.5 swift-5.4-RELEASE 0.50400.0
Xcode 12.0 swift-5.3-RELEASE 0.50300.0
Xcode 11.4 swift-5.2-RELEASE 0.50200.0

文档

SwiftSyntax使用DocC捆绑包来创建其文档。要查看Xcode中的渲染文档,打开SwiftSyntax包并选择

Product > Build Documentation

相关文章采用markdown编写,可以在浏览器、文本编辑器或IDE中查看。

贡献

开始为 SwiftSyntax 贡献代码,请查看此指南了解更多信息。

报告问题

如果在使用 SwiftSyntax 时遇到任何问题,我们赞赏您在 GitHub Issue 上提交的虫虫报告。

Bazel

SwiftSyntax 提供了一个实验性的 Bazel 构建配置,由 Keith Smiley 维护。要使用它,您可以从相关发布标签中拉取源存档到您的 WORKSPACE,并在 BUILD.bazel 文件中依赖所需的库。每个库还都有一个相关的 Library_opt 目标(例如 SwiftSyntax_opt),这会强制 SwiftSyntax 总是启用优化来构建。这可能有助于本地运行时性能,但可能会牺牲调试性和初始构建时间。请将任何与 Bazel 配置相关的问题标记为标签 "Bazel"。

许可证

请参阅LICENSE以获取更多信息。