use builtin wezterm color_scheme

This commit is contained in:
Daylin Morgan 2024-06-10 14:51:55 -05:00
parent 35a2da3c15
commit c38d88c08f
Signed by: daylin
GPG key ID: 950D13E9719334AD
2 changed files with 1 additions and 233 deletions

View file

@ -1,231 +0,0 @@
local wezterm = require("wezterm")
-- color variant hex codes
local colors = {
latte = {
rosewater = "#dc8a78",
flamingo = "#dd7878",
pink = "#ea76cb",
mauve = "#8839ef",
red = "#d20f39",
maroon = "#e64553",
peach = "#fe640b",
yellow = "#df8e1d",
green = "#40a02b",
teal = "#179299",
sky = "#04a5e5",
sapphire = "#209fb5",
blue = "#1e66f5",
lavender = "#7287fd",
text = "#4c4f69",
subtext1 = "#5c5f77",
subtext0 = "#6c6f85",
overlay2 = "#7c7f93",
overlay1 = "#8c8fa1",
overlay0 = "#9ca0b0",
surface2 = "#acb0be",
surface1 = "#bcc0cc",
surface0 = "#ccd0da",
crust = "#dce0e8",
mantle = "#e6e9ef",
base = "#eff1f5",
},
frappe = {
rosewater = "#f2d5cf",
flamingo = "#eebebe",
pink = "#f4b8e4",
mauve = "#ca9ee6",
red = "#e78284",
maroon = "#ea999c",
peach = "#ef9f76",
yellow = "#e5c890",
green = "#a6d189",
teal = "#81c8be",
sky = "#99d1db",
sapphire = "#85c1dc",
blue = "#8caaee",
lavender = "#babbf1",
text = "#c6d0f5",
subtext1 = "#b5bfe2",
subtext0 = "#a5adce",
overlay2 = "#949cbb",
overlay1 = "#838ba7",
overlay0 = "#737994",
surface2 = "#626880",
surface1 = "#51576d",
surface0 = "#414559",
base = "#303446",
mantle = "#292c3c",
crust = "#232634",
},
macchiato = {
rosewater = "#f4dbd6",
flamingo = "#f0c6c6",
pink = "#f5bde6",
mauve = "#c6a0f6",
red = "#ed8796",
maroon = "#ee99a0",
peach = "#f5a97f",
yellow = "#eed49f",
green = "#a6da95",
teal = "#8bd5ca",
sky = "#91d7e3",
sapphire = "#7dc4e4",
blue = "#8aadf4",
lavender = "#b7bdf8",
text = "#cad3f5",
subtext1 = "#b8c0e0",
subtext0 = "#a5adcb",
overlay2 = "#939ab7",
overlay1 = "#8087a2",
overlay0 = "#6e738d",
surface2 = "#5b6078",
surface1 = "#494d64",
surface0 = "#363a4f",
base = "#24273a",
mantle = "#1e2030",
crust = "#181926",
},
mocha = {
rosewater = "#f5e0dc",
flamingo = "#f2cdcd",
pink = "#f5c2e7",
mauve = "#cba6f7",
red = "#f38ba8",
maroon = "#eba0ac",
peach = "#fab387",
yellow = "#f9e2af",
green = "#a6e3a1",
teal = "#94e2d5",
sky = "#89dceb",
sapphire = "#74c7ec",
blue = "#89b4fa",
lavender = "#b4befe",
text = "#cdd6f4",
subtext1 = "#bac2de",
subtext0 = "#a6adc8",
overlay2 = "#9399b2",
overlay1 = "#7f849c",
overlay0 = "#6c7086",
surface2 = "#585b70",
surface1 = "#45475a",
surface0 = "#313244",
base = "#1e1e2e",
mantle = "#181825",
crust = "#11111b",
},
}
local catppuccin = {}
function catppuccin.select(palette)
return {
foreground = colors[palette].text,
background = colors[palette].base,
cursor_bg = colors[palette].rosewater,
cursor_border = colors[palette].rosewater,
cursor_fg = colors[palette].base,
selection_bg = colors[palette].surface2,
selection_fg = colors[palette].text,
ansi = {
-- colors[palette].overlay0,
-- use base as black for better compatibility
colors[palette].base,
colors[palette].red,
colors[palette].green,
colors[palette].yellow,
colors[palette].blue,
colors[palette].pink,
colors[palette].sky,
colors[palette].overlay2,
},
brights = {
colors[palette].overlay1,
colors[palette].red,
colors[palette].green,
colors[palette].yellow,
colors[palette].blue,
colors[palette].pink,
colors[palette].sky,
colors[palette].text,
},
tab_bar = {
background = colors[palette].base,
active_tab = {
bg_color = colors[palette].surface2,
fg_color = colors[palette].text,
},
inactive_tab = {
bg_color = colors[palette].base,
fg_color = colors[palette].text,
},
inactive_tab_hover = {
bg_color = colors[palette].surface2,
fg_color = colors[palette].text,
},
new_tab = {
bg_color = colors[palette].base,
fg_color = colors[palette].text,
},
new_tab_hover = {
bg_color = colors[palette].surface2,
fg_color = colors[palette].text,
italic = true,
},
},
visual_bell = colors[palette].surface0,
indexed = {
[16] = colors[palette].peach,
[17] = colors[palette].rosewater,
},
scrollbar_thumb = colors[palette].surface2,
split = colors[palette].crust,
-- nightbuild only
compose_cursor = colors[palette].flamingo,
}
end
-- utility functions for interacting with wezterm API
local function scheme_for_appearance(appearance, options)
if appearance:find("Dark") then
return catppuccin.select(options.sync_flavours.dark)
else
-- return catppuccin.select(options.sync_flavours.light)
return catppuccin.select(options.sync_flavours.dark)
end
end
function catppuccin.setup(options)
-- default to not syncing with the OS theme
local should_sync = true
if options.sync == false then
should_sync = false
end
-- default options
options = {
sync = should_sync,
sync_flavours = options.sync_flavours or {
light = "latte",
dark = "mocha",
},
flavour = options.flavour or "mocha",
}
-- if sync is enabled, hook into the window-config-reloaded event
-- snippet from https://wezfurlong.org/wezterm/config/lua/window/get_appearance.html#windowget_appearance
if options.sync then
wezterm.on("window-config-reloaded", function(window, pane)
local overrides = window:get_config_overrides() or {}
local appearance = window:get_appearance()
local scheme = scheme_for_appearance(appearance, options)
if overrides.background ~= scheme.background then
overrides.colors = scheme
window:set_config_overrides(overrides)
end
end)
end
return catppuccin.select(options.flavour)
end
return catppuccin

View file

@ -1,5 +1,4 @@
local wezterm = require("wezterm")
local catppuccin = require("colors/catppuccin").setup({})
local padding = 10
@ -13,7 +12,7 @@ config.window_padding = {
bottom = padding,
}
config.colors = catppuccin
config.color_scheme = "Catppuccin Mocha"
config.use_fancy_tab_bar = false
config.hide_tab_bar_if_only_one_tab = true
config.tab_bar_at_bottom = true