{
  "id": "delve",
  "name": "Delve",
  "homepage": "https://github.com/go-delve/delve",
  "description": "A debugger for the Go programming language.",
  "executables": [
    "dlv"
  ],
  "dotfiles": {
    "paths": [
      "[configHome]/dlv/config.yml",
      "~/.dlv/config.yml"
    ],
    "exclude": [],
    "secret": []
  },
  "commands": {
    "format": 1,
    "label": "Debug Go code",
    "description": "Start a Delve debug session for a package, its tests or a built binary. Attach, core, trace, DAP and redirect options are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": false
    },
    "subcommand": [
      {
        "path": [
          "debug"
        ],
        "label": "Debug a package",
        "source": [
          {
            "id": "src",
            "kind": "help",
            "url": "https://github.com/go-delve/delve/blob/master/Documentation/usage/dlv_debug.md",
            "evidence": "dlv debug [package] [flags]\n      --continue        Continue the debugged process on start.\n      --output string   Output path for the binary.\n      --build-flags string               Build flags, to be passed to the compiler. For example: --build-flags=\"-tags=integration -mod=vendor -cover -v\"\n      --headless                         Run debug server only, in headless mode. Server will accept both JSON-RPC or DAP client connections.\n  -l, --listen string                    Debugging server listen address. Prefix with 'unix:' to use a unix domain socket. (default \"127.0.0.1:0\")\n      --wd string                        Working directory for running the program.\n"
          }
        ],
        "field": [
          {
            "id": "package",
            "label": "Package",
            "description": "Defaults to the main package in the current directory.",
            "type": "string",
            "position": 0,
            "sources": [
              "src"
            ]
          },
          {
            "id": "continue",
            "label": "Continue on start",
            "type": "boolean",
            "option": [
              "--continue"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "output",
            "label": "Binary output path",
            "type": "path",
            "option": [
              "--output"
            ],
            "path": {
              "kind": "file",
              "role": "output"
            },
            "sources": [
              "src"
            ]
          },
          {
            "id": "build_flags",
            "label": "Build flags",
            "description": "Passed to the Go compiler, e.g. -tags=integration.",
            "type": "string",
            "option": [
              "--build-flags"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "headless",
            "label": "Headless server",
            "description": "Run the debug server only, without a terminal client.",
            "type": "boolean",
            "option": [
              "--headless"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "listen",
            "label": "Listen address",
            "type": "string",
            "option": [
              "--listen",
              "-l"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "wd",
            "label": "Working directory",
            "type": "path",
            "option": [
              "--wd"
            ],
            "path": {
              "kind": "directory",
              "role": "input"
            },
            "sources": [
              "src"
            ]
          }
        ],
        "task": [
          {
            "id": "debug",
            "label": "Debug a package",
            "fields": [
              "package",
              "continue",
              "build_flags"
            ],
            "required": []
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "package",
              "continue"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "output",
              "build_flags",
              "headless",
              "listen",
              "wd"
            ]
          }
        ]
      },
      {
        "path": [
          "test"
        ],
        "label": "Debug tests",
        "source": [
          {
            "id": "src",
            "kind": "help",
            "url": "https://github.com/go-delve/delve/blob/master/Documentation/usage/dlv_test.md",
            "evidence": "dlv test [package] [flags]\n      --output string   Output path for the binary.\n      --build-flags string               Build flags, to be passed to the compiler. For example: --build-flags=\"-tags=integration -mod=vendor -cover -v\"\n      --headless                         Run debug server only, in headless mode. Server will accept both JSON-RPC or DAP client connections.\n  -l, --listen string                    Debugging server listen address. Prefix with 'unix:' to use a unix domain socket. (default \"127.0.0.1:0\")\n      --wd string                        Working directory for running the program.\n"
          }
        ],
        "field": [
          {
            "id": "package",
            "label": "Package",
            "description": "Defaults to the package in the current directory.",
            "type": "string",
            "position": 0,
            "sources": [
              "src"
            ]
          },
          {
            "id": "output",
            "label": "Test binary output path",
            "type": "path",
            "option": [
              "--output"
            ],
            "path": {
              "kind": "file",
              "role": "output"
            },
            "sources": [
              "src"
            ]
          },
          {
            "id": "build_flags",
            "label": "Build flags",
            "description": "Passed to the Go compiler, e.g. -tags=integration.",
            "type": "string",
            "option": [
              "--build-flags"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "headless",
            "label": "Headless server",
            "description": "Run the debug server only, without a terminal client.",
            "type": "boolean",
            "option": [
              "--headless"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "listen",
            "label": "Listen address",
            "type": "string",
            "option": [
              "--listen",
              "-l"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "wd",
            "label": "Working directory",
            "type": "path",
            "option": [
              "--wd"
            ],
            "path": {
              "kind": "directory",
              "role": "input"
            },
            "sources": [
              "src"
            ]
          }
        ],
        "task": [
          {
            "id": "test",
            "label": "Debug package tests",
            "fields": [
              "package",
              "build_flags"
            ],
            "required": []
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "package"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "output",
              "build_flags",
              "headless",
              "listen",
              "wd"
            ]
          }
        ]
      },
      {
        "path": [
          "exec"
        ],
        "label": "Debug a binary",
        "source": [
          {
            "id": "src",
            "kind": "help",
            "url": "https://github.com/go-delve/delve/blob/master/Documentation/usage/dlv_exec.md",
            "evidence": "dlv exec <path/to/binary> [flags]\n      --continue     Continue the debugged process on start.\n      --headless                         Run debug server only, in headless mode. Server will accept both JSON-RPC or DAP client connections.\n  -l, --listen string                    Debugging server listen address. Prefix with 'unix:' to use a unix domain socket. (default \"127.0.0.1:0\")\n      --wd string                        Working directory for running the program.\n"
          }
        ],
        "field": [
          {
            "id": "binary",
            "label": "Binary",
            "type": "path",
            "position": 0,
            "path": {
              "kind": "file",
              "role": "input"
            },
            "sources": [
              "src"
            ]
          },
          {
            "id": "continue",
            "label": "Continue on start",
            "type": "boolean",
            "option": [
              "--continue"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "headless",
            "label": "Headless server",
            "description": "Run the debug server only, without a terminal client.",
            "type": "boolean",
            "option": [
              "--headless"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "listen",
            "label": "Listen address",
            "type": "string",
            "option": [
              "--listen",
              "-l"
            ],
            "sources": [
              "src"
            ]
          },
          {
            "id": "wd",
            "label": "Working directory",
            "type": "path",
            "option": [
              "--wd"
            ],
            "path": {
              "kind": "directory",
              "role": "input"
            },
            "sources": [
              "src"
            ]
          }
        ],
        "task": [
          {
            "id": "exec",
            "label": "Debug a binary",
            "fields": [
              "binary",
              "continue"
            ],
            "required": [
              "binary"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "binary",
              "continue"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "headless",
              "listen",
              "wd"
            ]
          }
        ]
      }
    ]
  }
}
