@@ -1,8 +1,8 @@
11package main
22
33import (
4− "fmt"
54 "flag"
5+ "fmt"
66 "os"
77 "strings"
88)
@@ -15,9 +15,9 @@ func main() {
1515 var code string
1616 var quiet bool
1717 var exp string
18−
18+
1919 defaultLangague := os.Args[0]
20− if defaultLangague == "prybar" || strings.ContainsAny(defaultLangague,"./") {
20+ if defaultLangague == "prybar" || strings.ContainsAny(defaultLangague, "./") {
2121 defaultLangague = "python2"
2222 }
2323
@@ -48,22 +48,25 @@ func main() {
4848 }
4949 if code != "" {
5050 lang.Eval(code)
51− }
51+ }
5252 if exp != "" {
5353 lang.EvalAndTryToPrint(exp)
5454 }
5555 if len(args) > 0 {
56− lang.EvalFile(args[0], args[1:])
56+ if _, err := os.Stat(args[0]); os.IsNotExist(err) {
57+ fmt.Println("No such file:", args[0])
58+ os.Exit(2)
59+ } else {
60+ lang.EvalFile(args[0], args[1:])
61+ }
5762 }
5863 if interactive {
5964 lang.REPL()
6065 } else if ourInteractive {
6166 LinenoiseSetCompleter(func(s string) []string {
62− return []string { s+"A", s+"B", s+"B"}
67+ return []string{s + "A", s + "B", s + "B"}
6368 })
6469 lang.InternalREPL()
6570 }
6671
67−
6872}
69−