{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Run Extension",
            "type": "extensionHost",
            "request": "launch",
            "runtimeExecutable": "${execPath}",
            "args": [
                "--extensionDevelopmentPath=${workspaceFolder}/editors/vscode"
            ],
            "outFiles": [
                "${workspaceFolder}/editors/vscode/out/**/*.js"
            ],
            "preLaunchTask": "VS Code Extension Prelaunch"
        },
        {
            "name": "Run Extension [GPU Viewer]",
            "type": "extensionHost",
            "request": "launch",
            "runtimeExecutable": "${execPath}",
            "args": [
                "--extensionDevelopmentPath=${workspaceFolder}/editors/vscode",
                "--extensionDevelopmentPath=${workspaceFolder}/contrib/tinymist-gpu-viewer/editors/vscode",
                "${workspaceFolder}/editors/vscode/e2e-workspaces/gpu-viewer"
            ],
            "outFiles": [
                "${workspaceFolder}/editors/vscode/out/**/*.js",
                "${workspaceFolder}/contrib/tinymist-gpu-viewer/editors/vscode/out/**/*.js"
            ],
            "preLaunchTask": "VS Code Extension Prelaunch [GPU Viewer]"
        },
        {
            "name": "Run Extension [Web]",
            "type": "extensionHost",
            "request": "launch",
            "runtimeExecutable": "${execPath}",
            "args": [
                "--extensionDevelopmentKind=web",
                "--extensionDevelopmentPath=${workspaceFolder}/editors/vscode"
            ],
            "outFiles": [
                "${workspaceFolder}/editors/vscode/out/**/*.js"
            ],
            "preLaunchTask": "VS Code Extension Prelaunch [Web]"
        },
        {
            "name": "Run Extension [Release]",
            "type": "extensionHost",
            "request": "launch",
            "runtimeExecutable": "${execPath}",
            "args": [
                "--extensionDevelopmentPath=${workspaceFolder}/editors/vscode"
            ],
            "outFiles": [
                "${workspaceFolder}/editors/vscode/out/**/*.js"
            ],
            "preLaunchTask": "VS Code Extension Prelaunch [Release]"
        },
        {
            "name": "Run Extension [Typst Preview]",
            "type": "extensionHost",
            "request": "launch",
            "runtimeExecutable": "${execPath}",
            "args": [
                "--extensionDevelopmentPath=${workspaceFolder}/contrib/typst-preview/editors/vscode"
            ],
            "outFiles": [
                "${workspaceFolder}/contrib/typst-preview/editors/vscode/out/**/*.js"
            ],
            "preLaunchTask": "VS Code Extension Prelaunch Preview"
        },
        {
            "type": "lldb",
            "request": "launch",
            "name": "Debug unit tests in executable 'tinymist'",
            "cargo": {
                "args": [
                    "test",
                    "--no-run",
                    "--bin=tinymist",
                    "--package=tinymist"
                ],
                "filter": {
                    "name": "tinymist",
                    "kind": "bin"
                }
            },
            "args": [],
            "cwd": "${workspaceFolder}"
        },
        {
            "type": "lldb",
            "request": "launch",
            "name": "Debug unit tests in library 'tinymist-query'",
            "cargo": {
                "args": [
                    "test",
                    "--no-run",
                    "--lib",
                    "--package=tinymist-query"
                ],
                "filter": {
                    "name": "tinymist-query",
                    "kind": "lib"
                }
            },
            "args": [],
            "cwd": "${workspaceFolder}"
        },
        {
            "type": "lldb",
            "request": "launch",
            "name": "Debug unit tests in library 'tinymist-render'",
            "cargo": {
                "args": [
                    "test",
                    "--no-run",
                    "--lib",
                    "--package=tinymist-render"
                ],
                "filter": {
                    "name": "tinymist-render",
                    "kind": "lib"
                }
            },
            "args": [],
            "cwd": "${workspaceFolder}"
        },
        {
            "type": "lldb",
            "request": "launch",
            "name": "Debug integration test 'tinymist-e2e-tests'",
            "cargo": {
                "args": [
                    "test",
                    "--no-run",
                    "--test=tinymist-e2e-tests",
                    "--package=tests"
                ],
                "filter": {
                    "name": "tinymist-e2e-tests",
                    "kind": "test"
                }
            },
            "args": [],
            "cwd": "${workspaceFolder}"
        }
    ]
}
