guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

03/08: gnu: git-annex: Add shell completions.


From: guix-commits
Subject: 03/08: gnu: git-annex: Add shell completions.
Date: Sun, 19 Nov 2023 03:50:31 -0500 (EST)

efraim pushed a commit to branch master
in repository guix.

commit 7c5d4031c9572e51f64ba82cc909aa2ffdeda47e
Author: Efraim Flashner <efraim@flashner.co.il>
AuthorDate: Sun Nov 19 10:02:16 2023 +0200

    gnu: git-annex: Add shell completions.
    
    * gnu/packages/haskell-apps.scm (git-annex)[arguments]: Rename
    'install-manpages to 'install-more and install the shell completions.
    
    Change-Id: I3c5707037ba9b3c3903dd37c334c1eb6dca929e2
---
 gnu/packages/haskell-apps.scm | 23 ++++++++++++++++++++---
 1 file changed, 20 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm
index e265dc0e7b..ad8c2a0757 100644
--- a/gnu/packages/haskell-apps.scm
+++ b/gnu/packages/haskell-apps.scm
@@ -368,10 +368,27 @@ to @code{cabal repl}).")
              ;; Undo `patch-shell-for-tests'.
              (copy-file "/tmp/Shell.hs" "Utility/Shell.hs")
              (apply (assoc-ref %standard-phases 'build) args)))
-         (add-after 'install 'install-manpages
+         (add-after 'install 'install-more
            (lambda* (#:key outputs #:allow-other-keys)
-             (setenv "PREFIX" (assoc-ref outputs "out"))
-             (invoke "make" "install-mans")))
+             (let* ((out (assoc-ref outputs "out"))
+                    (bash (string-append out "/etc/bash_completions.d"))
+                    (fish (string-append out 
"/share/fish/vendor_completions.d"))
+                    (zsh (string-append out "/share/zsh/site-functions")))
+             (setenv "PREFIX" out)
+             (invoke "make" "install-mans")
+             (mkdir-p bash)
+             (copy-file "bash-completion.bash"
+                        (string-append bash "/git-annex"))
+             (mkdir-p fish)
+             (with-output-to-file (string-append fish "/git-annex.fish")
+               (lambda _
+                 (invoke (string-append out "/bin/git-annex")
+                         "--fish-completion-script" "git-annex")))
+             (mkdir-p zsh)
+             (with-output-to-file (string-append zsh "/_git-annex")
+               (lambda _
+                 (invoke (string-append out "/bin/git-annex")
+                         "--zsh-completion-script" "git-annex"))))))
          (add-after 'install 'install-symlinks
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]