1// Project tasks configuration. See https://zed.dev/docs/tasks for documentation.
 2//
 3// Example:
 4[
 5  {
 6    "label": "Example task",
 7    "command": "for i in {1..5}; do echo \"Hello $i/5\"; sleep 1; done",
 8    //"args": [],
 9    // Env overrides for the command, will be appended to the terminal's environment from the settings.
10    "env": { "foo": "bar" },
11    // Current working directory to spawn the command into, defaults to current project root.
12    //"cwd": "/path/to/working/directory",
13    // Whether to use a new terminal tab or reuse the existing one to spawn the process, defaults to `false`.
14    "use_new_terminal": false,
15    // Whether to allow multiple instances of the same task to be run, or rather wait for the existing ones to finish, defaults to `false`.
16    "allow_concurrent_runs": false,
17    // What to do with the terminal pane and tab, after the command was started:
18    // * `always` — always show the task's pane, and focus the corresponding tab in it (default)
19    // * `no_focus` — always show the task's pane, add the task's tab in it, but don't focus it
20    // * `never` — do not alter focus, but still add/reuse the task's tab in its pane
21    "reveal": "always",
22    // Where to place the task's terminal item after starting the task:
23    // * `dock` — in the terminal dock, "regular" terminal items' place (default)
24    // * `center` — in the central pane group, "main" editor area
25    "reveal_target": "dock",
26    // What to do with the terminal pane and tab, after the command had finished:
27    // * `never` — Do nothing when the command finishes (default)
28    // * `always` — always hide the terminal tab, hide the pane also if it was the last tab in it
29    // * `on_success` — hide the terminal tab on task success only, otherwise behaves similar to `always`
30    "hide": "never",
31    // Which shell to use when running a task inside the terminal.
32    // May take 3 values:
33    // 1. (default) Use the system's default terminal configuration in /etc/passwd
34    //      "shell": "system"
35    // 2. A program:
36    //      "shell": {
37    //        "program": "sh"
38    //      }
39    // 3. A program with arguments:
40    //     "shell": {
41    //         "with_arguments": {
42    //           "program": "/bin/bash",
43    //           "args": ["--login"]
44    //         }
45    //     }
46    "shell": "system",
47    // Whether to show the task line in the output of the spawned task, defaults to `true`.
48    "show_summary": true,
49    // Whether to show the command line in the output of the spawned task, defaults to `true`.
50    "show_command": true
51    // Represents the tags for inline runnable indicators, or spawning multiple tasks at once.
52    // "tags": []
53  }
54]