🎨 A command line tool to generate color themes for editors (Vim, VSCode, Sublime, Atom) and terminal emulators (iTerm2, Hyper).
Contents
yay -S colorstorm
In progress, check back soon!
- Install Zig
- Run:
make release
- Move
zig-out/bin/colorstorm
into yourPATH
$ colorstorm [-o outdir] [-g generator] input
-o|--outdir: The directory to output themes to (default: "./colorstorm-out")
-g|--gen: Generator type (default: all)
Available types: all, atom, vscode, vim, sublime, iterm, hyper
-i|--input: The JSON input file to use for generating the themes
See: https://github.com/benbusby/colorstorm#creating-themes
- Vim
- VSCode
- Sublime
- Atom
- iTerm2
- Hyper
You can create themes for all available editors and terminal emulators using a single JSON file to define the colors. The file should be an array (even for one theme), with the following structure:
[
{
"theme_name_full": "Moonside",
"theme_name_safe": "moonside",
"color_bg_main": "#000000",
"color_bg_alt1": "#080808",
"color_bg_alt2": "#131313",
"color_fg": "#ffffff",
"color_linenr": "#9e5dc8",
"color_select": "#5a1359",
"color_type": "#f6f929",
"color_accent": "#fd35fa",
"color_string": "#ff6693",
"color_boolean": "#fd9935",
"color_variable": "#c67ff4",
"color_number": "#aaef64",
"color_comment": "#7ca454",
"color_function": "#5e9aff"
},
{
...
}
]
Value names are mostly self-explanatory, but here is a breakdown of what each field means:
Field | Explanation |
theme_name_full |
The full name of the theme that will appear in theme file documentation |
theme_name_safe |
The value to use as the filename for the theme |
color_bg_main |
Primary background color |
color_bg_alt1 |
A separate background color to use for UI elements like file trees and tab bars |
color_bg_alt2 |
A separate background color to use for UI elements like line numbers and gutters |
color_fg |
The foreground color (all generic text) |
color_linenr |
The color used for line numbers |
color_select |
The color used for selecting a word or lines of text |
color_type |
The color used for variable types (int, float, etc) |
color_accent |
An "accent" color -- typically used for special cases (like current line number highlight or badge backgrounds) |
color_string |
The color used for strings |
color_boolean |
The color used for boolean values |
color_variable |
The color used for variable instances and constants |
color_number |
The color used for numeric values |
color_comment |
The color used for code comments |
color_function |
The color used for function names |