dark static method
Dark theme with cyan accents.
Implementation
static Theme dark() {
const primary = AnsiColor(39); // Cyan
const secondary = AnsiColor(99); // Purple
const surface = AnsiColor(236); // Dark gray
const background = AnsiColor(233); // Very dark gray
const error = AnsiColor(196); // Red
const success = AnsiColor(42); // Green
const warning = AnsiColor(214); // Orange
const onPrimary = AnsiColor(232); // Black
const onSecondary = AnsiColor(255); // White
const onSurface = AnsiColor(252); // Light gray
const onBackground = AnsiColor(250); // Light gray
const onError = AnsiColor(255); // White
const muted = AnsiColor(242); // Gray
const border = AnsiColor(238); // Dark gray
return Theme(
primary: primary,
secondary: secondary,
surface: surface,
background: background,
error: error,
success: success,
warning: warning,
onPrimary: onPrimary,
onSecondary: onSecondary,
onSurface: onSurface,
onBackground: onBackground,
onError: onError,
muted: muted,
border: border,
// Extended colors
surfaceVariant: const AnsiColor(234), // Slightly lighter than background
onSurfaceVariant: onSurface,
outline: const AnsiColor(240), // Subtle divider
info: const AnsiColor(39), // Cyan (same as primary)
onSuccess: const AnsiColor(232), // Black on green
onWarning: const AnsiColor(232), // Black on orange
onInfo: const AnsiColor(232), // Black on cyan
highlight: const AnsiColor(25), // Dark blue highlight
onHighlight: const AnsiColor(255), // White on highlight
shadow: const AnsiColor(232), // Near-black shadow
// Text styles
titleLarge: Style().bold().foreground(onBackground),
titleMedium: Style().bold().foreground(onSurface),
titleSmall: Style().bold().foreground(muted),
bodyLarge: Style().foreground(onBackground),
bodyMedium: Style().foreground(onSurface),
bodySmall: Style().foreground(muted),
labelLarge: Style().foreground(onSurface),
labelMedium: Style().foreground(muted),
labelSmall: Style().dim().foreground(muted),
editorTheme: EditorThemeData(
shellBackground: const AnsiColor(236),
inactiveShellBackground: const AnsiColor(234),
activeShellBorderColor: primary,
inactiveShellBorderColor: const AnsiColor(238),
bodyBackground: const AnsiColor(233),
inactiveBodyBackground: const AnsiColor(234),
activeBodyBorderColor: const AnsiColor(240),
inactiveBodyBorderColor: border,
utilityBackground: const AnsiColor(234),
utilityBorderColor: const AnsiColor(240),
titleForeground: onSurface,
inactiveTitleForeground: const AnsiColor(250),
metaForeground: const AnsiColor(245),
inactiveMetaForeground: muted,
focusedPromptForeground: const AnsiColor(250),
blurredPromptForeground: const AnsiColor(245),
focusedTextForeground: onSurface,
blurredTextForeground: const AnsiColor(250),
focusedPlaceholderForeground: const AnsiColor(245),
blurredPlaceholderForeground: muted,
focusedLineNumberForeground: const AnsiColor(245),
blurredLineNumberForeground: const AnsiColor(242),
focusedCursorLineBackground: const AnsiColor(234),
blurredCursorLineBackground: const AnsiColor(233),
focusedCursorLineNumberForeground: primary,
blurredCursorLineNumberForeground: const AnsiColor(242),
searchMatchBackground: const AnsiColor(234),
searchMatchUnderlineColor: primary,
),
);
}