package main import ( "bufio" "flag" "fmt" "io/ioutil" "os" picol "github.com/dragonheim/gagent/pkg/picol" ) var fname = flag.String("f", "", "file name") func RunPicol(fname string) error { interp := picol.NewInterpreter() interp.RegisterCoreCommands() buf, err := ioutil.ReadFile(fname) if err == nil { result, err := interp.Eval(string(buf)) if err != nil { return fmt.Errorf("Error: %s, Result: %s", err, result) } } else { for { fmt.Print("picol> ") scanner := bufio.NewReader(os.Stdin) clibuf, _ := scanner.ReadString('\n') result, err := interp.Eval(clibuf[:len(clibuf)-1]) if len(result) != 0 { return fmt.Errorf("Error: %s, Result: %s", err, result) } } } return nil } func main() { flag.Parse() err := RunPicol(*fname) if err != nil { fmt.Println(err) } }