mirror of
https://github.com/zed-industries/zed.git
synced 2026-05-24 05:25:18 +00:00
Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [ ] Unsafe blocks (if any) have justifying comments - [ ] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [ ] Tests cover the new/changed behavior - [ ] Performance impact has been considered and is acceptable Closes #52926 Follow-up to #48861 cc @SomeoneToIgnore Release Notes: - Edited buffers are no longer saved by default before running a task, but you can still configure this using the "save" field in `tasks.json`. --------- Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
59 lines
2.9 KiB
JSON
59 lines
2.9 KiB
JSON
// Project tasks configuration. See https://zed.dev/docs/tasks for documentation.
|
|
//
|
|
// Example:
|
|
[
|
|
{
|
|
"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",
|
|
// Whether to show the task line in the output of the spawned task, defaults to `true`.
|
|
"show_summary": true,
|
|
// Whether to show the command line in the output of the spawned task, defaults to `true`.
|
|
"show_command": true,
|
|
// Which edited buffers to save before running the task:
|
|
// * `all` — save all edited buffers
|
|
// * `current` — save currently active buffer only
|
|
// * `none` — don't save any buffers
|
|
"save": "none",
|
|
// Represents the tags for inline runnable indicators, or spawning multiple tasks at once.
|
|
// "tags": []
|
|
},
|
|
]
|