Files
swift-cli-doc/Sources/CliDoc/Nodes/HStack.swift

23 lines
482 B
Swift

public struct HStack: TextNode {
@usableFromInline
let content: [any TextNode]
@usableFromInline
let separator: any TextNode
@inlinable
public init(
spacing: Int = 1,
@TextBuilder content: () -> any TextNode
) {
self.content = array(from: content())
self.separator = seperator(" ", count: spacing > 0 ? spacing - 1 : 0)
}
@inlinable
public var body: some TextNode {
content.map { $0.render() }.joined(separator: separator.render())
}
}