Protocol Concrete Properties

You can press the Esc key to trigger completion suggestions if I recall correctly.

However, I don't think that's the way to go. Even the SwiftUI team wanted to provide dot notation for View styles originally, as explained in the thread @Palle linked. To achieve that feature they provided a workaround in SwiftUI, using StaticMember (wayback machine link, since it's been removed after a few betas), a concrete wrapper for enabling implicit member expressions and thought to be used in the following way:

protocol ColorStyle {
    typealias Member = StaticMember<Self>
}

extension StaticMember where Base: ColorStyle {
    static var red: RedStyle.Member { .init(.init()) }
    static var blue: BlueStyle.Member { .init(.init()) }
}

extension View {
    func colorStyle<S: ColorStyle>(_ style: S.Member) -> some View {
        ...
    }
}

MyView().colorStyle(.red)
MyView().colorStyle(.blue)