base16-vim icon indicating copy to clipboard operation
base16-vim copied to clipboard

Rework

Open GordianDziwis opened this issue 1 year ago • 1 comments

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/*.vim in a separate commit and followed the build instructions
  • [?] I have confirmed that my changes produce no regressions after building

GordianDziwis avatar Oct 28 '24 21:10 GordianDziwis

As an example a rust source file. I marked on the left side what was improved:

Screenshot from 2024-10-28 22-47-06

GordianDziwis avatar Oct 28 '24 21:10 GordianDziwis

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 avatar Nov 01 '24 09:11 JamyGolden

@JamyGolden @belak could you give me some specific remarks, where documentation is needed?

GordianDziwis avatar Nov 04 '24 15:11 GordianDziwis

@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 avatar Nov 04 '24 15:11 GordianDziwis

@GordianDziwis I'm sorry, it's been a while and I've moved on to a different setup.

fnune avatar Nov 05 '24 10:11 fnune

@JamyGolden @belak Then it is fine when we remove you as a member from this repo?

GordianDziwis avatar Nov 05 '24 12:11 GordianDziwis

Yes :+1:

fnune avatar Nov 05 '24 12:11 fnune

@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?

JamyGolden avatar Nov 10 '24 17:11 JamyGolden

@GordianDziwis I’m currently at RustConf, but will give more comments about the PR when I get back in a few days.

JamyGolden avatar Nov 10 '24 17:11 JamyGolden

@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.

GordianDziwis avatar Nov 12 '24 12:11 GordianDziwis

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).

JamyGolden avatar Nov 14 '24 08:11 JamyGolden

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.

GordianDziwis avatar Nov 14 '24 19:11 GordianDziwis

@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.

GordianDziwis avatar Nov 15 '24 12:11 GordianDziwis

Yeah makes sense to keep adjusting the highlighting to what makes most sense while using it.

I've enabled rebase.

JamyGolden avatar Nov 15 '24 19:11 JamyGolden

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 avatar Nov 16 '24 22:11 PatTheMav

@PatTheMav no it is still intended to run under vim, I just ****** up.

GordianDziwis avatar Nov 19 '24 12:11 GordianDziwis