{
  // 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": [
    {
      "type": "lldb",
      "request": "attach",
      "name": "Attach to veilid-server",
      "program": "${workspaceFolder}/target/debug/veilid-server",
      "pid": "${command:pickMyProcess}"
    },
    {
      "type": "lldb",
      "request": "attach",
      "name": "Attach to veilid-flutter example",
      "program": "${workspaceFolder}/veilid-flutter/example/build/linux/x64/debug/bundle/veilid_example",
      "pid": "${command:pickMyProcess}"
    },
    {
      "type": "lldb",
      "request": "launch",
      "name": "Launch veilid-cli",
      "args": ["--debug"],
      "program": "${workspaceFolder}/target/debug/veilid-cli",
      "windows": {
        "program": "${workspaceFolder}/target/debug/veilid-cli.exe"
      },
      "cwd": "${workspaceFolder}/target/debug/",
      "sourceLanguages": ["rust"],
      "terminal": "console"
    },
    // {
    //   "type": "lldb",
    //   "request": "launch",
    //   "name": "Debug veilid-server",
    //   "cargo": {
    //     "args": ["run", "--manifest-path", "veilid-server/Cargo.toml"]
    //   },
    //   "args": ["--trace"],
    //   "cwd": "${workspaceFolder}/veilid-server"
    // }

    {
      "type": "lldb",
      "request": "launch",
      "name": "Debug veilid-server",
      "program": "${workspaceFolder}/target/debug/veilid-server",
      "args": ["--trace", "--attach=true"],
      "cwd": "${workspaceFolder}/target/debug/",
      "env": {
        "RUST_BACKTRACE": "1"
      },
      "terminal": "console"
    },

    {
      "type": "lldb",
      "request": "launch",
      "name": "Debug veilid-core unit test",
      "cargo": {
        "args": [
          "test",
          "--no-run",
          "--manifest-path",
          "veilid-core/Cargo.toml"
        ],
        "filter": {
          "kind": "cdylib",
          "name": "veilid-core"
        }
      },
      "args": ["${selectedText}"],
      "cwd": "${workspaceFolder}/target/debug/"
    },

    {
      "type": "lldb",
      "request": "launch",
      "name": "Debug veilid-server unit test",
      "cargo": {
        "args": [
          "test",
          "--no-run",
          "--manifest-path",
          "veilid-server/Cargo.toml"
        ],
        "filter": {
          "kind": "bin",
          "name": "veilid-server"
        }
      },
      "args": ["${selectedText}"],
      "cwd": "${workspaceFolder}/veilid-server"
    },

    {
      "type": "lldb",
      "request": "launch",
      "name": "Debug keyvaluedb-sqlite unit test",
      "cargo": {
        "args": [
          "test",
          "--no-run",
          "--manifest-path",
          "external/keyvaluedb/keyvaluedb-sqlite/Cargo.toml"
        ],
        "filter": {
          "kind": "lib",
          "name": "keyvaluedb-sqlite"
        }
      },
      "args": ["${selectedText}"],
      "cwd": "${workspaceFolder}/external/keyvaluedb/keyvaluedb-sqlite"
    }, 

    {
      "type": "lldb",
      "request": "launch",
      "name": "Debug keyring unit test",
      "cargo": {
        "args": [
          "test",
          "--no-run",
          "--manifest-path",
          "external/keyring-rs/Cargo.toml"
        ],
        "filter": {
          "kind": "staticlib",
          "name": "keyring"
        }
      },
      "args": ["${selectedText}"],
      "cwd": "${workspaceFolder}/external/keyring-rs"
    }
  ]
}