1

有一个 Leaf 版本,我用来从我的 Vapor 项目加载 .html 文件而不是 .leaf 文件,这将使这些相同文件的语法着色自动完成。

Leaf 的版本是4.0.0-tau.1,LeafKit 的版本是1.0.0-tau.1.1

使用这个特定版本时,我可以通过configure.swift这种方式在文件中设置叶子:

/// Change the classic .leaf extension to .html for the syntax
/// coloring option of Xcode to work each time the app is being load up.
fileprivate func leaf(_ app: Application) {
  if !app.environment.isRelease {
    LeafRenderer.Option.caching = .bypass  // Another issue from the update
  }
  let detected = LeafEngine.rootDirectory ?? app.directory.viewsDirectory
  LeafEngine.rootDirectory = detected
  LeafEngine.sources = .singleSource(
    NIOLeafFiles(fileio: app.fileio,
                 limits: .default,
                 sandboxDirectory: detected,
                 viewDirectory: detected,
                 defaultExtension: "html"))
  app.views.use(.leaf)
}

在此代码中,LeafRenderer.Option.caching = .bypass和 使用的代码在将 Leaf 更新为和 LeafKitLeafEngine更新为 后不再工作。4.1.31.3.1

如何使用更新的 Leaf 和 LeafKit 框架成功地使此代码像以前一样工作?

4

1 回答 1

2

你可以使用这个 Xcode 插件: https ://github.com/OmranK/VaporLeafPlugIn

它为 Xcode IDE 添加了 Vapor Leaf 语言支持。为 Leaf 标签和带有自动缩进的 HTML 标签提供语法高亮。

目前该插件支持最高 13.2 beta 的 Xcode。未来的 Xcode 版本将需要小更新(添加新的 DVTPlugInCompatibilityUUID),但即使在已安装的插件上也可以轻松处理。

于 2021-11-03T15:22:57.007 回答