emacs: Add "View map" action to 'size' popup.
* emacs/guix-command.el (guix-run-view-size-map): New function. (guix-command-additional-execute-arguments, guix-command-special-executors): Add entries for "View map" action.master
parent
99d7460d78
commit
6f05a24df3
|
@ -503,7 +503,10 @@ to be modified."
|
|||
:name "log" :char ?l :doc "View build log"))
|
||||
(("graph")
|
||||
,(guix-command-make-argument
|
||||
:name "view" :char ?v :doc "View graph")))
|
||||
:name "view" :char ?v :doc "View graph"))
|
||||
(("size")
|
||||
,(guix-command-make-argument
|
||||
:name "view" :char ?v :doc "View map")))
|
||||
"Alist of guix commands and additional 'execute' action arguments.")
|
||||
|
||||
(defun guix-command-execute-arguments (commands)
|
||||
|
@ -525,7 +528,9 @@ to be modified."
|
|||
(("build")
|
||||
("log" . guix-run-view-build-log))
|
||||
(("graph")
|
||||
("view" . guix-run-view-graph)))
|
||||
("view" . guix-run-view-graph))
|
||||
(("size")
|
||||
("view" . guix-run-view-size-map)))
|
||||
"Alist of guix commands and alists of special executers for them.
|
||||
See also `guix-command-default-executors'.")
|
||||
|
||||
|
@ -583,6 +588,23 @@ open the log file(s)."
|
|||
(guix-find-file graph-file)
|
||||
(error "Couldn't create a graph"))))
|
||||
|
||||
(defun guix-run-view-size-map (args)
|
||||
"Run 'guix ARGS ...' size command, and open the map file."
|
||||
(let* ((wished-map-file
|
||||
(cl-some (lambda (arg)
|
||||
(and (string-match "--map-file=\\(.+\\)" arg)
|
||||
(match-string 1 arg)))
|
||||
args))
|
||||
(map-file (or wished-map-file (guix-png-file-name)))
|
||||
(args (if wished-map-file
|
||||
args
|
||||
(apply #'list
|
||||
(car args)
|
||||
(concat "--map-file=" map-file)
|
||||
(cdr args)))))
|
||||
(guix-command-output args)
|
||||
(guix-find-file map-file)))
|
||||
|
||||
|
||||
;;; Generating popups, actions, etc.
|
||||
|
||||
|
|
Reference in New Issue