eldoc-frame/README.org
2019-07-11 20:18:04 +08:00

44 lines
2.5 KiB
Org Mode

#+TITLE: ElDoc box
This package displays ElDoc documentations in a childframe.
[[https://melpa.org/#/eldoc-box][file:https://melpa.org/packages/eldoc-box-badge.svg]]
[[https://stable.melpa.org/#/eldoc-box][file:https://stable.melpa.org/packages/eldoc-box-badge.svg]]
#+CAPTION: Using with eglot in python-mode
[[./screenshot.png]]
* Install
Get the file, add to load path, and
#+BEGIN_SRC emacs-lisp
(require 'eldoc-box)
#+END_SRC
It is also available on [[https://melpa.org/#/eldoc-box][MELPA]]
* Usage
** Function
- =eldoc-box-hover-mode= :: Display documentation of the symbol at point in a childframe on upper corner.
- =eldoc-box-hover-at-point-mode= :: If you enable this minor mode *on top of* =eldoc-box-hover-mode=, the childframe is displayed at point, instead of on the upper corner.
- =eldoc-box-eglot-help-at-point= :: See below.
** Face
- =eldoc-box-border= :: Adjust =:background= of this face for border color.
- =eldoc-box-body= :: Adjust =:background= and =:font= of this face for background color and font of the childframe. I suggest to use a nice Sans Serif font, such as Source Sans Pro.
** Variable
- =eldoc-box-max-pixel-width= & =eldoc-box-max-pixel-height= :: Set them according to the screen resolution of your machine.
- =eldoc-box-only-multi-line= :: Set this to non-nil and eldoc-box only display multi-line message in childframe. One line messages are left in minibuffer.
- =eldoc-box-cleanup-interval= :: After this amount of seconds will eldoc-box attempt to cleanup the childframe. E.g. if it is set to 1, the childframe is cleared 1 second after you moved the point to somewhere else (that doesn't have a doc to show). This doesn't apply to =eldoc-box-hover-at-point-mode=, in that mode the childframe is cleared as soon as point moves.
- =eldoc-box-fringe-use-same-bg= :: T means fringe's background color is set to as same as that of default. Default to t.
** Use with eglot
As of writing this README, eglot doesn't have a public mode hook, use this hook:
#+BEGIN_SRC emacs-lisp
(add-hook 'eglot--managed-mode-hook #'eldoc-box-hover-mode t)
#+END_SRC
To keep eldoc from displaying documentation at point without enabling any minor mode above: =(add-to-list 'eglot-ignored-server-capabilites :hoverProvider)=.
Eldoc-box also provides a convenient command =eldoc-box-eglot-help-at-point=. Calling this command on a symbol displays a documentation childframe at point. No need to enable any minor mode for this.
* Contributors
- [[https://github.com/joaotavora][João Távora]]