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. // Static tasks configuration.
// //
// Example: // Example:
// { [
// "version": "1", {
// "tasks": [ "label": "Example task",
// { "command": "bash",
// "label": "human-readable label for UI", // rest of the parameters are optional
// "command": "bash", "args": ["-c", "for i in {1..5}; do echo \"Hello $i/5\"; sleep 1; done"],
// // rest of the parameters are optional // Env overrides for the command, will be appended to the terminal's environment from the settings.
// "args": ["-c", "for i in {1..10}; do echo \"Second $i\"; sleep 1; done"], "env": { "foo": "bar" },
// // Env overrides for the command, will be appended to the terminal's environment from the settings. // Current working directory to spawn the command into, defaults to current project root.
// "env": { "foo": "bar" }, //"cwd": "/path/to/working/directory",
// // Current working directory to spawn the command into, defaults to current project root. // Whether to use a new terminal tab or reuse the existing one to spawn the process, defaults to `false`.
// "cwd": "/path/to/working/directory", "use_new_terminal": false,
// // Whether to use a new terminal tab or reuse the existing one to spawn the process, defaults to `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`.
// "use_new_terminal": false, "allow_concurrent_runs": 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": []
}

View File

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

View File

@ -316,7 +316,7 @@ impl TerminalPanel {
let command = std::mem::take(&mut spawn_task.command); let command = std::mem::take(&mut spawn_task.command);
let args = std::mem::take(&mut spawn_task.args); let args = std::mem::take(&mut spawn_task.args);
spawn_task.command = shell; 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); user_args.extend(args);
spawn_task.args = user_args; spawn_task.args = user_args;
} }