diff options
author | Alex Kost <alezost@gmail.com> | 2016-04-01 00:07:33 +0300 |
---|---|---|
committer | Alex Kost <alezost@gmail.com> | 2016-04-18 10:09:01 +0300 |
commit | b4ea535a9f0382f3575fdeb3b2eb1cc7cfc37cd4 (patch) | |
tree | 377f4156c3c6e51dcf9c2cbaa80124f83aafec02 /emacs/guix-messages.el | |
parent | 9bb46c155b463029f3da84d1b146efa79785a4ac (diff) | |
download | guix-b4ea535a9f0382f3575fdeb3b2eb1cc7cfc37cd4.tar guix-b4ea535a9f0382f3575fdeb3b2eb1cc7cfc37cd4.tar.gz |
emacs: Add 'guix-packages-by-location' command.
* emacs/guix-main.scm (packages-by-location-file, package-location-files):
New procedures.
(%patterns-makers): Add 'location' search type.
* emacs/guix-messages.el (guix-message-packages-by-location): New procedure.
(guix-messages): Use it.
* emacs/guix-read.el (guix-package-locations)
(guix-read-package-location): New procedures.
* emacs/guix-ui-package.el (guix-packages-by-location): New command.
* doc/emacs.texi (Emacs Commands): Document it.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'emacs/guix-messages.el')
-rw-r--r-- | emacs/guix-messages.el | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/emacs/guix-messages.el b/emacs/guix-messages.el index de0331fff8..7ebe7e8b5c 100644 --- a/emacs/guix-messages.el +++ b/emacs/guix-messages.el @@ -40,6 +40,10 @@ ,(lambda (_ entries licenses) (apply #'guix-message-packages-by-license entries 'package licenses))) + (location + ,(lambda (_ entries locations) + (apply #'guix-message-packages-by-location + entries 'package locations))) (regexp (0 "No packages matching '%s'." val) (1 "A single package matching '%s'." val) @@ -72,6 +76,10 @@ ,(lambda (_ entries licenses) (apply #'guix-message-packages-by-license entries 'output licenses))) + (location + ,(lambda (_ entries locations) + (apply #'guix-message-packages-by-location + entries 'output locations))) (regexp (0 "No package outputs matching '%s'." val) (1 "A single package output matching '%s'." val) @@ -174,6 +182,13 @@ Try \"M-x guix-search-by-name\"." (str-end (format "with license '%s'" license))) (message "%s %s." str-beg str-end))) +(defun guix-message-packages-by-location (entries entry-type location) + "Display a message for packages or outputs searched by LOCATION." + (let* ((count (length entries)) + (str-beg (guix-message-string-entries count entry-type)) + (str-end (format "placed in '%s'" location))) + (message "%s %s." str-beg str-end))) + (defun guix-message-generations-by-time (profile entries times) "Display a message for generations searched by TIMES." (let* ((count (length entries)) |