Add eldoc-box-clear-with-C-g, update README
This commit is contained in:
parent
8f71b3c65e
commit
1733e35085
@ -19,6 +19,13 @@ Get the file, add to load path, and
|
||||
- =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).
|
||||
|
||||
** Pop at point instead of on the upper corner
|
||||
I don't use this, but if you do:
|
||||
1. set =eldoc-box-position-function= to =eldoc-box--default-at-point-position-function=.
|
||||
2. Set =eldoc-box-clear-with-C-g= to =t=, so =C-g= will clear the childframe.
|
||||
3. Maybe set =eldoc-box-max-pixel-width= & =eldoc-box-max-pixel-height= to some custom functions.
|
||||
|
||||
** Use with eglot
|
||||
As of writing this README, eglot doesn't have a public mode hook, use this hook:
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
|
10
eldoc-box.el
10
eldoc-box.el
@ -59,6 +59,9 @@
|
||||
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)")
|
||||
|
||||
(defvar eldoc-box-clear-with-C-g nil
|
||||
"If set to non-nil, eldoc-box clears cildframe when you hit \C-g.")
|
||||
|
||||
(defvar eldoc-box-frame-parameters
|
||||
'(
|
||||
;; (left . -1)
|
||||
@ -120,9 +123,12 @@ It will be passes with two arguments: WIDTH and HEIGHT of the childframe.")
|
||||
"Displays hover documentations in a childframe. This mode is buffer local."
|
||||
:lighter " ELDOC-BOX"
|
||||
(if eldoc-box-hover-mode
|
||||
(add-function :before-until (local 'eldoc-message-function)
|
||||
#'eldoc-box--eldoc-message-function)
|
||||
(progn (add-function :before-until (local 'eldoc-message-function)
|
||||
#'eldoc-box--eldoc-message-function)
|
||||
(when eldoc-box-clear-with-C-g
|
||||
(advice-add #'keyboard-quit :before #'eldoc-box-quit-frame)))
|
||||
(remove-function (local 'eldoc-message-function) #'eldoc-box--eldoc-message-function)
|
||||
(advice-remove #'keyboard-quit #'eldoc-box-quit-frame)
|
||||
;; if minor mode is turned off when childframe is visible
|
||||
;; hide it
|
||||
(when eldoc-box--frame
|
||||
|
Loading…
Reference in New Issue
Block a user