outline: Add detail as virtual text on each item if availaible
This commit is contained in:
@@ -59,6 +59,7 @@ local function parse(result, depth)
|
|||||||
kind = value.kind,
|
kind = value.kind,
|
||||||
icon = symbols.icon_from_kind(value.kind),
|
icon = symbols.icon_from_kind(value.kind),
|
||||||
name = value.name,
|
name = value.name,
|
||||||
|
detail = value.detail,
|
||||||
line = value.selectionRange.start.line,
|
line = value.selectionRange.start.line,
|
||||||
character = value.selectionRange.start.character,
|
character = value.selectionRange.start.character,
|
||||||
children = children,
|
children = children,
|
||||||
@@ -84,7 +85,7 @@ end
|
|||||||
|
|
||||||
local function highlight_text(name, text, hl_group)
|
local function highlight_text(name, text, hl_group)
|
||||||
vim.cmd(string.format("syn match %s /%s/", name, text))
|
vim.cmd(string.format("syn match %s /%s/", name, text))
|
||||||
vim.cmd(string.format("hi def link %s %s", name ,hl_group))
|
vim.cmd(string.format("hi def link %s %s", name, hl_group))
|
||||||
end
|
end
|
||||||
|
|
||||||
local function setup_highlights()
|
local function setup_highlights()
|
||||||
@@ -122,6 +123,13 @@ local function write(outline_items, bufnr, winnr)
|
|||||||
|
|
||||||
vim.api.nvim_buf_set_lines(bufnr, -2, -2, false,
|
vim.api.nvim_buf_set_lines(bufnr, -2, -2, false,
|
||||||
{line .. value.icon .. " " .. value.name})
|
{line .. value.icon .. " " .. value.name})
|
||||||
|
if value.detail ~= nil then
|
||||||
|
local lines = vim.fn.line('$')
|
||||||
|
print(lines)
|
||||||
|
vim.api.nvim_buf_set_virtual_text(bufnr, -1, lines - 2,
|
||||||
|
{{value.detail, "Comment"}}, {})
|
||||||
|
end
|
||||||
|
|
||||||
vim.api.nvim_buf_set_keymap(bufnr, "n", "<Cr>",
|
vim.api.nvim_buf_set_keymap(bufnr, "n", "<Cr>",
|
||||||
":lua require('symbols-outline').goto_location()<Cr>",
|
":lua require('symbols-outline').goto_location()<Cr>",
|
||||||
{})
|
{})
|
||||||
|
|||||||
Reference in New Issue
Block a user