return { -- Treesitter configuration { "nvim-treesitter/nvim-treesitter", opts = { ensure_installed = { "vim", "lua", "html", "css", "javascript", "typescript", "tsx", "php", "c", "make", "cmake", "cpp", "java", "python", "ninja", "rst", "markdown", "markdown_inline", "bash", "fish", "regex", "git_config", "gitcommit", "git_rebase", "gitignore", "gitattributes", "dockerfile", }, }, }, { "neovim/nvim-lspconfig", opts = { setup = { clangd = function(_, opts) opts.capabilities.offsetEncoding = { "utf-16" } end, }, }, }, -- LSP lens { "VidocqH/lsp-lens.nvim", event = "VeryLazy", opts = {}, }, { "zeioth/garbage-day.nvim", dependencies = "neovim/nvim-lspconfig", event = "VeryLazy", opts = {}, }, -- DAP and JTDLS (lsp) configuration for Java { "nvim-java/nvim-java", lazy = false, dependencies = { "nvim-java/lua-async-await", "nvim-java/nvim-java-core", "nvim-java/nvim-java-test", "nvim-java/nvim-java-dap", "nvim-java/nvim-java-refactor", "MunifTanjim/nui.nvim", "neovim/nvim-lspconfig", "mfussenegger/nvim-dap", { "williamboman/mason.nvim", opts = { registries = { "github:nvim-java/mason-registry", "github:mason-org/mason-registry", }, }, }, { "williamboman/mason-lspconfig.nvim", opts = { handlers = { ["jdtls"] = function() require("java").setup() require("lspconfig").jdtls.setup({}) end, }, }, }, }, }, }