local nonels_augroup = core.misc.augroup("nullls formatting") return { { "neovim/nvim-lspconfig", reqs = { "mason-org/mason.nvim", "mason-org/mason-lspconfig.nvim" }, load = function() core.lsp.setup() require("mason-lspconfig").setup { ensure_added = { "clangd", "mesonlsp", "bashls", "jdtls", "lua_ls", -- python "basedpyright", "black", "debugpy" } } end }, { "mason-org/mason.nvim", load = function() require("mason").setup { ui = { -- not sure why these are nerdfont icons by default icons = { package_installed = "+", package_pending = "?", package_uninstalled = "x" } } } end }, { "mfussenegger/nvim-jdtls", reqs = "mfussenegger/nvim-dap" }, { "nvimtools/none-ls.nvim", lazy = dep_short.ft("python"), load = function() local null_ls = require("null-ls") null_ls.setup { sources = { null_ls.builtins.formatting.black }, on_attach = function(client, bufnr) if client:supports_method("textDocument/formatting") then vim.api.nvim_clear_autocmds({ group = nonels_augroup, buffer = bufnr }) core.misc.auto("BufWritePre", { group = nonels_augroup, buffer = bufnr, callback = function() vim.lsp.buf.format({ bufnr = bufnr }) end }) end end } end } }