diff options
author | Alex Kost <alezost@gmail.com> | 2016-04-02 11:04:59 +0300 |
---|---|---|
committer | Alex Kost <alezost@gmail.com> | 2016-04-18 10:09:02 +0300 |
commit | 690c055b0816608e4bf740d4e931f3810e6ed120 (patch) | |
tree | 43efdb4e03a4173b64898feb1a1ae6f3fca12f7e /emacs | |
parent | b4b9975d4abf8ee7d4f3762e5e6aea656cbeb61f (diff) | |
download | guix-690c055b0816608e4bf740d4e931f3810e6ed120.tar guix-690c055b0816608e4bf740d4e931f3810e6ed120.tar.gz |
emacs: Add location "Packages" button to Package Info buffer.
* emacs/guix-ui-package.el (guix-package-info-insert-location): New
procedure.
(guix-package-info-format): Use it.
(guix-output-info-format): Likewise.
Diffstat (limited to 'emacs')
-rw-r--r-- | emacs/guix-ui-package.el | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/emacs/guix-ui-package.el b/emacs/guix-ui-package.el index 966fc9c5f6..7e20b32a06 100644 --- a/emacs/guix-ui-package.el +++ b/emacs/guix-ui-package.el @@ -223,7 +223,7 @@ ENTRIES is a list of package entries to get info about packages." ignore (outputs simple guix-package-info-insert-outputs) (source simple guix-package-info-insert-source) - (location format (format guix-package-location)) + (location simple guix-package-info-insert-location) (home-url format (format guix-url)) (license format (format guix-package-license)) (systems format guix-package-info-insert-systems) @@ -383,6 +383,22 @@ formatted with this string, an action button is inserted.") 'guix-package-heading 'spec (guix-package-entry->name-specification entry))) +(defun guix-package-info-insert-location (location &optional _) + "Insert package LOCATION at point." + (if (null location) + (guix-format-insert nil) + (let ((location-file (car (split-string location ":")))) + (guix-info-insert-value-indent location 'guix-package-location) + (guix-info-insert-indent) + (guix-info-insert-action-button + "Packages" + (lambda (btn) + (guix-package-get-display (guix-ui-current-profile) + 'location + (button-get btn 'location))) + (format "Display packages from location '%s'" location-file) + 'location location-file)))) + (defun guix-package-info-insert-systems (systems entry) "Insert supported package SYSTEMS at point." (guix-info-insert-value-format @@ -798,7 +814,7 @@ for all ARGS." (source simple guix-package-info-insert-source) (path simple (indent guix-file)) (dependencies simple (indent guix-file)) - (location format (format guix-package-location)) + (location simple guix-package-info-insert-location) (home-url format (format guix-url)) (license format (format guix-package-license)) (systems format guix-package-info-insert-systems) |