diff options
| author | Michael Albinus <michael.albinus@gmx.de> | 2023-06-22 10:50:46 +0200 |
|---|---|---|
| committer | Michael Albinus <michael.albinus@gmx.de> | 2023-06-22 10:50:46 +0200 |
| commit | b104c8dfdc7ed07a8a4b5ef95433c8103df7cd84 (patch) | |
| tree | 890b86c86f0f2f0d79d3c90737d42eaef40890d1 | |
| parent | 4848bdf98b8579a1e704441f600d607ed6941024 (diff) | |
| parent | 3d930b928fe683d380809d53257017022f74aae9 (diff) | |
Merge from origin/emacs-29
3d930b928fe Eglot: fix relative position of coinciding inlay hint ove...
aad7d68164c ; * doc/lispref/display.texi (Display Tables): Remove ext...
| -rw-r--r-- | doc/lispref/display.texi | 2 | ||||
| -rw-r--r-- | lisp/progmodes/eglot.el | 10 |
2 files changed, 7 insertions, 5 deletions
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 7655ca8839d..9b6e4f609bf 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -8527,7 +8527,7 @@ the effect of setting @code{ctl-arrow} to a non-@code{nil} value (make-glyph-code (+ i 64) 'escape-glyph))))) (aset disptab 127 (vector (make-glyph-code ?^ 'escape-glyph) - (make-glyph-code ?? 'escape-glyph))))) + (make-glyph-code ?? 'escape-glyph))) @end example @defun display-table-slot display-table slot diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el index 7d5d786dea3..dff79ba7773 100644 --- a/lisp/progmodes/eglot.el +++ b/lisp/progmodes/eglot.el @@ -3769,8 +3769,9 @@ If NOERROR, return predicate, else erroring function." (if peg-after-p (make-overlay (point) (1+ (point)) nil t) (make-overlay (1- (point)) (point) nil nil nil))) - (do-it (label lpad rpad firstp) - (let* ((tweak-cursor-p (and firstp peg-after-p)) + (do-it (label lpad rpad i) + (let* ((firstp (zerop i)) + (tweak-cursor-p (and firstp peg-after-p)) (ov (make-ov)) (text (concat lpad label rpad))) (when tweak-cursor-p (put-text-property 0 1 'cursor 1 text)) @@ -3781,17 +3782,18 @@ If NOERROR, return predicate, else erroring function." (1 'eglot-type-hint-face) (2 'eglot-parameter-hint-face) (_ 'eglot-inlay-hint-face)))) + (overlay-put ov 'priority i) (overlay-put ov 'eglot--inlay-hint t) (overlay-put ov 'evaporate t) (overlay-put ov 'eglot--overlay t)))) - (if (stringp label) (do-it label left-pad right-pad t) + (if (stringp label) (do-it label left-pad right-pad 0) (cl-loop for i from 0 for ldetail across label do (eglot--dbind ((InlayHintLabelPart) value) ldetail (do-it value (and (zerop i) left-pad) (and (= i (1- (length label))) right-pad) - (zerop i)))))))))) + i))))))))) (jsonrpc-async-request (eglot--current-server-or-lose) :textDocument/inlayHint |
