mirror of
https://github.com/harivansh-afk/nix.git
synced 2026-04-17 23:01:35 +00:00
28 lines
832 B
Lua
28 lines
832 B
Lua
local M = {}
|
|
|
|
function M.on_attach(_, bufnr)
|
|
local function buf(mode, lhs, rhs)
|
|
bmap(mode, lhs, rhs, { buffer = bufnr })
|
|
end
|
|
|
|
buf('n', 'gd', vim.lsp.buf.definition)
|
|
buf('n', 'gD', vim.lsp.buf.declaration)
|
|
buf('n', '<C-]>', vim.lsp.buf.definition)
|
|
buf('n', 'gi', vim.lsp.buf.implementation)
|
|
buf('n', 'gr', vim.lsp.buf.references)
|
|
buf('n', 'K', vim.lsp.buf.hover)
|
|
buf('n', '<leader>rn', vim.lsp.buf.rename)
|
|
buf({ 'n', 'v' }, '<leader>ca', vim.lsp.buf.code_action)
|
|
buf('n', '<leader>f', function() vim.lsp.buf.format({ async = true }) end)
|
|
end
|
|
|
|
function M.capabilities()
|
|
local caps = vim.lsp.protocol.make_client_capabilities()
|
|
local ok, blink = pcall(require, 'blink.cmp')
|
|
if ok then
|
|
caps = blink.get_lsp_capabilities(caps)
|
|
end
|
|
return caps
|
|
end
|
|
|
|
return M
|