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:
Webhooked 2025-05-26 11:01:00 +02:00
commit 90088255f9
8 changed files with 501 additions and 467 deletions

45
.editorconfig Normal file
View 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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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,

View file

@ -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