123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- from typing import List, Optional, Tuple
- from .color_triplet import ColorTriplet
- from .palette import Palette
- _ColorTuple = Tuple[int, int, int]
- class TerminalTheme:
- """A color theme used when exporting console content.
- Args:
- background (Tuple[int, int, int]): The background color.
- foreground (Tuple[int, int, int]): The foreground (text) color.
- normal (List[Tuple[int, int, int]]): A list of 8 normal intensity colors.
- bright (List[Tuple[int, int, int]], optional): A list of 8 bright colors, or None
- to repeat normal intensity. Defaults to None.
- """
- def __init__(
- self,
- background: _ColorTuple,
- foreground: _ColorTuple,
- normal: List[_ColorTuple],
- bright: Optional[List[_ColorTuple]] = None,
- ) -> None:
- self.background_color = ColorTriplet(*background)
- self.foreground_color = ColorTriplet(*foreground)
- self.ansi_colors = Palette(normal + (bright or normal))
- DEFAULT_TERMINAL_THEME = TerminalTheme(
- (255, 255, 255),
- (0, 0, 0),
- [
- (0, 0, 0),
- (128, 0, 0),
- (0, 128, 0),
- (128, 128, 0),
- (0, 0, 128),
- (128, 0, 128),
- (0, 128, 128),
- (192, 192, 192),
- ],
- [
- (128, 128, 128),
- (255, 0, 0),
- (0, 255, 0),
- (255, 255, 0),
- (0, 0, 255),
- (255, 0, 255),
- (0, 255, 255),
- (255, 255, 255),
- ],
- )
- MONOKAI = TerminalTheme(
- (12, 12, 12),
- (217, 217, 217),
- [
- (26, 26, 26),
- (244, 0, 95),
- (152, 224, 36),
- (253, 151, 31),
- (157, 101, 255),
- (244, 0, 95),
- (88, 209, 235),
- (196, 197, 181),
- (98, 94, 76),
- ],
- [
- (244, 0, 95),
- (152, 224, 36),
- (224, 213, 97),
- (157, 101, 255),
- (244, 0, 95),
- (88, 209, 235),
- (246, 246, 239),
- ],
- )
- DIMMED_MONOKAI = TerminalTheme(
- (25, 25, 25),
- (185, 188, 186),
- [
- (58, 61, 67),
- (190, 63, 72),
- (135, 154, 59),
- (197, 166, 53),
- (79, 118, 161),
- (133, 92, 141),
- (87, 143, 164),
- (185, 188, 186),
- (136, 137, 135),
- ],
- [
- (251, 0, 31),
- (15, 114, 47),
- (196, 112, 51),
- (24, 109, 227),
- (251, 0, 103),
- (46, 112, 109),
- (253, 255, 185),
- ],
- )
- NIGHT_OWLISH = TerminalTheme(
- (255, 255, 255),
- (64, 63, 83),
- [
- (1, 22, 39),
- (211, 66, 62),
- (42, 162, 152),
- (218, 170, 1),
- (72, 118, 214),
- (64, 63, 83),
- (8, 145, 106),
- (122, 129, 129),
- (122, 129, 129),
- ],
- [
- (247, 110, 110),
- (73, 208, 197),
- (218, 194, 107),
- (92, 167, 228),
- (105, 112, 152),
- (0, 201, 144),
- (152, 159, 177),
- ],
- )
- SVG_EXPORT_THEME = TerminalTheme(
- (41, 41, 41),
- (197, 200, 198),
- [
- (75, 78, 85),
- (204, 85, 90),
- (152, 168, 75),
- (208, 179, 68),
- (96, 138, 177),
- (152, 114, 159),
- (104, 160, 179),
- (197, 200, 198),
- (154, 155, 153),
- ],
- [
- (255, 38, 39),
- (0, 130, 61),
- (208, 132, 66),
- (25, 132, 233),
- (255, 44, 122),
- (57, 130, 128),
- (253, 253, 197),
- ],
- )
|