// Static tasks configuration. // // Example: [ { "label": "lazygit", "command": "lazygit -p $ZED_WORKTREE_ROOT", "use_new_terminal": true, "reveal": "always", "reveal_target": "center", "hide": "always", }, { "label": "btop", "command": "btop", "use_new_terminal": true, "reveal": "always", "reveal_target": "center", "hide": "always", }, { "label": "Example task", "command": "for i in {1..5}; do echo \"Hello $i/5\"; sleep 1; done", //"args": [], // Env overrides for the command, will be appended to the terminal's environment from the settings. "env": { "foo": "bar" }, // Current working directory to spawn the command into, defaults to current project root. //"cwd": "/path/to/working/directory", // Whether to use a new terminal tab or reuse the existing one to spawn the process, defaults to `false`. "use_new_terminal": false, // Whether to allow multiple instances of the same task to be run, or rather wait for the existing ones to finish, defaults to `false`. "allow_concurrent_runs": false, // What to do with the terminal pane and tab, after the command was started: // * `always` — always show the task's pane, and focus the corresponding tab in it (default) // * `no_focus` — always show the task's pane, add the task's tab in it, but don't focus it // * `never` — do not alter focus, but still add/reuse the task's tab in its pane "reveal": "always", // Where to place the task's terminal item after starting the task: // * `dock` — in the terminal dock, "regular" terminal items' place (default) // * `center` — in the central pane group, "main" editor area "reveal_target": "dock", // What to do with the terminal pane and tab, after the command had finished: // * `never` — Do nothing when the command finishes (default) // * `always` — always hide the terminal tab, hide the pane also if it was the last tab in it // * `on_success` — hide the terminal tab on task success only, otherwise behaves similar to `always` "hide": "never", // Which shell to use when running a task inside the terminal. // May take 3 values: // 1. (default) Use the system's default terminal configuration in /etc/passwd // "shell": "system" // 2. A program: // "shell": { // "program": "sh" // } // 3. A program with arguments: // "shell": { // "with_arguments": { // "program": "/bin/bash", // "args": ["--login"] // } // } "shell": "system" } ]