use builtin wezterm color_scheme
This commit is contained in:
parent
35a2da3c15
commit
c38d88c08f
2 changed files with 1 additions and 233 deletions
|
@ -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
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue