swiftlint autocorrect
で自動修正してくれなかったので、rubyで自作しました。
以下の変換を行います。
- CGRectMake → CGRect
- CGPointMake → CGPoint
# ! /usr/bin/ruby
#
# # usage
#
# chmod +x replace.rb
# ./replace.rb ./hoge.swift > out.swift
#
file_path = File.absolute_path(ARGV[0].to_s)
unless File.exists? file_path
abort "ファイルが存在しません. file_path = #{file_path}"
end
f = File.open(file_path, "r")
out = []
f.each_line do |line|
line = line.gsub(/CGRectMake\((.+?), (.+?), (.+?), (.+?)\)/ , 'CGRect(x: \1, y: \2, width: \3, height: \4)')
line = line.gsub(/CGPointMake\((.+?), (.+?)\)/, 'CGPoint(x: \1, y: \2)')
out << line
end
print out.join()
追記
コメントで指摘を頂きましたが、以下のようなコードに対して実行すると壊れるので注意してください。
CGRectMake(someFunctionToGetX(hoge, fuga), anotherFunction(hoge, fuga), 100, 100)