vim.cmd("colorscheme moonfly") local palette = { black = "#0f0f0f", surface = "#1a1a1a", overlay = "#2a2a2a", text = "#e0def4", dim = "#6e6a86", pink = "#ebbcba", magenta = "#f2a7b0", peach = "#f6c177", white = "#ffffff", comment = "#55505c", } vim.cmd("hi clear") if vim.fn.exists("syntax_on") then vim.cmd("syntax reset") end vim.o.background = "dark" vim.g.colors_name = "pinkfly" local ui = { Normal = { fg = palette.text, bg = palette.black }, NormalNC = { fg = palette.text, bg = palette.black }, NormalFloat = { fg = palette.text, bg = palette.surface }, FloatBorder = { fg = palette.pink, bg = palette.surface }, VertSplit = { fg = palette.overlay, bg = palette.black }, StatusLine = { fg = palette.pink, bg = palette.black }, StatusLineNC = { fg = palette.dim, bg = palette.black }, TabLine = { fg = palette.text, bg = palette.overlay }, TabLineSel = { fg = palette.black, bg = palette.pink, bold = true }, Pmenu = { fg = palette.text, bg = palette.surface }, PmenuSel = { fg = palette.black, bg = palette.pink }, CursorLine = { bg = palette.surface }, CursorLineNr = { fg = palette.pink, bold = true }, LineNr = { fg = palette.comment }, Visual = { bg = "#2a1f2a" }, Search = { bg = palette.pink, fg = palette.black }, IncSearch = { bg = palette.magenta, fg = palette.black }, MatchParen = { fg = palette.pink, bold = true }, } local syntax = { Comment = { fg = palette.comment, italic = true }, Constant = { fg = palette.pink }, String = { fg = palette.peach }, Character = { fg = palette.peach }, Number = { fg = palette.magenta }, Boolean = { fg = palette.magenta, bold = true }, Identifier = { fg = palette.pink }, Function = { fg = palette.pink, bold = true }, Statement = { fg = palette.magenta }, Conditional = { fg = palette.pink, bold = true }, Repeat = { fg = palette.pink }, Label = { fg = palette.magenta }, Operator = { fg = palette.pink }, Keyword = { fg = palette.magenta, bold = true }, Exception = { fg = palette.pink }, PreProc = { fg = palette.pink }, Type = { fg = palette.pink }, StorageClass = { fg = palette.magenta }, Structure = { fg = palette.pink }, Typedef = { fg = palette.pink }, Delimiter = { fg = palette.text }, Special = { fg = palette.magenta }, } local diagnostics = { DiagnosticError = { fg = "#ff7b7b" }, DiagnosticWarn = { fg = palette.peach }, DiagnosticInfo = { fg = palette.pink }, DiagnosticHint = { fg = palette.magenta }, } for group, opts in pairs(ui) do vim.api.nvim_set_hl(0, group, opts) end for group, opts in pairs(syntax) do vim.api.nvim_set_hl(0, group, opts) end for group, opts in pairs(diagnostics) do vim.api.nvim_set_hl(0, group, opts) end local ok, lualine = pcall(require, "lualine") if ok then local lualine_pink = { normal = { a = { bg = palette.pink, fg = palette.black, gui = "bold" }, b = { bg = palette.surface, fg = palette.pink }, c = { bg = palette.black, fg = palette.text }, }, insert = { a = { bg = palette.magenta, fg = palette.black, gui = "bold" }, }, visual = { a = { bg = palette.peach, fg = palette.black, gui = "bold" }, }, replace = { a = { bg = palette.pink, fg = palette.black, gui = "bold" }, }, inactive = { a = { bg = palette.surface, fg = palette.dim }, b = { bg = palette.surface, fg = palette.dim }, c = { bg = palette.black, fg = palette.dim }, }, } lualine.setup({ options = { theme = lualine_pink, section_separators = { left = "", right = "" }, component_separators = { left = "", right = "" }, }, }) end vim.g.barbar_highlight = { background = { fg = palette.dim, bg = palette.black }, buffer_visible = { fg = palette.text, bg = palette.black }, buffer_selected = { fg = palette.pink, bg = palette.black, bold = true }, modified_selected = { fg = palette.peach, bg = palette.black, bold = true }, }