Repository navigation
v2.0.0 - Pre-Release Discussion #903
Replies: 7 comments 31 replies
|
Hello,
EDIT 2: "due time" took a really, really long time (I was originally gonna post this on #804, but it got locked) (Check the edits for a broader context) It's now been a little over 2 months since #804 was merged, and I'm here to "share my up-to-date suggestions". To start off, I'm glad the "lavender situation" got sorted out. Most of the comments on this thread as a whole regard this single point. That being said, I feel that some other changes also deserve some attention (which were in my original comment):
If I'm annotating the type for a function in python, I'm more interested in the type itself, and to me, the following feels like a lackluster (a scenario where I'm using both built-in and user defined types), because a color that doesn't mean "type" is used:
Proposed solution2: yellow could be used for both built-in types and regular types. But for built-in types, it could be italic (related #944) Again, I can see how this would be considered a feature, and I'm just not feeling it. In a subtle, but similar manner, the same problem affects operators. The following snippets are semantically "equivalent", but highlighted differently with the new theme:
Proposed solution2: I actually don't mind this one that much, I feel like that at the end of the day it's just a matter of opinion.
To finish off, I'd like to share the overrides I've been using for these past few months. Fortunately, there aren't that many. Most just restore the previous style, but some are new: return {
["@type.builtin"] = { fg = C.yellow }, -- For builtin types.
["@keyword.operator"] = { link = "Operator" }, -- For operators like "new", "or", "typeof"...
["@tag"] = { fg = C.mauve }, -- Tags like html tag names.
["@type.tag.css"] = { fg = C.mauve },
-- My proposal for tag attributes
["@tag.attribute"] = { fg = C.lavender },
-- Personal pet peeves
["@markup.raw"] = { fg = C.teal }, -- Do not highlight "non string" stuff as string
["@markup.list"] = { fg = C.sky }, -- Avoids a clash with the previous override
}Additionally, I'm still a bit on the fence about Footnotes |
|
So I'll start by saying I can totally understand your motivations for making these changes. The goal of being logically consistent across your project is a fair one, however you've effectively just alienated a number of your users for absolutely no reason. Allow me to elaborate. As you say, color preference is entirely subjective, not everyone here will agree on the same reasons of why they like one feature over another. However, we all decided to make this our color scheme for one reason or another. By completely overhauling the color scheming rules you've effectively defined an entirely new schema, whether you accept that or not. You even admit that you're not consistent in your own style guide, so maybe that should have been decided first before propagating to other projects and changing the way the people who use your project get to see their own code. I chose this color scheme because I LIKED the "Rainbow puke all over the screen" and just telling me to use some overrides to change your project back to the way I expected it to work in the first place is just a slap in the face. If you want to make these changes, either do it under a separate project or add a toggle, because I know I'm not alone in the fact that you've totally wonked my brain here. Color scheming in coding isn't about being able to identify 'oh this is a variable because it's blue' its about being able to read your code at a glance, and you've just made readability 10x worse with this. I'll be switching to a new schema I guess, because it very much seems like you have already made up your minds on going forward with this. I just really hope that's not the case because I really liked how this used to look. |
|
i’m really disappointed, i’m donating a buck a month—not much but 12$/year/user for a color scheme sounds fair to me—because i appreciate your efforts, it’s a really great theme for neovim and i wanted to support you to keep it stable and up-to-date with the latest neovim changes. But this update makes the color scheme so much worse and forces me to find another theme, and obviously stop supporting you. That’s a real shame |
|
Personally the updated colours I dislike and for me makes it harder to read things for html, javascript, typescript and vue (i havn't used the other languages I code in with it yet so cant say anything about the others as of yet). Understand that it is not the final version yet tho so will see what it comes to but currently I have reverted to the old colours using #804 (review) It also might be just need some time to get use to the new colors as I have been staring at these colour for 4 or 5 years now. |
|
Sorry for the wait on an updated response regarding the v2.0.0 release, I've been prioritising other areas of my life over OSS. I've merged #905 earlier today as per the feedback from the users here, so The final thing that I'd personally like to resolve before pushing ahead with the release is to revsit the style guide for HTML/CSS since nvim/lua/catppuccin/groups/treesitter.lua Lines 134 to 136 in e79d09f @igorlfs's proposal on letting Thanks for the continued engagement here and we'll make sure to release v2.0.0 with some detailed migration documentation when the time comes. |
|
any update on the progress or ETA? |













Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Hi all 👋,
I'm Hammy, one of the co-owners of the Catppuccin organisation.
This is the discussion post for our upcoming v2.0.0 release, which aims to align the syntax highlighting of
catppuccin/nvimwith other ports/code editors in the organisation.So far, we've merged #804 and will be merging #902 to resolve some unexpected regressions in LSP semantic highlights. We're still working our way through the "main" languages so expect the
mainbranch to receive more updates updating the syntax highlighting. Once we feel that it's ready - we'll release v2.0.0Important
This discussion is a place for people to leave constructive criticism and feedback with regards to the above changes. I will absolutely not stand for any behaviour that falls outside of our Code of Conduct. This is an open-source project which people volunteer their free time, no one is actively trying to ruin your day.
Potential FAQs
I'll attempt to answer some questions that people may already have:
The treesitter highlights were fine, why are you changing them?
I'd like to preface this answer by saying that colours are, ultimately, subjective. Back when Winston (a previous co-owner) and I were starting to develop the VSCode port, we were interested in taking the syntax highlighting of Neovim and evolving it to be more semantically consistent.
We happened to agree that some highlights in
catppuccin/nvimfelt quite overbearing and, for lack of a better term, "rainbow puke" all over the screen. As a result, the upcoming changes may come across as "regressions" wheretextis preferred over an accent colour.To clarify, I'm all for improving syntax highlighting to make easier to discern elements that are semantically meaningful, but I am not interested throwing all of our accent colours into all possible Treesitter captures.
Why change the highlights all at the same time, and why now?
In an ideal world, all of our code editors would be updated immediately as we decide on a change/improvement to the style guide. Unfortunately, that's not the world we live in.
VSCode happened to get more of the updates since we were using that port for majority of the changes, and we've slowly had a decline in maintainers for existing code editors so there hasn't been anyone updating our code editors on a regular schedule. Not to mention that no one was the maintainer of the neovim port for quite a while, resulting in quite a bit of tech debt making it hard to motivate anyone to test and review changes.
Some of the changes here don't even align with VSCode, Intellij, etc. Why?
The direct answer is that each editor has to make trade-offs depending on their syntax highlighting method, and on top of that, a lack of maintainers in some editors means that changes to the style guide haven't been propagated out.
These changes are to try and keep the syntax highlighting of Catppuccin across different editors feel more consistent and unsurprising. It's a hard balance to strike when trying to improve the highlights in different grammars, but also make it feel familiar across lots of different code editors. You may find that VSCode, Intellij, etc will receive some updates after we land v2.0.0 in this port.
Why the alignment with VSCode's Textmate, when Treesitter is more powerful?
I'd like to quote @uncenter from their comment as they put it quite well:
To expand on that, it is my personal opinion that while we can be more specific with lots of different Treesitter captures, that doesn't necessarily mean we always should differentiate it in colour.
The style guide feels quite vague, how are improvements/changes considered?
I will fully admit that our style guide needs a complete overhaul. This is something @unseen-ninja and I are looking into when time permits to turn it into something more detailed and specific.
Improvements/changes are effectively considered via issues/PRs on the
catppuccin/catppuccinrepository, but I highly recommend you engage with us in our official discord server to increase the likelihood of any contribution being accepted.I have some thoughts around these changes, where can I leave feedback?
This discussion is the place to do so. If you feel like a different colour should be used for a highlight, please take the time to detail why. If the reasoning for a change boils down to a simple "I don't like this" with no other points then it has an incredibly low chance of being considered for any discussion.
Be civil, respectful and adhere to our Code of Conduct. Thank you.
Closing Thoughts
This repository is quite special to Catppuccin in many ways, with it being the first one to effectively kickstart the entire organisation. However, as time has gone on,
catppuccin/nvimhas always felt like the "odd one out" when it came to syntax highlighting. Of course, I do regret that we haven't been able to keep it up-to-date in incremental chunks, but such is the nature of open source.I know some of you will completely disagree with the changes here, and will still prefer the highlights prior to v2.0.0 - I'd highly encourage you to make use of the
custom_highlightsAPI to configure the captures to your liking. We'll have a snippet in our official v2.0.0 release which you can copy/paste into that function to preserve the older syntax highlighting.As always, thank you to everyone who continues to use, contribute to, and share Catppuccin!
All reactions