From dfa3043fb5c142de88e28dca5c22a5b01f499e82 Mon Sep 17 00:00:00 2001 From: urosm Date: Sat, 13 Jul 2024 22:03:59 +0200 Subject: [PATCH] .config/nvim: simplify colorscheme --- .config/nvim/colors/basic.lua | 463 ++++++++++++++-------------------- 1 file changed, 184 insertions(+), 279 deletions(-) diff --git a/.config/nvim/colors/basic.lua b/.config/nvim/colors/basic.lua index f375a2b..d731241 100644 --- a/.config/nvim/colors/basic.lua +++ b/.config/nvim/colors/basic.lua @@ -4,7 +4,7 @@ -- Maintainer: urosm -- Website: https://git.kompot.si/urosm/dot/src/branch/main/.config/nvim/colors/basic.lua -- License: Same as Vim --- Last Updated: 2024 Jun 19 +-- Last Updated: 2024 Jul 08 -- A simple neovim colorscheme that defines highlight groups from a list of 8 -- colors. @@ -35,333 +35,238 @@ local C = { bright_white = { cterm = 15, gui = "#ffffff" }, } --- highlights ------------------------------------------------------------------ local fg = C.white local bg = C.black local accent = C.magenta local dimmed = C.blue +local none_none_h = {} +local none_none_reverse_h = { reverse = true } +local none_none_underline_h = { underline = true } +local none_none_italic = { italic = true } +local none_none_bold_h = { bold = true } +local none_none_bold_italic_h = { bold = true, italic = true } +local none_none_strikethrough_h = { strikethrough = true } + +local bg_fg_h = { ctermfg = bg.cterm, fg = bg.gui, ctermbg = fg.cterm, bg = fg.gui } +local bg_accent_h = { ctermfg = bg.cterm, fg = bg.gui, ctermbg = accent.cterm, bg = accent.gui } +local bg_dimmed_h = { ctermfg = bg.cterm, fg = bg.gui, ctermbg = dimmed.cterm, bg = dimmed.gui } +local bg_red_h = { ctermfg = bg.cterm, fg = bg.gui, ctermbg = C.red.cterm, bg = C.red.gui } +local bg_orange_h = { ctermfg = bg.cterm, fg = bg.gui, ctermbg = C.orange.cterm, bg = C.orange.gui } + +local accent_none_h = { ctermfg = accent.cterm, fg = accent.gui } +local accent_fg_h = { ctermfg = accent.cterm, fg = accent.gui, ctermbg = fg.cterm, bg = fg.gui } +local accent_fg_reverse_h = { ctermfg = accent.cterm, fg = accent.gui, ctermbg = fg.cterm, bg = fg.gui, reverse = true } + +local dimmed_none_h = { ctermfg = dimmed.cterm, fg = dimmed.gui } +local dimmed_none_reverse_h = { ctermfg = dimmed.cterm, fg = dimmed.gui, reverse = true } +local dimmed_fg_h = { ctermfg = dimmed.cterm, fg = dimmed.gui, ctermbg = fg.cterm, bg = fg.gui } + +local red_none_h = { ctermfg = C.red.cterm, fg = C.red.gui } +local red_none_underline_h = { ctermfg = C.red.cterm, fg = C.red.gui, underline = true } +local green_none_h = { ctermfg = C.green.cterm, fg = C.green.gui } +local green_none_underline_h = { ctermfg = C.green.cterm, fg = C.green.gui, underline = true } +local orange_none_h = { ctermfg = C.orange.cterm, fg = C.orange.gui } +local orange_none_underline_h = { ctermfg = C.orange.cterm, fg = C.orange.gui, underline = true } +local blue_none_h = { ctermfg = C.blue.cterm, fg = C.blue.gui } +local blue_none_underline_h = { ctermfg = C.blue.cterm, fg = C.blue.gui, underline = true } +local magenta_none_h = { ctermfg = C.magenta.cterm, fg = C.magenta.gui } +local black_none_h = { ctermfg = C.black.cterm, fg = C.black.gui } +local white_none_h = { ctermfg = C.white.cterm, fg = C.white.gui } +local white_none_underline_h = { ctermfg = C.white.cterm, fg = C.white.gui, underline = true } + -- normal ---------------------------------------------------------------------- -local normal_h = {} -hi("Normal", normal_h) -hi("NormalNC", normal_h) +hi("Normal", none_none_h) +hi("NormalNC", none_none_h) -- tui ------------------------------------------------------------------------- -local tui_normal_h = {} -local tui_accent_h = { ctermfg = accent.cterm, fg = accent.gui } -local tui_dimmed_h = { ctermfg = dimmed.cterm, fg = dimmed.gui } -hi("StatusLine", tui_dimmed_h) -hi("StatusLineNC", tui_dimmed_h) -hi("TabLine", tui_dimmed_h) -hi("TabLineFill", tui_dimmed_h) -hi("TabLineSel", tui_accent_h) -hi("WinBar", tui_accent_h) -hi("WinBarNC", tui_dimmed_h) -hi("WinSeparator", tui_dimmed_h) -hi("LineNr", tui_accent_h) -hi("LineNrAbove", tui_dimmed_h) -hi("LineNrBelow", tui_dimmed_h) -hi("SignColumn", tui_dimmed_h) -hi("FoldColumn", tui_dimmed_h) -hi("WildMenu", tui_accent_h) +hi("StatusLine", dimmed_none_h) +hi("StatusLineNC", dimmed_none_h) +hi("TabLine", dimmed_none_h) +hi("TabLineFill", dimmed_none_h) +hi("TabLineSel", accent_none_h) +hi("WinBar", accent_none_h) +hi("WinBarNC", dimmed_none_h) +hi("WinSeparator", dimmed_none_h) +hi("LineNr", accent_none_h) +hi("LineNrAbove", dimmed_none_h) +hi("LineNrBelow", dimmed_none_h) +hi("SignColumn", dimmed_none_h) +hi("FoldColumn", dimmed_none_h) +hi("WildMenu", accent_none_h) -- float ----------------------------------------------------------------------- -local float_normal_h = { ctermfg = bg.cterm, - fg = bg.gui, - ctermbg = fg.cterm, - bg = fg.gui } -local float_dimmed_h = { ctermfg = dimmed.cterm, - fg = dimmed.gui, - ctermbg = fg.cterm, - bg = fg.gui } -local float_accent_h = { ctermfg = accent.cterm, - fg = accent.gui, - ctermbg = fg.cterm, - bg = fg.gui } -hi("NormalFloat", float_normal_h) -hi("FloatBorder", float_dimmed_h) -hi("FloatTitle", float_accent_h) +hi("NormalFloat", bg_fg_h) +hi("FloatBorder", dimmed_fg_h) +hi("FloatTitle", accent_fg_h) -- menu ------------------------------------------------------------------------ -local menu_normal_h = { ctermfg = accent.cterm, - fg = accent.gui, - ctermbg = fg.cterm, - bg = fg.gui } -local menu_accent_h = { ctermfg = accent.cterm, - fg = accent.gui, - ctermbg = fg.cterm, - bg = fg.gui, - reverse = true } -hi("Pmenu", menu_normal_h) -hi("PmenuSel", menu_accent_h) -hi("PmenuKind", menu_normal_h) -hi("PmenuKindSel", menu_accent_h) -hi("PmenuExtra", menu_normal_h) -hi("PmenuExtraSel", menu_accent_h) -hi("PmenuSbar", menu_normal_h) -hi("PmenuThumb", menu_accent_h) +hi("Pmenu", accent_fg_h) +hi("PmenuSel", accent_fg_reverse_h) +hi("PmenuKind", accent_fg_h) +hi("PmenuKindSel", accent_fg_reverse_h) +hi("PmenuExtra", accent_fg_h) +hi("PmenuExtraSel", accent_fg_reverse_h) +hi("PmenuSbar", accent_fg_h) +hi("PmenuThumb", accent_fg_reverse_h) -- messages -------------------------------------------------------------------- -local message_normal_h = {} -local message_accent_h = { ctermfg = accent.cterm, fg = accent.gui } -local message_error_h = { ctermfg = C.red.cterm, fg = C.red.gui } -local message_warn_h = { ctermfg = C.orange.cterm, fg = C.orange.gui } -hi("MsgArea", message_normal_h) -hi("MsgSeparator", message_normal_h) -hi("ModeMsg", message_accent_h) -hi("MoreMsg", message_accent_h) -hi("WarningMsg", message_warn_h) -hi("ErrorMsg", message_error_h) -hi("Question", message_accent_h) -hi("Title", message_accent_h) +hi("MsgArea", none_none_h) +hi("MsgSeparator", none_none_h) +hi("ModeMsg", accent_none_h) +hi("MoreMsg", accent_none_h) +hi("WarningMsg", orange_none_h) +hi("ErrorMsg", red_none_h) +hi("Question", accent_none_h) +hi("Title", accent_none_h) -- buffer ---------------------------------------------------------------------- -local buffer_dimmed_h = { ctermfg = dimmed.cterm, - fg = dimmed.gui } -local buffer_dimmed_reverse_h = { ctermfg = dimmed.cterm, - fg = dimmed.gui, - reverse = true } -local buffer_accent_h = { ctermfg = accent.cterm, - fg = accent.gui } -hi("Conceal", buffer_dimmed_h) -hi("NonText", buffer_dimmed_h) -hi("EndOfBuffer", buffer_dimmed_h) -hi("Whitespace", buffer_dimmed_h) -hi("Folded", buffer_dimmed_h) -hi("SpecialKey", buffer_accent_h) -hi("ColorColumn", buffer_dimmed_reverse_h) +hi("Conceal", dimmed_none_h) +hi("NonText", dimmed_none_h) +hi("EndOfBuffer", dimmed_none_h) +hi("Whitespace", dimmed_none_h) +hi("Folded", dimmed_none_h) +hi("SpecialKey", accent_none_h) +hi("ColorColumn", dimmed_none_reverse_h) -- cursor ---------------------------------------------------------------------- -local cursor_normal_h = { reverse = true } -hi("CursorLine", cursor_normal_h) -hi("CursorLineNr", cursor_normal_h) -hi("CursorLineSign", cursor_normal_h) -hi("CursorLineFold", cursor_normal_h) -hi("CursorColumn", cursor_normal_h) -hi("QuickFixLine", cursor_normal_h) -hi("Cursor", cursor_normal_h) -hi("lCursor", cursor_normal_h) -hi("CursorIM", cursor_normal_h) -hi("TermCursor", cursor_normal_h) -hi("TermCursorNC", cursor_normal_h) +hi("CursorLine", none_none_reverse_h) +hi("CursorLineNr", none_none_reverse_h) +hi("CursorLineSign", none_none_reverse_h) +hi("CursorLineFold", none_none_reverse_h) +hi("CursorColumn", none_none_reverse_h) +hi("QuickFixLine", none_none_reverse_h) +hi("Cursor", none_none_reverse_h) +hi("lCursor", none_none_reverse_h) +hi("CursorIM", none_none_reverse_h) +hi("TermCursor", none_none_reverse_h) +hi("TermCursorNC", none_none_reverse_h) -- match ----------------------------------------------------------------------- -local match_normal_h = { ctermfg = C.black.cterm, - fg = C.black.gui, - ctermbg = C.orange.cterm, - bg = C.orange.gui } -local match_accent_h = { ctermfg = C.black.cterm, - fg = C.black.gui, - ctermbg = C.magenta.cterm, - bg = C.magenta.gui } -local match_parens_h = { ctermfg = C.magenta.cterm, - fg = C.magenta.gui, - ctermbg = C.white.cterm, - bg = C.white.gui } -hi("Search", match_normal_h) -hi("Substitute", match_normal_h) -hi("IncSearch", match_accent_h) -hi("CurSearch", match_accent_h) -hi("MatchParen", match_parens_h) +hi("Search", bg_orange_h) +hi("Substitute", bg_orange_h) +hi("IncSearch", bg_accent_h) +hi("CurSearch", bg_accent_h) +hi("MatchParen", accent_fg_h) -- selection ------------------------------------------------------------------- -local selection_normal_h = { ctermfg = C.black.cterm, - fg = C.black.gui, - ctermbg = C.blue.cterm, - bg = C.blue.gui } -hi("Visual", selection_normal_h) -hi("Visualnos", selection_normal_h) +hi("Visual", bg_dimmed_h) +hi("Visualnos", bg_dimmed_h) -- diff ------------------------------------------------------------------------ -local diff_add_h = { ctermfg = C.green.cterm, - fg = C.green.gui } -local diff_change_h = { ctermfg = C.orange.cterm, - fg = C.orange.gui } -local diff_delete_h = { ctermfg = C.red.cterm, - fg = C.red.gui } -local diff_text_h = { ctermfg = C.orange.cterm, - fg = C.orange.gui, - underline = true } -hi("DiffAdd", diff_add_h) -hi("DiffChange", diff_change_h) -hi("DiffDelete", diff_delete_h) -hi("DiffText", diff_text_h) +hi("DiffAdd", green_none_h) +hi("DiffChange", orange_none_h) +hi("DiffDelete", red_none_h) +hi("DiffText", orange_none_underline_h) -- spell ----------------------------------------------------------------------- -local spell_error_h = { ctermfg = C.red.cterm, - fg = C.red.gui, - underline = true } -local spell_warn_h = { ctermfg = C.orange.cterm, - fg = C.orange.gui, - underline = true } -hi("SpellBad", spell_error_h) -hi("SpellCap", spell_warn_h) -hi("SpellLocal", spell_warn_h) -hi("SpellRare", spell_warn_h) +hi("SpellBad", red_none_underline_h) +hi("SpellCap", orange_none_underline_h) +hi("SpellLocal", orange_none_underline_h) +hi("SpellRare", orange_none_underline_h) -- diagnostic ------------------------------------------------------------------ -local diagnostic_error_h = { ctermfg = C.red.cterm, - fg = C.red.gui } -local diagnostic_warn_h = { ctermfg = C.orange.cterm, - fg = C.orange.gui } -local diagnostic_info_h = { ctermfg = C.blue.cterm, - fg = C.blue.gui } -local diagnostic_hint_h = { ctermfg = C.white.cterm, - fg = C.white.gui } -local diagnostic_ok_h = { ctermfg = C.green.cterm, - fg = C.green.gui } -local diagnostic_error_u_h = { ctermfg = C.red.cterm, - fg = C.red.gui, - underline = true } -local diagnostic_warn_u_h = { ctermfg = C.orange.cterm, - fg = C.orange.gui, - underline = true } -local diagnostic_info_u_h = { ctermfg = C.blue.cterm, - fg = C.blue.gui, - underline = true } -local diagnostic_hint_u_h = { ctermfg = C.white.cterm, - fg = C.white.gui, - underline = true } -local diagnostic_ok_u_h = { ctermfg = C.green.cterm, - fg = C.green.gui, - underline = true } -hi("DiagnosticError", diagnostic_error_h) -hi("DiagnosticWarn", diagnostic_warn_h) -hi("DiagnosticInfo", diagnostic_info_h) -hi("DiagnosticHint", diagnostic_hint_h) -hi("DiagnosticOk", diagnostic_ok_h) -hi("DiagnosticVirtualError", diagnostic_error_h) -hi("DiagnosticVirtualWarn", diagnostic_warn_h) -hi("DiagnosticVirtualInfo", diagnostic_info_h) -hi("DiagnosticVirtualHint", diagnostic_hint_h) -hi("DiagnosticVirtualOk", diagnostic_ok_h) -hi("DiagnosticUnderlineError", diagnostic_error_u_h) -hi("DiagnosticUnderlineWarn", diagnostic_warn_u_h) -hi("DiagnosticUnderlineInfo", diagnostic_info_u_h) -hi("DiagnosticUnderlineHint", diagnostic_hint_u_h) -hi("DiagnosticUnderlineOk", diagnostic_ok_u_h) -hi("DiagnosticFloatingError", diagnostic_error_h) -hi("DiagnosticFloatingWarn", diagnostic_warn_h) -hi("DiagnosticFloatingInfo", diagnostic_info_h) -hi("DiagnosticFloatingHint", diagnostic_hint_h) -hi("DiagnosticFloatingOk", diagnostic_ok_h) -hi("DiagnosticSingError", diagnostic_error_h) -hi("DiagnosticSingWarn", diagnostic_warn_h) -hi("DiagnosticSingInfo", diagnostic_info_h) -hi("DiagnosticSingHint", diagnostic_hint_h) -hi("DiagnosticSingOk", diagnostic_ok_h) -hi("DiagnosticDeprecated", diagnostic_hint_u_h) -hi("DiagnosticUnnecessary", diagnostic_hint_u_h) +hi("DiagnosticError", red_none_h) +hi("DiagnosticWarn", orange_none_h) +hi("DiagnosticInfo", blue_none_h) +hi("DiagnosticHint", white_none_h) +hi("DiagnosticOk", green_none_h) +hi("DiagnosticVirtualError", red_none_h) +hi("DiagnosticVirtualWarn", orange_none_h) +hi("DiagnosticVirtualInfo", blue_none_h) +hi("DiagnosticVirtualHint", white_none_h) +hi("DiagnosticVirtualOk", green_none_h) +hi("DiagnosticUnderlineError", red_none_underline_h) +hi("DiagnosticUnderlineWarn", orange_none_underline_h) +hi("DiagnosticUnderlineInfo", blue_none_underline_h) +hi("DiagnosticUnderlineHint", white_none_underline_h) +hi("DiagnosticUnderlineOk", green_none_underline_h) +hi("DiagnosticFloatingError", red_none_h) +hi("DiagnosticFloatingWarn", orange_none_h) +hi("DiagnosticFloatingInfo", blue_none_h) +hi("DiagnosticFloatingHint", white_none_h) +hi("DiagnosticFloatingOk", green_none_h) +hi("DiagnosticSingError", red_none_h) +hi("DiagnosticSingWarn", orange_none_h) +hi("DiagnosticSingInfo", blue_none_h) +hi("DiagnosticSingHint", white_none_h) +hi("DiagnosticSingOk", green_none_h) +hi("DiagnosticDeprecated", white_none_underline_h) +hi("DiagnosticUnnecessary", white_none_underline_h) -- misc ------------------------------------------------------------------------ -hi("Directory", { ctermfg = C.blue.cterm, fg = C.blue.gui }) + +hi("Directory", blue_none_h) -- syntax ---------------------------------------------------------------------- -local syntax_normal_h = {} -local syntax_comment_h = { ctermfg = C.blue.cterm, - fg = C.blue.gui } -local syntax_constant_h = { ctermfg = C.red.cterm, - fg = C.red.gui } -local syntax_identifier_h = {} -local syntax_statement_h = { ctermfg = C.orange.cterm, - fg = C.orange.gui } -local syntax_preproc_h = { ctermfg = C.magenta.cterm, - fg = C.magenta.gui } -local syntax_type_h = { ctermfg = C.green.cterm, - fg = C.green.gui } -local syntax_special_h = { ctermfg = C.orange.cterm, - fg = C.orange.gui } -local syntax_underline_h = { underline = true } -local syntax_ignore_h = { ctermfg = C.black.cterm, - fg = C.black.gui } -local syntax_error_h = { ctermfg = C.black.cterm, - fg = C.black.gui, - ctermbg = C.red.cterm, - bg = C.red.gui } -local syntax_warn_h = { ctermfg = C.black.cterm, - fg = C.black.gui, - ctermbg = C.orange.cterm, - bg = C.orange.gui } -local syntax_italic_h = { italic = true } -local syntax_bold_h = { bold = true } -local syntax_bolditalic_h = { bold = true, - italic = true } -local syntax_strike_h = { strikethrough = true } -hi("Comment", syntax_comment_h) -hi("Constant", syntax_constant_h) -hi("String", syntax_constant_h) -hi("Character", syntax_constant_h) -hi("Number", syntax_constant_h) -hi("Boolean", syntax_constant_h) -hi("Float", syntax_constant_h) -hi("Identifier", syntax_identifier_h) -hi("Function", syntax_identifier_h) -hi("Statement", syntax_statement_h) -hi("Conditional", syntax_statement_h) -hi("Repeat", syntax_statement_h) -hi("Label", syntax_statement_h) -hi("Operator", syntax_statement_h) -hi("Keyword", syntax_statement_h) -hi("Exception", syntax_statement_h) -hi("PreProc", syntax_preproc_h) -hi("Include", syntax_preproc_h) -hi("Define", syntax_preproc_h) -hi("Macro", syntax_preproc_h) -hi("PreCondit", syntax_preproc_h) -hi("Type", syntax_type_h) -hi("StorageClass", syntax_type_h) -hi("Structure", syntax_type_h) -hi("Typedef", syntax_type_h) -hi("Special", syntax_special_h) -hi("SpecialChar", syntax_special_h) -hi("Tag", syntax_special_h) -hi("Delimiter", syntax_special_h) -hi("SpecialComment", syntax_special_h) -hi("Debug", syntax_special_h) -hi("Underlined", syntax_underline_h) -hi("Ignore", syntax_ignore_h) -hi("Error", syntax_error_h) -hi("Todo", syntax_warn_h) +hi("Comment", blue_none_h) +hi("Constant", red_none_h) +hi("String", red_none_h) +hi("Character", red_none_h) +hi("Number", red_none_h) +hi("Boolean", red_none_h) +hi("Float", red_none_h) +hi("Identifier", none_none_h) +hi("Function", none_none_h) +hi("Statement", orange_none_h) +hi("Conditional", orange_none_h) +hi("Repeat", orange_none_h) +hi("Label", orange_none_h) +hi("Operator", orange_none_h) +hi("Keyword", orange_none_h) +hi("Exception", orange_none_h) +hi("PreProc", magenta_none_h) +hi("Include", magenta_none_h) +hi("Define", magenta_none_h) +hi("Macro", magenta_none_h) +hi("PreCondit", magenta_none_h) +hi("Type", green_none_h) +hi("StorageClass", green_none_h) +hi("Structure", green_none_h) +hi("Typedef", green_none_h) +hi("Special", orange_none_h) +hi("SpecialChar", orange_none_h) +hi("Tag", orange_none_h) +hi("Delimiter", orange_none_h) +hi("SpecialComment", orange_none_h) +hi("Debug", orange_none_h) +hi("Underlined", none_none_underline_h) +hi("Ignore", black_none_h) +hi("Error", bg_red_h) +hi("Todo", bg_orange_h) -hi("Italic", syntax_italic_h) -hi("Bold", syntax_bold_h) -hi("BoldItalic", syntax_bolditalic_h) -hi("Strike", syntax_strike_h) +hi("Italic", none_none_italic) +hi("Bold", none_none_bold_h) +hi("BoldItalic", none_none_bold_italic_h) +hi("Strike", none_none_strikethrough_h) -- markdown -------------------------------------------------------------------- -local markdown_label_h = { ctermfg = C.magenta.cterm, - fg = C.magenta.gui } -local markdown_delimiter_h = { ctermfg = C.blue.cterm, - fg = C.blue.gui } -local markdown_underline_h = { ctermfg = C.blue.cterm, - fg = C.blue.gui, - underline = true } -hi("markdownLabel", markdown_label_h) -hi("markdownHeadingDelimiter", markdown_delimiter_h) -hi("markdownItalicDelimiter", markdown_delimiter_h) -hi("markdownBoldDelimiter", markdown_delimiter_h) -hi("markdownBoldItalicDelimiter", markdown_delimiter_h) -hi("markdownStrikeDelimiter", markdown_delimiter_h) -hi("markdownCodeDelimiter", markdown_delimiter_h) -hi("markdownLinkTextDelimiter", markdown_delimiter_h) -hi("markdownLinkDelimiter", markdown_delimiter_h) -hi("markdownUrl", markdown_delimiter_h) +hi("markdownLabel", magenta_none_h) +hi("markdownHeadingDelimiter", blue_none_h) +hi("markdownItalicDelimiter", blue_none_h) +hi("markdownBoldDelimiter", blue_none_h) +hi("markdownBoldItalicDelimiter", blue_none_h) +hi("markdownStrikeDelimiter", blue_none_h) +hi("markdownCodeDelimiter", blue_none_h) +hi("markdownLinkTextDelimiter", blue_none_h) +hi("markdownLinkDelimiter", blue_none_h) +hi("markdownUrl", blue_none_h) -- yaml ------------------------------------------------------------------------ -hi("yamlBlockMappingKey", syntax_comment_h) -hi("yamlPlainScalar", syntax_constant_h) +hi("yamlBlockMappingKey", blue_none_h) +hi("yamlPlainScalar", red_none_h)