2 { "nvim-treesitter/nvim-treesitter",
3 opts = { ensure_installed = { "ninja", "rst" } },
5 { "neovim/nvim-lspconfig",
9 cmd_env = { RUFF_TRACE = "messages" },
18 rmz.lsp.action["source.organizeImports"],
19 desc = "Organize Imports",
26 rmz.lsp.on_attach(function(client, _)
27 -- Disable hover in favor of Pyright
28 client.server_capabilities.hoverProvider = false
35 "nvim-neotest/neotest",
37 "nvim-neotest/neotest-python",
41 ["neotest-python"] = {
42 dap = { justMyCode = false }},
47 "mfussenegger/nvim-dap",
49 "mfussenegger/nvim-dap-python",
51 { "<leader>dPt", function() require('dap-python').test_method() end, desc = "Debug Method", ft = "python" },
52 { "<leader>dPc", function() require('dap-python').test_class() end, desc = "Debug Class", ft = "python" },
55 local path = require("mason-registry").get_package("debugpy"):get_install_path()
56 require("dap-python").setup(path .. "/venv/bin/python")
60 { "jay-babu/mason-nvim-dap.nvim",
63 python = function() end,
65 ensure_installed = { "python" },
68 { "linux-cultist/venv-selector.nvim", enabled = false,
69 -- TODO needs fd to be installed (I don't know what that is)
70 branch = "regexp", -- Use this branch for the new version
75 notify_user_on_venv_activation = true,
79 -- Call config for python files and load the cached venv automatically
81 keys = { { "<leader>cv", "<cmd>:VenvSelect<cr>", desc = "Select VirtualEnv", ft = "python" } },
85 opts = function(_, opts)
86 opts.auto_brackets = opts.auto_brackets or {}
87 table.insert(opts.auto_brackets, "python")