A little cli tool to help you fill your variables type.
And add private final attribute to @IBAction, @IBOutlet, and @objc.(Rewriting ...)
brew install make
make installswift build -c release
cp .build/release/typefill /usr/local/binbrew install mint
mint install yume190/TypeFilltypefill single --sdk macosx --file PATH/TO/sample.swift
typefill spm --module TypeFillKit --file .
typefill project --module YOUR_SCHEME --file PATH/TO/YOUR.xcodeproj
typefill workspace --module YOUR_SCHEME --file PATH/TO/YOUR.xcworkspace- typefill variables like
let a = 1orvar a = "1". - typefill keyword like
let ``default`` = 1. - typefill
guard letandif let. - typefill some closure input.
{ a, b in }{ (a, b) in }
- typefill binding tuple
let (aa, bb) = (1, 2) - typefill
inout - typefill closure output.
-
addprivate finalattribute to@IBAction/@IBOutlet/@objcby using--ibaction/--iboutlet/--objc.(Rewriting)
private lazy var chartHeight: [CGFloat] = {
return self.status.sensorData?.compactMap { sensor -> CGFloat in
guard let _chartType = sensor.chart?.type else { return 0 }
}
}()let a = 1
var b = a
let (c, d) = (1, 2)
struct Test {
let a, b: Int
let c = 1, d = 2
}let a: Int = 1
var b: Int = a
let (c, d): (Int, Int) = (1, 2)
struct Test {
let a: Int, b: Int
let c: Int = 1, d: Int = 2
}let a: Int? = nil
if let aa = a {}
guard let aa = a else {return}let a: Int? = nil
if let aa: Int = a {}
guard let aa: Int = a else {return}let a: (Int, Int) -> String = { a, b -> String in
return ""
}
let b: (Int, Int) -> String = { (a, b) -> String in
return ""
}let a: (Int, Int) -> String = { (a: Int, b: Int) -> String in
return ""
}
let b: (Int, Int) -> String = { (a: Int, b: Int) -> String in
return ""
}let a: (inout Int) -> Int = { i in
return i
}MIT licensed.
