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-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-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).
|
- =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
|
** Use with eglot
|
||||||
As of writing this README, eglot doesn't have a public mode hook, use this hook:
|
As of writing this README, eglot doesn't have a public mode hook, use this hook:
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
@ -59,6 +59,9 @@
|
|||||||
E.g. if it is set to 1, the childframe is cleared 1 second after
|
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)")
|
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
|
(defvar eldoc-box-frame-parameters
|
||||||
'(
|
'(
|
||||||
;; (left . -1)
|
;; (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."
|
"Displays hover documentations in a childframe. This mode is buffer local."
|
||||||
:lighter " ELDOC-BOX"
|
:lighter " ELDOC-BOX"
|
||||||
(if eldoc-box-hover-mode
|
(if eldoc-box-hover-mode
|
||||||
(add-function :before-until (local 'eldoc-message-function)
|
(progn (add-function :before-until (local 'eldoc-message-function)
|
||||||
#'eldoc-box--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)
|
(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
|
;; if minor mode is turned off when childframe is visible
|
||||||
;; hide it
|
;; hide it
|
||||||
(when eldoc-box--frame
|
(when eldoc-box--frame
|
||||||
|
Loading…
Reference in New Issue
Block a user