summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaximilian Bosch <maximilian@mbosch.me>2018-07-05 00:34:28 +0200
committerxeji <36407913+xeji@users.noreply.github.com>2018-07-05 00:34:28 +0200
commit4dfea241bc2d0287d1542f471637ff427e041f87 (patch)
tree02fd74c85cc8e51d542bebb7b259f16f1ddab2c9
parentc6bea115670cbcdecf03adb40fd1cd39020313d3 (diff)
downloadnixpkgs-4dfea241bc2d0287d1542f471637ff427e041f87.tar
nixpkgs-4dfea241bc2d0287d1542f471637ff427e041f87.tar.gz
nixpkgs-4dfea241bc2d0287d1542f471637ff427e041f87.tar.bz2
nixpkgs-4dfea241bc2d0287d1542f471637ff427e041f87.tar.lz
nixpkgs-4dfea241bc2d0287d1542f471637ff427e041f87.tar.xz
nixpkgs-4dfea241bc2d0287d1542f471637ff427e041f87.tar.zst
nixpkgs-4dfea241bc2d0287d1542f471637ff427e041f87.zip
gradle-completion: init at 1.3.1 (#42929)
This package adds completion scripts for `gradle` on the `bash` and
`zsh` shells.

The completions can be enabled like this:

```
{ pkgs, ... }:
{
  environment.systemPackages = [ pkgs.gradle pkgs.gradle-completion ];
  programs.zsh.enable = true;
}
```

The package stores the scripts into the expected directories in
`$out/share` to ensure that the shells can easily find their scripts.

Closes #42799
-rw-r--r--pkgs/shells/zsh/gradle-completion/default.nix35
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 37 insertions, 0 deletions
diff --git a/pkgs/shells/zsh/gradle-completion/default.nix b/pkgs/shells/zsh/gradle-completion/default.nix
new file mode 100644
index 00000000000..9a3f5ec3cc4
--- /dev/null
+++ b/pkgs/shells/zsh/gradle-completion/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "gradle-completion-${version}";
+  version = "1.3.1";
+
+  src = fetchFromGitHub {
+    owner = "gradle";
+    repo = "gradle-completion";
+    rev = "v${version}";
+    sha256 = "02vv360r78ckwc6r4xbhmy5dxz6l9ya4lq9c62zh12ciq94y9kgx";
+  };
+
+  # we just move two files into $out,
+  # this shouldn't bother Hydra.
+  preferLocalBuild = true;
+
+  dontBuild = true;
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out
+    install -Dm0644 ./_gradle $out/share/zsh/site-functions/_gradle
+    install -Dm0644 ./gradle-completion.bash $out/share/bash-completion/completions/gradle
+
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Gradle tab completion for bash and zsh";
+    homepage = https://github.com/gradle/gradle-completion;
+    license = licenses.mit;
+    maintainers = with maintainers; [ ma27 ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 3c6a19224cb..67700200d97 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6040,6 +6040,8 @@ with pkgs;
 
   bash-completion = callPackage ../shells/bash/bash-completion { };
 
+  gradle-completion = callPackage ../shells/zsh/gradle-completion { };
+
   nix-bash-completions = callPackage ../shells/bash/nix-bash-completions { };
 
   dash = callPackage ../shells/dash { };