ZIm/crates/task/src
Anthony Eid 8add90d7cb
Set up Rust debugger code runner tasks (#27571)
## Summary 
This PR starts the process of adding debug task locators to Zed's
debugger system. A task locator is a secondary resolution phase that
allows a debug task to run a command before starting a debug session and
then uses the output of the run command to configure itself.

Locators are most applicable when debugging a compiled language but will
be helpful for any language as well.

## Architecture

At a high level, this works by adding a debug task queue to `Workspace`.
Which add's a debug configuration associated with a `TaskId` whenever a
resolved task with a debug config is added to `TaskInventory`'s queue.
Then, when the `SpawnInTerminal` task finishes running, it emits its
task_id and the result of the ran task.

When a ran task exits successfully, `Workspace` tells `Project` to start
a debug session using its stored debug config, then `DapStore` queries
the `LocatorStore` to configure the debug configuration if it has a
valid locator argument.

Release Notes:

- N/A
2025-03-29 02:10:40 -04:00
..
debug_format.rs Set up Rust debugger code runner tasks (#27571) 2025-03-29 02:10:40 -04:00
lib.rs Set up Rust debugger code runner tasks (#27571) 2025-03-29 02:10:40 -04:00
static_source.rs cx.background_executor().spawn(...) -> cx.background_spawn(...) (#25103) 2025-02-18 20:30:33 +00:00
task_template.rs Set up Rust debugger code runner tasks (#27571) 2025-03-29 02:10:40 -04:00
vscode_format.rs Use const over static for string literals (#18635) 2024-10-02 12:33:13 -04:00