Subject: bug#65418: 29.1; Eglot: support clangd inactiveRegions extension

From: Filippo Argiolas <[email-masked]>
Date: Sat, 2 Sep 2023 10:14:26 +0200

On Sun, Aug 27, 2023 at 3:58 PM João Távora <[email-masked]> wrote:
> > One thing about UI, all the themes I tried seem to render shadow as
> > grey-ish but it was my impression reading the docs that it would be a
> > dim version of the current face, so it would still have syntax
> > highlighting. Is it just a theme limitation (probably because shadow
> > wasn't used for something like this before) or it's not technically
> > possible?
>
> I'm fairly sure it's technically possible, even if perhaps not easy.
> You can investigate or ask this on emacs-devel.

Hi again,
I ended up investigating this on my own and managed to get something working.

https://github.com/fargiolas/eglot-clangd-inactive-regions/blob/master/eglot-clangd-inactive-regions.el

Still experimenting on it, the idea is to iterate over each inactive
region, detect face changes and create an overlay with a darkened
version of them, blending foreground and background colors.
No idea if that's the best approach but it works so far and I'm loving
the result!

Comments/criticisms/patches/PRs welcome (maybe outside of this bug report).
Despite being an emacs user for maybe 15+ years, that's the first time
I ever wrote more than two lines of elisp.

Thanks,
Filippo