aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Kost <alezost@gmail.com>2015-11-17 22:19:14 +0300
committerAlex Kost <alezost@gmail.com>2016-01-02 17:25:35 +0300
commitceea647c72cac582126688c71e19e4c9f9137a63 (patch)
tree0b7b573b9d0aa8714be58ec63b7cfd03ad71f33f
parent73ce3c19c435db51ec818ec62a75e0956b31899f (diff)
downloadgnu-guix-ceea647c72cac582126688c71e19e4c9f9137a63.tar
gnu-guix-ceea647c72cac582126688c71e19e4c9f9137a63.tar.gz
emacs: Simplify defining parameter titles.
* emacs/guix-utils.el (guix-symbol-title): New procedure. * emacs/guix-base.el (guix-get-param-title): Use it. (guix-param-titles): Remove most titles as they are automatically defined by 'guix-symbol-title'.
-rw-r--r--emacs/guix-base.el46
-rw-r--r--emacs/guix-utils.el9
2 files changed, 14 insertions, 41 deletions
diff --git a/emacs/guix-base.el b/emacs/guix-base.el
index 7055a0984e..43dec3dca3 100644
--- a/emacs/guix-base.el
+++ b/emacs/guix-base.el
@@ -41,48 +41,14 @@
(defvar guix-param-titles
'((package
- (id . "ID")
- (name . "Name")
- (version . "Version")
- (source . "Source")
- (license . "License")
- (synopsis . "Synopsis")
- (description . "Description")
- (home-url . "Home page")
- (outputs . "Outputs")
- (inputs . "Inputs")
- (native-inputs . "Native inputs")
- (propagated-inputs . "Propagated inputs")
- (location . "Location")
- (installed . "Installed"))
+ (home-url . "Home page"))
(installed
- (path . "Installed path")
- (dependencies . "Dependencies")
- (output . "Output"))
+ (path . "Installed path"))
(output
- (id . "ID")
- (name . "Name")
- (version . "Version")
- (source . "Source")
- (license . "License")
- (synopsis . "Synopsis")
- (description . "Description")
(home-url . "Home page")
- (output . "Output")
- (inputs . "Inputs")
- (native-inputs . "Native inputs")
- (propagated-inputs . "Propagated inputs")
- (location . "Location")
- (installed . "Installed")
- (path . "Installed path")
- (dependencies . "Dependencies"))
+ (path . "Installed path"))
(generation
- (id . "ID")
- (number . "Number")
- (prev-number . "Previous number")
- (current . "Current")
- (path . "Path")
- (time . "Time")))
+ (prev-number . "Previous number")))
"List for defining titles of entry parameters.
Titles are used for displaying information about entries.
Each element of the list has a form:
@@ -93,9 +59,7 @@ Each element of the list has a form:
"Return title of an ENTRY-TYPE entry parameter PARAM."
(or (guix-assq-value guix-param-titles
entry-type param)
- (prog1 (symbol-name param)
- (message "Couldn't find title for '%S %S'."
- entry-type param))))
+ (guix-symbol-title param)))
(defun guix-get-name-spec (name version &optional output)
"Return Guix package specification by its NAME, VERSION and OUTPUT."
diff --git a/emacs/guix-utils.el b/emacs/guix-utils.el
index 5a0cad4f2a..e24b58fb17 100644
--- a/emacs/guix-utils.el
+++ b/emacs/guix-utils.el
@@ -165,6 +165,15 @@ This function is similar to `shell-quote-argument', but less strict."
(replace-regexp-in-string
(rx (not (any alnum "-=,./\n"))) "\\\\\\&" argument))))
+(defun guix-symbol-title (symbol)
+ "Return SYMBOL's name, a string.
+This is like `symbol-name', but fancier."
+ (if (eq symbol 'id)
+ "ID"
+ (let ((str (replace-regexp-in-string "-" " " (symbol-name symbol))))
+ (concat (capitalize (substring str 0 1))
+ (substring str 1)))))
+
(defun guix-command-symbol (&optional args)
"Return symbol by concatenating 'guix' and ARGS (strings)."
(intern (guix-concat-strings (cons "guix" args) "-")))