gruvbox-community / gruvbox

Retro groove color scheme for Vim - community maintained edition
MIT License
801 stars 62 forks source link

Minor Fixing for Neovim only features #183

Closed saccarosium closed 2 years ago

saccarosium commented 2 years ago

Fixes:

Feat:

rbong commented 2 years ago

LGTM, thanks

undu commented 2 years ago

The colors defined here conflict with the colors as they appeared in ocaml:

Are the colors meant to be more-or-less consistent? I personally preferred the colors as they were but I can understand if this is the way they are meant to be shown

rbong commented 2 years ago

The colors really should remain consistent, I didn't think about how far-reaching the treesitter changes would be.

What do you think, should there be an option to disable treesitter-specific rules or should we provide a baseline that people can configure? Or maybe we should be defining different treesitter rules per-language, if we're already defining rules for that language.

undu commented 2 years ago

The goal of tree-sitter highlighting is to be consistent across languages, meaning parenthesis are highlighted the same in all, or punctuation.

I think this is an opportunity to have a complete set of tree-sitter groups and try to make them be harmonious (I'm liking the de-emphasized look of parens with fg3 in C#, for example). Because the choice is bound to be contentious, having a variable to opt-in would be the choice that causes less friction. Making it opt out could work if you want to collect opinions.

I think at this point trying to change the per-language colors is a fool's errand because people are bound to be attached to the code looking a certain way and demand to change it back.

rbong commented 2 years ago

I think this is an opportunity to have a complete set of tree-sitter groups and try to make them be harmonious

That's a good point, and probably a good idea - but also contrary to how gruvbox has worked up to this point

saccarosium commented 2 years ago

The goal of tree-sitter highlighting is to be consistent across languages, meaning parenthesis are highlighted the same in all, or punctuation.

Is really hard to have consistency without any spec sheet (like dracula's one and nord's one).

I can implement something like in vim-code-dark that as an option called "codedark_conservative" that simply removes a lot of the colors that treesitters adds.

We can remove some friction by add some documentation documenting how to change different parts of the highlightings. Because, at the end of the day, most of it comes down to personal preferences.

undu commented 2 years ago

Looking at the sourcecode of nvim-treesiter it's not clear to me it need explicit support as all of its highlights are aliases: https://github.com/nvim-treesitter/nvim-treesitter/blob/master/plugin/nvim-treesitter.vim#L30

Assigning a color to the original aliases should be more than enough

rbong commented 2 years ago

Looking at the sourcecode of nvim-treesiter it's not clear to me it need explicit support as all of its highlights are aliases: https://github.com/nvim-treesitter/nvim-treesitter/blob/master/plugin/nvim-treesitter.vim#L30

Assigning a color to the original aliases should be more than enough

In light of this I've reverted the changes to treesitter highlight groups, with the exception of TSKeywordOperator because of #153.