From a8e4970af6005a4339a14f2e46fa30ee270ae933 Mon Sep 17 00:00:00 2001 From: Aaron Jheng Date: Fri, 3 Apr 2026 09:36:46 +0800 Subject: [PATCH] swift-format: add shell completions support Add shell completions for bash, zsh, and fish using swift-format's built-in --generate-completion-script flag. --- .../compilers/swift/swift-format/default.nix | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/pkgs/development/compilers/swift/swift-format/default.nix b/pkgs/development/compilers/swift/swift-format/default.nix index f1d435a6cca5..adb76e7a359a 100644 --- a/pkgs/development/compilers/swift/swift-format/default.nix +++ b/pkgs/development/compilers/swift/swift-format/default.nix @@ -1,11 +1,11 @@ { lib, stdenv, - fetchpatch, callPackage, swift, swiftpm, swiftpm2nix, + installShellFiles, Dispatch, Foundation, }: @@ -22,6 +22,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ swift swiftpm + installShellFiles ]; buildInputs = [ Foundation ]; @@ -38,6 +39,16 @@ stdenv.mkDerivation { binPath="$(swiftpmBinPath)" mkdir -p $out/bin cp $binPath/swift-format $out/bin/ + + # Generate shell completions + for shell in bash zsh fish; do + $out/bin/swift-format --generate-completion-script $shell > swift-format.$shell + done + + installShellCompletion --cmd swift-format \ + --bash swift-format.bash \ + --zsh swift-format.zsh \ + --fish swift-format.fish ''; meta = {