return { { "nvimtools/none-ls.nvim", -- event = "BufReadPost", dependencies = { { "nvim-telescope/telescope-ui-select.nvim", lazy = true, config = function() -- This is your opts table require("telescope").setup { extensions = { ["ui-select"] = { -- require("telescope.themes").get_dropdown { -- -- even more opts -- } } } } require("telescope").load_extension("ui-select") end, }, }, opts = function() local null_ls = require('null-ls') return { border = 'rounded', on_attach = function(client, bufnr) local bufopts = { noremap = true, silent = true, buffer = bufnr } vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts) vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts) vim.keymap.set('n', 'k', vim.lsp.buf.hover, bufopts) vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts) vim.keymap.set('n', 'gt', vim.lsp.buf.type_definition, bufopts) vim.keymap.set('n', 'cw', "Lspsaga rename mode=n", bufopts) -- vim.keymap.set('n', 'ca', vim.lsp.buf.code_action, bufopts) vim.keymap.set('n', 'ca', 'Lspsaga code_action', bufopts) -- vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts) vim.keymap.set('n', 'cf', function() vim.lsp.buf.format { async = true } end, bufopts) vim.keymap.set('v', 'cf', function() vim.lsp.buf.format { async = true } end, bufopts) end, sources = { null_ls.builtins.diagnostics.trail_space.with { disabled_filetypes = { "lua" } }, null_ls.builtins.diagnostics.shellcheck, null_ls.builtins.code_actions.shellcheck, null_ls.builtins.formatting.jq, null_ls.builtins.code_actions.gitsigns, null_ls.builtins.diagnostics.flake8, null_ls.builtins.diagnostics.yamllint, null_ls.builtins.formatting.yamlfmt, null_ls.builtins.formatting.shfmt, null_ls.builtins.formatting.shellharden, null_ls.builtins.formatting.beautysh, }, } end, }, }