// VS Code debug configurations for openrun.
// Requires the "Python" + "Python Debugger" extensions from Microsoft.
// Press F5 in any file to pick a configuration.
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Streamlit: openrun-web",
            "type": "debugpy",
            "request": "launch",
            "module": "streamlit",
            "args": [
                "run",
                "${workspaceFolder}/src/openrun/web/app.py",
                "--server.port=8501",
                "--browser.gatherUsageStats=false"
            ],
            // justMyCode=false lets you step into openrun + Streamlit internals.
            // Set to true if you only ever want to break in your own code.
            "justMyCode": false,
            "console": "integratedTerminal",
            "cwd": "${workspaceFolder}"
        },
        {
            "name": "Pytest: all tests",
            "type": "debugpy",
            "request": "launch",
            "module": "pytest",
            "args": ["tests", "-v"],
            "justMyCode": false,
            "console": "integratedTerminal",
            "cwd": "${workspaceFolder}"
        },
        {
            "name": "Pytest: current file",
            "type": "debugpy",
            "request": "launch",
            "module": "pytest",
            "args": ["${file}", "-v"],
            "justMyCode": false,
            "console": "integratedTerminal",
            "cwd": "${workspaceFolder}"
        },
        {
            "name": "Python: current file",
            "type": "debugpy",
            "request": "launch",
            "program": "${file}",
            "justMyCode": false,
            "console": "integratedTerminal",
            "cwd": "${workspaceFolder}"
        },
        {
            "name": "CLI: openrun-init",
            "type": "debugpy",
            "request": "launch",
            "module": "openrun.setup",
            "justMyCode": false,
            "console": "integratedTerminal",
            "cwd": "${workspaceFolder}"
        },
        {
            "name": "CLI: openrun-ingest <path>",
            "type": "debugpy",
            "request": "launch",
            "module": "openrun.ingest.garmin_export",
            "args": ["${input:exportPath}"],
            "justMyCode": false,
            "console": "integratedTerminal",
            "cwd": "${workspaceFolder}"
        },
        {
            "name": "CLI: openrun-link-fit <path>",
            "type": "debugpy",
            "request": "launch",
            "module": "openrun.ingest.fit_linker",
            "args": ["${input:exportPath}"],
            "justMyCode": false,
            "console": "integratedTerminal",
            "cwd": "${workspaceFolder}"
        },
        {
            "name": "CLI: openrun-link-fit --relink <new-root>",
            "type": "debugpy",
            "request": "launch",
            "module": "openrun.ingest.fit_linker",
            "args": ["${input:exportPath}", "--relink"],
            "justMyCode": false,
            "console": "integratedTerminal",
            "cwd": "${workspaceFolder}"
        },
        {
            "name": "CLI: openrun-sync",
            "type": "debugpy",
            "request": "launch",
            "module": "openrun.ingest.garmin_api",
            "justMyCode": false,
            "console": "integratedTerminal",
            "cwd": "${workspaceFolder}"
        }
    ],
    "inputs": [
        {
            "id": "exportPath",
            "type": "promptString",
            "description": "Path to a Garmin export folder or .zip"
        }
    ]
}
