{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "build",
            "type": "node",
            "request": "launch",
            "args": ["src/index.ts", "build", "srcVal", "dest", "-b"],
            "runtimeArgs": ["--nolazy", "-r", "ts-node/register"],
            "sourceMaps": true,
            "cwd": "${workspaceRoot}",
            "protocol": "inspector",
        },
        {
            "name": "camel",
            "type": "node",
            "request": "launch",
            "args": ["src/index.ts", "camelcommand", "srcVal", "dest"],
            "runtimeArgs": ["--nolazy", "-r", "ts-node/register"],
            "sourceMaps": true,
            "cwd": "${workspaceRoot}",
            "protocol": "inspector",
        },        
        {
            "name": "build default",
            "type": "node",
            "request": "launch",
            "args": ["src/index.ts", "srcVal", "-o", "outputval", "-g"],
            "runtimeArgs": ["--nolazy", "-r", "ts-node/register"],
            "sourceMaps": true,
            "cwd": "${workspaceRoot}",
            "protocol": "inspector",
        },        
        {
            "name": "build optional passed",
            "type": "node",
            "request": "launch",
            "args": ["src/index.ts", "build", "optional", "srcVal", "destVal", "-o", "outputval", "-g"],
            "runtimeArgs": ["--nolazy", "-r", "ts-node/register"],
            "sourceMaps": true,
            "cwd": "${workspaceRoot}",
            "protocol": "inspector",
        },        
        {
            "name": "build optional NOT passed",
            "type": "node",
            "request": "launch",
            "args": ["src/index.ts", "build", "optional", "srcVal", "-o", "outputval", "-g"],
            "runtimeArgs": ["--nolazy", "-r", "ts-node/register"],
            "sourceMaps": true,
            "cwd": "${workspaceRoot}",
            "protocol": "inspector",
        },        

        {
            "name": "build Insufficient Args",
            "type": "node",
            "request": "launch",
            "args": ["src/index.ts", "build", "srcVal", "-o", "outputval", "-g"],
            "runtimeArgs": ["--nolazy", "-r", "ts-node/register"],
            "sourceMaps": true,
            "cwd": "${workspaceRoot}",
            "protocol": "inspector",
        },        
        {
            "name": "build sub",
            "type": "node",
            "request": "launch",
            "args": ["src/index.ts", "build", "sub", "srcVal", "destVal", "-o", "outputval"],
            "runtimeArgs": ["--nolazy", "-r", "ts-node/register"],
            "sourceMaps": true,
            "cwd": "${workspaceRoot}",
            "protocol": "inspector",
        },
        {
            "name": "help (build)",
            "type": "node",
            "request": "launch",
            "args": ["src/index.ts", "build", "-h"],
            "runtimeArgs": ["--nolazy", "-r", "ts-node/register"],
            "sourceMaps": true,
            "cwd": "${workspaceRoot}",
            "protocol": "inspector",
        },
        {
            "name": "help (global)",
            "type": "node",
            "request": "launch",
            "args": ["src/index.ts", "-h"],
            "runtimeArgs": ["--nolazy", "-r", "ts-node/register"],
            "sourceMaps": true,
            "cwd": "${workspaceRoot}",
            "protocol": "inspector",
        },

        {
            "name": "version",
            "type": "node",
            "request": "launch",
            "args": ["src/index.ts", "build", "-v"],
            "runtimeArgs": ["--nolazy", "-r", "ts-node/register"],
            "sourceMaps": true,
            "cwd": "${workspaceRoot}",
            "protocol": "inspector",
        },
        {
            "name": "No Command",
            "type": "node",
            "request": "launch",
            "args": ["src/index.ts",],
            "runtimeArgs": ["--nolazy", "-r", "ts-node/register"],
            "sourceMaps": true,
            "cwd": "${workspaceRoot}",
            "protocol": "inspector",
        },
        {
            "name": "Invalid option",
            "type": "node",
            "request": "launch",
            "args": ["src/index.ts", "build", "srcVal", "destVal", "-o", "outputval", "-g", "-x"],
            "runtimeArgs": ["--nolazy", "-r", "ts-node/register"],
            "sourceMaps": true,
            "cwd": "${workspaceRoot}",
            "protocol": "inspector",
        },
        {
            "name": "Too many arguments",
            "type": "node",
            "request": "launch",
            "args": ["src/index.ts", "build", "srcVal", "destVal", "extraArg", "-o", "outputval", "-g"],
            "runtimeArgs": ["--nolazy", "-r", "ts-node/register"],
            "sourceMaps": true,
            "cwd": "${workspaceRoot}",
            "protocol": "inspector",
        },
        {
            "name": "Variadic",
            "type": "node",
            "request": "launch",
            "args": ["src/index.ts", "variadic", "srcVal", "destVal", "extraArg1", "extraArg2", "-o", "outputval",],
            "runtimeArgs": ["--nolazy", "-r", "ts-node/register"],
            "sourceMaps": true,
            "cwd": "${workspaceRoot}",
            "protocol": "inspector",
        },        
        {
            "name": "Dynamic option",
            "type": "node",
            "request": "launch",
            "args": ["src/index.ts", "build", "-o", "outputval", "--dynamic-opt"],
            "runtimeArgs": ["--nolazy", "-r", "ts-node/register"],
            "sourceMaps": true,
            "cwd": "${workspaceRoot}",
            "protocol": "inspector",
        },        
        {
            "name": "Bad Command",
            "type": "node",
            "request": "launch",
            "args": ["src/index.ts", "biuld"],
            "runtimeArgs": ["--nolazy", "-r", "ts-node/register"],
            "sourceMaps": true,
            "cwd": "${workspaceRoot}",
            "protocol": "inspector",
        },        

    ]
}
