Add basic bash and Python tasks (#10548)
Part of https://github.com/zed-industries/zed/issues/5141 * adds "run selection" and "run file" tasks for bash and Python. * replaces newlines with `\n` symbols in the human-readable task labels * properly escapes task command arguments when spawning the task in terminal Caveats: * bash tasks will always use user's default shell to spawn the selections, but they should rather respect the shebang line even if it's not selected * Python tasks will always use `python3` to spawn its tasks now, as there's no proper mechanism in Zed to deal with different Python executables Release Notes: - Added tasks for bash and Python to execute selections and open files in terminal
This commit is contained in:
parent
1911a9f39b
commit
db48c75231
11 changed files with 100 additions and 17 deletions
18
crates/languages/src/bash.rs
Normal file
18
crates/languages/src/bash.rs
Normal file
|
@ -0,0 +1,18 @@
|
|||
use language::ContextProviderWithTasks;
|
||||
use task::{TaskTemplate, TaskTemplates, VariableName};
|
||||
|
||||
pub(super) fn bash_task_context() -> ContextProviderWithTasks {
|
||||
ContextProviderWithTasks::new(TaskTemplates(vec![
|
||||
TaskTemplate {
|
||||
label: "execute selection".to_owned(),
|
||||
command: VariableName::SelectedText.template_value(),
|
||||
ignore_previously_resolved: true,
|
||||
..TaskTemplate::default()
|
||||
},
|
||||
TaskTemplate {
|
||||
label: format!("run '{}'", VariableName::File.template_value()),
|
||||
command: VariableName::File.template_value(),
|
||||
..TaskTemplate::default()
|
||||
},
|
||||
]))
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue