skift.nvim/lua/skift/colors.lua

126 lines
4.2 KiB
Lua

local resolve = require('skift.utils.resolve_color_vars')
local hsl = require('skift.utils.hsl').hslToHex
--- @class Colors
local colors = {
-- Base colors
slate50 = hsl(213, 27, 94),
slate100 = hsl(233, 18, 54),
slate200 = hsl(228, 28, 32),
slate300 = hsl(228, 28, 27),
slate500 = hsl(228, 28, 14),
slate700 = hsl(228, 28, 8), --base
slate800 = hsl(228, 28, 7),
slate900 = hsl(228, 28, 6),
-- Color tokens
black = "slate900",
white = "slate50",
blue = hsl(217, 92, 76),
sky = hsl(227, 92, 40),
green = hsl(115, 54, 76),
red = hsl(343, 81, 75),
yellow = hsl(41, 86, 83),
orange = hsl(23, 92, 75),
purple = hsl(267, 84, 81),
rose = hsl(10, 56, 91),
lavender = hsl(232, 97, 85),
cyan = hsl(199, 76, 69),
teal = hsl(170, 57, 73),
-- Dimmed color tokens
red_dim = hsl(328, 22, 25),
orange_dim = hsl(15, 18, 27),
yellow_dim = hsl(37, 9, 29),
green_dim = hsl(140, 14, 26),
blue_dim = hsl(230, 19, 29),
cyan_dim = hsl(205, 32, 25),
-- Backgrounds
bg = "slate700",
bg_dim = "slate800",
bg_float = "slate900",
bg_elevated = "slate900",
bg_cursorline = "slate500",
bg_selection = "slate200",
bg_search = "accent",
-- Foregrounds
fg = "slate50",
fg_dim = "slate300",
fg_muted = "slate500",
fg_bright = "slate50", -- Remove?
fg_comment = "slate100",
fg_gutter = "slate200",
fg_gutter_active = "lavender",
-- Syntax
keyword = "yellow",
func = "fg",
string = "lavender",
number = "orange",
type = "blue",
constant = "orange",
variable = "green",
property = "green",
operator = "rose",
special = "purple",
tag = "cyan",
regex = "lavender",
-- UI
accent = "blue",
border = "slate500",
match_paren = "orange",
guide = "slate500",
guide_active = "#282e3c",
nontext = "fg_muted",
-- Diagnostics
error = "red",
warning = "yellow",
info = "blue",
hint = "lavender",
ok = "green",
-- Diff
diff_add = "green",
diff_change = "yellow",
diff_delete = "red",
diff_text = "fg_dim",
-- Diff backgrounds
diff_add_bg = "green_dim",
diff_change_bg = "orange_dim",
diff_delete_bg = "red_dim",
diff_text_bg = "fg_dim",
-- Git
git_add = "diff_add",
git_change = "diff_change",
git_delete = "diff_delete",
git_ignore = "diff_text",
-- Terminal
terminal_black = "black",
terminal_red = "red",
terminal_green = "green",
terminal_yellow = "yellow",
terminal_blue = "blue",
terminal_magenta = "purple",
terminal_cyan = "cyan",
terminal_white = "white",
terminal_bright_black = "black",
terminal_bright_red = "red",
terminal_bright_green = "green",
terminal_bright_yellow = "yellow",
terminal_bright_blue = "blue",
terminal_bright_magenta = "purple",
terminal_bright_cyan = "cyan",
terminal_bright_white = "white",
none = "NONE",
}
return resolve(colors)