kickstart.nvim/lua/custom/statusline/theme.lua

128 lines
2.1 KiB
Lua
Executable File

local statusline_bg = nil
local merge_tb = vim.tbl_deep_extend
local theme = require('custom.statusline.themes.tokyodark')
local colors = theme.base_30
local Lsp_highlights = {
St_lspError = {
fg = colors.red,
bg = statusline_bg,
},
St_lspWarning = {
fg = colors.yellow,
bg = statusline_bg,
},
St_LspHints = {
fg = colors.purple,
bg = statusline_bg,
},
St_LspInfo = {
fg = colors.green,
bg = statusline_bg,
},
}
local M = {}
M.theme = {
StatusLine = {
bg = statusline_bg,
},
St_gitIcons = {
fg = colors.light_grey,
bg = statusline_bg,
bold = true,
},
St_LspStatus = {
fg = colors.nord_blue,
bg = statusline_bg,
},
St_LspProgress = {
fg = colors.green,
bg = statusline_bg,
},
St_LspStatus_Icon = {
fg = colors.black,
bg = colors.nord_blue,
},
St_EmptySpace = {
fg = colors.grey,
bg = colors.lightbg,
},
St_EmptySpace2 = {
fg = colors.grey,
bg = statusline_bg,
},
St_file_info = {
bg = colors.lightbg,
fg = colors.white,
},
St_file_sep = {
bg = statusline_bg,
fg = colors.lightbg,
},
St_cwd_icon = {
fg = colors.one_bg,
bg = colors.red,
},
St_cwd_text = {
fg = colors.white,
bg = colors.lightbg,
},
St_cwd_sep = {
fg = colors.red,
bg = statusline_bg,
},
St_pos_sep = {
fg = colors.green,
bg = colors.lightbg,
},
St_pos_icon = {
fg = colors.black,
bg = colors.green,
},
St_pos_text = {
fg = colors.green,
bg = colors.lightbg,
},
}
M.theme = merge_tb("force", M.theme, Lsp_highlights)
local function genModes_hl(modename, col)
M.theme["St_" .. modename .. "Mode"] = { fg = colors.black, bg = colors[col], bold = true }
M.theme["St_" .. modename .. "ModeSep"] = { fg = colors[col], bg = colors.grey }
end
-- add mode highlights
genModes_hl("Normal", "nord_blue")
genModes_hl("Visual", "cyan")
genModes_hl("Insert", "dark_purple")
genModes_hl("Terminal", "green")
genModes_hl("NTerminal", "yellow")
genModes_hl("Replace", "orange")
genModes_hl("Confirm", "teal")
genModes_hl("Command", "green")
genModes_hl("Select", "blue")
return M.theme