local highlight = function(group, opts, space)
  space = space or 0
  a.nvim_set_hl(space, group, opts)
end

local c = require('mellow.colors')

-- vim highlights -------------------------------------------------------------
highlight("CursorLineNr", { fg = '#FFFFFF', bold = true })

-- diagnostics
-- highlight('DiagnosticError', { fg = c.cyan })
-- highlight('DiagnosticWarn', { fg = c.red })
-- highlight('DiagnosticInfo', { fg = c.yellow })
-- highlight('DiagnosticHint', { fg = c.blue })
-- highlight('DiagnosticUnderlineError', { fg = c.cyan })
-- highlight('DiagnosticUnderlineWarn', { fg = c.red })
-- highlight('DiagnosticUnderlineInfo', { fg = c.yellow })
-- highlight('DiagnosticUnderlineHint', { fg = c.blue })

-- plugin highlights ----------------------------------------------------------
-- telescope
highlight('TelescopeMatching', { bg = '#1B1B1D' })
highlight('TelescopeNormal', { bg = '#131314' })

highlight('TelescopePreviewBorder', { bg = '#161617' })
highlight('TelescopePreviewNormal', { bg = '#161617' })
highlight('TelescopePreviewTitle', { bg = '#161617', fg = '#161617' })

highlight('TelescopePromptBorder', { bg = '#1B1B1D' })
highlight('TelescopePromptNormal', { bg = '#1B1B1D' })
highlight('TelescopePromptPrefix', { bg = '#1B1B1D' })
highlight('TelescopePromptTitle', { bg = '#1B1B1D'})

highlight('TelescopeResultsBorder', { bg = '#131314' })
highlight('TelescopeResultsNormal', { bg = '#131314' })
highlight('TelescopeResultsTitle', { bg = '#131314', fg = '#131314' })

highlight('TelescopeSelection', { bg = '#161617' })
highlight('TelescopeSelectionCaret', { bg = '#161617', fg = '#F5A191'})

-- indent blankline
highlight('IndentBlanklineIndent1', { bg = '#161617' })
highlight('IndentBlanklineIndent2', { bg = '#121212' })

-- alpha
highlight('AlphaHeader', { fg = '#AAA0CE' })

-- fidget
highlight('FidgetTask', { fg = '#ffffff' })