local c = {
  none = "NONE",
  bg_black = "#19181a",
  bg_dark = "#221f22",
  bg = "#2d2a2e",
  bg_highlight = "#383539",
  bg_light = "#403e41",
  bg_light_highlight = "#4a484b",
  gray_dark = "#5b595c",
  gray = "#727072",
  gray_light = "#939293",
  fg_dark = "#c1c0c0",
  fg = "#fcfcfa",
  red = "#ff6188",
  orange = "#fc9867",
  green = "#a9dc76",
  yellow = "#ffd866",
  magenta = "#ab9df2",
  cyan = "#78dce8",
}

local cp = {
  -- Legacy colors for compatibility
  red = c.red,
  yellow = c.yellow,
  orange = c.orange,
  magenta = c.magenta,
  blue = c.cyan,
  green = c.green,
  cyan = c.cyan,

  -- The new shiny boy
  fg = c.fg,
  diff = {
    add = c.green,
    change = c.orange,
    delete = c.red,
    text = c.cyan,
  },
  accent = c.cyan,
  directory = c.cyan,
  search_result = { bg = c.gray, fg = c.fg, telescope = c.fg },
  match = c.yellow,
  dimmed = {
    linenr = c.fg_gutter,
    inactive = c.fg_gutter,
    subtle = c.fg_dark,
  },
  bg = {
    base = c.bg,
    darker = c.bg_dark,
    alt = c.bg_float,
    selected = c.bg_highlight,
  },
  border = c.gray_light,
  syntax = {
    statement = c.red,
    ["function"] = c.green,
    variable = c.fg,
    include = c.red,
    keyword = c.red,
    struct = c.cyan,
    string = c.yellow,
    field = c.green,
    parameter = c.yellow,
    property = c.green,
    punctuation = c.gray_light,
    constructor = c.green,
    operator = c.red,
    preproc = c.red,
    constant = c.magenta,
    todo = { fg = c.bg, bg = c.yellow },
    number = c.magenta,
    comment = c.gray,
    type = c.cyan,
    conditional = c.red,
  },
  built_in = {
    ["function"] = c.cyan,
    type = c.cyan,
    variable = c.cyan,
    keyword = c.cyan,
    constant = c.cyan,
  },
  diagnostic = {
    error = c.red,
    warn = c.yellow,
    info = c.cyan,
    hint = c.gray,
  },
  inc_search = { bg = c.yellow, fg = c.bg_black },
  uri = c.fg,
  pum = {
    fg = c.fg_dark,
    bg = c.bg_dark,
    sbar = c.bg_light_highlight,
    thumb = c.fg_gutter,
    sel = {
      bg = c.gray,
      fg = c.yellow,
    },
  },
  heading = {
    h1 = c.yellow,
    h2 = c.yellow,
  },
}

return cp
