| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
This plugin defines a much simpler language for writing colorschemes, and generates a Vim colorscheme file automatically, including all necessary boilerplate. 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:
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.
Note:
I like making my own colorschemes, I don't like dealing with Vim's syntax. I wanted something simpler and more intuitive.
Here are some specific examples from my colorscheme, comparing Schemer syntax and Vim syntax.
Vim colorscheme syntax
hi Incsearch guifg=NONE guibg=#b7d1b0 ctermfg=NONE ctermbg=151 cterm=bold gui=boldSchemer syntax:
Incsearch NONE, #b7d1b0. bold
Vim colorscheme syntax
hi! link typedef structure
hi! link label structure
hi! link typedef structureSchemer syntax:
link label,storageclass,typedef structure
Overall, Vim's syntax for colorscheme definitions feels repetitive to me, and I can't always remember the necessary boilerplate, so I made this. A Schemer colorscheme definition is as simple as:
background dark
palette:
text #333333,
bg #e4e4e4,
comment #f5f5f5.
Normal text, bg
Comment comment, bg. italic
link statusline,statuslinenc normal
In my opinion, much more readable and writable than Vimscript.
You can also set g:terminal_ansi_colors with the ansi: keyword:
ansi: #eff0f3, #125394, #145a9c, #1562c0, #2182e1, #2377e1, #3c68e6, #0a0c0f, #525963, #125394, #145a9c, #1562c0, #2182e1, #2377e1, #3c68e6, #0a0c0f
There are a few alternative colorscheme generators. I took a look at RNB, but it didn't feel right for me, for a few reasons. It depends on Ruby, and I'd rather not have any dependencies. 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, 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. 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.
| Back | FazBrowse Home | New Git URL |