[Feat:] hover inside definition preview

pull/268/head
ray-x 1 year ago
parent c9b3de4e1c
commit 439d30631b

@ -64,6 +64,8 @@ variable is:
- Out of box experience. 10 lines of minimum init.lua can turn your neovim into a full-featured LSP & Treesitter powered IDE
- Lazy loading friendly.
- UI with floating windows, navigator provides a visual way to manage and navigate through symbols, diagnostic errors, reference etc. It covers
all features(handler) provided by LSP from commonly used search reference, to less commonly used search for interface
implementation.

@ -128,6 +128,7 @@ local function def_preview(timeout_ms, method)
if #definition[1] < 2 then
table.remove(definition, 1)
delta = delta - 1
row = row + 1
else
break
end
@ -154,7 +155,17 @@ local function def_preview(timeout_ms, method)
border = _NgConfigValues.border or 'shadow',
}
TextView:new(opts)
local view = TextView:new(opts)
log(view.buf)
vim.keymap.set('n', 'K', function()
local par = vim.lsp.util.make_position_params()
log(row, par, data[1])
par.position.line = par.position.line + row - 1 -- header 1
par.textDocument.uri = data[1].uri
log(par)
local bufnr_org = vim.uri_to_bufnr(data[1].uri)
return vim.lsp.buf_request(bufnr_org, 'textDocument/hover', par)
end, { buffer = view.buf })
delta = delta + 1 -- header
local cmd = 'normal! ' .. tostring(delta) .. 'G'

@ -4,6 +4,7 @@ local M = {}
function M.handler(_, result, ctx, config)
config = config or {}
config.focus_id = ctx.method
config.zindex = 53
if not (result and result.contents) then
vim.notify('No information available')
return

Loading…
Cancel
Save