diff --git a/lua/setup/my_dap.lua b/lua/setup/my_dap.lua index 7bc6712..470ef5c 100644 --- a/lua/setup/my_dap.lua +++ b/lua/setup/my_dap.lua @@ -1,5 +1,29 @@ dap = require('dap') +local function getPythonEnv() + local venv = os.getenv("VIRTUAL_ENV") + if venv ~= nil then + return string.format("%s/%s", venv, getVenvSuffix()) + end + local conda = os.getenv("CONDA_PREFIX") + if conda ~= nil then + return string.format("%s/%s", conda, 'python.exe') + end + + local cwd = vim.fn.getcwd() + if vim.fn.executable(cwd .. '/venv/' .. getVenvSuffix()) == 1 then + return cwd .. '/venv/' .. getVenvSuffix() + elseif vim.fn.executable(cwd .. '/.venv/' .. getVenvSuffix()) == 1 then + return cwd .. '/.venv/' .. getVenvSuffix() + else + if vim.loop.os_uname().sysname == 'Linux' then + return '/usr/bin/python' + elseif vim.loop.os_uname().sysname == 'Windows_NT' then + return os.getenv('SCOOP') .. '/apps/python/current/python.exe' + end + end +end + local function loadConfigs () require('dap.ext.vscode').load_launchjs() -- Make sure we use the correct python env even for the configs from launch.json @@ -51,30 +75,6 @@ dap.listeners.before.event_exited["dapui_config"] = function() dapui.close() end -local function getPythonEnv() - local venv = os.getenv("VIRTUAL_ENV") - if venv ~= nil then - return string.format("%s/%s", venv, getVenvSuffix()) - end - local conda = os.getenv("CONDA_PREFIX") - if conda ~= nil then - return string.format("%s/%s", conda, 'python.exe') - end - - local cwd = vim.fn.getcwd() - if vim.fn.executable(cwd .. '/venv/' .. getVenvSuffix()) == 1 then - return cwd .. '/venv/' .. getVenvSuffix() - elseif vim.fn.executable(cwd .. '/.venv/' .. getVenvSuffix()) == 1 then - return cwd .. '/.venv/' .. getVenvSuffix() - else - if vim.loop.os_uname().sysname == 'Linux' then - return '/usr/bin/python' - elseif vim.loop.os_uname().sysname == 'Windows_NT' then - return os.getenv('SCOOP') .. '/apps/python/current/python.exe' - end - end -end - dap.configurations.python = { { type = 'python';