40 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Org Mode
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Org Mode
		
	
	
	
	
	
| #+TITLE: ElDoc box
 | |
| This package displays ElDoc documentations in a childframe.
 | |
| 
 | |
| #+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
 | |
| * Usage
 | |
| ** Function
 | |
| Enable either mode will make eldoc display documentation on a popup childframe. The difference is the position of the childframe — the first minor mode displays the childframe on the (left or right) upper corner, while the second displays the childframe right below point.
 | |
| 
 | |
| Note that =eldoc-box-hover-at-point-mode= enables =eldoc-box-hover-mode= — it just adds some more configuration on top of the latter, so you want to disable “at-point” mode before switching to =eldoc-box-hover-mode=.
 | |
| 
 | |
| - =eldoc-box-hover-mode= :: Display documentation of the symbol at point in a childframe on upper corner.
 | |
| - =eldoc-box-hover-at-point-mode= :: Display documentation of the symbol at point in a childframe below point. (That's what the =at-point= part mean)
 | |
| ** 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.
 | |
| - =eldox-box-eglot-help-at-point= :: See below.
 | |
| ** 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.
 | |
| ** 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]]
 | 
