Code Monkey home page Code Monkey logo

colorschemes's Introduction

Vim's colorscheme incubator

As of 8.2, the collection of 18 colorschemes packaged with Vim (19 for MacVim) has been mostly stale for many years. In the mean time, two trends have been going strong, one fueling the other:

  • The colorscheme industry is bursting with creativity, demonstrating if need be that the default colorschemes don't quite cut the deal for a significant portion of the user base.
  • Vim itself and its environment have been evolving, too, adding new features without keeping the built-in colorschemes up-to-date, making them less and less relevant over the years.

Now is the time for Vim to up its colorscheme game and for us to help.

What is our mission?

Our mission is essentially to modernise Vim's default colorscheme offering. This will involve work on three fronts:

  • adding new colorschemes,
  • improving existing colorschemes,
  • providing better tooling and documentation to authors.

Adding new colorschemes

Over the years, Vim users have created and shared hundreds and hundreds of custom colorschemes, some reaching cult status at different times. Monokai variants dominated the late 2000s, Solarized dominated the early 2010s, Gruvbox has a firm grip on the late 2010s-early 2020s, but they are only the latest in a long series, joining other famous names like Jellybeans, Mustang, etc. and there are many others anyway.

The primary goal of this project is to select modern colorschemes suitable for inclusion in the Vim distribution and to facilitate their inclusion.

Improving existing colorschemes

Taking $VIMRUNTIME/blue.vim as an example, we can see that it lacks a g:terminal_ansi_colors dictionary, doesn't handle :help terminal-debugger, :help window-toolbar, or even :help spell, lacks consistency, etc.

Adding new sleek, modern, colorschemes is certainly a good idea, but we have to take care of the existing colorschemes. Nobody wants a two-tier offering so modernising the default colorschemes will be an important part of our effort.

Providing better tooling and documentation to authors

In order to provide the greatest possible user experience, we must make sure that every colorscheme satisfies practical requirements. It is too early to make an exhaustive list but here are a few:

  • all colorschemes must have the same structure
  • all colorschemes must have the same features
  • all colorschemes must work out-of-the-box in every common environment (16 colors, 256 colors, true colors, GUI)

Such goals can't be reached without providing colorscheme authors with a solid toolbox and an up-to-date documentation.

What is the plan?

  1. Reach a compromise on a definitive list of requirements.
  2. Find the resources and build the necessary tools.
  3. Open a proper "call for colorschemes".
  4. Include the approved submissions in the Vim distribution, either one by one or as a whole.

Who is in charge?

Install

If you use Vim 8's package feature, you can simply put this directory under:

~/.vim/pack/{whatever}/start/

If you use a plugin manager, do the same as with your other plugins.

Useful links

Legacy

The original colorschemes can be found under legacy_colors.

colorschemes's People

Contributors

habamax avatar knop-01 avatar lifepillar avatar neutaaaaan avatar romainl avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.