Re-edited the answer for clarity
Typically I would put my cursor over the text, and call M-x describe-face
, but I can't do that with the headerline.
In the above screenshot, I want to change the headerline to something contrasting. If I could change the light grey to something darker, it would do the job. So I tried to identify the base faces. So far I found these 3:
lsp-headerline-breadcrumb-path-face
: underlined in redlsp-headerline-breadcrumb-separator-face
: the>
separator, underlined in yellow (but invisible because it disappears into the background)lsp-headerline-breadcrumb-symbols-face
: underlined in cyan
But I can't figure out the spaces in between. If I change the *-symbols-*
and *-path-*
faces listed above by adding :background "brightblack"
, and *-separator-*
to just :foreground "black"
, I can only change the underlined parts (see screenshot below).
I also looked at the results of list-faces-display
(without my customisation), there is no light grey background (see screenshot below). So I think something other than these faces is giving the light grey background, if I could change that, I wouldn't need to change them individually or find the face for the intermediary spaces.
Follow-up to NickD's question:
header-line-format
is set to:
((t
(:eval
(window-parameter nil 'lsp-headerline--string))))
When I try to get the value of lsp-headerline--string
with C-h v
, I get the message [No match]
.
C-h v header-line-format
say? It should contain some face information I think.lsp-headerline--string
? I guess that the above is meant to cause a refresh when the string is modified.