local vim = vim return { { "stevearc/conform.nvim", -- event = 'BufWritePre', -- uncomment for format on save opts = require "configs.conform", event = { "BufReadPre", "BufNewFile" }, }, -- These are some examples, uncomment them if you want to see them work! { "neovim/nvim-lspconfig", config = function() require "configs.lspconfig" end, }, { "mfussenegger/nvim-dap", lazy = true, }, { "jay-babu/mason-nvim-dap.nvim", opts = { handlers = {}, automatic_installations = { exclude = { "python", }, }, ensure_installed = { "python", }, }, dependencies = { "mfussenegger/nvim-dap", "williamboman/mason.nvim", }, }, { "mfussenegger/nvim-dap-python", lazy = true, config = function() local python = vim.fn.expand "~/.local/share/nvim/mason/packages/debugpy/venv/bin/python" require("dap-python").setup(python) end, dependencies = { "mfussenegger/nvim-dap", }, }, { "theHamsta/nvim-dap-virtual-text", config = true, dependencies = { "mfussenegger/nvim-dap", }, }, { "rcarriga/nvim-dap-ui", config = true, dependencies = { "mfussenegger/nvim-dap", "mfussenegger/nvim-dap-python", "nvim-neotest/nvim-nio", "theHamsta/nvim-dap-virtual-text", }, }, { "mfussenegger/nvim-lint", lazy = true, event = { "BufReadPre", "BufNewFile" }, config = function() require "configs.lint" end, }, { "nvim-treesitter/nvim-treesitter", opts = { ensure_installed = { "vim", "lua", "python", "markdown", }, }, }, { "nvim-treesitter/nvim-treesitter-context", lazy = false, config = function() require("treesitter-context").setup { enable = true, max_lines = 0, -- No limit } end, }, { "rktjmp/paperplanes.nvim", lazy = false, config = function() require("paperplanes").setup { provider = "dpaste.org", } end, }, { "folke/persistence.nvim", event = "BufReadPre", -- this will only start session saving when an actual file was opened }, { "NvChad/nvcommunity", { import = "nvcommunity.git.diffview" }, -- { import = "nvcommunity.git.lazygit" }, { import = "nvcommunity.completion.copilot" }, { "copilot.lua", cmd = "Copilot", event = "InsertEnter", config = function() require("copilot").setup { suggestion = { enabled = true, auto_trigger = true, hide_during_completion = true, debounce = 75, keymap = { accept = "", accept_word = false, accept_line = false, next = "", prev = "", dismiss = "", }, }, } end, }, }, { "folke/trouble.nvim", opts = {}, -- for default options, refer to the configuration section for custom setup. cmd = "Trouble", keys = { { "tx", "Trouble diagnostics toggle", desc = "Diagnostics (Trouble)", }, { "tX", "Trouble diagnostics toggle filter.buf=0", desc = "Buffer Diagnostics (Trouble)", }, { "cs", "Trouble symbols toggle focus=false", desc = "Symbols (Trouble)", }, { "cl", "Trouble lsp toggle focus=false win.position=right", desc = "LSP Definitions / references / ... (Trouble)", }, { "tL", "Trouble loclist toggle", desc = "Location List (Trouble)", }, { "tQ", "Trouble qflist toggle", desc = "Quickfix List (Trouble)", }, }, }, { "tpope/vim-surround", lazy = false, }, { "echasnovski/mini.nvim", version = "*", config = function() require("mini.diff").setup() require("mini.pick").setup() end, }, { "olimorris/codecompanion.nvim", dependencies = { "nvim-lua/plenary.nvim", "nvim-treesitter/nvim-treesitter", }, config = function() require "configs.codecompanion" end, lazy = false, }, -- Install a plugin { "max397574/better-escape.nvim", event = "InsertEnter", config = function() require("better_escape").setup() end, }, }