emacs: Buttonize licenses in "Package Info".

* emacs/guix-ui-package.el (guix-package-license): New button type.
  (guix-package-info-format, guix-output-info-format): Use it.
* doc/emacs.texi (Emacs Info buffer): Mention it.
This commit is contained in:
Alex Kost 2016-01-19 22:16:20 +03:00
parent 71310ccc56
commit cefb7aea9d
2 changed files with 11 additions and 2 deletions

View File

@ -355,6 +355,7 @@ emacs, The GNU Emacs Manual}) which can be used to:
@item install/remove a package;
@item jump to a package location;
@item browse home page of a package;
@item browse license URL;
@item describe packages from ``Inputs'' fields.
@end itemize

View File

@ -35,6 +35,7 @@
(require 'guix-entry)
(require 'guix-utils)
(require 'guix-hydra-build)
(require 'guix-license)
(guix-ui-define-entry-type package)
(guix-ui-define-entry-type output)
@ -220,7 +221,7 @@ ENTRIES is a list of package entries to get info about packages."
(source simple guix-package-info-insert-source)
(location format (format guix-package-location))
(home-url format (format guix-url))
(license format (format guix-package-info-license))
(license format (format guix-package-license))
(systems format guix-package-info-insert-systems)
(inputs format (format guix-package-input))
(native-inputs format (format guix-package-native-input))
@ -338,6 +339,13 @@ formatted with this string, an action button is inserted.")
'action (lambda (btn)
(guix-find-location (button-label btn))))
(define-button-type 'guix-package-license
:supertype 'guix
'face 'guix-package-info-license
'help-echo "Browse license URL"
'action (lambda (btn)
(guix-browse-license-url (button-label btn))))
(define-button-type 'guix-package-name
:supertype 'guix
'face 'guix-package-info-name-button
@ -767,7 +775,7 @@ for all ARGS."
(dependencies simple (indent guix-file))
(location format (format guix-package-location))
(home-url format (format guix-url))
(license format (format guix-package-info-license))
(license format (format guix-package-license))
(systems format guix-package-info-insert-systems)
(inputs format (format guix-package-input))
(native-inputs format (format guix-package-native-input))