Move lsp setup into filetype autocommands

This commit is contained in:
Martin Pander
2026-03-11 09:31:56 +01:00
parent 98169a672b
commit 433536db6a

View File

@@ -3,62 +3,128 @@ local capabilities = require('cmp_nvim_lsp').default_capabilities()
vim.api.nvim_create_augroup('FileTypeConfigs', { clear = true })
vim.api.nvim_create_autocmd('FileType', {
group = 'FileTypeConfigs',
group = vim.api.nvim_create_augroup('FileTypeConfigs', { clear = true }),
pattern = 'python',
once = true,
callback = function()
require('dap-python').setup()
-- lspconfig.pyright.setup({ capabilities = capabilities })
-- require("conform").setup({
-- python = {"black"},
-- })
end,
})
-- vim.api.nvim_create_autocmd('FileType', {
-- group = 'FileTypeConfigs',
-- pattern = 'go',
-- callback = function()
-- require('dap-python').setup()
require('dap-go').setup()
vim.api.nvim_create_autocmd('FileType', {
group = vim.api.nvim_create_augroup('FileTypeConfigs', { clear = true }),
pattern = 'go',
once = true,
callback = function()
vim.lsp.enable('ty')
vim.lsp.enable('gopls')
require('dap-go').setup()
end,
})
vim.api.nvim_create_autocmd('FileType', {
group = vim.api.nvim_create_augroup('FileTypeConfigs', { clear = true }),
pattern = 'proto',
once = true,
callback = function()
vim.lsp.config('buf_ls', {
cmd = { 'buf', 'lsp', 'serve' },
filetypes = { 'proto' },
root_markers = { 'buf.yaml', '.git' },
})
vim.lsp.enable('buf_ls')
end,
})
vim.api.nvim_create_autocmd('FileType', {
group = vim.api.nvim_create_augroup('FileTypeConfigs', { clear = true }),
pattern = 'markdown',
once = true,
callback = function()
vim.lsp.enable('marksman')
end,
})
vim.api.nvim_create_autocmd('FileType', {
group = vim.api.nvim_create_augroup('FileTypeConfigs', { clear = true }),
pattern = 'sql',
once = true,
callback = function()
vim.lsp.enable('sqls')
end,
})
vim.api.nvim_create_autocmd('FileType', {
group = vim.api.nvim_create_augroup('FileTypeConfigs', { clear = true }),
pattern = { 'dockerfile', 'yaml.docker-compose' },
once = true,
callback = function()
vim.lsp.enable('dockerls')
vim.lsp.enable('docker_compose_language_service')
end,
})
vim.api.nvim_create_autocmd('FileType', {
group = vim.api.nvim_create_augroup('FileTypeConfigs', { clear = true }),
pattern = 'rust',
once = true,
callback = function()
vim.lsp.enable('rust_analyzer')
end,
})
vim.api.nvim_create_autocmd('FileType', {
group = vim.api.nvim_create_augroup('FileTypeConfigs', { clear = true }),
pattern = { 'c', 'cpp' },
once = true,
callback = function()
vim.lsp.enable('clangd')
end,
})
vim.api.nvim_create_autocmd('FileType', {
group = vim.api.nvim_create_augroup('FileTypeConfigs', { clear = true }),
pattern = { 'zig' },
pattern = 'sql',
once = true,
callback = function()
vim.lsp.enable('zls')
end,
})
vim.api.nvim_create_autocmd('FileType', {
group = vim.api.nvim_create_augroup('FileTypeConfigs', { clear = true }),
pattern = { 'yaml' },
pattern = 'sql',
once = true,
callback = function()
vim.lsp.enable('yamlls')
end,
})
vim.api.nvim_create_autocmd('FileType', {
group = vim.api.nvim_create_augroup('FileTypeConfigs', { clear = true }),
pattern = { 'cs' },
pattern = 'sql',
once = true,
callback = function()
vim.lsp.enable('omnisharp')
end,
})
-- vim.lsp.enable('ruff')
-- vim.lsp.config('ty')
vim.lsp.enable('ty')
vim.lsp.enable('gopls')
vim.lsp.enable('marksman')
vim.lsp.enable('rust_analyzer')
vim.lsp.enable('dockerls')
vim.lsp.enable('docker_compose_language_service')
vim.lsp.enable('clangd')
vim.lsp.enable('sqls')
vim.lsp.enable('zls')
vim.lsp.enable('omnisharp')
vim.lsp.enable('yamlls')
-- lspconfig.gopls.setup({ capabilities = capabilities })
-- lspconfig.marksman.setup({ capabilities = capabilities })
-- lspconfig.rust_analyzer.setup({
-- capabilities = capabilities,
-- settings = {
-- ["rust-analyzer"] = {
-- checkOnSave = {
-- command = "clippy",
-- },
-- },
-- },
-- })
-- lspconfig.dockerls.setup({ capabilities = capabilities })
-- lspconfig.docker_compose_language_service.setup({ capabilities = capabilities })
-- lspconfig.clangd.setup({ capabilities = capabilities })
-- lspconfig.sqls.setup({ capabilities = capabilities })
-- lspconfig.zls.setup({ capabilities = capabilities })
-- lspconfig.omnisharp.setup({ capabilities = capabilities })
-- lspconfig.yamlls.setup({ capabilities = capabilities })
require("conform").setup({
go = {"gofmt"},
python = {"black"},
rust = {"rustfmt"},
format_on_save = {
timeout_ms = 500,
lsp_fallback = true,
},
})
-- end,
-- })