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'.
This commit is contained in:
		
							parent
							
								
									73ce3c19c4
								
							
						
					
					
						commit
						ceea647c72
					
				
					 2 changed files with 14 additions and 41 deletions
				
			
		| 
						 | 
				
			
			@ -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."
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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) "-")))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Reference in a new issue