emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Would you say this information window is well designed?


From: Stefan Kangas
Subject: Re: Would you say this information window is well designed?
Date: Mon, 22 Feb 2021 15:19:40 -0600

Peter Dean <laszlomail@protonmail.com> writes:

> The package Helpful improves the default Help look. Some ideas
> for coloring and formatting could be borrowed from it to make the
> default mode more appealing, less spartan:
>
>     
> https://raw.githubusercontent.com/Wilfred/helpful/master/screenshots/helpful.png

I have tried it before and think there are definitely some good ideas
there.  However, with everything enabled by default it can be a little
bit overpowering (and there are few customization options).

Anyone can install it from MELPA and try it out to see it in action.
Unfortunately it is not on GNU ELPA.  :-/

Obviously this will have no font-locking but see below the full output
of `M-x helpful-function RET describe-package RET':

---

describe-package is an autoloaded, interactive and natively compiled
function defined in package.el.

Signature
(describe-package PACKAGE)

Documentation
Display the full documentation of PACKAGE (a symbol).

View in manual

Key Bindings
ehelp-map P
global-map <help> P
global-map C-h P
help-map P

References
References in package.el:
(defun describe-package ...)              1 reference
(defun describe-package-1 ...)            1 reference
(defun package-install-button-action ...) 1 reference
(defun package-delete-button-action ...)  1 reference
(defun package-menu-describe-package ...) 1 reference

Find all references Find callees

Debugging
Enable edebug Enable tracing
Disassemble Forget

Source Code
;; Defined in ~/wip/emacs-nativecomp/lisp/emacs-lisp/package.el
;;;; Package description buffer.

;;;###autoload
(defun describe-package (package)
  "Display the full documentation of PACKAGE (a symbol)."
  (interactive
   (let* ((guess (or (function-called-at-point)
                     (symbol-at-point))))
     (require 'finder-inf nil t)
     ;; Load the package list if necessary (but don't activate them).
     (unless package--initialized
       (package-initialize t))
     (let ((packages (append (mapcar #'car package-alist)
                             (mapcar #'car package-archive-contents)
                             (mapcar #'car package--builtins))))
       (unless (memq guess packages)
         (setq guess nil))
       (setq packages (mapcar #'symbol-name packages))
       (let ((val
              (completing-read (format-prompt "Describe package" guess)
                               packages nil t nil nil (when guess
                                                        (symbol-name guess)))))
         (list (and (> (length val) 0) (intern val)))))))
  (if (not (or (package-desc-p package) (and package (symbolp package))))
      (message "No package specified")
    (help-setup-xref (list #'describe-package package)
                     (called-interactively-p 'interactive))
    (with-help-window (help-buffer)
      (with-current-buffer standard-output
        (describe-package-1 package)))))

Symbol Properties
autoload
  ("package" 1474660 t nil)
event-symbol-element-mask
  (describe-package 0)
event-symbol-elements
  (describe-package)
modifier-cache
  ((0 . describe-package))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]