aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/settings.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adam@chlipala.net>2015-12-05 12:04:06 -0500
committerGravatar Adam Chlipala <adam@chlipala.net>2015-12-05 12:04:06 -0500
commitbad7adde120773d46af83ab972967f26823e37b4 (patch)
treea1e8aac4d22273e103ddf675ee88f19b3fee2e0a /src/settings.sml
parent4635acd2d4e4404b2b1a89909cd765ac310d62c5 (diff)
New .urp directive: jsFile
Diffstat (limited to 'src/settings.sml')
-rw-r--r--src/settings.sml20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/settings.sml b/src/settings.sml
index 8300d621..650122ca 100644
--- a/src/settings.sml
+++ b/src/settings.sml
@@ -903,6 +903,25 @@ fun addFile {Uri, LoadFromFilename} =
fun listFiles () = map #2 (SM.listItems (!files))
+val jsFiles = ref (SM.empty : {Filename : string, Content : string} SM.map)
+
+fun addJsFile LoadFromFilename =
+ let
+ val path = OS.Path.concat (!filePath, LoadFromFilename)
+ val inf = TextIO.openIn path
+ in
+ jsFiles := SM.insert (!jsFiles,
+ path,
+ {Filename = LoadFromFilename,
+ Content = TextIO.inputAll inf});
+ TextIO.closeIn inf
+ end handle IO.Io _ =>
+ ErrorMsg.error ("Error loading file " ^ LoadFromFilename)
+ | OS.SysErr (s, _) =>
+ ErrorMsg.error ("Error loading file " ^ LoadFromFilename ^ " (" ^ s ^ ")")
+
+fun listJsFiles () = SM.listItems (!jsFiles)
+
fun reset () =
(urlPrefixFull := "/";
urlPrefix := "/";
@@ -945,6 +964,7 @@ fun reset () =
noMimeFile := false;
mimeTypes := NONE;
files := SM.empty;
+ jsFiles := SM.empty;
filePath := ".")
end