mirror of
https://github.com/kristoferssolo/SoloVim.git
synced 2026-02-04 14:52:04 +00:00
Update 2024-07-13
This commit is contained in:
@@ -1,12 +1,83 @@
|
||||
return {
|
||||
"MysticalDevil/inlay-hints.nvim",
|
||||
event = "LspAttach",
|
||||
dependencies = { "neovim/nvim-lspconfig" },
|
||||
keys = {
|
||||
{ "<leader>oi", vim.cmd.InlayHintsToggle, desc = "Toggle InlayHints" },
|
||||
{
|
||||
"MysticalDevil/inlay-hints.nvim",
|
||||
event = "LspAttach",
|
||||
dependencies = { "neovim/nvim-lspconfig" },
|
||||
keys = {
|
||||
{ "<leader>oi", vim.cmd.InlayHintsToggle, desc = "Toggle InlayHints" },
|
||||
},
|
||||
opts = {
|
||||
commands = { enable = true }, -- Enable InlayHints commands, include `InlayHintsToggle`, `InlayHintsEnable` and `InlayHintsDisable`
|
||||
autocmd = { enable = true }, -- Enable the inlay hints on `LspAttach` event
|
||||
},
|
||||
},
|
||||
opts = {
|
||||
commands = { enable = true }, -- Enable InlayHints commands, include `InlayHintsToggle`, `InlayHintsEnable` and `InlayHintsDisable`
|
||||
autocmd = { enable = true }, -- Enable the inlay hints on `LspAttach` event
|
||||
{
|
||||
"felpafel/inlay-hint.nvim",
|
||||
event = "LspAttach",
|
||||
opts = {
|
||||
virt_text_pos = "eol",
|
||||
highlight_group = "comment",
|
||||
hl_mode = "combine",
|
||||
display_callback = function(line_hints, options, bufnr)
|
||||
if options.virt_text_pos == "inline" then
|
||||
local lhint = {}
|
||||
for _, hint in pairs(line_hints) do
|
||||
local text = ""
|
||||
local label = hint.label
|
||||
if type(label) == "string" then
|
||||
text = label
|
||||
else
|
||||
for _, part in ipairs(label) do
|
||||
text = text .. part.value
|
||||
end
|
||||
end
|
||||
if hint.paddingLeft then
|
||||
text = " " .. text
|
||||
end
|
||||
if hint.paddingRight then
|
||||
text = text .. " "
|
||||
end
|
||||
lhint[#lhint + 1] = { text = text, col = hint.position.character }
|
||||
end
|
||||
return lhint
|
||||
elseif options.virt_text_pos == "eol" or options.virt_text_pos == "right_align" then
|
||||
local k1 = {}
|
||||
local k2 = {}
|
||||
table.sort(line_hints, function(a, b)
|
||||
return a.position.character < b.position.character
|
||||
end)
|
||||
for _, hint in pairs(line_hints) do
|
||||
local label = hint.label
|
||||
local kind = hint.kind
|
||||
local text = ""
|
||||
if type(label) == "string" then
|
||||
text = label
|
||||
else
|
||||
for _, part in ipairs(label) do
|
||||
text = text .. part.value
|
||||
end
|
||||
end
|
||||
if kind == 1 then
|
||||
k1[#k1 + 1] = text:gsub("^:%s*", "")
|
||||
else
|
||||
k2[#k2 + 1] = text:gsub(":$", "")
|
||||
end
|
||||
end
|
||||
local text = ""
|
||||
if #k2 > 0 then
|
||||
text = " <- (" .. table.concat(k2, ",") .. ")"
|
||||
end
|
||||
if #text > 0 then
|
||||
text = text .. " "
|
||||
end
|
||||
if #k1 > 0 then
|
||||
text = text .. " => " .. table.concat(k1, ",")
|
||||
end
|
||||
|
||||
return text
|
||||
end
|
||||
return nil
|
||||
end,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user