+vim.opt["background"] = "light"
+vim.g.VM_theme = "marked2"
+
+
+local p = {
+ black = "#000000",
+ white = "#ffffff",
+
+ background = "#ffffea",
+ float_background = "#eeeeda",
+ secondary_background = "#aeeeee",
+ selection = "#eeee9e",
+
+ comments = "#dddddd",
+
+ green = "#c0f0b0",
+ blue = "#b0c0f0",
+ red = "#f0c0b0",
+
+ -- Only use for special cases
+ magenta = "#f0f0b0",
+ yellow = "#f0b0f0",
+ cyan = "#b0f0f0",
+ gray = "#d0d0d0",
+
+ errors = "#a0342f",
+ warnings = "#f0ad4e",
+ hints = "#777777",
+ infos = "#3060a0",
+
+ diff_remove = "#a0342f",
+ diff_change = "#f0ad4e",
+ diff_add = "#30a060",
+
+}
+
+local colors = {
+ default = { fg = p.black, },
+
+ bgSecondary = { bg = p.secondary_background, },
+ selected = { fg = p.black, bg = p.selection, },
+
+ buffBG = { bg = p.secondary_background, },
+ buffSelected = { fg = p.secondary_background, },
+
+ diffAdd = { fg = p.white, bg = p.diff_add, },
+ diffChange = { fg = p.black, bg = p.diff_change, },
+ diffRemove = { fg = p.white, bg = p.diff_remove, },
+
+ errorMsg = { fg = p.errors, bg = p.white, bold = true, },
+ warnMsg = { fg = p.warnings, bg = p.white, bold = true, },
+ hintMsg = { fg = p.hints, bg = p.white, bold = true, },
+ infoMsg = { fg = p.infos, bg = p.white, bold = true, },
+
+ comment = { fg = p.black, bg = p.comments, },
+ nums = { fg = p.black, bg = p.blue, },
+ bool = { fg = p.black, bg = p.blue, },
+ char = { fg = p.black, bg = p.blue, },
+ const = { fg = p.black, },
+ string = { fg = p.black, bg = p.green, },
+ operator = { fg = p.black, },
+ keyword = { fg = p.black, },
+ identifier = { fg = p.black, },
+ func = { fg = p.black, },
+ include = { fg = p.black, },
+ type = { fg = p.black, bg = p.red , bold = false },
+
+ error = { fg = p.white, bg = p.errors, bold = true, },
+ warn = { fg = p.black, bg = p.warnings, bold = true, },
+ hint = { fg = p.white, bg = p.hints, bold = true, },
+ info = { fg = p.white, bg = p.infos, bold = true, },
+
+ uri = { underline = true, },
+ tag = { fg = p.black, bg = p.red, },
+
+
+ -- Control Flow
+ branch = { fg = p.black, bg = p.green, },
+ loop = { fg = p.black, bg = p.red, },
+ goto_ = { fg = p.black, bg = p.blue, },
+
+ -- Brackets
+ b_green = { fg = p.black, bg = p.green, },
+ b_red = { fg = p.black, bg = p.red, },
+ b_blue = { fg = p.black, bg = p.blue, },
+ b_magenta = { fg = p.black, bg = p.magenta, },
+ b_yellow = { fg = p.black, bg = p.yellow, },
+ b_cyan = { fg = p.black, bg = p.cyan, },
+ b_gray = { fg = p.black, bg = p.gray, },
+}
+
+local marked = {
+ -- Unchanged
+ Normal = { fg = p.black, bg = p.background },
+ NormalFloat = { fg = p.black, bg = p.float_background },
+ CursorColumn = colors.bgSecondary,
+ CursorLine = colors.bgSecondary,
+
+ Comment = colors.comment,
+
+ DiffAdd = colors.diffAdd,
+ DiffChange = colors.diffChange,
+ DiffDelete = colors.diffRemove,
+
+ ErrorMsg = colors.errorMsg,
+ VertSplit = colors.default,
+
+ Search = colors.selected,
+ IncSearch = colors.selected,
+
+ MatchParen = colors.selected,
+
+ NonText = { fg = "#2080a0" },
+
+ -- Popup Menu
+ Pmenu = { link = "NormalFloat" },
+ PmenuSel = colors.selected,
+ PmenuThumb = colors.bgSecondary,
+
+ Visual = colors.selected,
+ VisualNOS = colors.selected,
+
+ WinSeparator = colors.bgSecondary,
+
+
+ -- Diff
+ diffAdded = colors.diffAdd,
+ diffRemoved = colors.diffRemove,
+ diffNewFile = colors.diffAdd,
+ diffOldFile = colors.diffRemove,
+ gitcommitSelectedType = colors.diffChange,
+ gitcommitFile = colors.string,
+ gitcommitBranch = colors.string,
+ gitcommitHeader = colors.comment,
+ diffIndexLine = colors.nums,
+
+ -- Git Signs
+ GitSignsAdd = colors.diffAdd,
+ GitSignsChange = colors.diffChange,
+ GitSignsDelete = colors.diffRemove,
+ GitSignsCurrentLineBlame = colors.comment,
+
+ -- LSP
+ DiagnosticError = colors.errorMsg,
+ DiagnosticWarn = colors.warnMsg,
+ DiagnosticHint = colors.hintMsg,
+ DiagnosticInfo = colors.infoMsg,
+ DiagnosticSignError = colors.error,
+ DiagnosticSignWarn = colors.warn,
+ DiagnosticSignHint = colors.hint,
+ DiagnosticSignInfo = colors.info,
+ DiagnosticUnderlineError = colors.error,
+ DiagnosticUnderlineWarn = colors.warn,
+ DiagnosticUnderlineHint = colors.hint,
+ DiagnosticUnderlineInfo = colors.info,
+
+ -- Leap
+ LeapLabelPrimary = colors.info,
+
+ -- Nvim Tree
+ NvimTreeWinSeparator = colors.bgSecondary,
+ NvimTreeRootFolder = colors.default,
+ NvimTreeFolderName = colors.nums,
+ NvimTreeExecFile = colors.string,
+ NvimTreeSpecialFile = colors.string,
+ NvimTreeSymlink = colors.uri,
+ NvimTreeGitNew = colors.diffAdd,
+ nvimTreeGitDirty = colors.diffChange,
+ NvimTreeGitDeleted = colors.diffRemove,
+ NvimTreeGitRenamed = colors.diffChange,
+
+
+ -- Removed
+ Operator = colors.default,
+ Keyword = colors.default,
+ Keywords = colors.default,
+ Identifier = colors.default,
+ Function = colors.default,
+ Statement = colors.default,
+ Conditional = colors.default,
+ Repeat = colors.default,
+ Label = colors.default,
+ Exception = colors.default,
+ PreProc = colors.default,
+ Include = colors.default,
+ Define = colors.default,
+ Title = colors.default,
+ Macro = colors.default,
+ PreCondit = colors.default,
+ StorageClass = colors.default,
+ Structure = colors.default,
+ Special = colors.default,
+ SpecialComment = colors.default,
+
+ SignColumn = colors.default,
+ Conceal = colors.default,
+ CursorLineNr = colors.default,
+ ColorColumn = colors.default,
+ StatusLine = colors.default,
+ StatusLineNC = colors.default,
+ StatusLineTerm = colors.default,
+ StatusLineTermNC = colors.default,
+ Directory = colors.default,
+ MoreMsg = colors.default,
+ ModeMsg = colors.default,
+
+ LineNr = colors.default,
+
+ ["@text.uri"] = colors.uri,
+
+ Type = colors.default,
+}
+
+
+local default = {
+ -- Enable
+ String = colors.string,
+ Constant = colors.const,
+ Character = colors.char,
+ Number = colors.nums,
+ Boolean = colors.bool,
+ Float = colors.nums,
+ -- TypeDef = colors.type,
+
+ -- ["@type.builtin"] = colors.type,
+ -- ["@type.created"] = colors.type,
+ ["@string.escape"] = colors.nums,
+ ["@tag"] = colors.tag,
+ ["@tag.attribute"] = colors.nums,
+}
+
+
+
+
+for c_name, color in pairs(marked) do
+ vim.api.nvim_set_hl(0, c_name, color)
+end
+for c_name, color in pairs(default) do
+ vim.api.nvim_set_hl(0, c_name, color)
+end
+
+local modes = {
+ normal = {
+ a = colors.bgSecondary,
+ b = colors.bgSecondary,
+ c = colors.bgSecondary,
+ },
+}
+require('lualine').setup { options = { theme = modes } }