mirror of
https://github.com/kossLAN/nvim-flake.git
synced 2025-11-04 17:59:50 -05:00
fix some lsp stuff for quick fix support
This commit is contained in:
parent
7804ae3939
commit
f3f07ab618
5 changed files with 39 additions and 7 deletions
|
|
@ -1,6 +1,6 @@
|
|||
-- Exit if the language server isn't available
|
||||
if vim.fn.executable('clangd') ~= 1 then
|
||||
return
|
||||
return
|
||||
end
|
||||
|
||||
local root_files = {
|
||||
|
|
@ -8,9 +8,12 @@ local root_files = {
|
|||
'src',
|
||||
}
|
||||
|
||||
local lsp = require('user.lsp')
|
||||
|
||||
vim.lsp.start {
|
||||
name = 'clangd',
|
||||
cmd = { 'clangd' },
|
||||
root_dir = vim.fs.dirname(vim.fs.find(root_files, { upward = true })[1]),
|
||||
capabilities = require('user.lsp').make_client_capabilities(),
|
||||
capabilities = lsp.make_client_capabilities(),
|
||||
on_attach = lsp.on_attach,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ local root_files = {
|
|||
'Main.java',
|
||||
}
|
||||
|
||||
local lsp = require('user.lsp')
|
||||
|
||||
-- Tab Width
|
||||
vim.bo.tabstop = 4
|
||||
vim.bo.shiftwidth = 4
|
||||
|
|
@ -17,7 +19,8 @@ vim.lsp.start {
|
|||
name = 'jdtls',
|
||||
cmd = { 'jdtls' },
|
||||
root_dir = vim.fs.dirname(vim.fs.find(root_files, { upward = true })[1]),
|
||||
capabilities = require('user.lsp').make_client_capabilities(),
|
||||
capabilities = lsp.make_client_capabilities(),
|
||||
on_attach = lsp.on_attach,
|
||||
settings = {
|
||||
java = {
|
||||
format = {
|
||||
|
|
|
|||
|
|
@ -8,9 +8,12 @@ local root_files = {
|
|||
'.git',
|
||||
}
|
||||
|
||||
local lsp = require('user.lsp')
|
||||
|
||||
vim.lsp.start {
|
||||
name = 'nixd',
|
||||
cmd = { 'nixd' },
|
||||
root_dir = vim.fs.dirname(vim.fs.find(root_files, { upward = true })[1]),
|
||||
capabilities = require('user.lsp').make_client_capabilities(),
|
||||
capabilities = lsp.make_client_capabilities(),
|
||||
on_attach = lsp.on_attach,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -57,9 +57,6 @@ vim.api.nvim_set_keymap(
|
|||
{ noremap = true, silent = true, desc = 'debugger [r]epl' }
|
||||
)
|
||||
|
||||
-- LSP Fix
|
||||
vim.keymap.set('n', '<leader>f', vim.lsp.buf.code_action, { noremap = true, silent = true, desc = 'Code Action' })
|
||||
|
||||
-- Window Resizing
|
||||
vim.keymap.set('n', '<C-Left>', '<cmd>vertical resize -2<CR>', { noremap = true, silent = true })
|
||||
vim.keymap.set('n', '<C-Right>', '<cmd>vertical resize +2<CR>', { noremap = true, silent = true })
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue