1
0
mirror of https://github.com/janet-lang/janet synced 2024-11-28 11:09:54 +00:00

Merge pull request #589 from yumaikas/master

Add support for a profile.janet
This commit is contained in:
Calvin Rose 2021-01-16 18:29:00 -06:00 committed by GitHub
commit 95af205681
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3285,6 +3285,7 @@
(if-let [jp (getenv-alias "JANET_PATH")] (setdyn :syspath jp))
(if-let [jp (getenv-alias "JANET_HEADERPATH")] (setdyn :headerpath jp))
(if-let [jprofile (getenv-alias "JANET_PROFILE")] (setdyn :profilepath jprofile))
# Flag handlers
(def handlers
@ -3299,6 +3300,7 @@
-e code : Execute a string of janet
-d : Set the debug flag in the REPL
-r : Enter the REPL after running all scripts
-R : Disables loading profile.janet when JANET_PROFILE is present
-p : Keep on executing if there is a top-level error (persistent)
-q : Hide logo (quiet)
-k : Compile scripts but do not execute (flycheck)
@ -3332,7 +3334,8 @@
(set *no-file* false)
(eval-string (in args (+ i 1)))
2)
"d" (fn [&] (set *debug* true) 1)})
"d" (fn [&] (set *debug* true) 1)
"R" (fn [&] (setdyn :profilepath nil) 1)})
(defn- dohandler [n i &]
(def h (in handlers n))
@ -3374,6 +3377,9 @@
(file/flush stdout)
(file/read stdin :line buf))
(def env (make-env))
(when-let [profile.janet (dyn :profilepath)]
(def new-env (dofile profile.janet :exit true))
(merge-module env new-env "" false))
(if *debug* (put env :debug true))
(def getter (if *raw-stdin* getstdin getline))
(defn getchunk [buf p]