git herocmd improvements

This commit is contained in:
Timur Gordon
2025-08-29 10:17:34 +02:00
parent 566d871399
commit 3d86ec7cf5
5 changed files with 104 additions and 24 deletions

View File

@@ -72,6 +72,13 @@ pub fn cmd_run_add_flags(mut cmd_run Command) {
description: 'runs non interactive!'
})
cmd_run.add_flag(Flag{
flag: .string
name: 'heroscript'
abbrev: 'h'
description: 'runs non interactive!'
})
cmd_run.add_flag(Flag{
flag: .bool
name: 'reset'
@@ -143,14 +150,21 @@ pub fn plbook_code_get(cmd Command) !string {
// same as session_run_get but will also run the plbook
pub fn plbook_run(cmd Command) !(&playbook.PlayBook, string) {
path := plbook_code_get(cmd)!
if path.len == 0 {
return error(cmd.help_message())
heroscript := cmd.flags.get_string('heroscript') or { '' }
mut path := ''
mut plbook := if heroscript.len > 0 {
playbook.new(text: heroscript)!
} else {
path
= plbook_code_get(cmd)!
if path.len == 0 {
return error(cmd.help_message())
}
// add all actions inside to the plbook
playbook.new(path: path)!
}
// add all actions inside to the plbook
mut plbook := playbook.new(path: path)!
dagu := cmd.flags.get_bool('dagu') or { false }
playcmds.run(plbook: plbook)!
@@ -160,14 +174,15 @@ pub fn plbook_run(cmd Command) !(&playbook.PlayBook, string) {
return &plbook, path
}
fn plbook_edit_sourcetree(cmd Command) !(&playbook.PlayBook, string) {
fn plbook_edit_sourcetree(cmd Command) !&playbook.PlayBook {
edit := cmd.flags.get_bool('edit') or { false }
treedo := cmd.flags.get_bool('sourcetree') or { false }
mut plbook, path := plbook_run(cmd)!
if path.len == 0 {
return error('path or url needs to be specified')
// THIS CAN HAPPEN IF RUNNING HEROSCRIPT STRAIGHT FROM STRING
// return error('path or url needs to be specified')
}
if treedo {
@@ -179,5 +194,5 @@ fn plbook_edit_sourcetree(cmd Command) !(&playbook.PlayBook, string) {
vscode_.open()!
}
return plbook, path
return plbook
}