X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/edf5dcbb8691753a607241508652acd680897949..9a34b0017d95d8ff3563a0afa583c92e6356ad6f:/src/main-client.sml?ds=sidebyside diff --git a/src/main-client.sml b/src/main-client.sml index ef083b4..1c6333d 100644 --- a/src/main-client.sml +++ b/src/main-client.sml @@ -31,12 +31,33 @@ fun domtoolRoot () = file = ".domtool"} end +fun libnameOpt () = + let + val libname = OS.Path.joinDirFile {dir = domtoolRoot (), + file = "lib.dtl"} + in + if Posix.FileSys.access (libname, []) then + SOME libname + else + NONE + end + val (doit, doitDir, args) = case CommandLine.arguments () of - "-tc" :: args => (fn fname => (Main.setupUser (); ignore (Main.check (Main.basis ()) fname)), + "-tc" :: args => (fn fname => + let + val _ : string = Main.setupUser () + val env = Main.basis () + val env = + case libnameOpt () of + NONE => env + | SOME libname => #1 (Main.check env libname) + in + ignore (Main.check env fname) + end, Main.checkDir, args) - | args => (Main.request, + | args => (fn fname => Main.request (fname, libnameOpt ()), Main.requestDir, args)