Subject: Re: bug#71282: 30.0.50; hl-line overlay priority has no affect

From: João Távora <[email-masked]>
Date: Sun, 30 Jun 2024 16:50:32 +0100

On Sun, Jun 30, 2024 at 4:34 PM Eli Zaretskii <[email-masked]> wrote:

> The mechanism exists: find the face of the buffer text, and use it (or
> some of its attributes, like background color) in determining the face
> of the overlay string.

Then if that mechanism doesn't require anything specific of package X or
Y, it should be possible to condense in a function (that shouldn't live in
Eglot, but OK it it starts life there, I guess) that takes a face with
a number of
attributes,merges with whatever is "the face of the buffer text" and return
an (anonymous) face.  If so, then that "mistery" function is the fix
to this issue.

                        (overlay-put ov (if peg-after-p 'before-string
'after-string)
                                     (propertize
                                      text
-                                     'face (pcase kind
-                                             (1 'eglot-type-hint-face)
-                                             (2 'eglot-parameter-hint-face)
-                                             (_ 'eglot-inlay-hint-face))))
+                                     'face
+                                     (mistery (pcase kind
+                                                (1 'eglot-type-hint-face)
+                                                (2 'eglot-parameter-hint-face)
+                                                (_ 'eglot-inlay-hint-face)))))

Else, your earlier suggestion proposing "Eglot to be sensitive
to hl-line" -- which I understood as creating an explicit dependency
between Eglot and hl-line -- is not a good one, and this is where I
agree with Moshin.

João