À propos du projet

SwiftFormat est une bibliothèque de code et un outil en ligne de commande pour reformater le code Swift sur macOS, Linux ou Windows. Au-delà du simple ajustement des espaces, il peut insérer ou supprimer le `self` implicite, supprimer les parenthèses redondantes et corriger de nombreux autres écarts par rapport aux idiomes Swift standard. La motivation déclarée du projet est que s'accorder sur un style de codage commun facilite la collaboration, mais l'appliquer manuellement est fastidieux et source d'erreurs. Un formateur automatisé permet aux équipes de se concentrer sur le comportement du code plutôt que sur sa présentation. Façons de l'utiliser : - Outil en ligne de commande, exécuté manuellement ou dans le cadre d'une chaîne d'outils - Extension Xcode Source Editor, invoquée via le menu Editor > SwiftFormat - Phase de build Xcode, exécutée à chaque build - Hook Git pre-commit, formatant les fichiers modifiés avant le commit - Plugin de commande Swift Package Manager (Swift 5.6+) - Intégrations pour VSCode (via Run on Save), Sublime Text et Nova - GitHub Actions, Danger sur CI, Bazel, Docker et AppleScript Les options d'installation incluent Homebrew (`brew install swiftformat`), Mint, Nix/nixpkgs, CocoaPods, un artifactbundle binaire dans Package.swift, ou une compilation manuelle avec `swift build -c release`. L'extension Xcode est disponible sous forme de cask Homebrew ou depuis GitHub Releases. L'utilisation de base est `swiftformat .` pour formater les fichiers Swift du répertoire courant. Le README avertit que cela écrase les fichiers sur place, les utilisateurs doivent donc committer leurs modifications au préalable ; `--infer-options` peut suggérer des réglages correspondant au style existant d'un projet. La redirection via entrée/sortie standard est prise en charge, y compris `--stdin-path` pour fournir le contexte de l'emplacement du fichier. La configuration couvre les options, les règles, la version de Swift, un fichier de configuration `.swiftformat`, les globs, le mode lint, les codes d'erreur, la mise en cache, les en-têtes de fichiers et le formatage Markdown. Le README inclut également une FAQ, les problèmes connus, un pot à pourboires et les crédits. Le projet est sous licence MIT.