local actions = require("vern.actions.python") local config = require("vern.configs.python") ---@param bufnr integer Buffer to activate on : defaults to 0 ---@param user_opts? VernPythonConfig return function(bufnr, user_opts) ---@type VernPythonConfig local opts = vim.tbl_deep_extend("force", {}, config, user_opts or {}) vim.api.nvim_buf_create_user_command(bufnr, "CRun", function() if type(actions.run) == "function" then actions.run(opts) end end, { desc = "Run c project" }) -- vim.api.nvim_buf_create_user_command(bufnr, "Pythonpip", function(cmd_args) -- if actions.pip_install then -- actions.pip_install() -- end -- end, { nargs = "*", desc = "Install python packages" }) for key, def in pairs(opts.python.keybinds or {}) do if type(def.action) == "function" then vim.keymap.set("n", key, function() def.action(opts) end, { buffer = bufnr, silent = true, desc = def.desc, }) end end local root = require("vern.utils").proj_root() if not root then return end local venv_dir = nil if vim.uv.fs_stat(root .. "/venv/bin/python") then venv_dir = root .. "/venv" elseif vim.uv.fs_stat(root .. "/.venv/bin/python") then venv_dir = root .. "/.venv" end if venv_dir then vim.env.VIRTUAL_ENV = venv_dir vim.env.PATH = venv_dir .. "/bin:" .. vim.env.PATH end end