Support swift 5.0
This commit is contained in:
23
Package@swift-5.swift
Normal file
23
Package@swift-5.swift
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
// swift-tools-version:5.0
|
||||||
|
import PackageDescription
|
||||||
|
|
||||||
|
let package = Package(
|
||||||
|
name: "Stencil",
|
||||||
|
products: [
|
||||||
|
.library(name: "Stencil", targets: ["Stencil"])
|
||||||
|
],
|
||||||
|
dependencies: [
|
||||||
|
.package(url: "https://github.com/kylef/PathKit.git", from: "0.9.0"),
|
||||||
|
.package(url: "https://github.com/kylef/Spectre.git", from: "0.9.0")
|
||||||
|
],
|
||||||
|
targets: [
|
||||||
|
.target(name: "Stencil", dependencies: [
|
||||||
|
"PathKit"
|
||||||
|
], path: "Sources"),
|
||||||
|
.testTarget(name: "StencilTests", dependencies: [
|
||||||
|
"Stencil",
|
||||||
|
"Spectre"
|
||||||
|
])
|
||||||
|
],
|
||||||
|
swiftLanguageVersions: [.v4, .v4_2, .v5]
|
||||||
|
)
|
||||||
@@ -71,9 +71,15 @@ public class VariableNode: NodeType {
|
|||||||
|
|
||||||
if hasToken("if", at: 1) {
|
if hasToken("if", at: 1) {
|
||||||
let components = components.suffix(from: 2)
|
let components = components.suffix(from: 2)
|
||||||
if let elseIndex = components.index(of: "else") {
|
#if swift(<5.0)
|
||||||
condition = try parser.compileExpression(components: Array(components.prefix(upTo: elseIndex)), token: token)
|
let elseIndex = components.index(of: "else")
|
||||||
let elseToken = components.suffix(from: elseIndex.advanced(by: 1)).joined(separator: " ")
|
#else
|
||||||
|
let elseIndex = components.firstIndex(of: "else")
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if let safeElseIndex = elseIndex {
|
||||||
|
condition = try parser.compileExpression(components: Array(components.prefix(upTo: safeElseIndex)), token: token)
|
||||||
|
let elseToken = components.suffix(from: safeElseIndex.advanced(by: 1)).joined(separator: " ")
|
||||||
elseExpression = try parser.compileResolvable(elseToken, containedIn: token)
|
elseExpression = try parser.compileResolvable(elseToken, containedIn: token)
|
||||||
} else {
|
} else {
|
||||||
condition = try parser.compileExpression(components: Array(components), token: token)
|
condition = try parser.compileExpression(components: Array(components), token: token)
|
||||||
|
|||||||
Reference in New Issue
Block a user