func main()

in Sources/sh-parser/main.swift [173:204]


func main() {
    do {
        let flags = Flags()
        var data = FileHandle.standardInput.readDataToEndOfFile()

        // We need to strip trailing newlines.
        var index = data.endIndex
        while index > data.startIndex {
            data.formIndex(before: &index)
            if data[index] != UInt8(ascii: "\n") {
                break
            }
        }
        data = data[...index]
        var parser = StructuredFieldValueParser(data)

        let result: Header
        switch flags.headerType {
        case .dictionary:
            result = .dictionary(try parser.parseDictionaryFieldValue())
        case .list:
            result = .list(try parser.parseListFieldValue())
        case .item:
            result = .item(try parser.parseItemFieldValue())
        }

        result.prettyPrint()
    } catch {
        print("error: \(error)")
        exit(1)
    }
}