summary refs log tree commit diff
path: root/emacs/guix-info.el
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-07-13 22:08:11 +0200
committerAlex Kost <alezost@gmail.com>2015-07-14 18:46:59 +0300
commitdbe422aba862b2f4ff204743be13e2d3fb255fa8 (patch)
treee57840c64507cb901c9b103806d4fbec55be6cfc /emacs/guix-info.el
parentb0ded08ff7c4e398e054d1d9f5890926681801f5 (diff)
downloadguix-dbe422aba862b2f4ff204743be13e2d3fb255fa8.tar.gz
emacs: Fill package heading in Info buffers.
* emacs/guix-info.el (guix-package-info-fill-heading): New variable.
  (guix-package-info-insert-heading): Fill heading if needed.

Co-authored-by: Alex Kost <alezost@gmail.com>
Diffstat (limited to 'emacs/guix-info.el')
-rw-r--r--emacs/guix-info.el17
1 files changed, 14 insertions, 3 deletions
diff --git a/emacs/guix-info.el b/emacs/guix-info.el
index bb21024c0c..f17ce01ab6 100644
--- a/emacs/guix-info.el
+++ b/emacs/guix-info.el
@@ -1,6 +1,7 @@
 ;;; guix-info.el --- Info buffers for displaying entries   -*- lexical-binding: t -*-
 
-;; Copyright © 2014 Alex Kost <alezost@gmail.com>
+;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
+;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
 
 ;; This file is part of GNU Guix.
 
@@ -482,6 +483,12 @@ If nil, insert package in a default way.")
 (defvar guix-package-info-heading-params '(synopsis description)
   "List of parameters displayed in a heading along with name and version.")
 
+(defcustom guix-package-info-fill-heading t
+  "If nil, insert heading parameters in a raw form, without
+filling them to fit the window."
+  :type 'boolean
+  :group 'guix-package-info)
+
 (defun guix-package-info-insert-heading (entry)
   "Insert the heading for package ENTRY.
 Show package name, version, and `guix-package-info-heading-params'."
@@ -494,8 +501,12 @@ Show package name, version, and `guix-package-info-heading-params'."
                 (face (guix-get-symbol (symbol-name param)
                                        'info 'package)))
             (when val
-              (guix-format-insert val (and (facep face) face))
-              (insert "\n\n"))))
+              (let* ((col (min (window-width) fill-column))
+                     (val (if guix-package-info-fill-heading
+                              (guix-get-filled-string val col)
+                            val)))
+                (guix-format-insert val (and (facep face) face))
+                (insert "\n\n")))))
         guix-package-info-heading-params))
 
 (defun guix-package-info-insert-with-heading (entry)