Files
nord.nvim/lua/nord/plugins/bufferline.lua
2023-03-08 16:39:16 +01:00

120 lines
6.7 KiB
Lua

local utils = require("nord.utils")
local config = require("nord.config").options.styles.bufferline
local bufferline = {}
local c = require("nord.colors").palette
function bufferline.highlights()
local current_hi = vim.tbl_extend("force", { bg = c.polar_night.brighter }, config.current)
local global_bg = utils.make_global_bg()
return {
-- Barbar
BufferTabpageFill = { bg = global_bg, fg = c.polar_night.origin },
BufferCurrent = current_hi,
BufferCurrentIndex = current_hi,
BufferCurrentMod = vim.tbl_extend("force", { bg = c.polar_night.brighter, fg = c.aurora.yellow }, config.modified),
BufferCurrentSign = vim.tbl_extend("force", current_hi, { fg = c.frost.artic_water }),
BufferCurrentTarget = vim.tbl_extend(
"force",
{ bg = c.polar_night.brighter, fg = c.aurora.red, bold = true },
config.current
),
BufferCurrentHINT = vim.tbl_extend("force", current_hi, { fg = c.frost.artic_water }),
BufferCurrentINFO = vim.tbl_extend("force", current_hi, { fg = c.frost.ice }),
BufferCurrentWARN = vim.tbl_extend("force", current_hi, { fg = c.aurora.yellow }),
BufferCurrentERROR = vim.tbl_extend("force", current_hi, { fg = c.aurora.red }),
BufferVisible = { bg = c.polar_night.bright },
BufferVisibleIndex = { bg = c.polar_night.bright },
BufferVisibleMod = vim.tbl_extend("force", { bg = c.polar_night.bright, fg = c.aurora.yellow }, config.modified),
BufferVisibleSign = { bg = c.polar_night.bright, fg = c.frost.artic_water },
BufferVisibleTarget = { bg = c.polar_night.bright, fg = c.aurora.red, bold = true },
BufferVisibleHINT = { bg = c.polar_night.bright, fg = c.frost.artic_water },
BufferVisibleINFO = { bg = c.polar_night.bright, fg = c.frost.ice },
BufferVisibleWARN = { bg = c.polar_night.bright, fg = c.aurora.yellow },
BufferVisibleERROR = { bg = c.polar_night.bright, fg = c.aurora.red },
BufferInactive = { bg = global_bg, fg = c.polar_night.light },
BufferInactiveIndex = { bg = global_bg, fg = c.polar_night.light },
BufferInactiveMod = vim.tbl_extend(
"force",
{ bg = global_bg, fg = utils.darken(c.aurora.yellow, 0.4) },
config.modified
),
BufferInactiveSign = { bg = global_bg, fg = c.polar_night.origin },
BufferInactiveTarget = { bg = global_bg, fg = c.aurora.red, bold = true },
BufferInactiveHINT = { bg = global_bg, fg = utils.darken(c.frost.artic_water, 0.4) },
BufferInactiveINFO = { bg = global_bg, fg = utils.darken(c.frost.ice, 0.4) },
BufferInactiveWARN = { bg = global_bg, fg = utils.darken(c.aurora.yellow, 0.4) },
BufferInactiveERROR = { bg = global_bg, fg = utils.darken(c.aurora.red, 0.4) },
BufferTabpages = { bg = global_bg, fg = c.none },
BufferTabpage = { bg = global_bg, fg = c.border_highlight },
}
end
function bufferline.akinsho()
local current_hi =
vim.tbl_extend("force", { bg = c.polar_night.brighter, italic = false, bold = false }, config.current)
local global_bg = utils.make_global_bg()
return {
fill = { bg = global_bg, fg = c.polar_night.light },
background = { bg = global_bg, fg = c.polar_night.light },
numbers = { bg = global_bg },
close_button = { bg = global_bg },
separator = { bg = global_bg, fg = c.polar_night.origin },
duplicate = { bg = global_bg },
modified = vim.tbl_extend("force", { bg = global_bg, fg = utils.darken(c.aurora.yellow, 0.4) }, config.modified),
pick = { bg = global_bg, bold = true, italic = false },
diagnostic = { bg = global_bg },
hint = { bg = global_bg, fg = c.frost.artic_water },
hint_diagnostic = { bg = global_bg, fg = c.frost.artic_water },
info = { bg = global_bg, fg = c.frost.ice },
info_diagnostic = { bg = global_bg, fg = c.frost.ice },
warning = { bg = global_bg, fg = c.aurora.yellow },
warning_diagnostic = { bg = global_bg, fg = c.aurora.yellow },
error_diagnostic = { bg = global_bg, fg = c.aurora.red },
error = { bg = global_bg, fg = c.aurora.red },
buffer_selected = current_hi,
numbers_selected = current_hi,
close_button_selected = current_hi,
modified_selected = vim.tbl_extend("force", { bg = c.polar_night.brighter, fg = c.aurora.yellow }, config.modified),
separator_selected = { bg = c.polar_night.brighter, fg = c.polar_night.origin },
duplicate_selected = current_hi,
pick_selected = vim.tbl_extend("force", current_hi, { bold = true }),
indicator_selected = { fg = c.frost.artic_water, bg = c.polar_night.brighter },
diagnostic_selected = current_hi,
hint_selected = vim.tbl_extend("force", current_hi, { fg = c.frost.artic_water }),
hint_diagnostic_selected = vim.tbl_extend("force", current_hi, { fg = c.frost.artic_water }),
info_selected = vim.tbl_extend("force", current_hi, { fg = c.frost.ice }),
info_diagnostic_selected = vim.tbl_extend("force", current_hi, { fg = c.frost.ice }),
warning_selected = vim.tbl_extend("force", current_hi, { fg = c.aurora.yellow }),
warning_diagnostic_selected = vim.tbl_extend("force", current_hi, { fg = c.aurora.yellow }),
error_selected = vim.tbl_extend("force", current_hi, { fg = c.aurora.red }),
error_diagnostic_selected = vim.tbl_extend("force", current_hi, { fg = c.aurora.red }),
buffer_visible = { bg = c.polar_night.bright },
numbers_visible = { bg = c.polar_night.bright },
close_button_visible = { bg = c.polar_night.bright },
modified_visible = vim.tbl_extend("force", { bg = c.polar_night.bright, fg = c.aurora.yellow }, config.modified),
separator_visible = { bg = global_bg, fg = c.polar_night.origin },
duplicate_visible = { bg = c.polar_night.bright },
pick_visible = { bg = c.polar_night.bright, bold = true, italic = false },
diagnostic_visible = { bg = c.polar_night.bright },
hint_visible = { bg = c.polar_night.bright, fg = c.frost.artic_water },
hint_diagnostic_visible = { bg = c.polar_night.bright, fg = c.frost.artic_water },
info_visible = { bg = c.polar_night.bright, fg = c.frost.ice },
info_diagnostic_visible = { bg = c.polar_night.bright, fg = c.frost.ice },
warning_visible = { bg = c.polar_night.bright, fg = c.aurora.yellow },
warning_diagnostic_visible = { bg = c.polar_night.bright, fg = c.aurora.yellow },
error_visible = { bg = c.polar_night.bright, fg = c.aurora.red },
error_diagnostic_visible = { bg = c.polar_night.bright, fg = c.aurora.red },
tab = { fg = c.snow_storm.origin, bg = global_bg },
tab_selected = { fg = c.snow_storm.origin, bg = c.polar_night.brighter },
tab_separator = { fg = c.polar_night.origin, bg = global_bg },
tab_separator_selected = { fg = c.aurora.purple, bg = c.polar_night.brighter },
tab_close = { fg = c.snow_storm.origin, bg = global_bg },
}
end
return bufferline