fix some lsp stuff for quick fix support

This commit is contained in:
kossLAN 2025-01-25 01:10:20 -05:00
parent 7804ae3939
commit f3f07ab618
Signed by: kossLAN
SSH key fingerprint: SHA256:bdV0x+wdQHGJ6LgmstH3KV8OpWY+OOFmJcPcB0wQPV8
5 changed files with 39 additions and 7 deletions

View file

@ -20,4 +20,30 @@ function M.make_client_capabilities()
return capabilities
end
---Setup LSP keymaps for the current buffer
---@param bufnr number Buffer number
function M.setup_keymaps(bufnr)
-- Create a shorthand for mapping keys
local opts = { noremap = true, silent = true, buffer = bufnr }
-- Code actions
vim.keymap.set('n', '<leader>ca', vim.lsp.buf.code_action, opts)
-- Quick fix
vim.keymap.set('n', '<leader>qf', vim.lsp.buf.code_action, opts)
-- Apply first available code action
vim.keymap.set('n', '<leader>af', function()
vim.lsp.buf.code_action {
filter = function(action)
return action.isPreferred
end,
apply = true,
}
end, opts)
end
-- Attach keymaps when LSP client attaches to a buffer
function M.on_attach(client, bufnr)
M.setup_keymaps(bufnr)
end
return M