// Static catalog of all 60 Shiki syntax theme color definitions. // // Each entry contains the key colors extracted from the Shiki theme JSON: // bg, fg, comment (+ optional git added/deleted colors). // The adaptive theme engine uses these to derive a full Material ColorScheme. import 'package:flutter/material.dart'; class ThemeColors { final String name; final Color bg; final Color fg; final Color comment; final Color? added; final Color? deleted; const ThemeColors({ required this.name, required this.bg, required this.fg, required this.comment, this.added, this.deleted, }); bool get isDark => bg.computeLuminance() < 0.5; /// Human-readable display name: 'catppuccin-mocha' → 'Catppuccin Mocha'. String get displayName => name .split('-') .map((w) => w.isNotEmpty ? '${w[0].toUpperCase()}${w.substring(1)}' : w) .join(' '); } /// Known light theme names — used to show sun/moon icons before loading. const lightThemeNames = { 'buzz', 'catppuccin-latte', 'everforest-light', 'github-light', 'github-light-default', 'github-light-high-contrast', 'gruvbox-light-hard', 'gruvbox-light-medium', 'gruvbox-light-soft', 'kanagawa-lotus', 'light-plus', 'material-theme-lighter', 'min-light', 'one-light', 'rose-pine-dawn', 'slack-ochin', 'snazzy-light', 'solarized-light', 'vitesse-light', }; /// All available color schemes, sorted alphabetically. const themeCatalog = [ ThemeColors( name: 'andromeeda', bg: Color(0xFF23262E), fg: Color(0xFFD5CED9), comment: Color(0xFFA0A1A7), added: Color(0xFF9BC53D), deleted: Color(0xFFFC644D), ), ThemeColors( name: 'aurora-x', bg: Color(0xFF07090F), fg: Color(0xFFD4D4D4), comment: Color(0xFF546E7A), added: Color(0xFF64D389), deleted: Color(0xFFDD5074), ), ThemeColors( name: 'ayu-dark', bg: Color(0xFF10141C), fg: Color(0xFFBFBDB6), comment: Color(0xFF5A6673), added: Color(0xFF70BF56), deleted: Color(0xFFF26D78), ), // Buzz and Buzz Dark are first-party: they borrow the GitHub Light / GitHub // Dark palettes wholesale and are distinguished only by the branded gradient // painted across the app's top section (see buzz_theme.dart). ThemeColors( name: 'buzz', bg: Color(0xFFFFFFFF), fg: Color(0xFF24292E), comment: Color(0xFF6A737D), added: Color(0xFF28A745), deleted: Color(0xFFD73A49), ), ThemeColors( name: 'buzz-dark', bg: Color(0xFF24292E), fg: Color(0xFFE1E4E8), comment: Color(0xFF6A737D), added: Color(0xFF34D058), deleted: Color(0xFFEA4A5A), ), ThemeColors( name: 'catppuccin-frappe', bg: Color(0xFF303446), fg: Color(0xFFC6D0F5), comment: Color(0xFF949CBB), added: Color(0xFFA6D189), deleted: Color(0xFFE78284), ), ThemeColors( name: 'catppuccin-latte', bg: Color(0xFFEFF1F5), fg: Color(0xFF4C4F69), comment: Color(0xFF7C7F93), added: Color(0xFF40A02B), deleted: Color(0xFFD20F39), ), ThemeColors( name: 'catppuccin-macchiato', bg: Color(0xFF24273A), fg: Color(0xFFCAD3F5), comment: Color(0xFF939AB7), added: Color(0xFFA6DA95), deleted: Color(0xFFED8796), ), ThemeColors( name: 'catppuccin-mocha', bg: Color(0xFF1E1E2E), fg: Color(0xFFCDD6F4), comment: Color(0xFF9399B2), added: Color(0xFFA6E3A1), deleted: Color(0xFFF38BA8), ), ThemeColors( name: 'dark-plus', bg: Color(0xFF1E1E1E), fg: Color(0xFFD4D4D4), comment: Color(0xFF6A9955), ), ThemeColors( name: 'dracula', bg: Color(0xFF282A36), fg: Color(0xFFF8F8F2), comment: Color(0xFF6272A4), added: Color(0xFF50FA7B), deleted: Color(0xFFFF5555), ), ThemeColors( name: 'dracula-soft', bg: Color(0xFF282A36), fg: Color(0xFFF6F6F4), comment: Color(0xFF7B7F8B), added: Color(0xFF50FA7B), deleted: Color(0xFFEE6666), ), ThemeColors( name: 'everforest-dark', bg: Color(0xFF2D353B), fg: Color(0xFFD3C6AA), comment: Color(0xFFD3C6AA), added: Color(0xFFA7C080), deleted: Color(0xFFE67E80), ), ThemeColors( name: 'everforest-light', bg: Color(0xFFFDF6E3), fg: Color(0xFF5C6A72), comment: Color(0xFF5C6A72), added: Color(0xFF8DA101), deleted: Color(0xFFF85552), ), ThemeColors( name: 'github-dark', bg: Color(0xFF24292E), fg: Color(0xFFE1E4E8), comment: Color(0xFF6A737D), added: Color(0xFF34D058), deleted: Color(0xFFEA4A5A), ), ThemeColors( name: 'github-dark-default', bg: Color(0xFF0D1117), fg: Color(0xFFE6EDF3), comment: Color(0xFF8B949E), added: Color(0xFF3FB950), deleted: Color(0xFFF85149), ), ThemeColors( name: 'github-dark-dimmed', bg: Color(0xFF22272E), fg: Color(0xFFADBac7), comment: Color(0xFF768390), added: Color(0xFF57AB5A), deleted: Color(0xFFE5534B), ), ThemeColors( name: 'github-dark-high-contrast', bg: Color(0xFF0A0C10), fg: Color(0xFFF0F3F6), comment: Color(0xFFBDC4CC), added: Color(0xFF26CD4D), deleted: Color(0xFFFF6A69), ), ThemeColors( name: 'github-light', bg: Color(0xFFFFFFFF), fg: Color(0xFF24292E), comment: Color(0xFF6A737D), added: Color(0xFF28A745), deleted: Color(0xFFD73A49), ), ThemeColors( name: 'github-light-default', bg: Color(0xFFFFFFFF), fg: Color(0xFF1F2328), comment: Color(0xFF6E7781), added: Color(0xFF1A7F37), deleted: Color(0xFFCF222E), ), ThemeColors( name: 'github-light-high-contrast', bg: Color(0xFFFFFFFF), fg: Color(0xFF0E1116), comment: Color(0xFF66707B), added: Color(0xFF055D20), deleted: Color(0xFFA0111F), ), ThemeColors( name: 'gruvbox-dark-hard', bg: Color(0xFF1D2021), fg: Color(0xFFEBDBB2), comment: Color(0xFF928374), added: Color(0xFFEBDBB2), deleted: Color(0xFFCC241D), ), ThemeColors( name: 'gruvbox-dark-medium', bg: Color(0xFF282828), fg: Color(0xFFEBDBB2), comment: Color(0xFF928374), added: Color(0xFFEBDBB2), deleted: Color(0xFFCC241D), ), ThemeColors( name: 'gruvbox-dark-soft', bg: Color(0xFF32302F), fg: Color(0xFFEBDBB2), comment: Color(0xFF928374), added: Color(0xFFEBDBB2), deleted: Color(0xFFCC241D), ), ThemeColors( name: 'gruvbox-light-hard', bg: Color(0xFFF9F5D7), fg: Color(0xFF3C3836), comment: Color(0xFF928374), added: Color(0xFF3C3836), deleted: Color(0xFFCC241D), ), ThemeColors( name: 'gruvbox-light-medium', bg: Color(0xFFFBF1C7), fg: Color(0xFF3C3836), comment: Color(0xFF928374), added: Color(0xFF3C3836), deleted: Color(0xFFCC241D), ), ThemeColors( name: 'gruvbox-light-soft', bg: Color(0xFFF2E5BC), fg: Color(0xFF3C3836), comment: Color(0xFF928374), added: Color(0xFF3C3836), deleted: Color(0xFFCC241D), ), ThemeColors( name: 'houston', bg: Color(0xFF17191E), fg: Color(0xFFEEF0F9), comment: Color(0xFFEEF0F9), added: Color(0xFF4BF3C8), deleted: Color(0xFFF4587E), ), ThemeColors( name: 'kanagawa-dragon', bg: Color(0xFF181616), fg: Color(0xFFC5C9C5), comment: Color(0xFF737C73), added: Color(0xFF76946A), deleted: Color(0xFFC34043), ), ThemeColors( name: 'kanagawa-lotus', bg: Color(0xFFF2ECBC), fg: Color(0xFF545464), comment: Color(0xFF716E61), added: Color(0xFF6E915F), deleted: Color(0xFFD7474B), ), ThemeColors( name: 'kanagawa-wave', bg: Color(0xFF1F1F28), fg: Color(0xFFDCD7BA), comment: Color(0xFF727169), added: Color(0xFF76946A), deleted: Color(0xFFC34043), ), ThemeColors( name: 'laserwave', bg: Color(0xFF27212E), fg: Color(0xFFFFFFFF), comment: Color(0xFF91889B), added: Color(0xFF74DFC4), deleted: Color(0xFFB381C5), ), ThemeColors( name: 'light-plus', bg: Color(0xFFFFFFFF), fg: Color(0xFF000000), comment: Color(0xFF008000), ), ThemeColors( name: 'material-theme', bg: Color(0xFF263238), fg: Color(0xFFEEFFFF), comment: Color(0xFF546E7A), added: Color(0xFFC3E88D), deleted: Color(0xFFF07178), ), ThemeColors( name: 'material-theme-darker', bg: Color(0xFF212121), fg: Color(0xFFEEFFFF), comment: Color(0xFF545454), added: Color(0xFFC3E88D), deleted: Color(0xFFF07178), ), ThemeColors( name: 'material-theme-lighter', bg: Color(0xFFFAFAFA), fg: Color(0xFF90A4AE), comment: Color(0xFF90A4AE), added: Color(0xFF91B859), deleted: Color(0xFFE53935), ), ThemeColors( name: 'material-theme-ocean', bg: Color(0xFF0F111A), fg: Color(0xFFBABED8), comment: Color(0xFF464B5D), added: Color(0xFFC3E88D), deleted: Color(0xFFF07178), ), ThemeColors( name: 'material-theme-palenight', bg: Color(0xFF292D3E), fg: Color(0xFFBABED8), comment: Color(0xFF676E95), added: Color(0xFFC3E88D), deleted: Color(0xFFF07178), ), ThemeColors( name: 'min-dark', bg: Color(0xFF1F1F1F), fg: Color(0xFFD4D4D4), comment: Color(0xFF6B737C), ), ThemeColors( name: 'min-light', bg: Color(0xFFFFFFFF), fg: Color(0xFF212121), comment: Color(0xFFC2C3C5), ), ThemeColors( name: 'monokai', bg: Color(0xFF272822), fg: Color(0xFFF8F8F2), comment: Color(0xFF88846F), ), ThemeColors( name: 'night-owl', bg: Color(0xFF011627), fg: Color(0xFFD6DEEB), comment: Color(0xFF637777), added: Color(0xFF9CCC65), deleted: Color(0xFFEF5350), ), ThemeColors( name: 'nord', bg: Color(0xFF2E3440), fg: Color(0xFFD8DEE9), comment: Color(0xFF616E88), added: Color(0xFFA3BE8C), deleted: Color(0xFFBF616A), ), ThemeColors( name: 'one-dark-pro', bg: Color(0xFF282C34), fg: Color(0xFFABB2BF), comment: Color(0xFFABB2BF), added: Color(0xFF109868), deleted: Color(0xFF9A353D), ), ThemeColors( name: 'one-light', bg: Color(0xFFFAFAFA), fg: Color(0xFF383A42), comment: Color(0xFFA0A1A7), ), ThemeColors( name: 'plastic', bg: Color(0xFF21252B), fg: Color(0xFFA9B2C3), comment: Color(0xFF5F6672), added: Color(0xFF98C379), deleted: Color(0xFFE06C75), ), ThemeColors( name: 'poimandres', bg: Color(0xFF1B1E28), fg: Color(0xFFA6ACCD), comment: Color(0xFF767C9D), added: Color(0xFF5FB3A1), deleted: Color(0xFFD0679D), ), ThemeColors( name: 'red', bg: Color(0xFF390000), fg: Color(0xFFF8F8F8), comment: Color(0xFFE7C0C0), ), ThemeColors( name: 'rose-pine', bg: Color(0xFF191724), fg: Color(0xFFE0DEF4), comment: Color(0xFF6E6A86), added: Color(0xFF9CCFD8), deleted: Color(0xFF908CAA), ), ThemeColors( name: 'rose-pine-dawn', bg: Color(0xFFFAF4ED), fg: Color(0xFF575279), comment: Color(0xFF9893A5), added: Color(0xFF56949F), deleted: Color(0xFF797593), ), ThemeColors( name: 'rose-pine-moon', bg: Color(0xFF232136), fg: Color(0xFFE0DEF4), comment: Color(0xFF6E6A86), added: Color(0xFF9CCFD8), deleted: Color(0xFF908CAA), ), ThemeColors( name: 'slack-dark', bg: Color(0xFF222222), fg: Color(0xFFE6E6E6), comment: Color(0xFF6A9955), added: Color(0xFFECB22E), deleted: Color(0xFFFFFFFF), ), ThemeColors( name: 'slack-ochin', bg: Color(0xFFFFFFFF), fg: Color(0xFF000000), comment: Color(0xFF357B42), added: Color(0xFFECB22E), deleted: Color(0xFFFFFFFF), ), ThemeColors( name: 'snazzy-light', bg: Color(0xFFFAFBFC), fg: Color(0xFF565869), comment: Color(0xFFADB1C2), added: Color(0xFF2DAE58), deleted: Color(0xFFFF5C57), ), ThemeColors( name: 'solarized-dark', bg: Color(0xFF002B36), fg: Color(0xFF839496), comment: Color(0xFF586E75), ), ThemeColors( name: 'solarized-light', bg: Color(0xFFFDF6E3), fg: Color(0xFF657B83), comment: Color(0xFF93A1A1), ), ThemeColors( name: 'synthwave-84', bg: Color(0xFF262335), fg: Color(0xFFD4D4D4), comment: Color(0xFF848BBD), added: Color(0xFF72F1B8), deleted: Color(0xFFFE4450), ), ThemeColors( name: 'tokyo-night', bg: Color(0xFF1A1B26), fg: Color(0xFFA9B1D6), comment: Color(0xFF51597D), added: Color(0xFF449DAB), deleted: Color(0xFF914C54), ), ThemeColors( name: 'vesper', bg: Color(0xFF101010), fg: Color(0xFFFFFFFF), comment: Color(0xFF8B8B8B), added: Color(0xFF99FFE4), deleted: Color(0xFFFF8080), ), ThemeColors( name: 'vitesse-black', bg: Color(0xFF000000), fg: Color(0xFFDBD7CA), comment: Color(0xFF758575), added: Color(0xFF4D9375), deleted: Color(0xFFCB7676), ), ThemeColors( name: 'vitesse-dark', bg: Color(0xFF121212), fg: Color(0xFFDBD7CA), comment: Color(0xFF758575), added: Color(0xFF4D9375), deleted: Color(0xFFCB7676), ), ThemeColors( name: 'vitesse-light', bg: Color(0xFFFFFFFF), fg: Color(0xFF393A34), comment: Color(0xFFA0ADA0), added: Color(0xFF1E754F), deleted: Color(0xFFAB5959), ), ]; /// Lookup a theme by name. Returns null if not found. ThemeColors? findTheme(String name) { for (final t in themeCatalog) { if (t.name == name) return t; } return null; }