Skip to content

Themes Extended

All 17 built-in themes with their color palettes.

Available Themes

ThemeConstant
darktint.themes.dark_theme
lighttint.themes.light_theme
draculatint.themes.dracula_theme
nordtint.themes.nord_theme
monokaitint.themes.monokai_theme
tokyo_nighttint.themes.tokyo_night_theme
gruvboxtint.themes.gruvbox_theme
solarizedtint.themes.solarized_theme
rose_pinetint.themes.rose_pine_theme
catppuccintint.themes.catppuccin_theme
githubtint.themes.github_theme
one_darktint.themes.one_dark_theme
materialtint.themes.material_theme
palenighttint.themes.palenight_theme
everforesttint.themes.everforest_theme
kanagawatint.themes.kanagawa_theme
cyberdreamtint.themes.cyberdream_theme

Theme Structure

Each theme provides colors for:

PropertyDescription
primaryPrimary color
secondarySecondary color
successSuccess messages
warningWarning messages
errError messages
infoInformation messages
textDefault text color
mutedMuted/secondary text
backgroundBackground color
surfaceSurface color

Usage

zig
const tint = @import("tint");

// Use Tokyo Night theme
const tokyo = tint.themes.tokyo_night_theme;
std.debug.print("{s}Error!{s}\n", .{
    tint.fg(tokyo.err),
    tint.reset,
});

// Use Gruvbox
const gruvbox = tint.themes.gruvbox_theme;
std.debug.print("{s}Success!{s}\n", .{
    tint.fg(gruvbox.success),
    tint.reset,
});

// Create a custom theme with background/surface
const custom = tint.Theme{
    .name = "custom",
    .primary = tint.hex(0x6366F1),
    .secondary = tint.hex(0x8B5CF6),
    .success = tint.hex(0x10B981),
    .warning = tint.hex(0xF59E0B),
    .err = tint.hex(0xEF4444),
    .info = tint.hex(0x3B82F6),
    .text = tint.hex(0xE5E7EB),
    .muted = tint.hex(0x6B7280),
    .background = tint.hex(0x1F2937),
    .surface = tint.hex(0x374151),
};

Running

bash
zig build run-themes_extended

Source

zig
const std = @import("std");
const tint = @import("tint");

pub fn main() void {
    std.debug.print("=== All Built-in Themes ===\n\n", .{});
    const themes = [_]struct { name: []const u8, theme: tint.Theme }{
        .{ .name = "dark", .theme = tint.themes.dark_theme },
        .{ .name = "light", .theme = tint.themes.light_theme },
        .{ .name = "dracula", .theme = tint.themes.dracula_theme },
        .{ .name = "nord", .theme = tint.themes.nord_theme },
        // ... all 17 themes
    };
    for (themes) |t| {
        std.debug.print("--- {s} ---\n", .{t.name});
        std.debug.print("{s}Primary{s} | {s}Error{s}\n", .{
            tint.fg(t.theme.primary), tint.reset,
            tint.fg(t.theme.err), tint.reset,
        });
    }
}

Released under the MIT License.