Runnables: remove version field from the format (#8118)

This changes the format of runnables slightly (the top-level object is
now a sequence, not a map).
The 2nd commit pulls in aliases from .zshrc and co.
Release Notes:

- N/A
This commit is contained in:
Piotr Osiewicz 2024-02-21 14:30:16 +01:00 committed by GitHub
parent 2679457b02
commit b9151b9506
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 19 additions and 30 deletions

View File

@ -1,27 +1,19 @@
// Static tasks configuration.
//
// Example:
// {
// "version": "1",
// "tasks": [
// {
// "label": "human-readable label for UI",
// "command": "bash",
// // rest of the parameters are optional
// "args": ["-c", "for i in {1..10}; do echo \"Second $i\"; sleep 1; done"],
// // 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
// }
// ]
// }
//
{
"version": "1",
"tasks": []
}
[
{
"label": "Example task",
"command": "bash",
// rest of the parameters are optional
"args": ["-c", "for i in {1..5}; do echo \"Hello $i/5\"; sleep 1; done"],
// 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
}
]

View File

@ -48,10 +48,7 @@ pub(crate) struct Definition {
/// A group of Tasks defined in a JSON file.
#[derive(Clone, Debug, Default, PartialEq, Eq, Serialize, Deserialize, JsonSchema)]
pub struct DefinitionProvider {
version: String,
tasks: Vec<Definition>,
}
pub struct DefinitionProvider(Vec<Definition>);
impl DefinitionProvider {
/// Generates JSON schema of Tasks JSON definition format.
@ -121,7 +118,7 @@ impl StaticSource {
static_source.tasks = new_definitions
.read(cx)
.get()
.tasks
.0
.clone()
.into_iter()
.enumerate()

View File

@ -316,7 +316,7 @@ impl TerminalPanel {
let command = std::mem::take(&mut spawn_task.command);
let args = std::mem::take(&mut spawn_task.args);
spawn_task.command = shell;
user_args.extend(["-c".to_owned(), command]);
user_args.extend(["-i".to_owned(), "-c".to_owned(), command]);
user_args.extend(args);
spawn_task.args = user_args;
}