-- Extra language server protocol options return { { -- Bulb in gutter for code actions "kosayoda/nvim-lightbulb", config = function() require("nvim-lightbulb").setup({ autocmd = { enabled = true }, number = { enabled = true }, }) end, }, { -- LSP Diagnostics in top right "dgagn/diagflow.nvim", opts = { scope = "line" }, }, { "mfussenegger/nvim-jdtls" }, { "chrisbra/csv.vim", }, { -- Merge lines "Wansmer/treesj", keys = { "m", }, dependencies = { "nvim-treesitter/nvim-treesitter" }, config = function() require("treesj").setup({}) end, }, { -- Treesitter config "nvim-treesitter/nvim-treesitter", opts = { ensure_installed = { "bash", "html", "javascript", "java", "json", "lua", "markdown", "markdown_inline", "python", "query", "regex", "tsx", "typescript", "vim", "yaml", }, }, }, { -- Mason config "mason-org/mason.nvim", opts = { ui = { border = "rounded" }, ensure_installed = { "bash-language-server", "prettierd", "css-lsp", "ruff-lsp", "pyright", "autopep8", "shellcheck", "sonarlint-language-server", }, }, }, { "mason-org/mason-lspconfig.nvim" }, { "neovim/nvim-lspconfig", opts = { inlay_hints = { enabled = false }, } }, { url = "https://gitlab.com/schrieveslaach/sonarlint.nvim", ft = { "python", "typescript", "typescriptreact", "typescript.tsx", "javascript", "javascriptreact" }, dependencies = { "mfussenegger/nvim-jdtls", }, config = function() require("sonarlint").setup({ server = { cmd = { "sonarlint-language-server", "-stdio", "-analyzers", vim.fn.stdpath("data") .. "/mason/share/sonarlint-analyzers/sonarpython.jar", vim.fn.stdpath("data") .. "/mason/share/sonarlint-analyzers/sonarjs.jar", vim.fn.stdpath("data") .. "/mason/share/sonarlint-analyzers/sonarjava.jar", }, }, filetypes = { "python", "typescript", "typescriptreact", "javascript", "javascriptreact", }, }) end, }, { "MeanderingProgrammer/markdown.nvim", main = "render-markdown", opts = {}, name = "render-markdown", dependencies = { "nvim-treesitter/nvim-treesitter", "nvim-tree/nvim-web-devicons" }, }, }