mirror of
https://github.com/harivansh-afk/nix.git
synced 2026-04-15 17:01:01 +00:00
lsp and cmd in canola
This commit is contained in:
parent
71e87d48fb
commit
bdf91e1102
2 changed files with 27 additions and 2 deletions
|
|
@ -1,4 +1,17 @@
|
|||
local M = {}
|
||||
local cached_capabilities
|
||||
|
||||
local function load_blink()
|
||||
local ok_lz, lz = pcall(require, "lz.n")
|
||||
if ok_lz then pcall(lz.trigger_load, "saghen/blink.cmp") end
|
||||
|
||||
local ok_blink, blink = pcall(require, "blink.cmp")
|
||||
if ok_blink then return blink end
|
||||
|
||||
pcall(vim.cmd.packadd, "blink.cmp")
|
||||
ok_blink, blink = pcall(require, "blink.cmp")
|
||||
if ok_blink then return blink end
|
||||
end
|
||||
|
||||
function M.on_attach(_, bufnr)
|
||||
local function buf(mode, lhs, rhs) bmap(mode, lhs, rhs, { buffer = bufnr }) end
|
||||
|
|
@ -14,6 +27,17 @@ function M.on_attach(_, bufnr)
|
|||
buf("n", "<leader>f", function() vim.lsp.buf.format { async = true } end)
|
||||
end
|
||||
|
||||
function M.capabilities() return vim.lsp.protocol.make_client_capabilities() end
|
||||
function M.capabilities()
|
||||
if cached_capabilities then return vim.deepcopy(cached_capabilities) end
|
||||
|
||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
local blink = load_blink()
|
||||
if blink and blink.get_lsp_capabilities then
|
||||
capabilities = blink.get_lsp_capabilities(capabilities)
|
||||
end
|
||||
|
||||
cached_capabilities = capabilities
|
||||
return vim.deepcopy(cached_capabilities)
|
||||
end
|
||||
|
||||
return M
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue