outline: Add detail as virtual text on each item if availaible

This commit is contained in:
simrat39
2021-04-19 12:10:48 -07:00
parent 7b302a938b
commit d80c61a218

View File

@@ -59,6 +59,7 @@ local function parse(result, depth)
kind = value.kind,
icon = symbols.icon_from_kind(value.kind),
name = value.name,
detail = value.detail,
line = value.selectionRange.start.line,
character = value.selectionRange.start.character,
children = children,
@@ -84,7 +85,7 @@ end
local function highlight_text(name, text, hl_group)
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
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,
{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>",
":lua require('symbols-outline').goto_location()<Cr>",
{})