// 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"
    }
]
