summary refs log tree commit diff
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.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.