Elide містить google-java-format 1.37.0, Netflix jfmt 0.9.0 і ktfmt 0.65. elide format запускає
форматувальники Java і Kotlin; elide javaformat і elide ktfmt запускають по одному.
elide format -- src
elide javaformat -- Hello.java src/main/java
elide ktfmt -- Hello.kt src/main/kotlinФайли й каталоги вказуються після -- і перезаписуються на місці. Для кожного файлу виводиться стан: без змін,
перезаписано, буде перезаписано або не вдалося розібрати. javaformat також приймає -i:
elide javaformat -- -i Hello.javaПеревірка форматування
-n або --dry-run після -- нічого не записує і завершується з кодом 1, якщо якийсь файл змінився б.
--set-exit-if-changed приймається; --check немає.
elide format -- -n src
elide javaformat -- -n src/main/java
elide ktfmt -- -n src/main/kotlinУ режимі перевірки два параметри Elide (перед --) показують, що зміниться:
elide format --list-files -- -n src
elide format --list-diffs -- -n src
elide format --list-diffs=5 -- -n src| Параметр | Вивід |
|---|---|
--list-files | Шляхи, які змінилися б, по одному на рядок у stdout. |
--list-diffs=N | Різниці в уніфікованому форматі (unified diff), якщо перевірку не пройшли щонайбільше N файлів, інакше шляхи. Пишіть =N, а не окреме значення. |
Обидва параметри працюють і з javaformat та ktfmt.
Прапорці форматувальника
Усе після -- передається форматувальнику, зокрема файли аргументів і перемикачі стилю (--google-style,
--kotlinlang-style, --aosp):
elide ktfmt -- --google-style @kotlin-sources.txtelide javaformat --help і elide ktfmt --help показують параметри Elide і те, як вивести довідку форматувальника.
Діалект jfmt
--jfmt форматує Java за допомогою jfmt замість google-java-format: блоки з
відступом 4 пробіли, продовження рядків з відступом 8 пробілів, без обмеження ширини, фігурні дужки навколо тіла
кожної інструкції та статичні імпорти після звичайних.
elide javaformat -- --jfmt src/main/java
elide format -- --jfmt -n srcjfmt має фіксований стиль, тому --jfmt не можна поєднувати з --aosp, --fix-imports-only, прапорцями --skip-*,
а також з --lines, --offset і --length. Власні розгортання імпортів із символом підстановки та скорочення повних
імен у jfmt не виконуються.