diff options
author | Alex Kost <alezost@gmail.com> | 2015-07-24 18:33:14 +0300 |
---|---|---|
committer | Alex Kost <alezost@gmail.com> | 2015-09-23 13:36:37 +0300 |
commit | 187f80c6c542bc65486ef600aa3af96f7173f4fa (patch) | |
tree | 8a894bb9b8c5a0ea9dc0e044ee755288cbe7991e /doc | |
parent | 6f05a24df305fc6b79695dd111ec5ff5464ea63e (diff) | |
download | guix-187f80c6c542bc65486ef600aa3af96f7173f4fa.tar guix-187f80c6c542bc65486ef600aa3af96f7173f4fa.tar.gz |
emacs: Add development utils.
* emacs/guix-guile.el (guix-guile-current-module): New function.
* emacs/guix-devel.el: New file.
* emacs.am (ELFILES): Add it.
* doc/emacs.texi (Emacs Development): New node.
(Emacs Interface): Add it.
* doc/contributing.texi (The Perfect Setup): Mention it.
* doc/guix.texi (Top): Add it.
* emacs/guix-init.el: Add 'guix-devel-activate-mode-maybe' to
'scheme-mode-hook'.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/contributing.texi | 3 | ||||
-rw-r--r-- | doc/emacs.texi | 25 | ||||
-rw-r--r-- | doc/guix.texi | 3 |
3 files changed, 29 insertions, 2 deletions
diff --git a/doc/contributing.texi b/doc/contributing.texi index ded54348bc..b2d097dd62 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -121,6 +121,9 @@ facilities to directly operate on the syntax tree, such as raising an s-expression or wrapping it, swallowing or rejecting the following s-expression, etc. +GNU Guix also comes with a minor mode that provides some additional +functionality for Scheme buffers (@pxref{Emacs Development}). + @node Coding Style @section Coding Style diff --git a/doc/emacs.texi b/doc/emacs.texi index 67773466a4..d44d329c5c 100644 --- a/doc/emacs.texi +++ b/doc/emacs.texi @@ -12,7 +12,8 @@ Guix convenient and fun. * Popup Interface: Emacs Popup Interface. Magit-like interface for guix commands. * Prettify Mode: Emacs Prettify. Abbreviating @file{/gnu/store/@dots{}} file names. * Build Log Mode: Emacs Build Log. Highlighting Guix build logs. -* Completions: Emacs Completions. Completing @command{guix} shell command. +* Completions: Emacs Completions. Completing @command{guix} shell command. +* Development: Emacs Development. Tools for Guix developers. @end menu @@ -637,3 +638,25 @@ something: @item @code{guix lint --checkers=synopsis,des}@key{TAB} @end itemize + + +@node Emacs Development +@section Development + +By default, when you open a Scheme file, @code{guix-devel-mode} will be +activated (if you don't want it, set @code{guix-devel-activate-mode} to +nil). This minor mode provides the following key bindings: + +@table @kbd + +@item C-c . k +Copy the name of the current Guile module into kill ring +(@code{guix-devel-copy-module-as-kill}). + +@item C-c . u +Use the current Guile module. Often after opening a Scheme file, you +want to use a module it defines, so you switch to the Geiser REPL and +write @code{,use (some module)} there. You may just use this command +instead (@code{guix-devel-use-module}). + +@end table diff --git a/doc/guix.texi b/doc/guix.texi index 3ca4cefa63..eec28218bb 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -113,7 +113,8 @@ Emacs Interface * Popup Interface: Emacs Popup Interface. Magit-like interface for guix commands. * Prettify Mode: Emacs Prettify. Abbreviating @file{/gnu/store/@dots{}} file names. * Build Log Mode: Emacs Build Log. Highlighting Guix build logs. -* Completions: Emacs Completions. Completing @command{guix} shell command. +* Completions: Emacs Completions. Completing @command{guix} shell command. +* Development: Emacs Development. Tools for Guix developers. Programming Interface |