The following files are generated by this script. - [`colors/spring-night.vim`](../colors/sprint-night.vim) - [`autoload/airline/themes/spring_night.vim`](../autoload/airline/themes/spring_night.vim) - [`alacritty/sprint_night.toml`](../alacritty/sprint_night.toml) This script requires Rust toolchain. Install it by following the [official instruction](https://www.rust-lang.org/en-US/install.html) and confirm that `cargo` command is available for package management. To generate files: ``` $ cargo run -- --dir .. ``` Without `--dir` option, it dumps generated contents to stdout. Please see `--help` for more detail. To run tests: ``` $ cargo test ``` To build a release binary: ``` $ cargo build --release $ ./target/release/gen-spring-night-theme --dir .. ``` To modify colors or highlights, you can update tables and lists in `src/main.rs`. - `Palette` in [`palette` module](./src/palette.rs) is a struct to define colors. `Palette::default` method constructs the instance. You can find the color palette inside the function body. - `Colorscheme` in [`colorscheme` module](./src/colorscheme.rs) is a struct to generate Vim colorscheme file. `ColorschemeWriter::new` method constructs the definition of highlights. Read the function body to know/modify the highlights for each syntax items. The terminal colors used in `:terminal` are also defined here. - `AirlineTheme` in [`airline` module](./src/airline.rs) is a struct to generate [vim-airline](https://github.com/vim-airline/vim-airline) theme file. `AirlineThemeWriter::new` method defines color palettes for each modes. - `AlacrittyTheme` in [`alacritty` module](./src/alacritty.rs) is a struct to generate [Alacritty](https://alacritty.org/) theme file. `AlacrittyTheme::new` method defines the terminal ANSI colors.