local capabilities = require('cmp_nvim_lsp').default_capabilities() local lspconfig = require("lspconfig") vim.api.nvim_create_augroup('FileTypeConfigs', { clear = true }) vim.api.nvim_create_autocmd('FileType', { group = 'FileTypeConfigs', pattern = 'python', 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() lspconfig.gopls.setup({ capabilities = capabilities }) require("conform").setup({ go = {"gofmt"}, }) end, }) vim.api.nvim_create_autocmd('FileType', { group = 'FileTypeConfigs', pattern = 'rust', callback = function() require('dap-python').setup() lspconfig.rust_analyzer.setup({ capabilities = capabilities, settings = { ["rust-analyzer"] = { checkOnSave = { command = "clippy", }, }, }, }) require("conform").setup({ rust = {"rustfmt"}, }) end, }) vim.api.nvim_create_autocmd('FileType', { group = 'FileTypeConfigs', pattern = 'markdown', callback = function() lspconfig.marksman.setup({ capabilities = capabilities }) end, }) vim.api.nvim_create_autocmd('FileType', { group = 'FileTypeConfigs', pattern = 'dockerfile', callback = function() lspconfig.dockerls.setup({ capabilities = capabilities }) lspconfig.docker_compose_language_service.setup({ capabilities = capabilities }) end, }) vim.api.nvim_create_autocmd('FileType', { group = 'FileTypeConfigs', pattern = 'cs', callback = function() lspconfig.omnisharp.setup({ capabilities = capabilities }) end, }) vim.api.nvim_create_autocmd('FileType', { group = 'FileTypeConfigs', pattern = 'yaml', callback = function() lspconfig.yamlls.setup({ capabilities = capabilities }) lspconfig.docker_compose_language_service.setup({ capabilities = capabilities }) end, }) vim.api.nvim_create_autocmd('FileType', { group = 'FileTypeConfigs', pattern = {'c', 'cpp', 'objc', 'objcpp'}, callback = function() lspconfig.clangd.setup({ capabilities = capabilities }) end, }) vim.api.nvim_create_autocmd('FileType', { group = 'FileTypeConfigs', pattern = 'sql', callback = function() lspconfig.sqls.setup({ capabilities = capabilities }) end, })