index — dotfiles @ f0cc35ce683e352646a6461060b0913cde515532

my dotfiles

minimal-nvim/.config/nvim/colors/everforest.lua (view raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
local colors = {
  bg0 = "#2d353b",
  bg1 = "#343f44",
  bg2 = "#3d484d",
  bg3 = "#475258",
  fg = "#d3c6aa",
  red = "#e67e80",
  orange = "#e69875",
  yellow = "#dbbc7f",
  green = "#a7c080",
  aqua = "#83c092",
  blue = "#7fbbb3",
  purple = "#d699b6",
  grey = "#7a8478",
}

vim.o.background = "dark"
vim.o.termguicolors = true
vim.g.colors_name = "everforest"

local function hi(group, opts)
  local cmd = "highlight " .. group
  if opts.fg then cmd = cmd .. " guifg=" .. opts.fg end
  if opts.bg then cmd = cmd .. " guibg=" .. opts.bg end
  if opts.style then cmd = cmd .. " gui=" .. opts.style end
  if opts.fg then cmd = cmd .. " ctermfg=NONE" end
  if opts.bg then cmd = cmd .. " ctermbg=NONE" end
  vim.cmd(cmd)
end

-- Editor highlights
hi("Normal", { fg = colors.fg, bg = colors.bg0 })
vim.api.nvim_set_hl(0, "Normal", { fg = colors.fg, bg = colors.bg0 })
hi("NormalFloat", { fg = colors.fg, bg = colors.bg1 })
hi("Comment", { fg = colors.grey, style = "italic" })
hi("Constant", { fg = colors.purple })
hi("String", { fg = colors.green })
hi("Character", { fg = colors.green })
hi("Number", { fg = colors.purple })
hi("Boolean", { fg = colors.purple })
hi("Float", { fg = colors.purple })
hi("Identifier", { fg = colors.blue })
hi("Function", { fg = colors.aqua })
hi("Statement", { fg = colors.red })
hi("Conditional", { fg = colors.red })
hi("Repeat", { fg = colors.red })
hi("Label", { fg = colors.red })
hi("Operator", { fg = colors.orange })
hi("Keyword", { fg = colors.red })
hi("Exception", { fg = colors.red })
hi("PreProc", { fg = colors.aqua })
hi("Include", { fg = colors.aqua })
hi("Define", { fg = colors.aqua })
hi("Macro", { fg = colors.aqua })
hi("Type", { fg = colors.yellow })
hi("StorageClass", { fg = colors.orange })
hi("Structure", { fg = colors.aqua })
hi("Special", { fg = colors.orange })
hi("Underlined", { fg = colors.blue, style = "underline" })
hi("Error", { fg = colors.red })
hi("Todo", { fg = colors.purple, style = "bold" })

-- UI elements
hi("CursorLine", { bg = colors.bg1 })
hi("CursorColumn", { bg = colors.bg1 })
hi("LineNr", { fg = colors.grey })
hi("CursorLineNr", { fg = colors.fg })
hi("Visual", { bg = colors.bg3 })
hi("VisualNOS", { bg = colors.bg3 })
hi("Search", { fg = colors.bg0, bg = colors.yellow })
hi("IncSearch", { fg = colors.bg0, bg = colors.orange })
hi("Pmenu", { fg = colors.fg, bg = colors.bg2 })
hi("PmenuSel", { fg = colors.aqua, bg = colors.bg })
hi("StatusLine", { fg = colors.fg, bg = colors.bg2 })
hi("StatusLineNC", { fg = colors.grey, bg = colors.bg1 })
hi("VertSplit", { fg = colors.bg3 })
hi("TabLine", { fg = colors.grey, bg = colors.bg1 })
hi("TabLineSel", { fg = colors.fg, bg = colors.bg2 })
hi("TabLineFill", { bg = colors.bg1 })

hi("@lsp.type.namespace", { fg = colors.aqua })
hi("@lsp.type.type", { fg = colors.yellow })
hi("@lsp.type.struct", { fg = colors.yellow })
hi("@lsp.type.enum", { fg = colors.yellow })
hi("@lsp.type.interface", { fg = colors.yellow })
hi("@lsp.type.parameter", { fg = colors.fg })
hi("@lsp.type.variable", { fg = colors.fg })
hi("@lsp.type.property", { fg = colors.fg })
hi("@lsp.type.function", { fg = colors.aqua })
hi("@lsp.type.method", { fg = colors.blue })
hi("@lsp.type.macro", { fg = colors.aqua })
hi("@lsp.type.keyword", { fg = colors.red })
hi("@lsp.type.comment", { fg = colors.grey, style = "italic" })
hi("@lsp.type.string", { fg = colors.green })
hi("@lsp.type.number", { fg = colors.purple })
hi("@lsp.type.operator", { fg = colors.orange })
hi("@lsp.mod.constant", { fg = colors.purple })

-- Treesitter highlights (for Lua)
hi("@variable", { fg = colors.fg })
hi("@variable.builtin", { fg = colors.blue })
hi("@property", { fg = colors.fg })
hi("@field", { fg = colors.fg })
hi("@parameter", { fg = colors.fg })
hi("@namespace", { fg = colors.aqua })
hi("@module", { fg = colors.aqua })
hi("@function.call", { fg = colors.aqua })
hi("@method.call", { fg = colors.aqua })
hi("@constructor", { fg = colors.yellow })
hi("@keyword", { fg = colors.red })
hi("@keyword.function", { fg = colors.red })
hi("@keyword.operator", { fg = colors.red })
hi("@conditional", { fg = colors.red })
hi("@repeat", { fg = colors.red })
hi("@string", { fg = colors.green })
hi("@number", { fg = colors.purple })
hi("@boolean", { fg = colors.purple })
hi("@operator", { fg = colors.orange })
hi("@punctuation.bracket", { fg = colors.fg })
hi("@punctuation.delimiter", { fg = colors.fg })
hi("@comment", { fg = colors.grey, style = "italic" })