;;; guix-read.el --- Minibuffer readers
-;; Copyright © 2015 Alex Kost <alezost@gmail.com>
+;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
;; This file is part of GNU Guix.
'package-names-lists)))
#'string<))
+(guix-memoized-defun guix-license-names ()
+ "Return a list of names of available licenses."
+ (guix-eval-read (guix-make-guile-expression 'license-names)))
+
+(guix-memoized-defun guix-package-locations ()
+ "Return a list of available package locations."
+ (sort (guix-eval-read (guix-make-guile-expression
+ 'package-location-files))
+ #'string<))
+
\f
;;; Readers
:multiple-prompt "Package,s: "
:multiple-separator " ")
+(guix-define-readers
+ :completions-getter guix-license-names
+ :single-reader guix-read-license-name
+ :single-prompt "License: ")
+
+(guix-define-readers
+ :completions-getter guix-package-locations
+ :single-reader guix-read-package-location
+ :single-prompt "Location: ")
+
(provide 'guix-read)
;;; guix-read.el ends here