Files
dot/nvim/filetype.lua
2025-07-10 20:03:17 +02:00

104 lines
2.4 KiB
Lua

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,
})