| name |
Slatewave for Helix |
| shortName |
Helix |
| slug |
helix |
| cliSlug |
helix |
| category |
editor |
| tagline |
A Helix theme with mode-aware accents and live-reload tweakability. |
| summary |
A Helix theme covering editor, statusline, bufferline, popups, diagnostics, and diff — plus mode-aware cursor/badge colors (teal normal, teal-200 insert, sky select) that keep the active mode readable at a glance. |
| status |
beta |
| order |
20 |
| accent |
#38bdf8 |
| repo |
| owner |
name |
url |
defaultBranch |
kevinlangleyjr |
helix-slatewave |
|
main |
|
| preview |
| kind |
language |
sample |
code |
rust |
// slatewave/palette.rs
use std::fmt;
#[derive(Debug, Clone)]
pub struct Theme {
pub name: String,
pub accent: &'static str,
pub mode: Mode,
}
#[derive(Debug, Clone, Copy)]
pub enum Mode {
Normal,
Insert,
Select,
}
impl fmt::Display for Theme {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "{} · {:?}", self.name, self.mode)
}
}
fn main() {
let theme = Theme {
name: String::from("Slatewave"),
accent: "#5eead4",
mode: Mode::Normal,
};
println!("{theme}");
}
|
|
| install |
| label |
description |
steps |
Clone |
Clone and copy the theme into Helix's themes directory. Requires Helix 24.03+ for modern theme scopes (ui.bufferline, ui.virtual.inlay-hint, curly diagnostic underlines). |
|
cp helix-slatewave/themes/slatewave.toml ~/.config/helix/themes/slatewave.toml |
Tweaking the theme? Symlink instead so edits round-trip — `ln -s "$(pwd)/helix-slatewave/themes/slatewave.toml" ~/.config/helix/themes/slatewave.toml` |
|
|
| label |
description |
steps |
Activate |
Set the theme in config.toml, or switch at runtime from the command palette — Helix reloads themes on save. |
Add `theme = "slatewave"` to ~/.config/helix/config.toml |
Or pick at runtime — `:set theme slatewave` |
|
|
|
| tags |
|
| related |
|
Slatewave for Helix surfaces the current mode on both the statusline
badge and the primary cursor — teal for Normal, teal-200 for Insert,
sky-400 for Select — so the active mode reads at a glance without
looking at the status bar. Badge ink stays slate-900 across all three
for maximum contrast.
Syntax mapping is 1:1 with the VSCode, Neovim, Zed, and Sublime Text
ports, so the same file highlights identically across editors. Covers
TreeSitter scopes, LSP diagnostics (with curly underlines), bufferline,
popups, rulers, diff gutter, and virtual text.