Refactor filetypes

This commit is contained in:
Martin
2025-06-30 22:29:01 +02:00
parent ff4743a0db
commit 1e9873bae4
4 changed files with 99 additions and 40 deletions

View File

@ -31,6 +31,8 @@
nvim-lint
todo-comments-nvim
# vim-startify
promise-async
nvim-ufo
vim-windowswap
vim-nix
plenary-nvim
@ -76,6 +78,7 @@
(lib.strings.fileContents ../../nvim/base.lua)
(lib.strings.fileContents ../../nvim/keymaps.lua)
(lib.strings.fileContents ../../nvim/plugins.lua)
(lib.strings.fileContents ../../nvim/filetype.lua)
];
};

View File

@ -46,7 +46,7 @@
};
};
initExtra = ''
initContent = ''
HISTCONTROL='erasedups:ignoreboth'
HISTIGNORE='&:[ ]*:exit:ls:bg:fg:history:clear'
unsetopt beep

50
nvim/filetype.lua Normal file
View File

@ -0,0 +1,50 @@
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.pyright.setup({ capabilities = capabilities })
require("conform").setup({
rust = {"rustfmt"},
})
end,
})
vim.api.nvim_create_autocmd('FileType', {
group = 'FileTypeConfigs',
pattern = 'markdown',
callback = function()
lspconfig.marksman.setup({ capabilities = capabilities })
require("todo-comments").setup()
end,
})

View File

@ -36,7 +36,7 @@ cmp.setup({
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.abort(),
['<Tab>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
['<Tab>'] = cmp.mapping.confirm({ select = false }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
}),
sources = cmp.config.sources({
@ -97,18 +97,30 @@ cmp.setup.cmdline(':', {
local capabilities = require('cmp_nvim_lsp').default_capabilities()
local lspconfig = require("lspconfig")
lspconfig.gopls.setup({ capabilities = capabilities })
lspconfig.svelte.setup({ capabilities = capabilities })
lspconfig.pyright.setup({ capabilities = capabilities })
lspconfig.omnisharp.setup({ capabilities = capabilities })
lspconfig.clangd.setup({ capabilities = capabilities })
lspconfig.dockerls.setup({ capabilities = capabilities })
lspconfig.docker_compose_language_service.setup({ capabilities = capabilities })
lspconfig.flow.setup({ capabilities = capabilities })
lspconfig.marksman.setup({ capabilities = capabilities })
lspconfig.sqls.setup({ capabilities = capabilities })
lspconfig.yamlls.setup({ capabilities = capabilities })
lspconfig.nil_ls.setup({ capabilities = capabilities })
-- lspconfig.svelte.setup({ capabilities = capabilities })
-- lspconfig.omnisharp.setup({ capabilities = capabilities })
-- lspconfig.clangd.setup({ capabilities = capabilities })
-- lspconfig.dockerls.setup({ capabilities = capabilities })
-- lspconfig.docker_compose_language_service.setup({ capabilities = capabilities })
-- lspconfig.flow.setup({ capabilities = capabilities })
-- lspconfig.sqls.setup({ capabilities = capabilities })
-- lspconfig.yamlls.setup({ capabilities = capabilities })
-- lspconfig.nil_ls.setup({ capabilities = capabilities })
-- local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities.textDocument.foldingRange = {
dynamicRegistration = false,
lineFoldingOnly = true
}
local language_servers = vim.lsp.get_clients() -- or list servers manually like {'gopls', 'clangd'}
for _, ls in ipairs(language_servers) do
require('lspconfig')[ls].setup({
capabilities = capabilities
-- you can add other fields for setting up lsp server in this table
})
end
require('ufo').setup()
require("yanky").setup({
ring = {
@ -270,6 +282,25 @@ require('gitsigns').setup {
},
}
require("trouble").setup()
require("dapui").setup()
require("nvim-dap-virtual-text").setup()
local dap, dapui = require("dap"), require("dapui")
dap.listeners.before.attach.dapui_config = function()
dapui.open()
end
dap.listeners.before.launch.dapui_config = function()
dapui.open()
end
dap.listeners.before.event_terminated.dapui_config = function()
dapui.close()
end
dap.listeners.before.event_exited.dapui_config = function()
dapui.close()
end
require("obsidian").setup({
workspaces = {
{
@ -290,30 +321,5 @@ require("obsidian").setup({
["!"] = { char = "", hl_group = "ObsidianImportant" },
},
},
disable_frontmatter = true,
})
require("conform").setup({
python = {"black"},
rust = {"rustfmt"},
go = {"gofmt"},
})
require("trouble").setup()
require("todo-comments").setup()
require("dapui").setup()
require("nvim-dap-virtual-text").setup()
local dap, dapui = require("dap"), require("dapui")
dap.listeners.before.attach.dapui_config = function()
dapui.open()
end
dap.listeners.before.launch.dapui_config = function()
dapui.open()
end
dap.listeners.before.event_terminated.dapui_config = function()
dapui.close()
end
dap.listeners.before.event_exited.dapui_config = function()
dapui.close()
end