mirror of
https://github.com/webhooked/kanso.nvim.git
synced 2026-06-03 07:37:02 +02:00
Add EditorConfig and standardize code formatting
Adds an EditorConfig file to maintain consistent coding styles across editors. Reformats code with consistent indentation using spaces instead of tabs. Makes minor color palette adjustments.
This commit is contained in:
parent
05b1a4b6d6
commit
90088255f9
8 changed files with 501 additions and 467 deletions
45
.editorconfig
Normal file
45
.editorconfig
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
# top-most EditorConfig file
|
||||
root = true
|
||||
|
||||
# Unix-style newlines with a newline ending every file
|
||||
[*]
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
charset = utf-8
|
||||
|
||||
# Lua files
|
||||
[*.lua]
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
|
||||
# Vim files
|
||||
[*.vim]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
# Markdown files
|
||||
[*.md]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
# YAML files
|
||||
[*.{yml,yaml}]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
# TOML files
|
||||
[*.toml]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
# Shell scripts
|
||||
[*.sh]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
# Config files
|
||||
[*.conf]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
|
@ -1,40 +1,40 @@
|
|||
local config = {
|
||||
force_reverse_video_cursor = true,
|
||||
colors = {
|
||||
foreground = "#C5C9C7",
|
||||
background = "#14171d",
|
||||
force_reverse_video_cursor = true,
|
||||
colors = {
|
||||
foreground = "#C5C9C7",
|
||||
background = "#14171d",
|
||||
|
||||
cursor_bg = "#C5C9C7",
|
||||
cursor_fg = "#14171d",
|
||||
cursor_border = "#C5C9C7",
|
||||
cursor_bg = "#C5C9C7",
|
||||
cursor_fg = "#14171d",
|
||||
cursor_border = "#C5C9C7",
|
||||
|
||||
selection_fg = "#C5C9C7",
|
||||
selection_bg = "#393B42",
|
||||
selection_fg = "#C5C9C7",
|
||||
selection_bg = "#393B42",
|
||||
|
||||
scrollbar_thumb = "#393B42",
|
||||
split = "#393B42",
|
||||
scrollbar_thumb = "#393B42",
|
||||
split = "#393B42",
|
||||
|
||||
ansi = {
|
||||
"#14171d",
|
||||
"#C4746E",
|
||||
"#8A9A7B",
|
||||
"#C4B28A",
|
||||
"#8BA4B0",
|
||||
"#A292A3",
|
||||
"#8EA4A2",
|
||||
"#A4A7A4",
|
||||
},
|
||||
brights = {
|
||||
"#A4A7A4",
|
||||
"#E46876",
|
||||
"#87A987",
|
||||
"#E6C384",
|
||||
"#7FB4CA",
|
||||
"#938AA9",
|
||||
"#7AA89F",
|
||||
"#C5C9C7",
|
||||
},
|
||||
},
|
||||
ansi = {
|
||||
"#14171d",
|
||||
"#C4746E",
|
||||
"#8A9A7B",
|
||||
"#C4B28A",
|
||||
"#8BA4B0",
|
||||
"#A292A3",
|
||||
"#8EA4A2",
|
||||
"#A4A7A4",
|
||||
},
|
||||
brights = {
|
||||
"#A4A7A4",
|
||||
"#E46876",
|
||||
"#87A987",
|
||||
"#E6C384",
|
||||
"#7FB4CA",
|
||||
"#938AA9",
|
||||
"#7AA89F",
|
||||
"#C5C9C7",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
return config
|
||||
|
|
|
|||
|
|
@ -1,40 +1,40 @@
|
|||
local config = {
|
||||
force_reverse_video_cursor = true,
|
||||
colors = {
|
||||
foreground = "#C5C9C7",
|
||||
background = "#090E13",
|
||||
force_reverse_video_cursor = true,
|
||||
colors = {
|
||||
foreground = "#C5C9C7",
|
||||
background = "#090E13",
|
||||
|
||||
cursor_bg = "#090E13",
|
||||
cursor_fg = "#C5C9C7",
|
||||
cursor_border = "#C5C9C7",
|
||||
cursor_bg = "#090E13",
|
||||
cursor_fg = "#C5C9C7",
|
||||
cursor_border = "#C5C9C7",
|
||||
|
||||
selection_fg = "#C5C9C7",
|
||||
selection_bg = "#24262D",
|
||||
selection_fg = "#C5C9C7",
|
||||
selection_bg = "#24262D",
|
||||
|
||||
scrollbar_thumb = "#24262D",
|
||||
split = "#24262D",
|
||||
scrollbar_thumb = "#24262D",
|
||||
split = "#24262D",
|
||||
|
||||
ansi = {
|
||||
"#090E13",
|
||||
"#C4746E",
|
||||
"#8A9A7B",
|
||||
"#C4B28A",
|
||||
"#8BA4B0",
|
||||
"#A292A3",
|
||||
"#8EA4A2",
|
||||
"#A4A7A4",
|
||||
},
|
||||
brights = {
|
||||
"#A4A7A4",
|
||||
"#E46876",
|
||||
"#87A987",
|
||||
"#E6C384",
|
||||
"#7FB4CA",
|
||||
"#938AA9",
|
||||
"#7AA89F",
|
||||
"#C5C9C7",
|
||||
},
|
||||
},
|
||||
ansi = {
|
||||
"#090E13",
|
||||
"#C4746E",
|
||||
"#8A9A7B",
|
||||
"#C4B28A",
|
||||
"#8BA4B0",
|
||||
"#A292A3",
|
||||
"#8EA4A2",
|
||||
"#A4A7A4",
|
||||
},
|
||||
brights = {
|
||||
"#A4A7A4",
|
||||
"#E46876",
|
||||
"#87A987",
|
||||
"#E6C384",
|
||||
"#7FB4CA",
|
||||
"#938AA9",
|
||||
"#7AA89F",
|
||||
"#C5C9C7",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
return config
|
||||
|
|
|
|||
|
|
@ -21,34 +21,23 @@ local palette = {
|
|||
autumnYellow = "#DCA561",
|
||||
|
||||
-- Diag
|
||||
samuraiRed = "#E82424",
|
||||
roninYellow = "#FF9E3B",
|
||||
samuraiRed = "#C34043",
|
||||
roninYellow = "#DCA561",
|
||||
zenAqua1 = "#6A9589",
|
||||
inkBlue = "#658594",
|
||||
|
||||
-- Fg and Comments
|
||||
oldWhite = "#C5C9C7",
|
||||
fujiWhite = "#f2f1ef",
|
||||
fujiGray = "#727169",
|
||||
|
||||
oniViolet = "#957FB8",
|
||||
oniViolet2 = "#b8b4d0",
|
||||
crystalBlue = "#7E9CD8",
|
||||
springViolet1 = "#938AA9",
|
||||
springViolet2 = "#9CABCA",
|
||||
springBlue = "#7FB4CA",
|
||||
lightBlue = "#A3D4D5",
|
||||
zenAqua2 = "#7AA89F",
|
||||
|
||||
springGreen = "#98BB6C",
|
||||
boatYellow1 = "#938056",
|
||||
boatYellow2 = "#C0A36E",
|
||||
carpYellow = "#E6C384",
|
||||
|
||||
sakuraPink = "#D27E99",
|
||||
zenRed = "#E46876",
|
||||
peachRed = "#FF5D62",
|
||||
surimiOrange = "#FFA066",
|
||||
katanaGray = "#717C7C",
|
||||
|
||||
inkBlack0 = "#14171d",
|
||||
|
|
@ -63,7 +52,7 @@ local palette = {
|
|||
inkOrange = "#b6927b",
|
||||
inkOrange2 = "#b98d7b",
|
||||
inkGray = "#A4A7A4",
|
||||
inkGray1 = "#9E9B93",
|
||||
inkGray1 = "#909398",
|
||||
inkGray2 = "#75797f",
|
||||
inkGray3 = "#5C6066",
|
||||
inkBlue2 = "#8ba4b0",
|
||||
|
|
@ -133,7 +122,8 @@ function M.setup(opts)
|
|||
|
||||
if not theme then
|
||||
error(
|
||||
"kanso.colors.setup(): Unable to infer `theme`. Either specify a theme or call this function after ':colorscheme kanso'")
|
||||
"kanso.colors.setup(): Unable to infer `theme`. Either specify a theme or call this function after ':colorscheme kanso'"
|
||||
)
|
||||
end
|
||||
|
||||
-- Add to and/or override palette_colors
|
||||
|
|
@ -143,8 +133,8 @@ function M.setup(opts)
|
|||
local theme_colors = require("kanso.themes")[theme](updated_palette_colors)
|
||||
|
||||
-- Add to and/or override theme_colors
|
||||
local theme_overrides = vim.tbl_deep_extend("force", override_colors.theme["all"] or {},
|
||||
override_colors.theme[theme] or {})
|
||||
local theme_overrides =
|
||||
vim.tbl_deep_extend("force", override_colors.theme["all"] or {}, override_colors.theme[theme] or {})
|
||||
local updated_theme_colors = vim.tbl_deep_extend("force", theme_colors, theme_overrides)
|
||||
-- return palette_colors AND theme_colors
|
||||
|
||||
|
|
|
|||
|
|
@ -8,90 +8,90 @@ local M = {}
|
|||
--- default config
|
||||
---@class KansoConfig
|
||||
M.config = {
|
||||
bold = true,
|
||||
undercurl = true,
|
||||
commentStyle = { italic = true },
|
||||
functionStyle = {},
|
||||
keywordStyle = { italic = true },
|
||||
statementStyle = {},
|
||||
typeStyle = {},
|
||||
transparent = false,
|
||||
dimInactive = false,
|
||||
terminalColors = true,
|
||||
disableItalics = false,
|
||||
colors = { theme = { zen = {}, pearl = {}, ink = {}, all = {} }, palette = {} },
|
||||
---@type fun(colors: KansoColorsSpec): table<string, table>
|
||||
overrides = function()
|
||||
return {}
|
||||
end,
|
||||
---@type { dark: string, light: string }
|
||||
background = { dark = "ink", light = "pearl" },
|
||||
theme = "ink",
|
||||
compile = false,
|
||||
bold = true,
|
||||
undercurl = true,
|
||||
commentStyle = { italic = true },
|
||||
functionStyle = {},
|
||||
keywordStyle = { italic = true },
|
||||
statementStyle = {},
|
||||
typeStyle = {},
|
||||
transparent = false,
|
||||
dimInactive = false,
|
||||
terminalColors = true,
|
||||
disableItalics = false,
|
||||
colors = { theme = { zen = {}, pearl = {}, ink = {}, all = {} }, palette = {} },
|
||||
---@type fun(colors: KansoColorsSpec): table<string, table>
|
||||
overrides = function()
|
||||
return {}
|
||||
end,
|
||||
---@type { dark: string, light: string }
|
||||
background = { dark = "ink", light = "pearl" },
|
||||
theme = "ink",
|
||||
compile = false,
|
||||
}
|
||||
|
||||
local function check_config(config)
|
||||
local err
|
||||
return not err
|
||||
local err
|
||||
return not err
|
||||
end
|
||||
|
||||
--- update global configuration with user settings
|
||||
---@param config? KansoConfig user configuration
|
||||
function M.setup(config)
|
||||
if check_config(config) then
|
||||
M.config = vim.tbl_deep_extend("force", M.config, config or {})
|
||||
else
|
||||
vim.notify("Kanso: Errors found while loading user config. Using default config.", vim.log.levels.ERROR)
|
||||
end
|
||||
if check_config(config) then
|
||||
M.config = vim.tbl_deep_extend("force", M.config, config or {})
|
||||
else
|
||||
vim.notify("Kanso: Errors found while loading user config. Using default config.", vim.log.levels.ERROR)
|
||||
end
|
||||
end
|
||||
|
||||
--- load the colorscheme
|
||||
---@param theme? string
|
||||
function M.load(theme)
|
||||
local utils = require("kanso.utils")
|
||||
local utils = require("kanso.utils")
|
||||
|
||||
theme = theme or M.config.background[vim.o.background] or M.config.theme
|
||||
M._CURRENT_THEME = theme
|
||||
theme = theme or M.config.background[vim.o.background] or M.config.theme
|
||||
M._CURRENT_THEME = theme
|
||||
|
||||
if vim.g.colors_name then
|
||||
vim.cmd("hi clear")
|
||||
end
|
||||
if vim.g.colors_name then
|
||||
vim.cmd("hi clear")
|
||||
end
|
||||
|
||||
vim.g.colors_name = "kanso"
|
||||
vim.o.termguicolors = true
|
||||
vim.g.colors_name = "kanso"
|
||||
vim.o.termguicolors = true
|
||||
|
||||
if M.config.compile then
|
||||
if utils.load_compiled(theme) then
|
||||
return
|
||||
end
|
||||
if M.config.compile then
|
||||
if utils.load_compiled(theme) then
|
||||
return
|
||||
end
|
||||
|
||||
M.compile()
|
||||
utils.load_compiled(theme)
|
||||
else
|
||||
local colors = require("kanso.colors").setup({ theme = theme, colors = M.config.colors })
|
||||
local highlights = require("kanso.highlights").setup(colors, M.config)
|
||||
require("kanso.highlights").highlight(highlights, M.config.terminalColors and colors.theme.term or {})
|
||||
end
|
||||
M.compile()
|
||||
utils.load_compiled(theme)
|
||||
else
|
||||
local colors = require("kanso.colors").setup({ theme = theme, colors = M.config.colors })
|
||||
local highlights = require("kanso.highlights").setup(colors, M.config)
|
||||
require("kanso.highlights").highlight(highlights, M.config.terminalColors and colors.theme.term or {})
|
||||
end
|
||||
end
|
||||
|
||||
function M.compile()
|
||||
for theme, _ in pairs(require("kanso.themes")) do
|
||||
local colors = require("kanso.colors").setup({ theme = theme, colors = M.config.colors })
|
||||
local highlights = require("kanso.highlights").setup(colors, M.config)
|
||||
require("kanso.utils").compile(theme, highlights, M.config.terminalColors and colors.theme.term or {})
|
||||
end
|
||||
for theme, _ in pairs(require("kanso.themes")) do
|
||||
local colors = require("kanso.colors").setup({ theme = theme, colors = M.config.colors })
|
||||
local highlights = require("kanso.highlights").setup(colors, M.config)
|
||||
require("kanso.utils").compile(theme, highlights, M.config.terminalColors and colors.theme.term or {})
|
||||
end
|
||||
end
|
||||
|
||||
vim.api.nvim_create_user_command("KansoCompile", function()
|
||||
for mod, _ in pairs(package.loaded) do
|
||||
if mod:match("^kanso%.") then
|
||||
package.loaded[mod] = nil
|
||||
end
|
||||
end
|
||||
M.compile()
|
||||
vim.notify("Kanso: compiled successfully!", vim.log.levels.INFO)
|
||||
M.load(M._CURRENT_THEME)
|
||||
vim.api.nvim_exec_autocmds("ColorScheme", { modeline = false })
|
||||
for mod, _ in pairs(package.loaded) do
|
||||
if mod:match("^kanso%.") then
|
||||
package.loaded[mod] = nil
|
||||
end
|
||||
end
|
||||
M.compile()
|
||||
vim.notify("Kanso: compiled successfully!", vim.log.levels.INFO)
|
||||
M.load(M._CURRENT_THEME)
|
||||
vim.api.nvim_exec_autocmds("ColorScheme", { modeline = false })
|
||||
end, {})
|
||||
|
||||
return M
|
||||
|
|
|
|||
|
|
@ -24,7 +24,6 @@ local hsluv = {}
|
|||
|
||||
local hexChars = "0123456789abcdef"
|
||||
|
||||
|
||||
local distance_line_from_origin = function(line)
|
||||
return math.abs(line.intercept) / math.sqrt((line.slope ^ 2) + 1)
|
||||
end
|
||||
|
|
@ -34,66 +33,66 @@ local length_of_ray_until_intersect = function(theta, line)
|
|||
end
|
||||
|
||||
hsluv.get_bounds = function(l)
|
||||
local result = {};
|
||||
local sub2;
|
||||
local sub1 = ((l + 16) ^ 3) / 1560896;
|
||||
local result = {}
|
||||
local sub2
|
||||
local sub1 = ((l + 16) ^ 3) / 1560896
|
||||
if sub1 > hsluv.epsilon then
|
||||
sub2 = sub1;
|
||||
sub2 = sub1
|
||||
else
|
||||
sub2 = l / hsluv.kappa;
|
||||
sub2 = l / hsluv.kappa
|
||||
end
|
||||
|
||||
for i = 1, 3 do
|
||||
local m1 = hsluv.m[i][1];
|
||||
local m2 = hsluv.m[i][2];
|
||||
local m3 = hsluv.m[i][3];
|
||||
local m1 = hsluv.m[i][1]
|
||||
local m2 = hsluv.m[i][2]
|
||||
local m3 = hsluv.m[i][3]
|
||||
|
||||
for t = 0, 1 do
|
||||
local top1 = (284517 * m1 - 94839 * m3) * sub2;
|
||||
local top2 = (838422 * m3 + 769860 * m2 + 731718 * m1) * l * sub2 - 769860 * t * l;
|
||||
local bottom = (632260 * m3 - 126452 * m2) * sub2 + 126452 * t;
|
||||
local top1 = (284517 * m1 - 94839 * m3) * sub2
|
||||
local top2 = (838422 * m3 + 769860 * m2 + 731718 * m1) * l * sub2 - 769860 * t * l
|
||||
local bottom = (632260 * m3 - 126452 * m2) * sub2 + 126452 * t
|
||||
table.insert(result, {
|
||||
slope = top1 / bottom,
|
||||
intercept = top2 / bottom
|
||||
intercept = top2 / bottom,
|
||||
})
|
||||
end;
|
||||
end;
|
||||
end
|
||||
end
|
||||
return result
|
||||
end
|
||||
|
||||
hsluv.max_safe_chroma_for_l = function(l)
|
||||
local bounds = hsluv.get_bounds(l);
|
||||
local min = 1.7976931348623157e+308;
|
||||
local bounds = hsluv.get_bounds(l)
|
||||
local min = 1.7976931348623157e+308
|
||||
|
||||
for i = 1, 6 do
|
||||
local length = distance_line_from_origin(bounds[i]);
|
||||
local length = distance_line_from_origin(bounds[i])
|
||||
if length >= 0 then
|
||||
min = math.min(min, length);
|
||||
end;
|
||||
end;
|
||||
return min;
|
||||
min = math.min(min, length)
|
||||
end
|
||||
end
|
||||
return min
|
||||
end
|
||||
|
||||
hsluv.max_safe_chroma_for_lh = function(l, h)
|
||||
local hrad = h / 360 * math.pi * 2;
|
||||
local bounds = hsluv.get_bounds(l);
|
||||
local min = 1.7976931348623157e+308;
|
||||
local hrad = h / 360 * math.pi * 2
|
||||
local bounds = hsluv.get_bounds(l)
|
||||
local min = 1.7976931348623157e+308
|
||||
|
||||
for i = 1, 6 do
|
||||
local bound = bounds[i];
|
||||
local length = length_of_ray_until_intersect(hrad, bound);
|
||||
local bound = bounds[i]
|
||||
local length = length_of_ray_until_intersect(hrad, bound)
|
||||
if length >= 0 then
|
||||
min = math.min(min, length);
|
||||
end;
|
||||
end;
|
||||
min = math.min(min, length)
|
||||
end
|
||||
end
|
||||
return min
|
||||
end
|
||||
|
||||
hsluv.dot_product = function(a, b)
|
||||
local sum = 0;
|
||||
local sum = 0
|
||||
for i = 1, 3 do
|
||||
sum = sum + a[i] * b[i];
|
||||
end;
|
||||
sum = sum + a[i] * b[i]
|
||||
end
|
||||
return sum
|
||||
end
|
||||
|
||||
|
|
@ -102,7 +101,7 @@ hsluv.from_linear = function(c)
|
|||
return 12.92 * c
|
||||
else
|
||||
return 1.055 * (c ^ 0.416666666666666685) - 0.055
|
||||
end;
|
||||
end
|
||||
end
|
||||
|
||||
hsluv.to_linear = function(c)
|
||||
|
|
@ -110,14 +109,14 @@ hsluv.to_linear = function(c)
|
|||
return ((c + 0.055) / 1.055) ^ 2.4
|
||||
else
|
||||
return c / 12.92
|
||||
end;
|
||||
end
|
||||
end
|
||||
|
||||
hsluv.xyz_to_rgb = function(tuple)
|
||||
return {
|
||||
hsluv.from_linear(hsluv.dot_product(hsluv.m[1], tuple)),
|
||||
hsluv.from_linear(hsluv.dot_product(hsluv.m[2], tuple)),
|
||||
hsluv.from_linear(hsluv.dot_product(hsluv.m[3], tuple))
|
||||
hsluv.from_linear(hsluv.dot_product(hsluv.m[3], tuple)),
|
||||
}
|
||||
end
|
||||
|
||||
|
|
@ -125,12 +124,12 @@ hsluv.rgb_to_xyz = function(tuple)
|
|||
local rgbl = {
|
||||
hsluv.to_linear(tuple[1]),
|
||||
hsluv.to_linear(tuple[2]),
|
||||
hsluv.to_linear(tuple[3])
|
||||
};
|
||||
hsluv.to_linear(tuple[3]),
|
||||
}
|
||||
return {
|
||||
hsluv.dot_product(hsluv.minv[1], rgbl),
|
||||
hsluv.dot_product(hsluv.minv[2], rgbl),
|
||||
hsluv.dot_product(hsluv.minv[3], rgbl)
|
||||
hsluv.dot_product(hsluv.minv[3], rgbl),
|
||||
}
|
||||
end
|
||||
|
||||
|
|
@ -139,7 +138,7 @@ hsluv.y_to_l = function(Y)
|
|||
return Y / hsluv.refY * hsluv.kappa
|
||||
else
|
||||
return 116 * ((Y / hsluv.refY) ^ 0.333333333333333315) - 16
|
||||
end;
|
||||
end
|
||||
end
|
||||
|
||||
hsluv.l_to_y = function(L)
|
||||
|
|
@ -147,131 +146,131 @@ hsluv.l_to_y = function(L)
|
|||
return hsluv.refY * L / hsluv.kappa
|
||||
else
|
||||
return hsluv.refY * (((L + 16) / 116) ^ 3)
|
||||
end;
|
||||
end
|
||||
end
|
||||
|
||||
hsluv.xyz_to_luv = function(tuple)
|
||||
local X = tuple[1];
|
||||
local Y = tuple[2];
|
||||
local divider = X + 15 * Y + 3 * tuple[3];
|
||||
local varU = 4 * X;
|
||||
local varV = 9 * Y;
|
||||
local X = tuple[1]
|
||||
local Y = tuple[2]
|
||||
local divider = X + 15 * Y + 3 * tuple[3]
|
||||
local varU = 4 * X
|
||||
local varV = 9 * Y
|
||||
if divider ~= 0 then
|
||||
varU = varU / divider;
|
||||
varV = varV / divider;
|
||||
varU = varU / divider
|
||||
varV = varV / divider
|
||||
else
|
||||
varU = 0;
|
||||
varV = 0;
|
||||
varU = 0
|
||||
varV = 0
|
||||
end
|
||||
local L = hsluv.y_to_l(Y);
|
||||
local L = hsluv.y_to_l(Y)
|
||||
if L == 0 then
|
||||
return { 0, 0, 0 }
|
||||
end;
|
||||
end
|
||||
return { L, 13 * L * (varU - hsluv.refU), 13 * L * (varV - hsluv.refV) }
|
||||
end
|
||||
|
||||
hsluv.luv_to_xyz = function(tuple)
|
||||
local L = tuple[1];
|
||||
local U = tuple[2];
|
||||
local V = tuple[3];
|
||||
local L = tuple[1]
|
||||
local U = tuple[2]
|
||||
local V = tuple[3]
|
||||
if L == 0 then
|
||||
return { 0, 0, 0 }
|
||||
end;
|
||||
local varU = U / (13 * L) + hsluv.refU;
|
||||
local varV = V / (13 * L) + hsluv.refV;
|
||||
local Y = hsluv.l_to_y(L);
|
||||
local X = 0 - (9 * Y * varU) / ((((varU - 4) * varV) - varU * varV));
|
||||
end
|
||||
local varU = U / (13 * L) + hsluv.refU
|
||||
local varV = V / (13 * L) + hsluv.refV
|
||||
local Y = hsluv.l_to_y(L)
|
||||
local X = 0 - (9 * Y * varU) / (((varU - 4) * varV) - varU * varV)
|
||||
return { X, Y, (9 * Y - 15 * varV * Y - varV * X) / (3 * varV) }
|
||||
end
|
||||
|
||||
hsluv.luv_to_lch = function(tuple)
|
||||
local L = tuple[1];
|
||||
local U = tuple[2];
|
||||
local V = tuple[3];
|
||||
local C = math.sqrt(U * U + V * V);
|
||||
local L = tuple[1]
|
||||
local U = tuple[2]
|
||||
local V = tuple[3]
|
||||
local C = math.sqrt(U * U + V * V)
|
||||
local H
|
||||
if C < 0.00000001 then
|
||||
H = 0;
|
||||
H = 0
|
||||
else
|
||||
H = math.atan2(V, U) * 180.0 / 3.1415926535897932;
|
||||
H = math.atan2(V, U) * 180.0 / 3.1415926535897932
|
||||
if H < 0 then
|
||||
H = 360 + H;
|
||||
end;
|
||||
end;
|
||||
H = 360 + H
|
||||
end
|
||||
end
|
||||
return { L, C, H }
|
||||
end
|
||||
|
||||
hsluv.lch_to_luv = function(tuple)
|
||||
local L = tuple[1];
|
||||
local C = tuple[2];
|
||||
local Hrad = tuple[3] / 360.0 * 2 * math.pi;
|
||||
return { L, math.cos(Hrad) * C, math.sin(Hrad) * C };
|
||||
local L = tuple[1]
|
||||
local C = tuple[2]
|
||||
local Hrad = tuple[3] / 360.0 * 2 * math.pi
|
||||
return { L, math.cos(Hrad) * C, math.sin(Hrad) * C }
|
||||
end
|
||||
|
||||
hsluv.hsluv_to_lch = function(tuple)
|
||||
local H = tuple[1];
|
||||
local S = tuple[2];
|
||||
local L = tuple[3];
|
||||
local H = tuple[1]
|
||||
local S = tuple[2]
|
||||
local L = tuple[3]
|
||||
if L > 99.9999999 then
|
||||
return { 100, 0, H }
|
||||
end;
|
||||
end
|
||||
if L < 0.00000001 then
|
||||
return { 0, 0, H }
|
||||
end;
|
||||
end
|
||||
return { L, hsluv.max_safe_chroma_for_lh(L, H) / 100 * S, H }
|
||||
end
|
||||
|
||||
hsluv.lch_to_hsluv = function(tuple)
|
||||
local L = tuple[1];
|
||||
local C = tuple[2];
|
||||
local H = tuple[3];
|
||||
local L = tuple[1]
|
||||
local C = tuple[2]
|
||||
local H = tuple[3]
|
||||
local max_chroma = hsluv.max_safe_chroma_for_lh(L, H)
|
||||
if L > 99.9999999 then
|
||||
return { H, 0, 100 }
|
||||
end;
|
||||
end
|
||||
if L < 0.00000001 then
|
||||
return { H, 0, 0 }
|
||||
end;
|
||||
end
|
||||
|
||||
return { H, C / max_chroma * 100, L }
|
||||
end
|
||||
|
||||
hsluv.hpluv_to_lch = function(tuple)
|
||||
local H = tuple[1];
|
||||
local S = tuple[2];
|
||||
local L = tuple[3];
|
||||
local H = tuple[1]
|
||||
local S = tuple[2]
|
||||
local L = tuple[3]
|
||||
if L > 99.9999999 then
|
||||
return { 100, 0, H }
|
||||
end;
|
||||
end
|
||||
if L < 0.00000001 then
|
||||
return { 0, 0, H }
|
||||
end;
|
||||
end
|
||||
return { L, hsluv.max_safe_chroma_for_l(L) / 100 * S, H }
|
||||
end
|
||||
|
||||
hsluv.lch_to_hpluv = function(tuple)
|
||||
local L = tuple[1];
|
||||
local C = tuple[2];
|
||||
local H = tuple[3];
|
||||
local L = tuple[1]
|
||||
local C = tuple[2]
|
||||
local H = tuple[3]
|
||||
if L > 99.9999999 then
|
||||
return { H, 0, 100 }
|
||||
end;
|
||||
end
|
||||
if L < 0.00000001 then
|
||||
return { H, 0, 0 }
|
||||
end;
|
||||
end
|
||||
return { H, C / hsluv.max_safe_chroma_for_l(L) * 100, L }
|
||||
end
|
||||
|
||||
hsluv.rgb_to_hex = function(tuple)
|
||||
local h = "#";
|
||||
local h = "#"
|
||||
for i = 1, 3 do
|
||||
local c = math.floor(tuple[i] * 255 + 0.5);
|
||||
local digit2 = math.fmod(c, 16);
|
||||
local x = (c - digit2) / 16;
|
||||
local digit1 = math.floor(x);
|
||||
local c = math.floor(tuple[i] * 255 + 0.5)
|
||||
local digit2 = math.fmod(c, 16)
|
||||
local x = (c - digit2) / 16
|
||||
local digit1 = math.floor(x)
|
||||
h = h .. string.sub(hexChars, digit1 + 1, digit1 + 1)
|
||||
h = h .. string.sub(hexChars, digit2 + 1, digit2 + 1)
|
||||
end;
|
||||
end
|
||||
return h
|
||||
end
|
||||
|
||||
|
|
@ -279,12 +278,12 @@ hsluv.hex_to_rgb = function(hex)
|
|||
hex = string.lower(hex)
|
||||
local ret = {}
|
||||
for i = 0, 2 do
|
||||
local char1 = string.sub(hex, i * 2 + 2, i * 2 + 2);
|
||||
local char2 = string.sub(hex, i * 2 + 3, i * 2 + 3);
|
||||
local char1 = string.sub(hex, i * 2 + 2, i * 2 + 2)
|
||||
local char2 = string.sub(hex, i * 2 + 3, i * 2 + 3)
|
||||
local digit1 = string.find(hexChars, char1) - 1
|
||||
local digit2 = string.find(hexChars, char2) - 1
|
||||
ret[i + 1] = (digit1 * 16 + digit2) / 255.0;
|
||||
end;
|
||||
ret[i + 1] = (digit1 * 16 + digit2) / 255.0
|
||||
end
|
||||
return ret
|
||||
end
|
||||
|
||||
|
|
@ -331,12 +330,12 @@ end
|
|||
hsluv.m = {
|
||||
{ 3.240969941904521, -1.537383177570093, -0.498610760293 },
|
||||
{ -0.96924363628087, 1.87596750150772, 0.041555057407175 },
|
||||
{ 0.055630079696993, -0.20397695888897, 1.056971514242878 }
|
||||
{ 0.055630079696993, -0.20397695888897, 1.056971514242878 },
|
||||
}
|
||||
hsluv.minv = {
|
||||
{ 0.41239079926595, 0.35758433938387, 0.18048078840183 },
|
||||
{ 0.21263900587151, 0.71516867876775, 0.072192315360733 },
|
||||
{ 0.019330818715591, 0.11919477979462, 0.95053215224966 }
|
||||
{ 0.019330818715591, 0.11919477979462, 0.95053215224966 },
|
||||
}
|
||||
hsluv.refY = 1.0
|
||||
hsluv.refU = 0.19783000664283
|
||||
|
|
|
|||
|
|
@ -98,109 +98,109 @@ return {
|
|||
zen = function(palette)
|
||||
return {
|
||||
ui = {
|
||||
none = "NONE",
|
||||
fg = palette.inkWhite,
|
||||
fg_dim = palette.oldWhite,
|
||||
fg_reverse = palette.zenBlue1,
|
||||
none = "NONE",
|
||||
fg = palette.inkWhite,
|
||||
fg_dim = palette.oldWhite,
|
||||
fg_reverse = palette.zenBlue1,
|
||||
|
||||
bg_dim = palette.zen0,
|
||||
bg_dim = palette.zen0,
|
||||
|
||||
bg_m3 = palette.zen0,
|
||||
bg_m2 = palette.zen0,
|
||||
bg_m1 = palette.zen0,
|
||||
bg = palette.zen0,
|
||||
bg_p1 = palette.zen1,
|
||||
bg_p2 = palette.zen2,
|
||||
bg_m3 = palette.zen0,
|
||||
bg_m2 = palette.zen0,
|
||||
bg_m1 = palette.zen0,
|
||||
bg = palette.zen0,
|
||||
bg_p1 = palette.zen1,
|
||||
bg_p2 = palette.zen2,
|
||||
|
||||
special = palette.inkGray3,
|
||||
indent_line = palette.inkBlack2,
|
||||
active_indent_line = palette.inkBlack3,
|
||||
whitespace = palette.inkBlack0,
|
||||
nontext = palette.inkAsh,
|
||||
special = palette.inkGray3,
|
||||
indent_line = palette.inkBlack2,
|
||||
active_indent_line = palette.inkBlack3,
|
||||
whitespace = palette.inkBlack0,
|
||||
nontext = palette.inkAsh,
|
||||
|
||||
bg_visual = palette.inkBlack3,
|
||||
bg_search = palette.zenBlue2,
|
||||
bg_visual = palette.inkBlack3,
|
||||
bg_search = palette.zenBlue2,
|
||||
|
||||
cursor_line_nr_foreground = palette.inkGray3,
|
||||
cursor_line_nr_foreground = palette.inkGray3,
|
||||
cursor_line_nr_active_foreground = palette.fujiWhite,
|
||||
cursor_bg = palette.fujiWhite,
|
||||
cursor_fg = palette.zen0,
|
||||
cursor_bg = palette.fujiWhite,
|
||||
cursor_fg = palette.zen0,
|
||||
|
||||
pmenu = {
|
||||
fg = palette.fujiWhite,
|
||||
fg_sel = "NONE",
|
||||
bg = palette.zen0,
|
||||
bg_sel = palette.inkBlack3,
|
||||
pmenu = {
|
||||
fg = palette.fujiWhite,
|
||||
fg_sel = "NONE",
|
||||
bg = palette.zen0,
|
||||
bg_sel = palette.inkBlack3,
|
||||
bg_thumb = palette.inkBlack3,
|
||||
bg_sbar = palette.zen0,
|
||||
bg_sbar = palette.zen0,
|
||||
},
|
||||
|
||||
float = {
|
||||
fg = palette.oldWhite,
|
||||
bg = palette.zen0,
|
||||
float = {
|
||||
fg = palette.oldWhite,
|
||||
bg = palette.zen0,
|
||||
fg_border = palette.zen2,
|
||||
bg_border = palette.zen0,
|
||||
},
|
||||
},
|
||||
syn = {
|
||||
string = palette.inkGreen2,
|
||||
variable = "NONE",
|
||||
number = palette.inkPink,
|
||||
constant = palette.inkOrange,
|
||||
string = palette.inkGreen2,
|
||||
variable = "NONE",
|
||||
number = palette.inkPink,
|
||||
constant = palette.inkOrange,
|
||||
identifier = palette.inkViolet,
|
||||
parameter = palette.inkGray1,
|
||||
fun = palette.inkBlue2,
|
||||
statement = palette.inkViolet,
|
||||
keyword = palette.inkViolet,
|
||||
operator = palette.inkGray1,
|
||||
preproc = palette.inkGray1,
|
||||
type = palette.inkAqua,
|
||||
regex = palette.inkRed,
|
||||
parameter = palette.inkGray1,
|
||||
fun = palette.inkBlue2,
|
||||
statement = palette.inkViolet,
|
||||
keyword = palette.inkViolet,
|
||||
operator = palette.inkGray1,
|
||||
preproc = palette.inkGray1,
|
||||
type = palette.inkAqua,
|
||||
regex = palette.inkRed,
|
||||
deprecated = palette.katanaGray,
|
||||
punct = palette.inkGray1,
|
||||
comment = palette.inkGray2,
|
||||
special1 = palette.inkYellow,
|
||||
special2 = palette.inkViolet,
|
||||
special3 = palette.inkViolet,
|
||||
punct = palette.inkGray1,
|
||||
comment = palette.inkGray2,
|
||||
special1 = palette.inkYellow,
|
||||
special2 = palette.inkViolet,
|
||||
special3 = palette.inkViolet,
|
||||
},
|
||||
diag = {
|
||||
error = palette.samuraiRed,
|
||||
ok = palette.springGreen,
|
||||
error = palette.samuraiRed,
|
||||
ok = palette.springGreen,
|
||||
warning = palette.roninYellow,
|
||||
info = palette.inkBlue,
|
||||
hint = palette.zenAqua1,
|
||||
info = palette.inkBlue,
|
||||
hint = palette.zenAqua1,
|
||||
},
|
||||
diff = {
|
||||
add = palette.winterGreen,
|
||||
add = palette.winterGreen,
|
||||
delete = palette.winterRed,
|
||||
change = palette.winterBlue,
|
||||
text = palette.winterYellow,
|
||||
text = palette.winterYellow,
|
||||
},
|
||||
vcs = {
|
||||
added = palette.autumnGreen,
|
||||
removed = palette.autumnRed,
|
||||
changed = palette.autumnYellow,
|
||||
untracked = palette.inkGray2
|
||||
added = palette.autumnGreen,
|
||||
removed = palette.autumnRed,
|
||||
changed = palette.autumnYellow,
|
||||
untracked = palette.inkGray2,
|
||||
},
|
||||
term = {
|
||||
palette.zen0, -- black
|
||||
palette.inkRed, -- red
|
||||
palette.inkGreen2, -- green
|
||||
palette.inkYellow, -- yellow
|
||||
palette.inkBlue2, -- blue
|
||||
palette.inkPink, -- magenta
|
||||
palette.inkWhite, -- cyan
|
||||
palette.oldWhite, -- white
|
||||
palette.inkGray1, -- bright black
|
||||
palette.zenRed, -- bright red
|
||||
palette.inkGreen, -- bright green
|
||||
palette.carpYellow, -- bright yellow
|
||||
palette.springBlue, -- bright blue
|
||||
palette.zen0, -- black
|
||||
palette.inkRed, -- red
|
||||
palette.inkGreen2, -- green
|
||||
palette.inkYellow, -- yellow
|
||||
palette.inkBlue2, -- blue
|
||||
palette.inkPink, -- magenta
|
||||
palette.inkWhite, -- cyan
|
||||
palette.oldWhite, -- white
|
||||
palette.inkGray1, -- bright black
|
||||
palette.zenRed, -- bright red
|
||||
palette.inkGreen, -- bright green
|
||||
palette.carpYellow, -- bright yellow
|
||||
palette.springBlue, -- bright blue
|
||||
palette.springViolet1, -- bright magenta
|
||||
palette.zenAqua2, -- bright cyan
|
||||
palette.inkWhite, -- bright white
|
||||
palette.inkOrange, -- extended color 1
|
||||
palette.inkOrange2, -- extended color 2
|
||||
palette.zenAqua2, -- bright cyan
|
||||
palette.inkWhite, -- bright white
|
||||
palette.inkOrange, -- extended color 1
|
||||
palette.inkOrange2, -- extended color 2
|
||||
},
|
||||
}
|
||||
end,
|
||||
|
|
@ -209,109 +209,109 @@ return {
|
|||
ink = function(palette)
|
||||
return {
|
||||
ui = {
|
||||
none = "NONE",
|
||||
fg = palette.inkWhite,
|
||||
fg_dim = palette.oldWhite,
|
||||
fg_reverse = palette.zenBlue1,
|
||||
none = "NONE",
|
||||
fg = palette.inkWhite,
|
||||
fg_dim = palette.oldWhite,
|
||||
fg_reverse = palette.zenBlue1,
|
||||
|
||||
bg_dim = palette.inkBlack0,
|
||||
bg_dim = palette.inkBlack0,
|
||||
|
||||
bg_m3 = palette.inkBlack0,
|
||||
bg_m2 = palette.inkBlack0,
|
||||
bg_m1 = palette.inkBlack0,
|
||||
bg = palette.inkBlack0,
|
||||
bg_p1 = palette.inkBlack1,
|
||||
bg_p2 = palette.inkBlack2,
|
||||
bg_m3 = palette.inkBlack0,
|
||||
bg_m2 = palette.inkBlack0,
|
||||
bg_m1 = palette.inkBlack0,
|
||||
bg = palette.inkBlack0,
|
||||
bg_p1 = palette.inkBlack1,
|
||||
bg_p2 = palette.inkBlack2,
|
||||
|
||||
special = palette.inkGray3,
|
||||
indent_line = palette.inkBlack2,
|
||||
active_indent_line = palette.inkBlack3,
|
||||
whitespace = palette.inkBlack0,
|
||||
nontext = palette.inkAsh,
|
||||
special = palette.inkGray3,
|
||||
indent_line = palette.inkBlack2,
|
||||
active_indent_line = palette.inkBlack3,
|
||||
whitespace = palette.inkBlack0,
|
||||
nontext = palette.inkAsh,
|
||||
|
||||
bg_visual = palette.inkBlack3,
|
||||
bg_search = palette.zenBlue2,
|
||||
bg_visual = palette.inkBlack3,
|
||||
bg_search = palette.zenBlue2,
|
||||
|
||||
cursor_line_nr_foreground = palette.inkGray3,
|
||||
cursor_line_nr_foreground = palette.inkGray3,
|
||||
cursor_line_nr_active_foreground = palette.fujiWhite,
|
||||
cursor_bg = palette.fujiWhite,
|
||||
cursor_fg = palette.inkBlack0,
|
||||
cursor_bg = palette.fujiWhite,
|
||||
cursor_fg = palette.inkBlack0,
|
||||
|
||||
pmenu = {
|
||||
fg = palette.fujiWhite,
|
||||
fg_sel = "NONE",
|
||||
bg = palette.inkBlack0,
|
||||
bg_sel = palette.inkBlack3,
|
||||
pmenu = {
|
||||
fg = palette.fujiWhite,
|
||||
fg_sel = "NONE",
|
||||
bg = palette.inkBlack0,
|
||||
bg_sel = palette.inkBlack3,
|
||||
bg_thumb = palette.inkBlack3,
|
||||
bg_sbar = palette.inkBlack0,
|
||||
bg_sbar = palette.inkBlack0,
|
||||
},
|
||||
|
||||
float = {
|
||||
fg = palette.oldWhite,
|
||||
bg = palette.inkBlack0,
|
||||
float = {
|
||||
fg = palette.oldWhite,
|
||||
bg = palette.inkBlack0,
|
||||
fg_border = palette.inkBlack2,
|
||||
bg_border = palette.inkBlack0,
|
||||
},
|
||||
},
|
||||
syn = {
|
||||
string = palette.inkGreen2,
|
||||
variable = "NONE",
|
||||
number = palette.inkPink,
|
||||
constant = palette.inkOrange,
|
||||
string = palette.inkGreen2,
|
||||
variable = "NONE",
|
||||
number = palette.inkPink,
|
||||
constant = palette.inkOrange,
|
||||
identifier = palette.inkViolet,
|
||||
parameter = palette.inkGray1,
|
||||
fun = palette.inkBlue2,
|
||||
statement = palette.inkViolet,
|
||||
keyword = palette.inkViolet,
|
||||
operator = palette.inkGray1,
|
||||
preproc = palette.inkGray1,
|
||||
type = palette.inkAqua,
|
||||
regex = palette.inkRed,
|
||||
parameter = palette.inkGray1,
|
||||
fun = palette.inkBlue2,
|
||||
statement = palette.inkViolet,
|
||||
keyword = palette.inkViolet,
|
||||
operator = palette.inkGray1,
|
||||
preproc = palette.inkGray1,
|
||||
type = palette.inkAqua,
|
||||
regex = palette.inkRed,
|
||||
deprecated = palette.katanaGray,
|
||||
punct = palette.inkGray1,
|
||||
comment = palette.inkGray2,
|
||||
special1 = palette.inkYellow,
|
||||
special2 = palette.inkViolet,
|
||||
special3 = palette.inkViolet,
|
||||
punct = palette.inkGray1,
|
||||
comment = palette.inkGray2,
|
||||
special1 = palette.inkYellow,
|
||||
special2 = palette.inkViolet,
|
||||
special3 = palette.inkViolet,
|
||||
},
|
||||
diag = {
|
||||
error = palette.samuraiRed,
|
||||
ok = palette.springGreen,
|
||||
error = palette.samuraiRed,
|
||||
ok = palette.springGreen,
|
||||
warning = palette.roninYellow,
|
||||
info = palette.inkBlue,
|
||||
hint = palette.zenAqua1,
|
||||
info = palette.inkBlue,
|
||||
hint = palette.zenAqua1,
|
||||
},
|
||||
diff = {
|
||||
add = palette.winterGreen,
|
||||
add = palette.winterGreen,
|
||||
delete = palette.winterRed,
|
||||
change = palette.winterBlue,
|
||||
text = palette.winterYellow,
|
||||
text = palette.winterYellow,
|
||||
},
|
||||
vcs = {
|
||||
added = palette.autumnGreen,
|
||||
removed = palette.autumnRed,
|
||||
changed = palette.autumnYellow,
|
||||
untracked = palette.inkGray2
|
||||
added = palette.autumnGreen,
|
||||
removed = palette.autumnRed,
|
||||
changed = palette.autumnYellow,
|
||||
untracked = palette.inkGray2,
|
||||
},
|
||||
term = {
|
||||
palette.inkBlack0, -- black
|
||||
palette.inkRed, -- red
|
||||
palette.inkGreen2, -- green
|
||||
palette.inkYellow, -- yellow
|
||||
palette.inkBlue2, -- blue
|
||||
palette.inkPink, -- magenta
|
||||
palette.inkWhite, -- cyan
|
||||
palette.oldWhite, -- white
|
||||
palette.inkGray1, -- bright black
|
||||
palette.zenRed, -- bright red
|
||||
palette.inkGreen, -- bright green
|
||||
palette.carpYellow, -- bright yellow
|
||||
palette.springBlue, -- bright blue
|
||||
palette.inkBlack0, -- black
|
||||
palette.inkRed, -- red
|
||||
palette.inkGreen2, -- green
|
||||
palette.inkYellow, -- yellow
|
||||
palette.inkBlue2, -- blue
|
||||
palette.inkPink, -- magenta
|
||||
palette.inkWhite, -- cyan
|
||||
palette.oldWhite, -- white
|
||||
palette.inkGray1, -- bright black
|
||||
palette.zenRed, -- bright red
|
||||
palette.inkGreen, -- bright green
|
||||
palette.carpYellow, -- bright yellow
|
||||
palette.springBlue, -- bright blue
|
||||
palette.springViolet1, -- bright magenta
|
||||
palette.zenAqua2, -- bright cyan
|
||||
palette.inkWhite, -- bright white
|
||||
palette.inkOrange, -- extended color 1
|
||||
palette.inkOrange2, -- extended color 2
|
||||
palette.zenAqua2, -- bright cyan
|
||||
palette.inkWhite, -- bright white
|
||||
palette.inkOrange, -- extended color 1
|
||||
palette.inkOrange2, -- extended color 2
|
||||
},
|
||||
}
|
||||
end,
|
||||
|
|
@ -320,108 +320,108 @@ return {
|
|||
pearl = function(palette)
|
||||
return {
|
||||
ui = {
|
||||
none = "NONE",
|
||||
fg = palette.pearlInk0,
|
||||
fg_dim = palette.pearlInk0,
|
||||
fg_reverse = palette.pearlGray,
|
||||
none = "NONE",
|
||||
fg = palette.pearlInk0,
|
||||
fg_dim = palette.pearlInk0,
|
||||
fg_reverse = palette.pearlGray,
|
||||
|
||||
bg_dim = palette.pearlWhite0,
|
||||
bg_dim = palette.pearlWhite0,
|
||||
|
||||
bg_m3 = palette.pearlWhite0,
|
||||
bg_m2 = palette.pearlWhite0,
|
||||
bg_m1 = palette.pearlWhite0,
|
||||
bg = palette.pearlWhite0,
|
||||
bg_p1 = palette.pearlWhite1,
|
||||
bg_p2 = palette.pearlWhite1,
|
||||
bg_m3 = palette.pearlWhite0,
|
||||
bg_m2 = palette.pearlWhite0,
|
||||
bg_m1 = palette.pearlWhite0,
|
||||
bg = palette.pearlWhite0,
|
||||
bg_p1 = palette.pearlWhite1,
|
||||
bg_p2 = palette.pearlWhite1,
|
||||
|
||||
nontext = palette.pearlViolet1,
|
||||
whitespace = palette.pearlWhite0,
|
||||
special = palette.pearlViolet2,
|
||||
indent_line = palette.pearlWhite1,
|
||||
active_indent_line = palette.pearlWhite2,
|
||||
nontext = palette.pearlViolet1,
|
||||
whitespace = palette.pearlWhite0,
|
||||
special = palette.pearlViolet2,
|
||||
indent_line = palette.pearlWhite1,
|
||||
active_indent_line = palette.pearlWhite2,
|
||||
|
||||
bg_visual = palette.pearlWhite2,
|
||||
bg_search = palette.pearlBlue2,
|
||||
bg_visual = palette.pearlWhite2,
|
||||
bg_search = palette.pearlBlue2,
|
||||
|
||||
cursor_line_nr_foreground = palette.pearlGray4,
|
||||
cursor_line_nr_foreground = palette.pearlGray4,
|
||||
cursor_line_nr_active_foreground = palette.inkBlack2,
|
||||
cursor_bg = palette.fujiWhite,
|
||||
cursor_fg = palette.inkBlack2,
|
||||
cursor_bg = palette.fujiWhite,
|
||||
cursor_fg = palette.inkBlack2,
|
||||
|
||||
pmenu = {
|
||||
fg = palette.pearlInk2,
|
||||
fg_sel = "NONE", -- This is important to make highlights pass-through
|
||||
bg = palette.pearlWhite0,
|
||||
bg_sel = palette.pearlWhite2,
|
||||
pmenu = {
|
||||
fg = palette.pearlInk2,
|
||||
fg_sel = "NONE", -- This is important to make highlights pass-through
|
||||
bg = palette.pearlWhite0,
|
||||
bg_sel = palette.pearlWhite2,
|
||||
bg_thumb = palette.pearlWhite2,
|
||||
bg_sbar = palette.pearlWhite0,
|
||||
bg_sbar = palette.pearlWhite0,
|
||||
},
|
||||
float = {
|
||||
fg = palette.pearlInk2,
|
||||
bg = palette.pearlWhite0,
|
||||
float = {
|
||||
fg = palette.pearlInk2,
|
||||
bg = palette.pearlWhite0,
|
||||
fg_border = palette.pearlWhite2,
|
||||
bg_border = palette.pearlWhite0,
|
||||
},
|
||||
},
|
||||
syn = {
|
||||
string = palette.pearlGreen,
|
||||
variable = "NONE",
|
||||
number = palette.pearlPink,
|
||||
constant = palette.pearlOrange,
|
||||
string = palette.pearlGreen,
|
||||
variable = "NONE",
|
||||
number = palette.pearlPink,
|
||||
constant = palette.pearlOrange,
|
||||
identifier = palette.pearlViolet4,
|
||||
parameter = palette.pearlBlue5,
|
||||
fun = palette.pearlBlue4,
|
||||
statement = palette.pearlViolet4,
|
||||
keyword = palette.pearlViolet4,
|
||||
operator = palette.pearlGray3,
|
||||
preproc = palette.pearlGray2,
|
||||
type = palette.pearlAqua,
|
||||
regex = palette.pearlYellow2,
|
||||
parameter = palette.pearlBlue5,
|
||||
fun = palette.pearlBlue4,
|
||||
statement = palette.pearlViolet4,
|
||||
keyword = palette.pearlViolet4,
|
||||
operator = palette.pearlGray3,
|
||||
preproc = palette.pearlGray2,
|
||||
type = palette.pearlAqua,
|
||||
regex = palette.pearlYellow2,
|
||||
deprecated = palette.pearlGray3,
|
||||
comment = palette.pearlGray3,
|
||||
punct = palette.pearlGray3,
|
||||
special1 = palette.pearlYellow2,
|
||||
special2 = palette.pearlViolet4,
|
||||
special3 = palette.pearlViolet4,
|
||||
comment = palette.pearlGray3,
|
||||
punct = palette.pearlGray3,
|
||||
special1 = palette.pearlYellow2,
|
||||
special2 = palette.pearlViolet4,
|
||||
special3 = palette.pearlViolet4,
|
||||
},
|
||||
vcs = {
|
||||
added = palette.pearlGreen2,
|
||||
removed = palette.pearlRed2,
|
||||
changed = palette.pearlYellow3,
|
||||
untracked = palette.pearlGray4
|
||||
added = palette.pearlGreen2,
|
||||
removed = palette.pearlRed2,
|
||||
changed = palette.pearlYellow3,
|
||||
untracked = palette.pearlGray4,
|
||||
},
|
||||
diff = {
|
||||
add = palette.pearlGreen3,
|
||||
add = palette.pearlGreen3,
|
||||
delete = palette.pearlRed4,
|
||||
change = palette.pearlCyan,
|
||||
text = palette.pearlYellow4,
|
||||
text = palette.pearlYellow4,
|
||||
},
|
||||
diag = {
|
||||
error = palette.pearlRed3,
|
||||
ok = palette.pearlGreen,
|
||||
error = palette.pearlRed3,
|
||||
ok = palette.pearlGreen,
|
||||
warning = palette.pearlOrange2,
|
||||
info = palette.pearlTeal3,
|
||||
hint = palette.pearlAqua2,
|
||||
info = palette.pearlTeal3,
|
||||
hint = palette.pearlAqua2,
|
||||
},
|
||||
term = {
|
||||
palette.inkBlack2, -- black
|
||||
palette.pearlRed, -- red
|
||||
palette.pearlGreen, -- green
|
||||
palette.pearlYellow, -- yellow
|
||||
palette.pearlBlue4, -- blue
|
||||
palette.pearlPink, -- magenta
|
||||
palette.pearlAqua, -- cyan
|
||||
palette.pearlInk0, -- white
|
||||
palette.pearlGray3, -- bright black
|
||||
palette.pearlRed2, -- bright red
|
||||
palette.pearlGreen2, -- bright green
|
||||
palette.inkBlack2, -- black
|
||||
palette.pearlRed, -- red
|
||||
palette.pearlGreen, -- green
|
||||
palette.pearlYellow, -- yellow
|
||||
palette.pearlBlue4, -- blue
|
||||
palette.pearlPink, -- magenta
|
||||
palette.pearlAqua, -- cyan
|
||||
palette.pearlInk0, -- white
|
||||
palette.pearlGray3, -- bright black
|
||||
palette.pearlRed2, -- bright red
|
||||
palette.pearlGreen2, -- bright green
|
||||
palette.pearlYellow2, -- bright yellow
|
||||
palette.pearlTeal2, -- bright blue
|
||||
palette.pearlTeal2, -- bright blue
|
||||
palette.pearlViolet4, -- bright magenta
|
||||
palette.pearlAqua2, -- bright cyan
|
||||
palette.pearlInk2, -- bright white
|
||||
palette.pearlAqua2, -- bright cyan
|
||||
palette.pearlInk2, -- bright white
|
||||
palette.pearlOrange2, -- extended color 1
|
||||
palette.pearlRed3, -- extended color 2
|
||||
palette.pearlRed3, -- extended color 2
|
||||
},
|
||||
}
|
||||
end,
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ local M = {}
|
|||
local PATH_SEP = vim.loop.os_uname().version:match("Windows") and "\\" or "/"
|
||||
|
||||
local get_compiled_path = function(theme)
|
||||
return table.concat({vim.fn.stdpath("state"), "kanso", theme .. "_compiled.lua"}, PATH_SEP)
|
||||
return table.concat({ vim.fn.stdpath("state"), "kanso", theme .. "_compiled.lua" }, PATH_SEP)
|
||||
end
|
||||
|
||||
---@return string theme
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue