Fix on-attach
This commit is contained in:
@@ -1,45 +1,35 @@
|
||||
-- Code to run whenever a language server attaches to a buffer
|
||||
local on_attach = function(lsp_client, buffer_number)
|
||||
vim.api.nvim_create_autocmd('LspAttach', {
|
||||
group = vim.api.nvim_create_augroup('UserLspConfig', {}),
|
||||
callback = function(ev)
|
||||
-- Setup Inlay Hints
|
||||
-- Currently Requires Neovim >0.10 (Nightly)
|
||||
--vim.lsp.inlay_hint.enable(ev.buf, true)
|
||||
vim.lsp.inlay_hint.enable(true)
|
||||
|
||||
-- Setup Signs
|
||||
vim.diagnostic.config({
|
||||
signs = {
|
||||
text = {
|
||||
[vim.diagnostic.severity.ERROR] = "🛑",
|
||||
[vim.diagnostic.severity.WARN] = "⚠️",
|
||||
[vim.diagnostic.severity.HINT] = "💡",
|
||||
[vim.diagnostic.severity.INFO] = "ℹ️"
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
-- Setup Keybinds
|
||||
local keymap_opts = { buffer = ev.buf }
|
||||
vim.keymap.set('n', 'g[', vim.diagnostic.goto_prev, keymap_opts)
|
||||
vim.keymap.set('n', 'g]', vim.diagnostic.goto_next, keymap_opts)
|
||||
vim.keymap.set('n', 'ga', vim.lsp.buf.code_action, keymap_opts)
|
||||
vim.keymap.set('n', 'gh', vim.lsp.buf.hover, keymap_opts)
|
||||
vim.keymap.set('i', '<C-Space>', vim.lsp.buf.hover, keymap_opts)
|
||||
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, keymap_opts)
|
||||
vim.keymap.set('n', 'gs', vim.lsp.buf.signature_help, keymap_opts)
|
||||
vim.keymap.set('n', 'gD', vim.lsp.buf.type_definition, keymap_opts)
|
||||
vim.keymap.set('n', 'gr', vim.lsp.buf.references, keymap_opts)
|
||||
vim.keymap.set('n', 'g0', vim.lsp.buf.document_symbol, keymap_opts)
|
||||
vim.keymap.set('n', 'gW', vim.lsp.buf.workspace_symbol, keymap_opts)
|
||||
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, keymap_opts)
|
||||
--vim.keymap.set('n', '<Leader>a', rt.code_action_group.code_action_group, { buffer = bufnr })
|
||||
vim.keymap.set('n', 'gf', function()
|
||||
vim.lsp.buf.format { async = true }
|
||||
end, keymap_opts)
|
||||
end,
|
||||
-- Setup Signs
|
||||
vim.diagnostic.config({
|
||||
signs = {
|
||||
text = {
|
||||
[vim.diagnostic.severity.ERROR] = "🛑",
|
||||
[vim.diagnostic.severity.WARN] = "⚠️",
|
||||
[vim.diagnostic.severity.HINT] = "💡",
|
||||
[vim.diagnostic.severity.INFO] = "ℹ️"
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
-- Setup Keybinds
|
||||
local keymap_opts = { buffer = buffer_number }
|
||||
vim.keymap.set('n', 'g[', vim.diagnostic.goto_prev, keymap_opts)
|
||||
vim.keymap.set('n', 'g]', vim.diagnostic.goto_next, keymap_opts)
|
||||
vim.keymap.set('n', 'ga', vim.lsp.buf.code_action, keymap_opts)
|
||||
vim.keymap.set('n', 'gh', vim.lsp.buf.hover, keymap_opts)
|
||||
vim.keymap.set('i', '<C-Space>', vim.lsp.buf.hover, keymap_opts)
|
||||
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, keymap_opts)
|
||||
vim.keymap.set('n', 'gs', vim.lsp.buf.signature_help, keymap_opts)
|
||||
vim.keymap.set('n', 'gD', vim.lsp.buf.type_definition, keymap_opts)
|
||||
vim.keymap.set('n', 'gr', vim.lsp.buf.references, keymap_opts)
|
||||
vim.keymap.set('n', 'g0', vim.lsp.buf.document_symbol, keymap_opts)
|
||||
vim.keymap.set('n', 'gW', vim.lsp.buf.workspace_symbol, keymap_opts)
|
||||
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, keymap_opts)
|
||||
--vim.keymap.set('n', '<Leader>a', rt.code_action_group.code_action_group, { buffer = bufnr })
|
||||
vim.keymap.set('n', 'gf', function()
|
||||
vim.lsp.buf.format { async = true }
|
||||
end, keymap_opts)
|
||||
end
|
||||
|
||||
local servers = {
|
||||
|
||||
Reference in New Issue
Block a user