Update, March 2022: As of macOS 12.3, Aegisub r9198 and v3.3.2 (wangqr fork) no longer crash on launch.
ver. 9018-rcombs-local-6a556aac6: https://elifessler.com/aegi/6a556aa-Aegisub.app.zip (129.6 MB, built 2021-12-23)
Update, March 2022: As of macOS 12.3, Aegisub r9198 and v3.3.2 (wangqr fork) no longer crash on launch.
ver. 9018-rcombs-local-6a556aac6: https://elifessler.com/aegi/6a556aa-Aegisub.app.zip (129.6 MB, built 2021-12-23)
protocol CustomKeyCodable: Codable { | |
static var keyEncodingStrategy: ([CodingKey]) -> CodingKey { get } | |
static var keyDecodingStrategy: ([CodingKey]) -> CodingKey { get } | |
init() | |
} | |
extension CustomKeyCodable { | |
init(from decoder: Decoder) throws { | |
self.init() |
struct User: Equatable { | |
var firstName: String | |
var lastName: String | |
} | |
@main | |
struct MyApp: App { | |
@State var value = User(firstName: "", lastName: "") | |
@State var showEdit = false | |
Marlin/Configuration{,_adv}.h
)
nvim -d {Marlin,config/Artillery/Genius}/Configuration.h
, same for Configuration_adv.h
LIN_ADVANCE
instead of S_CURVE_ACCELERATION
(don't work together)TFT-config.ini
)
extension Publisher { | |
func asResult() -> AnyPublisher<Result<Output, Failure>, Never> { | |
return map(Result.success) | |
.catch { Just(Result.failure($0)) } | |
.eraseToAnyPublisher() | |
} | |
} | |
extension Publisher { | |
func values<S, F: Error>() -> AnyPublisher<S, Never> where Output == Result<S, F>, Failure == Never { |
import Foundation | |
import SwiftUI | |
let isUITesting = /* your UI test detection here */ | |
@main | |
struct EntryPoint { | |
static func main() { | |
if isUITesting { | |
UITestApp.main() |
import UIKit | |
#if canImport(SwiftUI) && DEBUG | |
import SwiftUI | |
struct UIViewControllerPreview<ViewController: UIViewController>: UIViewControllerRepresentable { | |
let viewController: ViewController | |
init(_ builder: @escaping () -> ViewController) { | |
viewController = builder() | |
} |
extension UITapGestureRecognizer { | |
func didTapAttributedTextInLabel(label: UILabel, inRange targetRange: NSRange) -> Bool { | |
// Create instances of NSLayoutManager, NSTextContainer and NSTextStorage | |
let layoutManager = NSLayoutManager() | |
let textContainer = NSTextContainer(size: CGSize.zero) | |
let textStorage = NSTextStorage(attributedString: label.attributedText!) | |
// Configure layoutManager and textStorage | |
layoutManager.addTextContainer(textContainer) |
Installation procedure for pre-build actions to automatically populate Xcode Info.plist with dynamic data.
Edit Xcode Scheme and add a pre-action script.
Copy the contents of preaction.sh
into the pre-action script box.