summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2023-09-28 21:08:32 +0300
committerEfraim Flashner <efraim@flashner.co.il>2023-09-28 21:17:20 +0300
commit36094ba02106aac27c464a9ebb1b9d34f017315d (patch)
tree4a8c98956d9d57c8254dd782cf009aecfe334efb /gnu/packages
parent5b1897134877330e645ca572b93a50bb26ffb500 (diff)
downloadguix-36094ba02106aac27c464a9ebb1b9d34f017315d.tar.gz
gnu: just: Install shell completions.
* gnu/packages/rust-apps.scm (just)[arguments]: Add a phase to install
the shell completions.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/rust-apps.scm23
1 files changed, 22 insertions, 1 deletions
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index 7a5760a396..894173b7dd 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -806,7 +806,28 @@ bar.  It is also compatible with sway.")
            (lambda* (#:key outputs #:allow-other-keys)
              (install-file "man/just.1"
                            (string-append (assoc-ref outputs "out")
-                                          "/share/man/man1")))))))
+                                          "/share/man/man1"))))
+         (add-after 'install 'install-completions
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (share (string-append out "/share"))
+                    (just (string-append out "/bin/just")))
+               (mkdir-p (string-append share "/bash-completion/completions"))
+               (with-output-to-file
+                 (string-append share "/bash-completion/completions/just")
+                 (lambda _ (invoke just "--completions" "bash")))
+               (mkdir-p (string-append share "/fish/vendor_completions.d"))
+               (with-output-to-file
+                 (string-append share "/fish/vendor_completions.d/just.fish")
+                 (lambda _ (invoke just "--completions" "fish")))
+               (mkdir-p (string-append share "/zsh/site-functions"))
+               (with-output-to-file
+                 (string-append share "/zsh/site-functions/_just")
+                 (lambda _ (invoke just "--completions" "zsh")))
+               (mkdir-p (string-append share "/elvish/lib"))
+               (with-output-to-file
+                 (string-append share "/elvish/lib/just")
+                 (lambda _ (invoke just "--completions" "elvish")))))))))
     (home-page "https://github.com/casey/just")
     (synopsis "Just a command runner")
     (description "This package provides @code{just}, a command runner.