vim-schemer

Vim plugin to make writing colorschemes easier by providing a clean slate, and using a simpler/more readable syntax.
git clone git://git.alex.balgavy.eu:vim-schemer.git
Log | Files | Refs | README

commit b4fe32091920103aac8b4d8329225abccf336cff
parent f636991d92d922890b94955d624dd5466194b309
Author: Alex Balgavy <a.balgavy@gmail.com>
Date:   Sat,  2 May 2020 17:27:01 +0200

Updated readme

Diffstat:
MREADME.md | 22++++++++++++++--------
1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/README.md b/README.md @@ -1,21 +1,26 @@ # Schemer: a Vim colorscheme generator ## What? This plugin defines a much simpler language for writing colorschemes, and generates a Vim colorscheme file automatically, including all necessary boilerplate. -It gives you an empty slate: if you don't define anything in your colors heme, you get an empty colors heme (as opposed to the default that Vim uses). +Unlike many other such plugins, Schemer gives you an empty slate: if you don't define anything in your colorscheme, you get an empty colorscheme (as opposed to the default colors that Vim uses). +It's written in Vim script, and has no external dependencies. It consists of: * a new filetype, 'schemer', with the extension '.schemer' * a command, `SchemerGenerate`, to generate a '.vim' colorscheme file from a '.schemer' file (only accessible in files with the 'schemer' filetype) * an autocommand for the Schemer filetype, to run `:SchemerGenerate` and switch to the colorscheme automatically, whenever a Schemer file is saved. Can be disabled by setting `g:schemer_no_autocmd`. -* two `<Plug>` mappings, with no default mapping: +* two `<Plug>` mappings, with no default key mapping: * `<Plug>SchemerSynstack` to echo the highlight groups of the word under the cursor * `<Plug>SchemerEdit` to open the '.schemer' file for the current colorscheme. Assumes the '.schemer' file is in ~/.vim/colors. -This plugin is not meant to be compatible with everything that can run Vim. -If you don't set `termguicolors`, the colors used will be approximations. -That's fine for me, but might not be fine for you. +The main idea of Schemer is to allow users to define a 'palette' (natural-language aliases for colors), then define the highlighting of a few 'main' elements of Vim using that palette, and finally link the highlighting of any other elements to those main elements. -It's also likely slower and less efficient than it could be. +Note: +* This plugin is not meant to be compatible with everything that can run Vim. +* It also may not be compatible with everyone's Vim or terminal emulator. + It works for me (iTerm2 on macOS & xst on Regolith Linux), but it may take some poking to make it work for you. +* If you don't set `termguicolors`, the colors used will be approximations; that's fine for me, but might not be fine for you. +* It's also likely slower and less efficient than it could be. +* The generated colorscheme may also take longer to load, as it includes additional logic to ensure that highlight groups are getting cleared properly (though this has not been an issue for me). ## Why? I like making my own colorschemes, I don't like dealing with Vim's syntax. @@ -77,9 +82,10 @@ Also, it still feels too detailed, and there's too much writing. That sounds like a childish complaint, but I wanted to make writing colorschemes as simple as possible for me. Having to specify the details of every color without actually needing that level of control was too much. -Another option is [colortemplate](https://github.com/lifepillar/vim-color template), which is pretty close to what I want. +Another option is [colortemplate](https://github.com/lifepillar/vim-color template), which is pretty close to what I want. However, I found that it's a bit too much for my purposes, and I prefer my syntax. -If you want something that gives you more control, more compatibility, and a richer syntax, I'd recommend colortemplate. +It's just too much boilerplate for me; I understand that has to be there to ensure functionality on everyone's computer, hence I'm not making any guarantees about Schemer working for everyone. +If you want something that gives you more control, more compatibility, and a richer syntax, I'd recommend colortemplate or RNB. This plugin is mainly for me. It might not make sense for you, and you might prefer the control you get from other colorscheme generators, which is fine.