|
|
|
local M = {}
|
|
|
|
|
|
|
|
local is_prepared
|
|
|
|
|
|
|
|
local function set_prepared(val)
|
|
|
|
is_prepared = val
|
|
|
|
end
|
|
|
|
|
|
|
|
local function get_prepared()
|
|
|
|
return is_prepared
|
|
|
|
end
|
|
|
|
|
|
|
|
function M.get(cp)
|
|
|
|
|
|
|
|
if not get_prepared() then
|
|
|
|
set_prepared(vim.api.nvim_create_autocmd("User", {
|
|
|
|
pattern = "CatppuccinLoaded",
|
|
|
|
callback = function ()
|
|
|
|
if pcall(require, "lightspeed") then
|
|
|
|
require("lightspeed").init_highlight()
|
|
|
|
end
|
|
|
|
end
|
|
|
|
}))
|
|
|
|
end
|
|
|
|
|
|
|
|
return {
|
|
|
|
LightspeedLabel = {bg = cp.surface1, fg = cp.text},
|
|
|
|
LightspeedOverlapped = {bg = cp.surface1, fg = cp.text},
|
|
|
|
LightspeedLabelDistant = {bg = cp.mauve, fg = cp.text},
|
|
|
|
LightspeedLabelDistantOverlapped = {bg = cp.mauve, fg = cp.text},
|
|
|
|
LightspeedShortcut = {bg = cp.base, fg = cp.peach, style = "italic"},
|
|
|
|
LightspeedShortcutOverlapped = {bg = cp.base, fg = cp.peach, style = "bold"},
|
|
|
|
LightspeedMaskedChar = {bg = cp.base, fg = cp.red, style = "undercurl"},
|
|
|
|
LightspeedGreyWash = {bg = cp.base, fg = cp.overlay0},
|
|
|
|
LightspeedUnlabeledMatch = {bg = cp.base, fg = cp.red, style = "underline"},
|
|
|
|
LightspeedOneCharMatch = {bg = cp.base, fg = cp.red, style = "underline"},
|
|
|
|
LightspeedUniqueChar = {bg = cp.base, fg = cp.green, style = "strikethrough"},
|
|
|
|
LightspeedPendingOpArea = {bg = cp.base, fg = cp.green, style = "strikethrough"},
|
|
|
|
LightspeedPendingChangeOpArea = {bg = cp.base, fg = cp.green, style = "strikethrough"},
|
|
|
|
LightspeedCursor = {fg = cp.base, bg = cp.text},
|
|
|
|
}
|
|
|
|
end
|
|
|
|
|
|
|
|
return M
|