vim / colorschemes

colorschemes for Vim
274 stars 23 forks source link

Instructions for new contributors? Make it easy to contribute. #221

Open zewpo opened 1 year ago

zewpo commented 1 year ago

By the way, great project. The readme defines some excellent goals.

I'm thinking that there are all sorts of users who can create great colorschemes, but they might not otherwise be well versed in software delivery pipelines or the vim runtime. It would be good if we could make it easy, while still guiding them to do it properly.

eg. How do I create a new colorscheme?
What is step 1. 2... etc.
What are the steps to do the testing?

I think we can make this more obvious in the readme.

Do I have to create a fork of this repo, and submit PRs? How much of this can we automate?

romainl commented 1 year ago

Hello and thank you for your interest.

In a nutshell…

This repo is primarily a clearinghouse for colorschemes distributed with Vim but it also aims at improving and standardizing the tooling and process of authoring colorschemes in general. Said another way, we are trying to make sure that the colorschemes distributed with Vim are the gold standard of colorschemes from a technical point of view and we hope to distill a better documentation and better tooling from that experience.

The process is not finished, we still encounter weird edge cases every now and then, so it would be difficult to write a complete documentation at this point. Plus, colortemplate, the design tool we settled on, is undergoing a rewrite, which complicates things a little.

Note that authoring one's own colorscheme, private or public, and authoring a colorscheme to be distributed with Vim are slightly different endeavours. The latter is bound to be more constrained than the former, which is something that will need to be addressed in any future documentation.

If you are interested in authoring your own colorscheme without having it distributed with Vim, then there is no official process and very little in terms of official guidelines. We recommend doing it with https://github.com/lifepillar/vim-colortemplate. The plugin's documentation is very thorough and contains a lot of tips.

If you are interested in authoring a colorscheme to be distributed with Vim, then the process is as follows:

  1. Install https://github.com/lifepillar/vim-colortemplate and read its documentation.
  2. Fork this repo.
  3. Create a local branch.
  4. When you think you are ready, push your local branch and open a PR with screenshots.
  5. Discuss your work with us, handle feedbacks, etc.
  6. When we all agree that your work can be included, your PR is merged.
  7. Every now and then, we will open a PR in Vim's main repo with the new colorschemes.
  8. There may be some discussion and some back and forth.
  9. The PR will be closed by Bram and the new colorschemes will be part of the next runtime update.
  10. People might report some bugs or unexpected behaviors that we will try to handle as best as we can.

Feel free to explore the issue tracker, the wiki, and to ask further questions about more specific aspects.

zewpo commented 1 year ago

Thanks @romainl

Yes, that's the type of information that I imagine should be written in the main readme. Or at least easy to find for new contributors. Not necessarily detailed, but a general overview is helpful.

I do appreciate that there are various different use cases and scenarios, and I recognise that your primary goal is to revitalise the colorschemes that go with the core vim distribution.

The missing piece of information for me was what to do with those colortemplate files. I cloned the repo, and saw the template files, but didnt know what to do with them, assuming that they should be helpful.

I also suggest putting an obvious link to https://github.com/lifepillar/vim-colortemplate in the main readme file of this repo, for other potential contributors.

romainl commented 1 year ago

A CONTRIBUTING file at the root of the repo, eventually mentioned in the README, seems to be the best place for this.