-
-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix variable name face #212
base: main
Are you sure you want to change the base?
Conversation
Contrary what was indicated in the code that face is used for variable definitions, not variable references.
I don't have the context to this but Catppuccin, generally, should only modify the colours in a port and not change the font size / shape / etc. We should always rely on defaults wherever possible so the introduction of this PR feels like we're modifying this elsewhere where we shouldn't be? If this is introducing new customisation options then I'd personally push back against it as you shouldn't need to configure font settings via a colourscheme. |
To summarize - my main concern (and the problem I'm trying to solve) is that it seems to me that some of the fundamental font-lock-* colors differ from the ones in the original theme, as probably it wasn't very clear what categories in Emacs map to what categories in Vim. |
@sgoudham Variables such as |
@bbatsov Thanks! I looked into this on #189 and found that different modes use these faces for different things, e.g. nix-ts-mode uses variable-name-face for property names, and c-ts-mode uses variable-name-face for property references. So simply adding a foreground colour to variable-name-face might looks fine for some modes such as elisp mode but it might make c-ts-mode a bit disconcerting due to the amount of colour. It's tricky, it's almost entirely based on how modes use faces and maybe it could work if every mode used every face for the same thing. But I'm afraid it doesn't really work well for a lot of modes... |
Yeah, it's true that different modes use this face differently, but I still think it's weird to treat variable definitions and uses in the same manner. Sadly, many major modes were put together hastily without consideration of the semantics of some font-lock-* faces which created a very messy situation across modes. What about |
Yeah, I'd like to see them removed in a future PR. |
@sgoudham Sure, I can do this. Should I remove only |
|
See #217. |
The face is used for definitions, not variable references. (think
defvar
in Elisp)Old:
That face should have font-locked the names in the var definitions here.
New:
Same as above, but with names in var defs in lavender.