Skip to content

[WIP] Swift Format

stv-ekushida edited this page Jan 12, 2018 · 2 revisions

下記のライブラリを利用し、コードを整形する

https://github.com/nicklockwood/SwiftFormat

導入

インストール

brew install swiftformat

設定

commit時にSwiftFormatが実行されるようにする。
.git/hooks/pre-commitに下記を記載することで実行させる。

#!/bin/bash
 git diff --staged --name-only | grep -e '\(.*\).swift$' | while read line; do
   swiftformat ${line};
   git add $line;
 done

使い方

commitすると、「swiftformat .」が実行される

一部のルールを無効にしたい場合

swiftformat . --disable <ルール1> <ルール2>

一部のルールを有効にしたい場合

swiftformat . --enable <ルール1> <ルール2<

ルールの一覧

swiftformat --rules

ルール 説明
blankLinesAroundMark MARKコメントの前に空白行を追加する
blankLinesAtEndOfScope 閉じ括弧の空白行を削除する
blankLinesBetweenScopes クラス、構造体、列挙型、プロトコル、関数の前に空白行を追加する
braces 字下げのスタイルをカーネルスタイルにする
consecutiveBlankLines 複数行の空白行を削除する
consecutiveSpaces 連続するスペースを1スペースにする
elseOnSameLine else、catch、whileのキーワードを同じ行に書くか決める
fileHeader XCodeが自動生成したコメントの置換または、削除できる
hoistPatternLet
indent インデントを調整する(タブまたは、空白)
linebreakAtEndOfFile ファイルの最終行が空行にする
linebreaks
numberFormatting
ranges
redundantBackticks
redundantGet
redundantInit
redundantLet
redundantNilInit
redundantParens
redundantPattern
redundantRawValues
redundantReturn
redundantSelf
redundantVoidReturnType
semicolons
sortedImports
spaceAroundBraces
spaceAroundBrackets
spaceAroundComments
spaceAroundGenerics
spaceAroundOperators
spaceAroundParens
spaceInsideBraces
spaceInsideBrackets
spaceInsideComments
spaceInsideGenerics
spaceInsideParens
specifiers
strongOutlets
todos
trailingClosures (disabled)
trailingCommas
trailingSpace
unusedArguments
void
wrapArguments
Clone this wiki locally