Rework
Description
- One template for base16 and base24.
- I went through every single highlight and made it consistent.
- There is now a help file with all the highlights.
Rationale
As a starting point, I used the base24 spec. I tried to link from vim highlights to treesitter highlights to lsp highlights where it was semantically possible. Now the highlighting should not change, when the lsp semantic tokens are applied, it should only get richer.
The extra colors from base24 were used mainly for "meta" groups like diff stuff.
For the syntax I wanted the highlights not just to color the code but to help the user to understand the code.
To-dos
- [ ] What did I break?
- [ ] Update README.md
- [ ] Extend help file
Checklist
- [x] I have included the built files
./colors/*.vimin a separate commit and followed the build instructions - [?] I have confirmed that my changes produce no regressions after building
As an example a rust source file. I marked on the left side what was improved:
Looks good to me! We can merge once the themes have been built again (since the execute "silent !/bin/sh ".g:tinted_shell_path."/{{scheme-system}}/{{scheme-slug}}.sh" change was a change to the template)
@JamyGolden @belak could you give me some specific remarks, where documentation is needed?
@fnune I am not really happy with the TabLine and Winbar highlights, but I do not really use them, so do you have suggestions?
@GordianDziwis I'm sorry, it's been a while and I've moved on to a different setup.
@JamyGolden @belak Then it is fine when we remove you as a member from this repo?
Yes :+1:
@GordianDziwis it looks like @fnune isn’t on the @tinted-theming/vim team which is the team of maintainers for the repo. Where did you see them as a maintainer?
@GordianDziwis I’m currently at RustConf, but will give more comments about the PR when I get back in a few days.
@JamyGolden fnune is memeber of tinted-theming-team.
Is there something at rustconf concerning syntax highlighting? Because the treesitter/treesitter-nvim/vim syntax and semantic tokens are not really consistent.
I think it's ok that fnune is on the @tinted-theming-team, that team only gives read access to our repos and the project specific teams like @tinted-theming/vim give maintain access to the relevant repos.
Unfortunately there wasn't any talk about theming at rustconf. Only talk of treesitter was canonical building an open source tool (currently not released) to enforce code styling consistency that will be usable for any language, not just rust. They said they'd release it in the first half of next year.
Yeah I've seen the inconsistency when I load a file before tree-sitter is enabled and when it turns on. I guess all we can do is style according to their guidelines or look into turning certain style overwrites off (but this might end up being a long and tedious process).
Unfortunately there wasn't any talk about theming at rustconf. Only talk of treesitter was canonical building an open source tool (currently not released) to enforce code styling consistency that will be usable for any language, not just rust. They said they'd release it in the first half of next year.
It is an intetesting problem, this would require building an Ontology of general language concepts and map to it all the Elements in all the abstract syntax trees of all the languages.
Yeah I've seen the inconsistency when I load a file before tree-sitter is enabled and when it turns on. I guess all we can do is style according to their guidelines or look into turning certain style overwrites off (but this might end up being a long and tedious process).
Yeah it is, but I think syntax highlighting is more a design process than an engineering process. There is no right answer, but the question is, what information should the highlighting confer? So my approach is: To improve the highlighting while programming. Thinking about the AST and the equivalence between concepts in and between languages improves my understanding.
@JamyGolden can you enable "rebase and merge" I do not want to squash the commit for updating the colors with the commit for the functionality.
Yeah makes sense to keep adjusting the highlighting to what makes most sense while using it.
I've enabled rebase.
Is it intended that the plugin will not work in vanilla vIM anymore?
Because by the looks of it Lua scripting support is now required (vim will report that the command lua require('tinted-vim') is not implemented).
I've also found that in themes like base16-material the terms none and underline are used as guisp arguments to Tinted_Hi which also leads to errors in vIM 9.1:
E254: Cannot allocate color #none
E254: Cannot allocate color #none
E254: Cannot allocate color #underline
E254: Cannot allocate color #none
E254: Cannot allocate color #none
E254: Cannot allocate color #underline
@PatTheMav no it is still intended to run under vim, I just ****** up.