summary refs log tree commit diff
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)
downloadguix-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) "-")))