|
|
|
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()
|
|
|
|
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
|