light theme
This commit is contained in:
64
nvim/.config/nvim/colors/bearded-arc-light.lua
Normal file
64
nvim/.config/nvim/colors/bearded-arc-light.lua
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
-- Bearded Arc (Light) colorscheme
|
||||||
|
-- Hand-tuned light variant with warm off-white bg and saturated accents
|
||||||
|
|
||||||
|
vim.cmd("hi clear")
|
||||||
|
if vim.fn.exists("syntax_on") then
|
||||||
|
vim.cmd("syntax reset")
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.o.background = "light"
|
||||||
|
vim.g.colors_name = "bearded-arc-light"
|
||||||
|
|
||||||
|
local base_30 = {
|
||||||
|
white = "#2a2a2a",
|
||||||
|
darker_black = "#ede6dc",
|
||||||
|
black = "#faf4ed",
|
||||||
|
black2 = "#f0e8df",
|
||||||
|
one_bg = "#e8e0d4",
|
||||||
|
one_bg2 = "#ddd5c9",
|
||||||
|
one_bg3 = "#d2cabd",
|
||||||
|
grey = "#b0a89c",
|
||||||
|
grey_fg = "#8a8278",
|
||||||
|
grey_fg2 = "#7a7268",
|
||||||
|
light_grey = "#6a6258",
|
||||||
|
red = "#d1344f",
|
||||||
|
baby_pink = "#c44a8a",
|
||||||
|
pink = "#b04a7a",
|
||||||
|
line = "#ddd5c9",
|
||||||
|
green = "#1e9b52",
|
||||||
|
vibrant_green = "#158040",
|
||||||
|
nord_blue = "#2a6a9a",
|
||||||
|
blue = "#1a7db5",
|
||||||
|
yellow = "#b8890f",
|
||||||
|
sun = "#d4a017",
|
||||||
|
purple = "#7b4fc4",
|
||||||
|
dark_purple = "#6a3eb0",
|
||||||
|
teal = "#0e8a82",
|
||||||
|
orange = "#c45a1c",
|
||||||
|
cyan = "#147a8a",
|
||||||
|
statusline_bg = "#f0e8df",
|
||||||
|
lightbg = "#e8e0d4",
|
||||||
|
pmenu_bg = "#1e9b52",
|
||||||
|
folder_bg = "#1a7db5",
|
||||||
|
}
|
||||||
|
|
||||||
|
local base_16 = {
|
||||||
|
base00 = "#faf4ed",
|
||||||
|
base01 = "#f0e8df",
|
||||||
|
base02 = "#e8e0d4",
|
||||||
|
base03 = "#b0a89c",
|
||||||
|
base04 = "#5a5248",
|
||||||
|
base05 = "#3a3228",
|
||||||
|
base06 = "#2a2a2a",
|
||||||
|
base07 = "#0e8a82",
|
||||||
|
base08 = "#d1344f",
|
||||||
|
base09 = "#c45a1c",
|
||||||
|
base0A = "#b8890f",
|
||||||
|
base0B = "#1e9b52",
|
||||||
|
base0C = "#2a6a9a",
|
||||||
|
base0D = "#1a7db5",
|
||||||
|
base0E = "#147a8a",
|
||||||
|
base0F = "#7b4fc4",
|
||||||
|
}
|
||||||
|
|
||||||
|
require("bearded-arc").apply(base_30, base_16)
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
-- Bearded Arc colorscheme
|
-- Bearded Arc (Dark) colorscheme
|
||||||
-- Accurate port from NvChad base46 theme with proper highlight group mappings
|
-- Thin wrapper around the highlight engine
|
||||||
|
|
||||||
vim.cmd("hi clear")
|
vim.cmd("hi clear")
|
||||||
if vim.fn.exists("syntax_on") then
|
if vim.fn.exists("syntax_on") then
|
||||||
@@ -9,7 +9,6 @@ end
|
|||||||
vim.o.background = "dark"
|
vim.o.background = "dark"
|
||||||
vim.g.colors_name = "bearded-arc"
|
vim.g.colors_name = "bearded-arc"
|
||||||
|
|
||||||
-- Base 30 color palette (UI colors)
|
|
||||||
local base_30 = {
|
local base_30 = {
|
||||||
white = "#ABB7C1",
|
white = "#ABB7C1",
|
||||||
darker_black = "#19212e",
|
darker_black = "#19212e",
|
||||||
@@ -43,7 +42,6 @@ local base_30 = {
|
|||||||
folder_bg = "#69C3FF",
|
folder_bg = "#69C3FF",
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Base 16 color palette (syntax colors)
|
|
||||||
local base_16 = {
|
local base_16 = {
|
||||||
base00 = "#1c2433",
|
base00 = "#1c2433",
|
||||||
base01 = "#262e3d",
|
base01 = "#262e3d",
|
||||||
@@ -63,277 +61,4 @@ local base_16 = {
|
|||||||
base0F = "#B78AFF",
|
base0F = "#B78AFF",
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Helper function to set highlights
|
require("bearded-arc").apply(base_30, base_16)
|
||||||
local function hi(group, opts)
|
|
||||||
local cmd = "hi " .. group
|
|
||||||
if opts.fg then cmd = cmd .. " guifg=" .. opts.fg end
|
|
||||||
if opts.bg then cmd = cmd .. " guibg=" .. opts.bg end
|
|
||||||
if opts.sp then cmd = cmd .. " guisp=" .. opts.sp end
|
|
||||||
if opts.style then cmd = cmd .. " gui=" .. opts.style end
|
|
||||||
vim.cmd(cmd)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- === UI ELEMENTS (from defaults.lua) ===
|
|
||||||
|
|
||||||
-- Line Numbers & Sidebar (CRITICAL FIX)
|
|
||||||
hi("LineNr", { fg = base_30.grey })
|
|
||||||
hi("CursorLineNr", { fg = base_30.white })
|
|
||||||
hi("SignColumn", { fg = base_16.base03 })
|
|
||||||
hi("FoldColumn", { fg = base_30.grey, bg = base_16.base00 })
|
|
||||||
hi("Folded", { fg = base_30.light_grey, bg = base_16.base01 })
|
|
||||||
|
|
||||||
-- Main Editor
|
|
||||||
hi("Normal", { fg = base_16.base05, bg = base_16.base00 })
|
|
||||||
hi("NormalFloat", { bg = base_30.darker_black })
|
|
||||||
hi("FloatBorder", { fg = base_30.blue })
|
|
||||||
hi("FloatTitle", { fg = base_30.white, bg = base_30.grey })
|
|
||||||
|
|
||||||
-- Cursor and Lines
|
|
||||||
hi("Cursor", { fg = base_16.base00, bg = base_16.base05 })
|
|
||||||
hi("CursorLine", { bg = base_30.black2 })
|
|
||||||
hi("CursorColumn", { bg = base_16.base01 })
|
|
||||||
hi("ColorColumn", { bg = base_16.base01 })
|
|
||||||
|
|
||||||
-- Visual Selection
|
|
||||||
hi("Visual", { bg = base_30.one_bg2 })
|
|
||||||
hi("VisualNOS", { bg = base_30.one_bg2 })
|
|
||||||
|
|
||||||
-- Search
|
|
||||||
hi("Search", { fg = base_16.base00, bg = base_16.base0A })
|
|
||||||
hi("IncSearch", { fg = base_16.base01, bg = base_16.base09 })
|
|
||||||
hi("Substitute", { fg = base_16.base01, bg = base_16.base0A })
|
|
||||||
|
|
||||||
-- Window Separators
|
|
||||||
hi("WinSeparator", { fg = base_30.line })
|
|
||||||
hi("WinBar", { bg = base_30.statusline_bg })
|
|
||||||
hi("WinBarNC", { bg = base_30.statusline_bg })
|
|
||||||
|
|
||||||
-- Completion Menu
|
|
||||||
hi("Pmenu", { bg = base_30.one_bg })
|
|
||||||
hi("PmenuSbar", { bg = base_30.one_bg })
|
|
||||||
hi("PmenuSel", { bg = base_30.pmenu_bg, fg = base_30.black })
|
|
||||||
hi("PmenuThumb", { bg = base_30.grey })
|
|
||||||
|
|
||||||
-- Statusline & Tabline
|
|
||||||
hi("StatusLine", { bg = base_30.statusline_bg })
|
|
||||||
hi("StatusLineNC", { bg = base_30.statusline_bg })
|
|
||||||
hi("TabLine", { fg = base_30.light_grey, bg = base_30.black2 })
|
|
||||||
hi("TabLineSel", { fg = base_30.white, bg = base_30.black })
|
|
||||||
hi("TabLineFill", { bg = base_30.black2 })
|
|
||||||
|
|
||||||
-- Messages & Prompts
|
|
||||||
hi("ErrorMsg", { fg = base_16.base08, bg = base_16.base00 })
|
|
||||||
hi("WarningMsg", { fg = base_16.base0A })
|
|
||||||
hi("MoreMsg", { fg = base_16.base0B })
|
|
||||||
hi("ModeMsg", { fg = base_16.base0B })
|
|
||||||
hi("Question", { fg = base_16.base0D })
|
|
||||||
|
|
||||||
-- Special Elements
|
|
||||||
hi("MatchParen", { bg = base_30.grey, fg = base_30.white })
|
|
||||||
hi("NonText", { fg = base_16.base03 })
|
|
||||||
hi("SpecialKey", { fg = base_16.base03 })
|
|
||||||
hi("Conceal", { fg = base_16.base0D, bg = base_16.base00 })
|
|
||||||
hi("Directory", { fg = base_16.base0D })
|
|
||||||
hi("Title", { fg = base_16.base0D })
|
|
||||||
|
|
||||||
-- === SYNTAX HIGHLIGHTING (from syntax.lua) ===
|
|
||||||
|
|
||||||
hi("Comment", { fg = base_30.grey_fg, style = "italic" })
|
|
||||||
|
|
||||||
-- Constants
|
|
||||||
hi("Constant", { fg = base_16.base09 })
|
|
||||||
hi("String", { fg = base_16.base0B })
|
|
||||||
hi("Character", { fg = base_16.base08 })
|
|
||||||
hi("Number", { fg = base_16.base09 })
|
|
||||||
hi("Boolean", { fg = base_16.base09 })
|
|
||||||
hi("Float", { fg = base_16.base09 })
|
|
||||||
|
|
||||||
-- Identifiers
|
|
||||||
hi("Identifier", { fg = base_16.base08 })
|
|
||||||
hi("Function", { fg = base_16.base0D })
|
|
||||||
|
|
||||||
-- Statements
|
|
||||||
hi("Statement", { fg = base_16.base0E })
|
|
||||||
hi("Conditional", { fg = base_16.base0E })
|
|
||||||
hi("Repeat", { fg = base_16.base0E })
|
|
||||||
hi("Label", { fg = base_16.base0A })
|
|
||||||
hi("Operator", { fg = base_16.base05 })
|
|
||||||
hi("Keyword", { fg = base_16.base0E })
|
|
||||||
hi("Exception", { fg = base_16.base08 })
|
|
||||||
|
|
||||||
-- PreProcessor
|
|
||||||
hi("PreProc", { fg = base_16.base0A })
|
|
||||||
hi("Include", { fg = base_16.base0D })
|
|
||||||
hi("Define", { fg = base_16.base0E })
|
|
||||||
hi("Macro", { fg = base_16.base08 })
|
|
||||||
hi("PreCondit", { fg = base_16.base0A })
|
|
||||||
|
|
||||||
-- Types
|
|
||||||
hi("Type", { fg = base_16.base0A })
|
|
||||||
hi("StorageClass", { fg = base_16.base0A })
|
|
||||||
hi("Structure", { fg = base_16.base0E })
|
|
||||||
hi("Typedef", { fg = base_16.base0A })
|
|
||||||
|
|
||||||
-- Special
|
|
||||||
hi("Special", { fg = base_16.base0C })
|
|
||||||
hi("SpecialChar", { fg = base_16.base0F })
|
|
||||||
hi("Tag", { fg = base_16.base0A })
|
|
||||||
hi("Delimiter", { fg = base_16.base0F })
|
|
||||||
hi("SpecialComment", { fg = base_16.base0C })
|
|
||||||
hi("Debug", { fg = base_16.base08 })
|
|
||||||
|
|
||||||
-- Errors
|
|
||||||
hi("Error", { fg = base_16.base00, bg = base_16.base08 })
|
|
||||||
hi("Todo", { fg = base_16.base0A, bg = base_16.base01 })
|
|
||||||
|
|
||||||
hi("Underlined", { fg = base_16.base0B, style = "underline" })
|
|
||||||
hi("Ignore", { fg = base_16.base0C })
|
|
||||||
|
|
||||||
-- === DIFF ===
|
|
||||||
|
|
||||||
hi("DiffAdd", { fg = base_16.base0B, bg = base_16.base00 })
|
|
||||||
hi("DiffChange", { fg = base_16.base0E, bg = base_16.base00 })
|
|
||||||
hi("DiffDelete", { fg = base_16.base08, bg = base_16.base00 })
|
|
||||||
hi("DiffText", { fg = base_16.base0D, bg = base_16.base01 })
|
|
||||||
|
|
||||||
hi("Added", { fg = base_30.green })
|
|
||||||
hi("Changed", { fg = base_30.yellow })
|
|
||||||
hi("Removed", { fg = base_30.red })
|
|
||||||
|
|
||||||
-- === GIT SIGNS ===
|
|
||||||
|
|
||||||
hi("GitSignsAdd", { fg = base_30.green })
|
|
||||||
hi("GitSignsChange", { fg = base_30.yellow })
|
|
||||||
hi("GitSignsDelete", { fg = base_30.red })
|
|
||||||
|
|
||||||
-- === LSP DIAGNOSTICS (from lsp.lua) ===
|
|
||||||
|
|
||||||
hi("DiagnosticError", { fg = base_30.red })
|
|
||||||
hi("DiagnosticWarn", { fg = base_30.yellow })
|
|
||||||
hi("DiagnosticInfo", { fg = base_30.green })
|
|
||||||
hi("DiagnosticHint", { fg = base_30.purple })
|
|
||||||
|
|
||||||
hi("DiagnosticUnderlineError", { sp = base_30.red, style = "underline" })
|
|
||||||
hi("DiagnosticUnderlineWarn", { sp = base_30.yellow, style = "underline" })
|
|
||||||
hi("DiagnosticUnderlineInfo", { sp = base_30.green, style = "underline" })
|
|
||||||
hi("DiagnosticUnderlineHint", { sp = base_30.purple, style = "underline" })
|
|
||||||
|
|
||||||
hi("LspReferenceText", { bg = base_30.one_bg3 })
|
|
||||||
hi("LspReferenceRead", { bg = base_30.one_bg3 })
|
|
||||||
hi("LspReferenceWrite", { bg = base_30.one_bg3 })
|
|
||||||
|
|
||||||
hi("LspInlayHint", { fg = base_30.light_grey, bg = base_30.black2 })
|
|
||||||
hi("LspSignatureActiveParameter", { fg = base_30.black, bg = base_30.green })
|
|
||||||
|
|
||||||
-- === TELESCOPE (from telescope.lua) ===
|
|
||||||
|
|
||||||
hi("TelescopeBorder", { fg = base_30.grey, bg = base_30.darker_black })
|
|
||||||
hi("TelescopePromptBorder", { fg = base_30.grey, bg = base_30.darker_black })
|
|
||||||
hi("TelescopePromptNormal", { fg = base_16.base05, bg = base_30.darker_black })
|
|
||||||
hi("TelescopeResultsBorder", { fg = base_30.grey, bg = base_30.darker_black })
|
|
||||||
hi("TelescopeResultsNormal", { bg = base_30.darker_black })
|
|
||||||
hi("TelescopePreviewBorder", { fg = base_30.grey, bg = base_30.darker_black })
|
|
||||||
hi("TelescopePreviewNormal", { bg = base_30.darker_black })
|
|
||||||
hi("TelescopeSelection", { bg = base_30.one_bg2, fg = base_30.white })
|
|
||||||
hi("TelescopeSelectionCaret", { fg = base_30.cyan, bg = base_30.one_bg2 })
|
|
||||||
hi("TelescopeMatching", { fg = base_30.blue, style = "bold" })
|
|
||||||
|
|
||||||
-- === TREESITTER (from treesitter.lua) ===
|
|
||||||
|
|
||||||
hi("@variable", { fg = base_16.base05 })
|
|
||||||
hi("@variable.builtin", { fg = base_16.base09 })
|
|
||||||
hi("@variable.parameter", { fg = base_16.base08 })
|
|
||||||
hi("@variable.member", { fg = base_16.base08 })
|
|
||||||
|
|
||||||
hi("@constant", { fg = base_16.base08 })
|
|
||||||
hi("@constant.builtin", { fg = base_16.base09 })
|
|
||||||
hi("@constant.macro", { fg = base_16.base08 })
|
|
||||||
|
|
||||||
hi("@string", { fg = base_16.base0B })
|
|
||||||
hi("@string.regex", { fg = base_16.base0C })
|
|
||||||
hi("@string.escape", { fg = base_16.base0C })
|
|
||||||
hi("@character", { fg = base_16.base08 })
|
|
||||||
hi("@number", { fg = base_16.base09 })
|
|
||||||
hi("@boolean", { fg = base_16.base09 })
|
|
||||||
hi("@float", { fg = base_16.base09 })
|
|
||||||
|
|
||||||
hi("@function", { fg = base_16.base0D })
|
|
||||||
hi("@function.builtin", { fg = base_16.base0D })
|
|
||||||
hi("@function.macro", { fg = base_16.base08 })
|
|
||||||
hi("@function.method", { fg = base_16.base0D })
|
|
||||||
|
|
||||||
hi("@constructor", { fg = base_16.base0C })
|
|
||||||
hi("@parameter", { fg = base_16.base08 })
|
|
||||||
|
|
||||||
hi("@keyword", { fg = base_16.base0E })
|
|
||||||
hi("@keyword.function", { fg = base_16.base0E })
|
|
||||||
hi("@keyword.return", { fg = base_16.base0E })
|
|
||||||
hi("@keyword.operator", { fg = base_16.base0E })
|
|
||||||
|
|
||||||
hi("@conditional", { fg = base_16.base0E })
|
|
||||||
hi("@repeat", { fg = base_16.base0E })
|
|
||||||
hi("@label", { fg = base_16.base0A })
|
|
||||||
hi("@operator", { fg = base_16.base05 })
|
|
||||||
hi("@exception", { fg = base_16.base08 })
|
|
||||||
|
|
||||||
hi("@type", { fg = base_16.base0A })
|
|
||||||
hi("@type.builtin", { fg = base_16.base0A })
|
|
||||||
hi("@type.qualifier", { fg = base_16.base0E })
|
|
||||||
|
|
||||||
hi("@structure", { fg = base_16.base0E })
|
|
||||||
hi("@include", { fg = base_16.base0D })
|
|
||||||
|
|
||||||
hi("@property", { fg = base_16.base08 })
|
|
||||||
hi("@field", { fg = base_16.base08 })
|
|
||||||
|
|
||||||
hi("@punctuation.delimiter", { fg = base_16.base0F })
|
|
||||||
hi("@punctuation.bracket", { fg = base_16.base05 })
|
|
||||||
hi("@punctuation.special", { fg = base_16.base08 })
|
|
||||||
|
|
||||||
hi("@comment", { fg = base_30.grey_fg, style = "italic" })
|
|
||||||
hi("@comment.todo", { fg = base_30.grey, bg = base_30.white })
|
|
||||||
hi("@comment.note", { fg = base_30.white, bg = base_30.blue })
|
|
||||||
hi("@comment.warning", { fg = base_30.black, bg = base_30.yellow })
|
|
||||||
hi("@comment.error", { fg = base_30.white, bg = base_30.red })
|
|
||||||
|
|
||||||
hi("@tag", { fg = base_16.base08 })
|
|
||||||
hi("@tag.attribute", { fg = base_16.base0A })
|
|
||||||
hi("@tag.delimiter", { fg = base_16.base0F })
|
|
||||||
|
|
||||||
hi("@markup.strong", { style = "bold" })
|
|
||||||
hi("@markup.italic", { style = "italic" })
|
|
||||||
hi("@markup.underline", { style = "underline" })
|
|
||||||
hi("@markup.strike", { style = "strikethrough" })
|
|
||||||
hi("@markup.heading", { fg = base_16.base0D, style = "bold" })
|
|
||||||
hi("@markup.link", { fg = base_16.base08, style = "underline" })
|
|
||||||
hi("@markup.link.url", { fg = base_16.base0B, style = "underline" })
|
|
||||||
hi("@markup.list", { fg = base_16.base08 })
|
|
||||||
|
|
||||||
-- === NVIM-TREE ===
|
|
||||||
|
|
||||||
hi("NvimTreeNormal", { bg = base_30.darker_black })
|
|
||||||
hi("NvimTreeNormalNC", { bg = base_30.darker_black })
|
|
||||||
hi("NvimTreeRootFolder", { fg = base_30.red, style = "bold" })
|
|
||||||
hi("NvimTreeGitDirty", { fg = base_30.yellow })
|
|
||||||
hi("NvimTreeGitNew", { fg = base_30.green })
|
|
||||||
hi("NvimTreeGitDeleted", { fg = base_30.red })
|
|
||||||
hi("NvimTreeSpecialFile", { fg = base_30.yellow, style = "underline" })
|
|
||||||
hi("NvimTreeIndentMarker", { fg = base_30.grey })
|
|
||||||
hi("NvimTreeImageFile", { fg = base_30.dark_purple })
|
|
||||||
hi("NvimTreeSymlink", { fg = base_30.cyan })
|
|
||||||
hi("NvimTreeFolderName", { fg = base_30.blue })
|
|
||||||
hi("NvimTreeFolderIcon", { fg = base_30.folder_bg })
|
|
||||||
hi("NvimTreeOpenedFolderName", { fg = base_30.blue })
|
|
||||||
|
|
||||||
-- === WHICH-KEY ===
|
|
||||||
|
|
||||||
hi("WhichKey", { fg = base_30.blue })
|
|
||||||
hi("WhichKeyGroup", { fg = base_30.green })
|
|
||||||
hi("WhichKeyDesc", { fg = base_16.base05 })
|
|
||||||
hi("WhichKeySeparator", { fg = base_30.grey })
|
|
||||||
hi("WhichKeyFloat", { bg = base_30.darker_black })
|
|
||||||
hi("WhichKeyBorder", { fg = base_30.blue, bg = base_30.darker_black })
|
|
||||||
|
|
||||||
-- === HEALTH CHECK ===
|
|
||||||
|
|
||||||
hi("healthSuccess", { fg = base_30.green, bg = base_30.black })
|
|
||||||
|
|||||||
Reference in New Issue
Block a user