aboutsummaryrefslogtreecommitdiff
path: root/doc/emacs.texi
diff options
context:
space:
mode:
authorAlex Kost <alezost@gmail.com>2014-09-19 09:57:36 +0400
committerAlex Kost <alezost@gmail.com>2014-09-24 16:09:20 +0400
commita54a237b5ff714102056079218f1322ced51620b (patch)
tree1c305cf5039ca320360396cef9410415c5bd2621 /doc/emacs.texi
parent81b339fe315b96a4ff404e9509182b73f89da134 (diff)
downloadguix-a54a237b5ff714102056079218f1322ced51620b.tar
guix-a54a237b5ff714102056079218f1322ced51620b.tar.gz
emacs: Add support for displaying outputs.
Suggested by Taylan Ulrich Bayirli/Kammer and Ludovic Courtès. * emacs/guix-base.el (guix-param-titles): Add output titles. (guix-messages): Add output messages. (guix-get-package-id-and-output-by-output-id): New procedure. (guix-define-buffer-type): Add ':buffer-name' key. * emacs/guix-info.el: Add "output-info" buffer type. (guix-info-insert-methods): Add output methods. (guix-info-displayed-params): Add output params. (guix-output-info-insert-version, guix-output-info-insert-output): New procedures. * emacs/guix-list.el: Add "output-list" buffer type. (guix-list-column-format): Add output formats. (guix-list-column-value-methods): Add output methods. (guix-package-list-type): New variable. (guix-generation-list-show-packages): Use it. (guix-package-list-marking-check): Use 'guix-output-list-mode'. (guix-list-mark-package-upgrades): New procedure. (guix-package-list-mark-upgrades): Use it. (guix-list-execute-package-actions): New procedure. (guix-package-list-execute): Use it. (guix-list-describe-maybe): New procedure. (guix-list-describe): Use it. (guix-output-list-mark-install, guix-output-list-mark-delete, guix-output-list-mark-upgrade, guix-output-list-mark-upgrades, guix-output-list-execute, guix-output-list-make-action, guix-output-list-describe): New procedures. (guix-output-list-describe-type): New variable. * emacs/guix.el (guix-get-show-packages): Use 'guix-package-list-type'. * doc/emacs.texi (emacs Commands): Mention 'guix-package-list-type'. (emacs List buffer): Adjust accordingly. (emacs Info buffer): Likewise. (emacs Buffer Names): New node. (emacs Keymaps): Add keymaps for output buffers.
Diffstat (limited to 'doc/emacs.texi')
-rw-r--r--doc/emacs.texi59
1 files changed, 52 insertions, 7 deletions
diff --git a/doc/emacs.texi b/doc/emacs.texi
index 7616c8f92d..3c5698f571 100644
--- a/doc/emacs.texi
+++ b/doc/emacs.texi
@@ -104,6 +104,14 @@ many last generations.
@end table
+By default commands for displaying packages display each output on a
+separate line. If you prefer to see a list of packages (i.e.@: a list
+with a package per line), use the following setting:
+
+@example
+(setq guix-package-list-type 'package)
+@end example
+
It is possible to change the currently used profile with
@kbd{M-x@tie{}guix-set-current-profile}. This has the same effect as
specifying @code{--profile} option for @command{guix package}
@@ -177,18 +185,15 @@ A ``package-list'' buffer additionally provides the following bindings:
Describe marked packages (display available information in a
``package-info'' buffer).
@item i
-Mark "out" of the current package for installation (with prefix, prompt
-for output(s) to install).
+Mark the current package for installation.
@item d
-Mark all installed outputs of the current package for deletion (with
-prefix, prompt for output(s) to delete).
+Mark the current package for deletion.
@item U
-Mark all installed outputs of the current package for upgrading (with
-prefix, prompt for output(s) to upgrade).
+Mark the current package for upgrading.
@item ^
Mark all obsolete packages for upgrading.
@item x
-Execute actions on marked packages.
+Execute actions on the marked packages.
@end table
A ``generation-list'' buffer additionally provides the following
@@ -244,6 +249,7 @@ all) and faces.
@menu
* Guile and Build Options: emacs Build Options. Specifying how packages are built.
+* Buffer Names: emacs Buffer Names. Names of Guix buffers.
* Keymaps: emacs Keymaps. Configuring key bindings.
* Appearance: emacs Appearance. Settings for visual appearance.
@end menu
@@ -270,6 +276,39 @@ build}).
@end table
+@node emacs Buffer Names
+@subsubsection Buffer Names
+
+Default names of ``guix.el'' buffers (``*Guix@tie{}@dots{}*'') may be
+changed with the following variables:
+
+@table @code
+@item guix-package-list-buffer-name
+@item guix-output-list-buffer-name
+@item guix-generation-list-buffer-name
+@item guix-package-info-buffer-name
+@item guix-output-info-buffer-name
+@item guix-generation-info-buffer-name
+@item guix-repl-buffer-name
+@item guix-internal-repl-buffer-name
+@item guix-temp-buffer-name
+@end table
+
+For example if you want to display all types of results in a single
+buffer (in such case you will probably use a history (@kbd{l}/@kbd{r})
+extensively), you may do it like this:
+
+@example
+(let ((name "Guix Universal"))
+ (setq
+ guix-package-list-buffer-name name
+ guix-output-list-buffer-name name
+ guix-generation-list-buffer-name name
+ guix-package-info-buffer-name name
+ guix-output-info-buffer-name name
+ guix-generation-info-buffer-name name))
+@end example
+
@node emacs Keymaps
@subsubsection Keymaps
@@ -283,6 +322,9 @@ Parent keymap with general keys for ``list'' buffers.
@item guix-package-list-mode-map
Keymap with specific keys for ``package-list'' buffers.
+@item guix-output-list-mode-map
+Keymap with specific keys for ``output-list'' buffers.
+
@item guix-generation-list-mode-map
Keymap with specific keys for ``generation-list'' buffers.
@@ -292,6 +334,9 @@ Parent keymap with general keys for ``info'' buffers.
@item guix-package-info-mode-map
Keymap with specific keys for ``package-info'' buffers.
+@item guix-output-info-mode-map
+Keymap with specific keys for ``output-info'' buffers.
+
@item guix-generation-info-mode-map
Keymap with specific keys for ``generation-info'' buffers.