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 }
[[commands.subcommand]]
path = ["debug"]
label = "Debug a package"
[[commands.subcommand.source]]
id = "src"
kind = "help"
url = "https://github.com/go-delve/delve/blob/master/Documentation/usage/dlv_debug.md"
evidence = """
dlv debug [package] [flags]
--continue Continue the debugged process on start.
--output string Output path for the binary.
--build-flags string Build flags, to be passed to the compiler. For example: --build-flags="-tags=integration -mod=vendor -cover -v"
--headless Run debug server only, in headless mode. Server will accept both JSON-RPC or DAP client connections.
-l, --listen string Debugging server listen address. Prefix with 'unix:' to use a unix domain socket. (default "127.0.0.1:0")
--wd string Working directory for running the program.
"""
[[commands.subcommand.field]]
id = "package"
label = "Package"
description = "Defaults to the main package in the current directory."
type = "string"
position = 0
sources = ["src"]
[[commands.subcommand.field]]
id = "continue"
label = "Continue on start"
type = "boolean"
option = ["--continue"]
sources = ["src"]
[[commands.subcommand.field]]
id = "output"
label = "Binary output path"
type = "path"
option = ["--output"]
path = { kind = "file", role = "output" }
sources = ["src"]
[[commands.subcommand.field]]
id = "build_flags"
label = "Build flags"
description = "Passed to the Go compiler, e.g. -tags=integration."
type = "string"
option = ["--build-flags"]
sources = ["src"]
[[commands.subcommand.field]]
id = "headless"
label = "Headless server"
description = "Run the debug server only, without a terminal client."
type = "boolean"
option = ["--headless"]
sources = ["src"]
[[commands.subcommand.field]]
id = "listen"
label = "Listen address"
type = "string"
option = ["--listen", "-l"]
sources = ["src"]
[[commands.subcommand.field]]
id = "wd"
label = "Working directory"
type = "path"
option = ["--wd"]
path = { kind = "directory", role = "input" }
sources = ["src"]
[[commands.subcommand.task]]
id = "debug"
label = "Debug a package"
fields = ["package", "continue", "build_flags"]
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["package", "continue"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["output", "build_flags", "headless", "listen", "wd"]
[[commands.subcommand]]
path = ["test"]
label = "Debug tests"
[[commands.subcommand.source]]
id = "src"
kind = "help"
url = "https://github.com/go-delve/delve/blob/master/Documentation/usage/dlv_test.md"
evidence = """
dlv test [package] [flags]
--output string Output path for the binary.
--build-flags string Build flags, to be passed to the compiler. For example: --build-flags="-tags=integration -mod=vendor -cover -v"
--headless Run debug server only, in headless mode. Server will accept both JSON-RPC or DAP client connections.
-l, --listen string Debugging server listen address. Prefix with 'unix:' to use a unix domain socket. (default "127.0.0.1:0")
--wd string Working directory for running the program.
"""
[[commands.subcommand.field]]
id = "package"
label = "Package"
description = "Defaults to the package in the current directory."
type = "string"
position = 0
sources = ["src"]
[[commands.subcommand.field]]
id = "output"
label = "Test binary output path"
type = "path"
option = ["--output"]
path = { kind = "file", role = "output" }
sources = ["src"]
[[commands.subcommand.field]]
id = "build_flags"
label = "Build flags"
description = "Passed to the Go compiler, e.g. -tags=integration."
type = "string"
option = ["--build-flags"]
sources = ["src"]
[[commands.subcommand.field]]
id = "headless"
label = "Headless server"
description = "Run the debug server only, without a terminal client."
type = "boolean"
option = ["--headless"]
sources = ["src"]
[[commands.subcommand.field]]
id = "listen"
label = "Listen address"
type = "string"
option = ["--listen", "-l"]
sources = ["src"]
[[commands.subcommand.field]]
id = "wd"
label = "Working directory"
type = "path"
option = ["--wd"]
path = { kind = "directory", role = "input" }
sources = ["src"]
[[commands.subcommand.task]]
id = "test"
label = "Debug package tests"
fields = ["package", "build_flags"]
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["package"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["output", "build_flags", "headless", "listen", "wd"]
[[commands.subcommand]]
path = ["exec"]
label = "Debug a binary"
[[commands.subcommand.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]
--continue Continue the debugged process on start.
--headless Run debug server only, in headless mode. Server will accept both JSON-RPC or DAP client connections.
-l, --listen string Debugging server listen address. Prefix with 'unix:' to use a unix domain socket. (default "127.0.0.1:0")
--wd string Working directory for running the program.
"""
[[commands.subcommand.field]]
id = "binary"
label = "Binary"
type = "path"
position = 0
path = { kind = "file", role = "input" }
sources = ["src"]
[[commands.subcommand.field]]
id = "continue"
label = "Continue on start"
type = "boolean"
option = ["--continue"]
sources = ["src"]
[[commands.subcommand.field]]
id = "headless"
label = "Headless server"
description = "Run the debug server only, without a terminal client."
type = "boolean"
option = ["--headless"]
sources = ["src"]
[[commands.subcommand.field]]
id = "listen"
label = "Listen address"
type = "string"
option = ["--listen", "-l"]
sources = ["src"]
[[commands.subcommand.field]]
id = "wd"
label = "Working directory"
type = "path"
option = ["--wd"]
path = { kind = "directory", role = "input" }
sources = ["src"]
[[commands.subcommand.task]]
id = "exec"
label = "Debug a binary"
fields = ["binary", "continue"]
required = ["binary"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["binary", "continue"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["headless", "listen", "wd"]