Files
neovim_conf/lua/plugins/init.lua
2025-10-05 16:58:08 +03:00

139 lines
2.3 KiB
Lua

return {
{
"stevearc/conform.nvim",
event = "BufWritePre", -- uncomment for format on save
opts = require("configs.conform"),
},
{
"neovim/nvim-lspconfig",
config = function()
require("configs.lspconfig")
end,
},
{ import = "nvchad.blink.lazyspec" },
{
"nvim-treesitter/nvim-treesitter",
opts = {
ensure_installed = {
"vim",
"lua",
"vimdoc",
"html",
"css",
"python",
"typst",
"c_sharp", -- C# treesitter support
"cpp",
"c",
"javascript",
"typescript",
"json",
},
},
},
{
"williamboman/mason.nvim",
opts = {
ensure_installed = {
-- LSP servers
"clangd",
"typescript-language-server",
"html-lsp",
"css-lsp",
"emmet-ls",
"eslint-lsp",
"pyright",
"tinymist",
"jdtls",
"omnisharp", -- C# LSP server
-- Formatters
"prettier",
"eslint_d",
"black", -- Python formatter
"isort",
"google-java-format",
"csharpier", -- C# formatter
-- Debuggers
"netcoredbg", -- C# debugger
-- Linters
"flake8",
},
},
},
{
"williamboman/mason-lspconfig.nvim",
dependencies = {
"williamboman/mason.nvim",
},
opts = {
ensure_installed = {
"clangd",
"pyright",
"jdtls",
"ts_ls",
"html",
"cssls",
"emmet_ls",
"eslint",
"omnisharp", -- Ensure OmniSharp is installed
},
automatic_installation = true,
},
},
-- C# specific plugins
{
"Hoffs/omnisharp-extended-lsp.nvim",
ft = "cs", -- Only load for C# files
},
-- Debug support
{
"mfussenegger/nvim-dap",
dependencies = {
"rcarriga/nvim-dap-ui",
},
config = function()
require("configs.csharp") -- This will set up C# debugging
end,
},
-- Python debugging
{
"mfussenegger/nvim-dap-python",
ft = "python",
dependencies = {
"mfussenegger/nvim-dap",
"rcarriga/nvim-dap-ui",
},
config = function()
local path = require("mason-registry").get_package("debugpy"):get_install_path()
require("dap-python").setup(path .. "/venv/bin/python")
end,
},
-- Java support
{
"mfussenegger/nvim-jdtls",
ft = "java",
},
-- Enhanced completion
{
"hrsh7th/nvim-cmp",
opts = function()
local M = require("nvchad.configs.cmp")
table.insert(M.sources, { name = "pyright" })
return M
end,
},
}