From 318ea18b9163985493d54e2583f9c71c00113160 Mon Sep 17 00:00:00 2001 From: Daniel Lundin Date: Mon, 3 Jun 2024 09:47:45 +0200 Subject: [PATCH] humble (re)beginnings --- colors/sumi-e-dark.lua | 2 - colors/sumi-e-light.lua | 2 - colors/sumi-e.lua | 3 +- lua/sumi-e/colors.lua | 27 ---------- lua/sumi-e/config.lua | 9 ---- lua/sumi-e/init.lua | 107 +++++++++++++++++++++++----------------- 6 files changed, 63 insertions(+), 87 deletions(-) delete mode 100644 colors/sumi-e-dark.lua delete mode 100644 colors/sumi-e-light.lua delete mode 100644 lua/sumi-e/colors.lua delete mode 100644 lua/sumi-e/config.lua diff --git a/colors/sumi-e-dark.lua b/colors/sumi-e-dark.lua deleted file mode 100644 index a934ee7..0000000 --- a/colors/sumi-e-dark.lua +++ /dev/null @@ -1,2 +0,0 @@ -vim.o.background = "dark" -require("sumi-e").colorscheme() diff --git a/colors/sumi-e-light.lua b/colors/sumi-e-light.lua deleted file mode 100644 index e800bf3..0000000 --- a/colors/sumi-e-light.lua +++ /dev/null @@ -1,2 +0,0 @@ -vim.o.background = "light" -require("sumi-e").colorscheme() diff --git a/colors/sumi-e.lua b/colors/sumi-e.lua index 87a2c9e..09d10a2 100644 --- a/colors/sumi-e.lua +++ b/colors/sumi-e.lua @@ -1 +1,2 @@ -require("sumi-e").colorscheme() +package.loaded["sumi-e"] = nil +require("sumi-e") diff --git a/lua/sumi-e/colors.lua b/lua/sumi-e/colors.lua deleted file mode 100644 index 4c967cc..0000000 --- a/lua/sumi-e/colors.lua +++ /dev/null @@ -1,27 +0,0 @@ -local colors = { - white = "#ffffff", - black = "#000000", - gray500 = "#7f7f7f", -} - -function _colors_dark() - colors.bg = "#11171d" - colors.fg = "#e3e0cd" - colors.string = colors.gray500 - colors.comment = colors.gray500 -end - -function _colors_light() - colors.bg = "#ffffff" - colors.fg = "#000000" -end - -function colors.generate() - if vim.o.background == "dark" then - _colors_dark() - else - _colors_light() - end -end - -return colors diff --git a/lua/sumi-e/config.lua b/lua/sumi-e/config.lua deleted file mode 100644 index 648abc7..0000000 --- a/lua/sumi-e/config.lua +++ /dev/null @@ -1,9 +0,0 @@ -local config = { - defaults = { - overrides = {}, - }, -} - -setmetatable(config, { __index = config.defaults }) - -return config diff --git a/lua/sumi-e/init.lua b/lua/sumi-e/init.lua index 7cfaeb8..6d7395c 100644 --- a/lua/sumi-e/init.lua +++ b/lua/sumi-e/init.lua @@ -1,51 +1,66 @@ -local colors = require("sumi-e.colors") -local config = require("sumi-e.config") -local sumi = {} +vim.g.colors_name = "sumi-e" -local function set_groups() - local groups = { - Normal = { fg = colors.fg, bg = colors.bg }, - NormalFloat = { bg = colors.bg }, - String = { fg = colors.string, italic = true }, - Comment = { fg = colors.comment, bold = true, italic = true }, - } +vim.cmd("hi clear") - groups = - vim.tbl_extend("force", groups, type(config.overrides) == "function" and config.overrides() or config.overrides) - - for group, parameters in pairs(groups) do - vim.api.nvim_set_hl(0, group, parameters) - end +if vim.fn.exists("syntax_on") == 1 then + vim.cmd("syntax reset") end ---- Apply user settings. ----@param values table -function sumi.setup(values) - setmetatable(config, { __index = vim.tbl_extend("force", config.defaults, values) }) +local colors = { + light = { + foreground = "#202020", + intense = "#000000", + primary = "#ff0000", + secondary = "#00ff00", + diagnostic_error = "#ff0038", + diagnostic_warning = "#ff7700", + diagnostic_info = "#47eae0", + diagnostic_hint = "#47eae0", + diff_add = "#00ff77", + diff_change = "#47eae0", + diff_delete = "#ff0038", + highlight_subtle = "#f0f0f0", + dimmed = "#cccccc", + }, + + dark = { + foreground = "#b2b2b2", + intense = "#e7e7e7", + primary = "#00ff00", + secondary = "#555555", + diagnostic_error = "#ff0038", + diagnostic_warning = "#ff7700", + diagnostic_info = "#47eae0", + diagnostic_hint = "#47eae0", + diff_add = "#00ff77", + diff_change = "#47eae0", + diff_delete = "#ff0038", + dimmed = "#666666", + highlight_subtle = "#101010", + }, +} + +local c = colors[vim.o.background] + +local theme = { + Constant = { fg = c.foreground }, + Delimiter = { fg = c.foreground }, + Identifier = { fg = c.foreground }, + Normal = { fg = c.foreground }, + Keyword = { fg = c.foreground, bold = true }, + Operator = { fg = c.foreground }, + Special = { fg = c.foreground }, + String = { fg = c.foreground }, + Type = { fg = c.foreground }, + ["@function"] = { fg = c.foreground }, + ["@special"] = { fg = c.foreground }, + ["@variable"] = { fg = c.foreground }, + + -- UI Elements + CursorLine = { bg = c.highlight_subtle }, + LineNr = { fg = c.dimmed, italic = true }, +} + +for group, hl in pairs(theme) do + vim.api.nvim_set_hl(0, group, hl) end - ---- Set the colorscheme. -function sumi.colorscheme() - if vim.version().minor < 8 then - vim.notify( - "Neovim 0.8+ is required for sumi-e colorscheme", - vim.log.levels.ERROR, - { title = "Sumi-e colorscheme" } - ) - return - end - - vim.api.nvim_command("hi clear") - if vim.fn.exists("syntax_on") then - vim.api.nvim_command("syntax reset") - end - - vim.g.VM_theme_set_by_colorscheme = true -- Required for Visual Multi - vim.o.termguicolors = true - vim.g.colors_name = "sumi-e" - - colors.generate() - set_groups() -end - -return sumi