Simple ElDoc frontend that displays documentation in a floating child frame
Go to file
Yuan Fu e02f496368
Fix: Flicker when move out and into a eldoc-able symbol quickly
- (eldox-box--eldoc-message-function): doesn't cleanup childframe
  when passed with nil anymore

I finally figured out why the flicker occurs:

1. when eldoc asks for doc string, elgot returns nil immeditaly
2. when you move out of a eldoc-cable symbol and move back in
   the childframe isn't cleaned up. Adn eldoc recieves nil from
   eglot, passes that to message function (eldoc-message)
   -> (eldoc-message-function), eldoc-box gets it and cleans up
   childframe. Then eglot recieved doc string from server
   and calls (eldoc-message), childframe is then redisplayed.

Since eldoc-box cleans up after itself and doesn't rely on eldoc
to cleanup. A quick fix is simply don't clean up when eldoc-box
(eldoc-box--eldoc-message-function) recieves nil from eldoc
(eldoc-message).
2018-12-17 11:44:47 -05:00
eldoc-box.el Fix: Flicker when move out and into a eldoc-able symbol quickly 2018-12-17 11:44:47 -05:00
README.org Add screenshot for melpa 2018-12-16 22:40:26 -05:00
screenshot.png Add screenshot for melpa 2018-12-16 22:40:26 -05:00

ElDoc box

This package displays ElDoc documentations in a childframe.

/jessieh/eldoc-frame/media/commit/e02f496368be84fa7a35ac2c58a135dbee898c2c/screenshot.png
Using with eglot in python-mode

Install

Get the file, add to load path, and

(require 'eldoc-box)

Usage

Function

eldoc-box-hover-mode
Show documentation upon hover. Note that you need to enable ElDoc mode for this to work.

Face

eldoc-box-border
Adjust :background of this face for border color.
eldoc-box-body
Adjust :background of this face for background color of childframe.

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.

Use with eglot

As of writing this README, eglot doesn't have a public mode hook, use this hook:

(add-hook 'eglot--managed-mode-hook #'eldoc-box-hover-mode t)