diff options
author | Alex Kost <alezost@gmail.com> | 2016-01-19 22:16:20 +0300 |
---|---|---|
committer | Alex Kost <alezost@gmail.com> | 2016-01-25 22:11:47 +0300 |
commit | cefb7aea9d068a03c79bb6f26ea87082ea214f10 (patch) | |
tree | 2031b648d297f03dc33c618dabc1c95cb1169a2b | |
parent | 71310ccc56f24c7975ddc3bb9893083e138be808 (diff) |
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.
-rw-r--r-- | doc/emacs.texi | 1 | ||||
-rw-r--r-- | emacs/guix-ui-package.el | 12 |
2 files changed, 11 insertions, 2 deletions
diff --git a/doc/emacs.texi b/doc/emacs.texi index eb470ab4ca..d321a89d4d 100644 --- a/doc/emacs.texi +++ b/doc/emacs.texi @@ -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 diff --git a/emacs/guix-ui-package.el b/emacs/guix-ui-package.el index 29514527ce..655ed74472 100644 --- a/emacs/guix-ui-package.el +++ b/emacs/guix-ui-package.el @@ -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)) |