Custom File Format Definition

🧩 Syntax:
struct StringFile: FileDocument
{
    static var readableContentTypes: [UTType] { [.homebrewBackup, .plainText] }
    static var writableContentTypes: [UTType] { [.homebrewBackup] }

    var text: String

    init(initialText: String = "")
    {
        text = initialText
    }

    init(configuration: ReadConfiguration) throws
    {
        guard let data = configuration.file.regularFileContents,
              let string = String(data: data, encoding: .utf8)
        else
        {
            throw CocoaError(.fileReadCorruptFile)
        }
        text = string
    }

    func fileWrapper(configuration _: WriteConfiguration) throws -> FileWrapper
    {
        let data = text.data(using: .utf8)
        return FileWrapper(regularFileWithContents: data ?? Data())
    }
}