Add option to generate 256 color palette from first 16 colors

Needs more work to test and possibly implement reporting and setting
of the nullable color table colors.

Fixes #9426
This commit is contained in:
Jake Stewart
2026-01-27 21:48:42 +08:00
committed by Kovid Goyal
parent 99d986c821
commit 1a62cde212
12 changed files with 965 additions and 1490 deletions

File diff suppressed because it is too large Load Diff

488
kitty/options/parse.py generated
View File

@@ -190,724 +190,724 @@ class Parser:
ans['color15'] = to_color(val)
def color16(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color16'] = to_color(val)
ans['color16'] = to_color_or_none(val)
def color17(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color17'] = to_color(val)
ans['color17'] = to_color_or_none(val)
def color18(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color18'] = to_color(val)
ans['color18'] = to_color_or_none(val)
def color19(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color19'] = to_color(val)
ans['color19'] = to_color_or_none(val)
def color20(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color20'] = to_color(val)
ans['color20'] = to_color_or_none(val)
def color21(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color21'] = to_color(val)
ans['color21'] = to_color_or_none(val)
def color22(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color22'] = to_color(val)
ans['color22'] = to_color_or_none(val)
def color23(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color23'] = to_color(val)
ans['color23'] = to_color_or_none(val)
def color24(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color24'] = to_color(val)
ans['color24'] = to_color_or_none(val)
def color25(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color25'] = to_color(val)
ans['color25'] = to_color_or_none(val)
def color26(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color26'] = to_color(val)
ans['color26'] = to_color_or_none(val)
def color27(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color27'] = to_color(val)
ans['color27'] = to_color_or_none(val)
def color28(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color28'] = to_color(val)
ans['color28'] = to_color_or_none(val)
def color29(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color29'] = to_color(val)
ans['color29'] = to_color_or_none(val)
def color30(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color30'] = to_color(val)
ans['color30'] = to_color_or_none(val)
def color31(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color31'] = to_color(val)
ans['color31'] = to_color_or_none(val)
def color32(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color32'] = to_color(val)
ans['color32'] = to_color_or_none(val)
def color33(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color33'] = to_color(val)
ans['color33'] = to_color_or_none(val)
def color34(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color34'] = to_color(val)
ans['color34'] = to_color_or_none(val)
def color35(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color35'] = to_color(val)
ans['color35'] = to_color_or_none(val)
def color36(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color36'] = to_color(val)
ans['color36'] = to_color_or_none(val)
def color37(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color37'] = to_color(val)
ans['color37'] = to_color_or_none(val)
def color38(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color38'] = to_color(val)
ans['color38'] = to_color_or_none(val)
def color39(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color39'] = to_color(val)
ans['color39'] = to_color_or_none(val)
def color40(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color40'] = to_color(val)
ans['color40'] = to_color_or_none(val)
def color41(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color41'] = to_color(val)
ans['color41'] = to_color_or_none(val)
def color42(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color42'] = to_color(val)
ans['color42'] = to_color_or_none(val)
def color43(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color43'] = to_color(val)
ans['color43'] = to_color_or_none(val)
def color44(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color44'] = to_color(val)
ans['color44'] = to_color_or_none(val)
def color45(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color45'] = to_color(val)
ans['color45'] = to_color_or_none(val)
def color46(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color46'] = to_color(val)
ans['color46'] = to_color_or_none(val)
def color47(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color47'] = to_color(val)
ans['color47'] = to_color_or_none(val)
def color48(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color48'] = to_color(val)
ans['color48'] = to_color_or_none(val)
def color49(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color49'] = to_color(val)
ans['color49'] = to_color_or_none(val)
def color50(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color50'] = to_color(val)
ans['color50'] = to_color_or_none(val)
def color51(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color51'] = to_color(val)
ans['color51'] = to_color_or_none(val)
def color52(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color52'] = to_color(val)
ans['color52'] = to_color_or_none(val)
def color53(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color53'] = to_color(val)
ans['color53'] = to_color_or_none(val)
def color54(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color54'] = to_color(val)
ans['color54'] = to_color_or_none(val)
def color55(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color55'] = to_color(val)
ans['color55'] = to_color_or_none(val)
def color56(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color56'] = to_color(val)
ans['color56'] = to_color_or_none(val)
def color57(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color57'] = to_color(val)
ans['color57'] = to_color_or_none(val)
def color58(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color58'] = to_color(val)
ans['color58'] = to_color_or_none(val)
def color59(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color59'] = to_color(val)
ans['color59'] = to_color_or_none(val)
def color60(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color60'] = to_color(val)
ans['color60'] = to_color_or_none(val)
def color61(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color61'] = to_color(val)
ans['color61'] = to_color_or_none(val)
def color62(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color62'] = to_color(val)
ans['color62'] = to_color_or_none(val)
def color63(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color63'] = to_color(val)
ans['color63'] = to_color_or_none(val)
def color64(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color64'] = to_color(val)
ans['color64'] = to_color_or_none(val)
def color65(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color65'] = to_color(val)
ans['color65'] = to_color_or_none(val)
def color66(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color66'] = to_color(val)
ans['color66'] = to_color_or_none(val)
def color67(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color67'] = to_color(val)
ans['color67'] = to_color_or_none(val)
def color68(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color68'] = to_color(val)
ans['color68'] = to_color_or_none(val)
def color69(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color69'] = to_color(val)
ans['color69'] = to_color_or_none(val)
def color70(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color70'] = to_color(val)
ans['color70'] = to_color_or_none(val)
def color71(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color71'] = to_color(val)
ans['color71'] = to_color_or_none(val)
def color72(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color72'] = to_color(val)
ans['color72'] = to_color_or_none(val)
def color73(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color73'] = to_color(val)
ans['color73'] = to_color_or_none(val)
def color74(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color74'] = to_color(val)
ans['color74'] = to_color_or_none(val)
def color75(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color75'] = to_color(val)
ans['color75'] = to_color_or_none(val)
def color76(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color76'] = to_color(val)
ans['color76'] = to_color_or_none(val)
def color77(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color77'] = to_color(val)
ans['color77'] = to_color_or_none(val)
def color78(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color78'] = to_color(val)
ans['color78'] = to_color_or_none(val)
def color79(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color79'] = to_color(val)
ans['color79'] = to_color_or_none(val)
def color80(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color80'] = to_color(val)
ans['color80'] = to_color_or_none(val)
def color81(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color81'] = to_color(val)
ans['color81'] = to_color_or_none(val)
def color82(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color82'] = to_color(val)
ans['color82'] = to_color_or_none(val)
def color83(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color83'] = to_color(val)
ans['color83'] = to_color_or_none(val)
def color84(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color84'] = to_color(val)
ans['color84'] = to_color_or_none(val)
def color85(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color85'] = to_color(val)
ans['color85'] = to_color_or_none(val)
def color86(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color86'] = to_color(val)
ans['color86'] = to_color_or_none(val)
def color87(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color87'] = to_color(val)
ans['color87'] = to_color_or_none(val)
def color88(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color88'] = to_color(val)
ans['color88'] = to_color_or_none(val)
def color89(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color89'] = to_color(val)
ans['color89'] = to_color_or_none(val)
def color90(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color90'] = to_color(val)
ans['color90'] = to_color_or_none(val)
def color91(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color91'] = to_color(val)
ans['color91'] = to_color_or_none(val)
def color92(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color92'] = to_color(val)
ans['color92'] = to_color_or_none(val)
def color93(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color93'] = to_color(val)
ans['color93'] = to_color_or_none(val)
def color94(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color94'] = to_color(val)
ans['color94'] = to_color_or_none(val)
def color95(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color95'] = to_color(val)
ans['color95'] = to_color_or_none(val)
def color96(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color96'] = to_color(val)
ans['color96'] = to_color_or_none(val)
def color97(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color97'] = to_color(val)
ans['color97'] = to_color_or_none(val)
def color98(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color98'] = to_color(val)
ans['color98'] = to_color_or_none(val)
def color99(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color99'] = to_color(val)
ans['color99'] = to_color_or_none(val)
def color100(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color100'] = to_color(val)
ans['color100'] = to_color_or_none(val)
def color101(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color101'] = to_color(val)
ans['color101'] = to_color_or_none(val)
def color102(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color102'] = to_color(val)
ans['color102'] = to_color_or_none(val)
def color103(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color103'] = to_color(val)
ans['color103'] = to_color_or_none(val)
def color104(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color104'] = to_color(val)
ans['color104'] = to_color_or_none(val)
def color105(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color105'] = to_color(val)
ans['color105'] = to_color_or_none(val)
def color106(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color106'] = to_color(val)
ans['color106'] = to_color_or_none(val)
def color107(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color107'] = to_color(val)
ans['color107'] = to_color_or_none(val)
def color108(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color108'] = to_color(val)
ans['color108'] = to_color_or_none(val)
def color109(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color109'] = to_color(val)
ans['color109'] = to_color_or_none(val)
def color110(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color110'] = to_color(val)
ans['color110'] = to_color_or_none(val)
def color111(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color111'] = to_color(val)
ans['color111'] = to_color_or_none(val)
def color112(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color112'] = to_color(val)
ans['color112'] = to_color_or_none(val)
def color113(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color113'] = to_color(val)
ans['color113'] = to_color_or_none(val)
def color114(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color114'] = to_color(val)
ans['color114'] = to_color_or_none(val)
def color115(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color115'] = to_color(val)
ans['color115'] = to_color_or_none(val)
def color116(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color116'] = to_color(val)
ans['color116'] = to_color_or_none(val)
def color117(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color117'] = to_color(val)
ans['color117'] = to_color_or_none(val)
def color118(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color118'] = to_color(val)
ans['color118'] = to_color_or_none(val)
def color119(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color119'] = to_color(val)
ans['color119'] = to_color_or_none(val)
def color120(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color120'] = to_color(val)
ans['color120'] = to_color_or_none(val)
def color121(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color121'] = to_color(val)
ans['color121'] = to_color_or_none(val)
def color122(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color122'] = to_color(val)
ans['color122'] = to_color_or_none(val)
def color123(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color123'] = to_color(val)
ans['color123'] = to_color_or_none(val)
def color124(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color124'] = to_color(val)
ans['color124'] = to_color_or_none(val)
def color125(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color125'] = to_color(val)
ans['color125'] = to_color_or_none(val)
def color126(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color126'] = to_color(val)
ans['color126'] = to_color_or_none(val)
def color127(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color127'] = to_color(val)
ans['color127'] = to_color_or_none(val)
def color128(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color128'] = to_color(val)
ans['color128'] = to_color_or_none(val)
def color129(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color129'] = to_color(val)
ans['color129'] = to_color_or_none(val)
def color130(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color130'] = to_color(val)
ans['color130'] = to_color_or_none(val)
def color131(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color131'] = to_color(val)
ans['color131'] = to_color_or_none(val)
def color132(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color132'] = to_color(val)
ans['color132'] = to_color_or_none(val)
def color133(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color133'] = to_color(val)
ans['color133'] = to_color_or_none(val)
def color134(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color134'] = to_color(val)
ans['color134'] = to_color_or_none(val)
def color135(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color135'] = to_color(val)
ans['color135'] = to_color_or_none(val)
def color136(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color136'] = to_color(val)
ans['color136'] = to_color_or_none(val)
def color137(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color137'] = to_color(val)
ans['color137'] = to_color_or_none(val)
def color138(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color138'] = to_color(val)
ans['color138'] = to_color_or_none(val)
def color139(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color139'] = to_color(val)
ans['color139'] = to_color_or_none(val)
def color140(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color140'] = to_color(val)
ans['color140'] = to_color_or_none(val)
def color141(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color141'] = to_color(val)
ans['color141'] = to_color_or_none(val)
def color142(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color142'] = to_color(val)
ans['color142'] = to_color_or_none(val)
def color143(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color143'] = to_color(val)
ans['color143'] = to_color_or_none(val)
def color144(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color144'] = to_color(val)
ans['color144'] = to_color_or_none(val)
def color145(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color145'] = to_color(val)
ans['color145'] = to_color_or_none(val)
def color146(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color146'] = to_color(val)
ans['color146'] = to_color_or_none(val)
def color147(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color147'] = to_color(val)
ans['color147'] = to_color_or_none(val)
def color148(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color148'] = to_color(val)
ans['color148'] = to_color_or_none(val)
def color149(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color149'] = to_color(val)
ans['color149'] = to_color_or_none(val)
def color150(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color150'] = to_color(val)
ans['color150'] = to_color_or_none(val)
def color151(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color151'] = to_color(val)
ans['color151'] = to_color_or_none(val)
def color152(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color152'] = to_color(val)
ans['color152'] = to_color_or_none(val)
def color153(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color153'] = to_color(val)
ans['color153'] = to_color_or_none(val)
def color154(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color154'] = to_color(val)
ans['color154'] = to_color_or_none(val)
def color155(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color155'] = to_color(val)
ans['color155'] = to_color_or_none(val)
def color156(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color156'] = to_color(val)
ans['color156'] = to_color_or_none(val)
def color157(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color157'] = to_color(val)
ans['color157'] = to_color_or_none(val)
def color158(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color158'] = to_color(val)
ans['color158'] = to_color_or_none(val)
def color159(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color159'] = to_color(val)
ans['color159'] = to_color_or_none(val)
def color160(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color160'] = to_color(val)
ans['color160'] = to_color_or_none(val)
def color161(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color161'] = to_color(val)
ans['color161'] = to_color_or_none(val)
def color162(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color162'] = to_color(val)
ans['color162'] = to_color_or_none(val)
def color163(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color163'] = to_color(val)
ans['color163'] = to_color_or_none(val)
def color164(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color164'] = to_color(val)
ans['color164'] = to_color_or_none(val)
def color165(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color165'] = to_color(val)
ans['color165'] = to_color_or_none(val)
def color166(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color166'] = to_color(val)
ans['color166'] = to_color_or_none(val)
def color167(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color167'] = to_color(val)
ans['color167'] = to_color_or_none(val)
def color168(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color168'] = to_color(val)
ans['color168'] = to_color_or_none(val)
def color169(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color169'] = to_color(val)
ans['color169'] = to_color_or_none(val)
def color170(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color170'] = to_color(val)
ans['color170'] = to_color_or_none(val)
def color171(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color171'] = to_color(val)
ans['color171'] = to_color_or_none(val)
def color172(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color172'] = to_color(val)
ans['color172'] = to_color_or_none(val)
def color173(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color173'] = to_color(val)
ans['color173'] = to_color_or_none(val)
def color174(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color174'] = to_color(val)
ans['color174'] = to_color_or_none(val)
def color175(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color175'] = to_color(val)
ans['color175'] = to_color_or_none(val)
def color176(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color176'] = to_color(val)
ans['color176'] = to_color_or_none(val)
def color177(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color177'] = to_color(val)
ans['color177'] = to_color_or_none(val)
def color178(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color178'] = to_color(val)
ans['color178'] = to_color_or_none(val)
def color179(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color179'] = to_color(val)
ans['color179'] = to_color_or_none(val)
def color180(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color180'] = to_color(val)
ans['color180'] = to_color_or_none(val)
def color181(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color181'] = to_color(val)
ans['color181'] = to_color_or_none(val)
def color182(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color182'] = to_color(val)
ans['color182'] = to_color_or_none(val)
def color183(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color183'] = to_color(val)
ans['color183'] = to_color_or_none(val)
def color184(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color184'] = to_color(val)
ans['color184'] = to_color_or_none(val)
def color185(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color185'] = to_color(val)
ans['color185'] = to_color_or_none(val)
def color186(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color186'] = to_color(val)
ans['color186'] = to_color_or_none(val)
def color187(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color187'] = to_color(val)
ans['color187'] = to_color_or_none(val)
def color188(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color188'] = to_color(val)
ans['color188'] = to_color_or_none(val)
def color189(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color189'] = to_color(val)
ans['color189'] = to_color_or_none(val)
def color190(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color190'] = to_color(val)
ans['color190'] = to_color_or_none(val)
def color191(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color191'] = to_color(val)
ans['color191'] = to_color_or_none(val)
def color192(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color192'] = to_color(val)
ans['color192'] = to_color_or_none(val)
def color193(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color193'] = to_color(val)
ans['color193'] = to_color_or_none(val)
def color194(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color194'] = to_color(val)
ans['color194'] = to_color_or_none(val)
def color195(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color195'] = to_color(val)
ans['color195'] = to_color_or_none(val)
def color196(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color196'] = to_color(val)
ans['color196'] = to_color_or_none(val)
def color197(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color197'] = to_color(val)
ans['color197'] = to_color_or_none(val)
def color198(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color198'] = to_color(val)
ans['color198'] = to_color_or_none(val)
def color199(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color199'] = to_color(val)
ans['color199'] = to_color_or_none(val)
def color200(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color200'] = to_color(val)
ans['color200'] = to_color_or_none(val)
def color201(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color201'] = to_color(val)
ans['color201'] = to_color_or_none(val)
def color202(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color202'] = to_color(val)
ans['color202'] = to_color_or_none(val)
def color203(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color203'] = to_color(val)
ans['color203'] = to_color_or_none(val)
def color204(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color204'] = to_color(val)
ans['color204'] = to_color_or_none(val)
def color205(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color205'] = to_color(val)
ans['color205'] = to_color_or_none(val)
def color206(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color206'] = to_color(val)
ans['color206'] = to_color_or_none(val)
def color207(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color207'] = to_color(val)
ans['color207'] = to_color_or_none(val)
def color208(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color208'] = to_color(val)
ans['color208'] = to_color_or_none(val)
def color209(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color209'] = to_color(val)
ans['color209'] = to_color_or_none(val)
def color210(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color210'] = to_color(val)
ans['color210'] = to_color_or_none(val)
def color211(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color211'] = to_color(val)
ans['color211'] = to_color_or_none(val)
def color212(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color212'] = to_color(val)
ans['color212'] = to_color_or_none(val)
def color213(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color213'] = to_color(val)
ans['color213'] = to_color_or_none(val)
def color214(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color214'] = to_color(val)
ans['color214'] = to_color_or_none(val)
def color215(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color215'] = to_color(val)
ans['color215'] = to_color_or_none(val)
def color216(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color216'] = to_color(val)
ans['color216'] = to_color_or_none(val)
def color217(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color217'] = to_color(val)
ans['color217'] = to_color_or_none(val)
def color218(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color218'] = to_color(val)
ans['color218'] = to_color_or_none(val)
def color219(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color219'] = to_color(val)
ans['color219'] = to_color_or_none(val)
def color220(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color220'] = to_color(val)
ans['color220'] = to_color_or_none(val)
def color221(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color221'] = to_color(val)
ans['color221'] = to_color_or_none(val)
def color222(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color222'] = to_color(val)
ans['color222'] = to_color_or_none(val)
def color223(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color223'] = to_color(val)
ans['color223'] = to_color_or_none(val)
def color224(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color224'] = to_color(val)
ans['color224'] = to_color_or_none(val)
def color225(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color225'] = to_color(val)
ans['color225'] = to_color_or_none(val)
def color226(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color226'] = to_color(val)
ans['color226'] = to_color_or_none(val)
def color227(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color227'] = to_color(val)
ans['color227'] = to_color_or_none(val)
def color228(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color228'] = to_color(val)
ans['color228'] = to_color_or_none(val)
def color229(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color229'] = to_color(val)
ans['color229'] = to_color_or_none(val)
def color230(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color230'] = to_color(val)
ans['color230'] = to_color_or_none(val)
def color231(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color231'] = to_color(val)
ans['color231'] = to_color_or_none(val)
def color232(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color232'] = to_color(val)
ans['color232'] = to_color_or_none(val)
def color233(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color233'] = to_color(val)
ans['color233'] = to_color_or_none(val)
def color234(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color234'] = to_color(val)
ans['color234'] = to_color_or_none(val)
def color235(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color235'] = to_color(val)
ans['color235'] = to_color_or_none(val)
def color236(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color236'] = to_color(val)
ans['color236'] = to_color_or_none(val)
def color237(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color237'] = to_color(val)
ans['color237'] = to_color_or_none(val)
def color238(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color238'] = to_color(val)
ans['color238'] = to_color_or_none(val)
def color239(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color239'] = to_color(val)
ans['color239'] = to_color_or_none(val)
def color240(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color240'] = to_color(val)
ans['color240'] = to_color_or_none(val)
def color241(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color241'] = to_color(val)
ans['color241'] = to_color_or_none(val)
def color242(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color242'] = to_color(val)
ans['color242'] = to_color_or_none(val)
def color243(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color243'] = to_color(val)
ans['color243'] = to_color_or_none(val)
def color244(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color244'] = to_color(val)
ans['color244'] = to_color_or_none(val)
def color245(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color245'] = to_color(val)
ans['color245'] = to_color_or_none(val)
def color246(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color246'] = to_color(val)
ans['color246'] = to_color_or_none(val)
def color247(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color247'] = to_color(val)
ans['color247'] = to_color_or_none(val)
def color248(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color248'] = to_color(val)
ans['color248'] = to_color_or_none(val)
def color249(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color249'] = to_color(val)
ans['color249'] = to_color_or_none(val)
def color250(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color250'] = to_color(val)
ans['color250'] = to_color_or_none(val)
def color251(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color251'] = to_color(val)
ans['color251'] = to_color_or_none(val)
def color252(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color252'] = to_color(val)
ans['color252'] = to_color_or_none(val)
def color253(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color253'] = to_color(val)
ans['color253'] = to_color_or_none(val)
def color254(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color254'] = to_color(val)
ans['color254'] = to_color_or_none(val)
def color255(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['color255'] = to_color(val)
ans['color255'] = to_color_or_none(val)
def command_on_bell(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['command_on_bell'] = to_cmdline(val)
@@ -1168,6 +1168,14 @@ class Parser:
def open_url_with(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['open_url_with'] = to_cmdline(val)
def palette_generate(self, val: str, ans: dict[str, typing.Any]) -> None:
val = val.lower()
if val not in self.choices_for_palette_generate:
raise ValueError(f"The value {val} is not a valid choice for palette_generate")
ans["palette_generate"] = val
choices_for_palette_generate = frozenset(('fixed', 'semantic', 'legacy'))
def paste_actions(self, val: str, ans: dict[str, typing.Any]) -> None:
ans['paste_actions'] = paste_actions(val)

312
kitty/options/types.py generated
View File

@@ -25,6 +25,7 @@ choices_for_default_pointer_shape = typing.Literal['arrow', 'beam', 'text', 'poi
choices_for_linux_display_server = typing.Literal['auto', 'wayland', 'x11']
choices_for_macos_colorspace = typing.Literal['srgb', 'default', 'displayp3']
choices_for_macos_show_window_title_in = typing.Literal['all', 'menubar', 'none', 'window']
choices_for_palette_generate = typing.Literal['fixed', 'semantic', 'legacy']
choices_for_placement_strategy = typing.Literal['top-left', 'top', 'top-right', 'left', 'center', 'right', 'bottom-left', 'bottom', 'bottom-right']
choices_for_pointer_shape_when_grabbed = choices_for_default_pointer_shape
choices_for_scrollbar = typing.Literal['scrolled', 'always', 'never', 'hovered', 'scrolled-and-hovered']
@@ -408,6 +409,7 @@ option_names = (
'narrow_symbols',
'notify_on_cmd_finish',
'open_url_with',
'palette_generate',
'paste_actions',
'pixel_scroll',
'placement_strategy',
@@ -612,6 +614,7 @@ class Options:
mouse_hide_wait: MouseHideWait = MouseHideWait(hide_wait=0.0, show_wait=0.0, show_threshold=40, scroll_show=True) if is_macos else MouseHideWait(hide_wait=3.0, show_wait=0.0, show_threshold=40, scroll_show=True)
notify_on_cmd_finish: NotifyOnCmdFinish = NotifyOnCmdFinish(when='never', duration=5.0, action='notify', cmdline=(), clear_on=('focus', 'next'))
open_url_with: list[str] = ['default']
palette_generate: choices_for_palette_generate = 'fixed'
paste_actions: frozenset[str] = frozenset({'confirm', 'quote-urls-at-prompt'})
pixel_scroll: bool = True
placement_strategy: choices_for_placement_strategy = 'center'
@@ -729,36 +732,36 @@ class Options:
color_table: "array[int]" = array("L", (
0x000000, 0xcc0403, 0x19cb00, 0xcecb00, 0x0d73cc, 0xcb1ed1, 0x0dcdcd, 0xdddddd,
0x767676, 0xf2201f, 0x23fd00, 0xfffd00, 0x1a8fff, 0xfd28ff, 0x14ffff, 0xffffff,
0x000000, 0x00005f, 0x000087, 0x0000af, 0x0000d7, 0x0000ff, 0x005f00, 0x005f5f,
0x005f87, 0x005faf, 0x005fd7, 0x005fff, 0x008700, 0x00875f, 0x008787, 0x0087af,
0x0087d7, 0x0087ff, 0x00af00, 0x00af5f, 0x00af87, 0x00afaf, 0x00afd7, 0x00afff,
0x00d700, 0x00d75f, 0x00d787, 0x00d7af, 0x00d7d7, 0x00d7ff, 0x00ff00, 0x00ff5f,
0x00ff87, 0x00ffaf, 0x00ffd7, 0x00ffff, 0x5f0000, 0x5f005f, 0x5f0087, 0x5f00af,
0x5f00d7, 0x5f00ff, 0x5f5f00, 0x5f5f5f, 0x5f5f87, 0x5f5faf, 0x5f5fd7, 0x5f5fff,
0x5f8700, 0x5f875f, 0x5f8787, 0x5f87af, 0x5f87d7, 0x5f87ff, 0x5faf00, 0x5faf5f,
0x5faf87, 0x5fafaf, 0x5fafd7, 0x5fafff, 0x5fd700, 0x5fd75f, 0x5fd787, 0x5fd7af,
0x5fd7d7, 0x5fd7ff, 0x5fff00, 0x5fff5f, 0x5fff87, 0x5fffaf, 0x5fffd7, 0x5fffff,
0x870000, 0x87005f, 0x870087, 0x8700af, 0x8700d7, 0x8700ff, 0x875f00, 0x875f5f,
0x875f87, 0x875faf, 0x875fd7, 0x875fff, 0x878700, 0x87875f, 0x878787, 0x8787af,
0x8787d7, 0x8787ff, 0x87af00, 0x87af5f, 0x87af87, 0x87afaf, 0x87afd7, 0x87afff,
0x87d700, 0x87d75f, 0x87d787, 0x87d7af, 0x87d7d7, 0x87d7ff, 0x87ff00, 0x87ff5f,
0x87ff87, 0x87ffaf, 0x87ffd7, 0x87ffff, 0xaf0000, 0xaf005f, 0xaf0087, 0xaf00af,
0xaf00d7, 0xaf00ff, 0xaf5f00, 0xaf5f5f, 0xaf5f87, 0xaf5faf, 0xaf5fd7, 0xaf5fff,
0xaf8700, 0xaf875f, 0xaf8787, 0xaf87af, 0xaf87d7, 0xaf87ff, 0xafaf00, 0xafaf5f,
0xafaf87, 0xafafaf, 0xafafd7, 0xafafff, 0xafd700, 0xafd75f, 0xafd787, 0xafd7af,
0xafd7d7, 0xafd7ff, 0xafff00, 0xafff5f, 0xafff87, 0xafffaf, 0xafffd7, 0xafffff,
0xd70000, 0xd7005f, 0xd70087, 0xd700af, 0xd700d7, 0xd700ff, 0xd75f00, 0xd75f5f,
0xd75f87, 0xd75faf, 0xd75fd7, 0xd75fff, 0xd78700, 0xd7875f, 0xd78787, 0xd787af,
0xd787d7, 0xd787ff, 0xd7af00, 0xd7af5f, 0xd7af87, 0xd7afaf, 0xd7afd7, 0xd7afff,
0xd7d700, 0xd7d75f, 0xd7d787, 0xd7d7af, 0xd7d7d7, 0xd7d7ff, 0xd7ff00, 0xd7ff5f,
0xd7ff87, 0xd7ffaf, 0xd7ffd7, 0xd7ffff, 0xff0000, 0xff005f, 0xff0087, 0xff00af,
0xff00d7, 0xff00ff, 0xff5f00, 0xff5f5f, 0xff5f87, 0xff5faf, 0xff5fd7, 0xff5fff,
0xff8700, 0xff875f, 0xff8787, 0xff87af, 0xff87d7, 0xff87ff, 0xffaf00, 0xffaf5f,
0xffaf87, 0xffafaf, 0xffafd7, 0xffafff, 0xffd700, 0xffd75f, 0xffd787, 0xffd7af,
0xffd7d7, 0xffd7ff, 0xffff00, 0xffff5f, 0xffff87, 0xffffaf, 0xffffd7, 0xffffff,
0x080808, 0x121212, 0x1c1c1c, 0x262626, 0x303030, 0x3a3a3a, 0x444444, 0x4e4e4e,
0x585858, 0x626262, 0x6c6c6c, 0x767676, 0x808080, 0x8a8a8a, 0x949494, 0x9e9e9e,
0xa8a8a8, 0xb2b2b2, 0xbcbcbc, 0xc6c6c6, 0xd0d0d0, 0xdadada, 0xe4e4e4, 0xeeeeee,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
))
config_paths: tuple[str, ...] = ()
all_config_paths: tuple[str, ...] = ()
@@ -817,6 +820,8 @@ class Options:
k = int(q)
if 0 <= k <= 255:
x = self.color_table[k]
if x == 0xffffffff:
return None
return Color((x >> 16) & 255, (x >> 8) & 255, x & 255)
raise AttributeError(key)
@@ -826,7 +831,10 @@ class Options:
if q.isdigit():
k = int(q)
if 0 <= k <= 255:
self.color_table[k] = int(val)
if val is None:
self.color_table[k] = 0xffffffff
else:
self.color_table[k] = int(val)
return
object.__setattr__(self, key, val)
@@ -1138,7 +1146,247 @@ nullable_colors = frozenset({
'tab_bar_background',
'tab_bar_margin_color',
'selection_foreground',
'selection_background'
'selection_background',
'color16',
'color17',
'color18',
'color19',
'color20',
'color21',
'color22',
'color23',
'color24',
'color25',
'color26',
'color27',
'color28',
'color29',
'color30',
'color31',
'color32',
'color33',
'color34',
'color35',
'color36',
'color37',
'color38',
'color39',
'color40',
'color41',
'color42',
'color43',
'color44',
'color45',
'color46',
'color47',
'color48',
'color49',
'color50',
'color51',
'color52',
'color53',
'color54',
'color55',
'color56',
'color57',
'color58',
'color59',
'color60',
'color61',
'color62',
'color63',
'color64',
'color65',
'color66',
'color67',
'color68',
'color69',
'color70',
'color71',
'color72',
'color73',
'color74',
'color75',
'color76',
'color77',
'color78',
'color79',
'color80',
'color81',
'color82',
'color83',
'color84',
'color85',
'color86',
'color87',
'color88',
'color89',
'color90',
'color91',
'color92',
'color93',
'color94',
'color95',
'color96',
'color97',
'color98',
'color99',
'color100',
'color101',
'color102',
'color103',
'color104',
'color105',
'color106',
'color107',
'color108',
'color109',
'color110',
'color111',
'color112',
'color113',
'color114',
'color115',
'color116',
'color117',
'color118',
'color119',
'color120',
'color121',
'color122',
'color123',
'color124',
'color125',
'color126',
'color127',
'color128',
'color129',
'color130',
'color131',
'color132',
'color133',
'color134',
'color135',
'color136',
'color137',
'color138',
'color139',
'color140',
'color141',
'color142',
'color143',
'color144',
'color145',
'color146',
'color147',
'color148',
'color149',
'color150',
'color151',
'color152',
'color153',
'color154',
'color155',
'color156',
'color157',
'color158',
'color159',
'color160',
'color161',
'color162',
'color163',
'color164',
'color165',
'color166',
'color167',
'color168',
'color169',
'color170',
'color171',
'color172',
'color173',
'color174',
'color175',
'color176',
'color177',
'color178',
'color179',
'color180',
'color181',
'color182',
'color183',
'color184',
'color185',
'color186',
'color187',
'color188',
'color189',
'color190',
'color191',
'color192',
'color193',
'color194',
'color195',
'color196',
'color197',
'color198',
'color199',
'color200',
'color201',
'color202',
'color203',
'color204',
'color205',
'color206',
'color207',
'color208',
'color209',
'color210',
'color211',
'color212',
'color213',
'color214',
'color215',
'color216',
'color217',
'color218',
'color219',
'color220',
'color221',
'color222',
'color223',
'color224',
'color225',
'color226',
'color227',
'color228',
'color229',
'color230',
'color231',
'color232',
'color233',
'color234',
'color235',
'color236',
'color237',
'color238',
'color239',
'color240',
'color241',
'color242',
'color243',
'color244',
'color245',
'color246',
'color247',
'color248',
'color249',
'color250',
'color251',
'color252',
'color253',
'color254',
'color255'
})
special_colors = frozenset({