emacs: Enable 'guix-build-log-minor-mode' in shell buffers.

* emacs/guix-build-log.el (guix-build-log-minor-mode-activate): New variable.
  (guix-build-log-minor-mode-activate-maybe): New function.
* emacs/guix-init.el: Add it to 'shell-mode-hook'.
* doc/emacs.texi (Emacs Build Log): Mention it.
This commit is contained in:
Alex Kost 2015-10-31 22:01:45 +03:00
parent 0048552d0d
commit f4044b586d
3 changed files with 19 additions and 7 deletions

View File

@ -646,13 +646,11 @@ Toggle (show/hide) the bodies of all build phases.
@end table
There is also @kbd{M-x guix-build-log-minor-mode} which also provides
the same highlighting. And as it is a minor mode, it can be enabled in
any buffer. For example, if you are building some package in a shell
buffer (@pxref{Interactive Shell,,, emacs, The GNU Emacs Manual}), you
may enable @command{guix-build-log-minor-mode} to make it more colorful.
Guix build output is rather specific, so this new highlighting shouldn't
conflict with the existing one. This mode also provides the same key
bindings as the major mode, but prefixed with @kbd{C-c}.
the same highlighting and the same key bindings as the major mode, but
prefixed with @kbd{C-c}. By default, this minor mode is enabled in
shell buffers (@pxref{Interactive Shell,,, emacs, The GNU Emacs
Manual}). If you don't like it, set
@code{guix-build-log-minor-mode-activate} to nil.
@node Emacs Completions

View File

@ -102,6 +102,12 @@
"Face for the number of seconds for a phase."
:group 'guix-build-log-faces)
(defcustom guix-build-log-minor-mode-activate t
"If non-nil, then `guix-build-log-minor-mode' is automatically
activated in `shell-mode' buffers."
:type 'boolean
:group 'guix-build-log)
(defcustom guix-build-log-mode-hook '()
"Hook run after `guix-build-log-mode' is entered."
:type 'hook
@ -346,6 +352,13 @@ programmatically using hooks:
(when font-lock-mode
(font-lock-fontify-buffer)))
;;;###autoload
(defun guix-build-log-minor-mode-activate-maybe ()
"Activate `guix-build-log-minor-mode' depending on
`guix-build-log-minor-mode-activate' variable."
(when guix-build-log-minor-mode-activate
(guix-build-log-minor-mode)))
;;;###autoload
(add-to-list 'auto-mode-alist
;; Regexp for log files (usually placed in /var/log/guix/...)

View File

@ -15,5 +15,6 @@ avoid loading autoloads of Emacs packages installed in
(guix-emacs-load-autoloads 'all))
(add-hook 'scheme-mode-hook 'guix-devel-activate-mode-maybe)
(add-hook 'shell-mode-hook 'guix-build-log-minor-mode-activate-maybe)
(provide 'guix-init)