(mut self, scheme: EffectiveColorScheme)
| 428 | } |
| 429 | |
| 430 | pub fn with_effective_scheme(mut self, scheme: EffectiveColorScheme) -> Self { |
| 431 | match scheme { |
| 432 | EffectiveColorScheme::Truecolor => self, |
| 433 | EffectiveColorScheme::Monochrome => Theme::monochrome(), |
| 434 | EffectiveColorScheme::Ansi16 => { |
| 435 | self.primary = to_ansi16(self.primary); |
| 436 | self.success = to_ansi16(self.success); |
| 437 | self.warning = to_ansi16(self.warning); |
| 438 | self.error = to_ansi16(self.error); |
| 439 | self.info = to_ansi16(self.info); |
| 440 | self.muted = to_ansi16(self.muted); |
| 441 | self.background = to_ansi16(self.background); |
| 442 | self.border = to_ansi16(self.border); |
| 443 | self.background_panel = to_ansi16(self.background_panel); |
| 444 | self.background_element = to_ansi16(self.background_element); |
| 445 | // Keep the startup input panel as the preset-defined RGB color. |
| 446 | // Otherwise subtle dark theme variants collapse to the same ANSI black/blue. |
| 447 | self.diff_added_fg = to_ansi16(self.diff_added_fg); |
| 448 | self.diff_removed_fg = to_ansi16(self.diff_removed_fg); |
| 449 | self.diff_added_bg = to_ansi16(self.diff_added_bg); |
| 450 | self.diff_removed_bg = to_ansi16(self.diff_removed_bg); |
| 451 | self.block_bg = to_ansi16(self.block_bg); |
| 452 | self.block_bg_hover = to_ansi16(self.block_bg_hover); |
| 453 | self.block_border_active = to_ansi16(self.block_border_active); |
| 454 | self.inline_icon = to_ansi16(self.inline_icon); |
| 455 | self.command_text = to_ansi16(self.command_text); |
| 456 | self.diff_hunk_header = to_ansi16(self.diff_hunk_header); |
| 457 | self.diff_line_number = to_ansi16(self.diff_line_number); |
| 458 | self |
| 459 | } |
| 460 | } |
| 461 | } |
| 462 | |
| 463 | pub fn apply_opencode_theme_json( |
| 464 | &self, |
no test coverage detected