1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-03-13 02:05:40 +08:00

fix(cpicker): fix get cursor color function

This commit is contained in:
Eric Wong 2024-07-15 20:23:22 +08:00
parent f6deb0bd9a
commit e143116bc5

View File

@ -52,12 +52,34 @@ function M.set_default_color(formats)
end
local inspect = vim.inspect_pos()
local hex
if #inspect.treesitter > 0 then
if #inspect.semantic_tokens > 0 then
local token, priority = {}, 0
for _, semantic_token in ipairs(inspect.semantic_tokens) do
if semantic_token.opts.priority > priority then
priority = semantic_token.opts.priority
token = semantic_token
end
end
if token then
local fg = vim.api.nvim_get_hl(0, { name = token.opts.hl_group_link }).fg
if fg then
hex = string.format('#%06X', fg)
end
end
elseif #inspect.treesitter > 0 then
local fg =
vim.api.nvim_get_hl(0, { name = inspect.treesitter[#inspect.treesitter].hl_group_link }).fg
if fg then
hex = string.format('#%06X', fg)
end
for i = #inspect.treesitter, 1, -1 do
local fg = vim.api.nvim_get_hl(0, { name = inspect.treesitter[i].hl_group_link }).fg
if fg then
hex = string.format('#%06X', fg)
break
end
end
else
local name = vim.fn.synIDattr(vim.fn.synID(vim.fn.line('.'), vim.fn.col('.'), 1), 'name', 'gui')
local fg = get_color(name).fg