diff --git a/lua/cp/scraper.lua b/lua/cp/scraper.lua index 21cd697..d2613cf 100644 --- a/lua/cp/scraper.lua +++ b/lua/cp/scraper.lua @@ -25,15 +25,6 @@ end ---@param args string[] ---@param opts { sync?: boolean, ndjson?: boolean, on_event?: fun(ev: table), on_exit?: fun(result: table) } local function run_scraper(platform, subcommand, args, opts) - if not utils.setup_python_env() then - local msg = 'no Python environment available (install uv or nix)' - logger.log(msg, vim.log.levels.ERROR) - if opts and opts.on_exit then - opts.on_exit({ success = false, error = msg }) - end - return { success = false, error = msg } - end - local plugin_path = utils.get_plugin_path() local cmd = utils.get_python_cmd(platform, plugin_path) vim.list_extend(cmd, { subcommand }) diff --git a/lua/cp/utils.lua b/lua/cp/utils.lua index b602940..05a715d 100644 --- a/lua/cp/utils.lua +++ b/lua/cp/utils.lua @@ -129,8 +129,7 @@ local function discover_nix_python() end local plugin_path = M.get_plugin_path() - vim.notify('[cp.nvim] Building Python environment with nix...', vim.log.levels.INFO) - vim.cmd.redraw() + logger.log('Building Python environment with nix...', nil, true) local result = vim .system( { 'nix', 'build', plugin_path .. '#pythonEnv', '--no-link', '--print-out-paths' }, @@ -178,8 +177,6 @@ function M.setup_python_env() if vim.fn.executable('uv') == 1 then local plugin_path = M.get_plugin_path() logger.log('Python env: uv sync (dir=' .. plugin_path .. ')') - vim.notify('[cp.nvim] Setting up Python environment...', vim.log.levels.INFO) - vim.cmd.redraw() local env = vim.fn.environ() env.VIRTUAL_ENV = '' @@ -189,10 +186,7 @@ function M.setup_python_env() .system({ 'uv', 'sync' }, { cwd = plugin_path, text = true, env = env }) :wait() if result.code ~= 0 then - logger.log( - 'Failed to setup Python environment: ' .. (result.stderr or ''), - vim.log.levels.ERROR - ) + logger.log('Failed to setup Python environment: ' .. result.stderr, vim.log.levels.ERROR) return false end if result.stderr and result.stderr ~= '' then @@ -270,6 +264,10 @@ function M.check_required_runtime() return false, timeout.reason end + if not M.setup_python_env() then + return false, 'no Python environment available (install uv or nix)' + end + return true end