Flag default value: where did it come from?

Makes sense! It sounds like we need another @Flag initializer, to let you write this:

struct CLI: ParsableCommand {
    @Flag(inversion: .prefixedNo) var x: Bool?
}

You can do it today like this:

struct CLI: ParsableCommand {
    enum X: String, CaseIterable {
        case x, noX
    }

    @Flag() var _x: X?

    var x: Bool? {
        _x.map { $0 == .x }
    }
}
3 Likes