2024-08-22 14:46:08 +08:00
|
|
|
local api = vim.api
|
|
|
|
|
2024-08-24 20:15:45 -04:00
|
|
|
local Config = require("avante.config")
|
|
|
|
|
2024-08-21 21:28:17 +08:00
|
|
|
local M = {
|
|
|
|
TITLE = "AvanteTitle",
|
|
|
|
REVERSED_TITLE = "AvanteReversedTitle",
|
|
|
|
SUBTITLE = "AvanteSubtitle",
|
|
|
|
REVERSED_SUBTITLE = "AvanteReversedSubtitle",
|
2024-08-24 20:15:45 -04:00
|
|
|
THIRD_TITLE = "AvanteThirdTitle",
|
|
|
|
REVERSED_THIRD_TITLE = "AvanteReversedThirdTitle",
|
2024-08-21 21:28:17 +08:00
|
|
|
}
|
|
|
|
|
2024-08-24 17:34:41 +08:00
|
|
|
M.input_ns = api.nvim_create_namespace("avante_input")
|
2024-08-24 20:29:46 +08:00
|
|
|
M.hint_ns = api.nvim_create_namespace("avante_hint")
|
2024-08-24 17:34:41 +08:00
|
|
|
|
2024-08-21 21:28:17 +08:00
|
|
|
M.setup = function()
|
2024-08-22 14:46:08 +08:00
|
|
|
local normal = api.nvim_get_hl(0, { name = "Normal" })
|
2024-08-24 20:29:46 +08:00
|
|
|
local normal_float = api.nvim_get_hl(0, { name = "NormalFloat" })
|
|
|
|
|
2024-08-24 20:15:45 -04:00
|
|
|
local has_set_colors = {}
|
|
|
|
for _, hl_group in ipairs({
|
|
|
|
M.TITLE,
|
|
|
|
M.REVERSED_TITLE,
|
|
|
|
M.SUBTITLE,
|
|
|
|
M.REVERSED_SUBTITLE,
|
|
|
|
M.THIRD_TITLE,
|
|
|
|
M.REVERSED_THIRD_TITLE,
|
|
|
|
}) do
|
|
|
|
has_set_colors[hl_group] = api.nvim_get_hl(0, { name = hl_group }) ~= vim.empty_dict()
|
|
|
|
end
|
|
|
|
|
|
|
|
if Config.behaviour.auto_set_highlight_group then
|
|
|
|
if not has_set_colors[M.TITLE] then
|
|
|
|
api.nvim_set_hl(0, M.TITLE, { fg = "#1e222a", bg = "#98c379" })
|
|
|
|
end
|
|
|
|
if not has_set_colors[M.REVERSED_TITLE] then
|
|
|
|
api.nvim_set_hl(0, M.REVERSED_TITLE, { fg = "#98c379" })
|
|
|
|
end
|
|
|
|
if not has_set_colors[M.SUBTITLE] then
|
|
|
|
api.nvim_set_hl(0, M.SUBTITLE, { fg = "#1e222a", bg = "#56b6c2" })
|
|
|
|
end
|
|
|
|
if not has_set_colors[M.REVERSED_SUBTITLE] then
|
|
|
|
api.nvim_set_hl(0, M.REVERSED_SUBTITLE, { fg = "#56b6c2" })
|
|
|
|
end
|
|
|
|
if not has_set_colors[M.THIRD_TITLE] then
|
|
|
|
api.nvim_set_hl(0, M.THIRD_TITLE, { fg = "#ABB2BF", bg = "#353B45" })
|
|
|
|
end
|
|
|
|
if not has_set_colors[M.REVERSED_THIRD_TITLE] then
|
|
|
|
api.nvim_set_hl(0, M.REVERSED_THIRD_TITLE, { fg = "#353B45" })
|
|
|
|
end
|
|
|
|
end
|
2024-08-24 17:34:41 +08:00
|
|
|
|
2024-08-24 20:29:46 +08:00
|
|
|
api.nvim_set_hl(M.hint_ns, "NormalFloat", { fg = normal_float.fg, bg = normal_float.bg })
|
|
|
|
|
2024-08-24 17:34:41 +08:00
|
|
|
api.nvim_set_hl(M.input_ns, "NormalFloat", { fg = normal_float.fg, bg = normal_float.bg })
|
|
|
|
api.nvim_set_hl(M.input_ns, "FloatBorder", { fg = normal.fg, bg = normal.bg })
|
2024-08-21 21:28:17 +08:00
|
|
|
end
|
|
|
|
|
|
|
|
return M
|