Skip to content

Commit

Permalink
execute binary files using --run with file number
Browse files Browse the repository at this point in the history
  • Loading branch information
lugenx committed Jan 28, 2025
1 parent 1daa73f commit 041774b
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 12 deletions.
Binary file added 250122a
Binary file not shown.
33 changes: 22 additions & 11 deletions flags.go
Original file line number Diff line number Diff line change
Expand Up @@ -98,23 +98,34 @@ func handleFlags(labVersion string, organizedFiles []os.DirEntry, labdir string)
fmt.Println(fileDir)

case "-r", "--run":
if (len(os.Args)) < 4 {

if (len(os.Args)) < 3 {
fmt.Println("\n " + Yellow + "Missing arguments. Use 'lab -r <number> <command>'\n\n" + Reset)
return
}
runner := strings.Join(os.Args[3:], " ")
if fileDir == "" || file == nil {
fmt.Println(Red + "No file specified to run. Provide a valid file number." + Reset)
return
}

var cmd *exec.Cmd
if strings.Contains(runner, "'") || strings.Contains(runner, "\"") {
parts := parseCommand(runner)
cmd = exec.Command(parts[0], append(parts[1:], fileDir)...)
var runner string

if len(os.Args) == 3 {
cmd = exec.Command(fileDir)
cmd.Dir = labdir
} else {
parts := strings.Fields(runner)
cmd = exec.Command(parts[0], append(parts[1:], fileDir)...)

runner = strings.Join(os.Args[3:], " ")
if fileDir == "" || file == nil {
fmt.Println(Red + "No file specified to run. Provide a valid file number." + Reset)
return
}
if strings.Contains(runner, "'") || strings.Contains(runner, "\"") {
parts := parseCommand(runner)
cmd = exec.Command(parts[0], append(parts[1:], fileDir)...)
} else {
parts := strings.Fields(runner)
cmd = exec.Command(parts[0], append(parts[1:], fileDir)...)
}
}

cmd.Stdin = os.Stdin
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
Expand Down
2 changes: 1 addition & 1 deletion main.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import (
"strings"
)

const labVersion = "1.2.1"
const labVersion = "1.2.2"

func checkRequiredConfigs(cfg map[string]string, keys []string) {
for _, key := range keys {
Expand Down

0 comments on commit 041774b

Please sign in to comment.