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]