diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..1651e12 --- /dev/null +++ b/.editorconfig @@ -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 diff --git a/extras/wezterm/kanso-ink.lua b/extras/wezterm/kanso-ink.lua index fd5814c..67a5dd8 100644 --- a/extras/wezterm/kanso-ink.lua +++ b/extras/wezterm/kanso-ink.lua @@ -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 diff --git a/extras/wezterm/kanso-zen.lua b/extras/wezterm/kanso-zen.lua index 9d48255..13009d7 100644 --- a/extras/wezterm/kanso-zen.lua +++ b/extras/wezterm/kanso-zen.lua @@ -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 diff --git a/lua/kanso/colors.lua b/lua/kanso/colors.lua index 9b1d747..9312d7e 100644 --- a/lua/kanso/colors.lua +++ b/lua/kanso/colors.lua @@ -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 diff --git a/lua/kanso/init.lua b/lua/kanso/init.lua index 140c827..a29fac3 100644 --- a/lua/kanso/init.lua +++ b/lua/kanso/init.lua @@ -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 - 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 + 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 diff --git a/lua/kanso/lib/hsluv.lua b/lua/kanso/lib/hsluv.lua index e076856..08aef16 100644 --- a/lua/kanso/lib/hsluv.lua +++ b/lua/kanso/lib/hsluv.lua @@ -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 diff --git a/lua/kanso/themes.lua b/lua/kanso/themes.lua index 640d8d1..f30b0e7 100644 --- a/lua/kanso/themes.lua +++ b/lua/kanso/themes.lua @@ -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, diff --git a/lua/kanso/utils.lua b/lua/kanso/utils.lua index 5932de0..599efa7 100644 --- a/lua/kanso/utils.lua +++ b/lua/kanso/utils.lua @@ -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