1234567891011121314151617181920212223242526272829 |
- package main
- import (
- "fmt"
- se "git.swzry.com/ProjectNagae/saki-v0/engine"
- "github.com/urfave/cli/v2"
- )
- func CmdRun(c *cli.Context) error {
- if c.NArg() != 1 {
- return fmt.Errorf("invalid arguments:\nUsage: sakish exec <script_file>")
- }
- cfg, err := LoadConfig(c)
- if err != nil {
- return fmt.Errorf("failed to load config:\n%w", err)
- }
- cfg.SetArgsSpecifiedItemsForExec(c)
- engine := se.NewEngine(cfg)
- err = engine.Prepare()
- InitBuiltins(engine)
- if err != nil {
- return fmt.Errorf("failed to prepare script engine:\n%w", err)
- }
- err = engine.RunFile(c.Args().Get(0))
- if err != nil {
- return fmt.Errorf("failed to exec script:\n%w", err)
- }
- return nil
- }
|