vim.cmd("highlight clear") vim.cmd("syntax reset") vim.g.colors_name = "clrsync" local palette = { -- TextEditor Default = "{text_main.hex}", Keyword = "{syntax_keyword.hex}", Number = "{text_warning.hex}", String = "{text_string.hex}", CharLiteral = "{text_string.hex}", Punctuation = "{text_main.hex}", Preprocessor = "{syntax_special_keyword.hex}", Identifier = "{text_main.hex}", KnownIdentifier = "{text_link.hex}", PreprocIdentifier = "{text_link.hex}", Comment = "{text_comment.hex}", MultiLineComment = "{text_comment.hex}", Background = "{editor_background.hex}", Cursor = "{cursor.hex}", Selection = "{text_selected.hex}", ErrorMarker = "{syntax_error.hex}", Breakpoint = "{syntax_error.hex}", LineNumber = "{text_line_number.hex}", CurrentLineFill = "{surface_variant.hex}", CurrentLineFillInactive = "{surface.hex}", CurrentLineEdge = "{border_emphasized.hex}", } -- Helper function to set highlights in Neovim local function set_hl(group, opts) vim.api.nvim_set_hl(0, group, opts) end vim.o.winborder = "rounded" -- Basic editor highlights using the mapped palette set_hl("Normal", { fg = palette.Default, bg = palette.Background }) set_hl("CursorLine", { bg = palette.CurrentLineFill }) set_hl("Visual", { bg = palette.Selection }) set_hl("LineNr", { fg = palette.LineNumber }) set_hl("CursorLineNr", { fg = palette.Keyword }) -- Syntax highlights set_hl("Comment", { fg = palette.Comment, italic = true }) set_hl("Constant", { fg = palette.Number }) set_hl("String", { fg = palette.String }) set_hl("Character", { fg = palette.CharLiteral }) set_hl("Identifier", { fg = palette.Identifier }) set_hl("Function", { fg = palette.Keyword }) set_hl("Statement", { fg = palette.Keyword }) set_hl("PreProc", { fg = palette.Preprocessor }) set_hl("Type", { fg = palette.Keyword }) set_hl("Special", { fg = palette.PreprocIdentifier }) set_hl("Underlined", { fg = palette.KnownIdentifier }) set_hl("Error", { fg = palette.ErrorMarker, bg = palette.Background }) set_hl("Todo", { fg = palette.Text, bg = palette.Keyword }) -- Floating windows set_hl("NormalFloat", { bg = palette.Background }) set_hl("FloatBorder", { fg = palette.CurrentLineEdge, bg = palette.Background }) -- Completion menu set_hl("Pmenu", { bg = palette.Background }) set_hl("PmenuSel", { bg = palette.Keyword, fg = palette.Background }) -- Git and diagnostic highlights set_hl("DiffAdd", { fg = palette.Success or palette.Default, bg = palette.Background }) set_hl("DiffChange", { fg = palette.Keyword, bg = palette.Background }) set_hl("DiffDelete", { fg = palette.ErrorMarker, bg = palette.Background }) set_hl("DiagnosticError", { fg = palette.ErrorMarker }) set_hl("DiagnosticWarn", { fg = palette.Number }) set_hl("DiagnosticInfo", { fg = palette.Keyword }) set_hl("DiagnosticHint", { fg = palette.PreprocIdentifier }) -- Treesitter links set_hl("@comment", { link = "Comment" }) set_hl("@string", { fg = palette.String }) set_hl("@function", { fg = palette.Keyword }) set_hl("@variable", { fg = palette.Identifier }) set_hl("@keyword", { fg = palette.Keyword }) set_hl("@type", { fg = palette.Preprocessor })