diff src/settings.sml @ 2197:6eae499c56cb

New .urp directive: jsFile
author Adam Chlipala <adam@chlipala.net>
date Sat, 05 Dec 2015 12:04:06 -0500
parents fb113569519e
children 6fb9232ade99
line wrap: on
line diff
--- a/src/settings.sml	Fri Nov 27 15:28:12 2015 -0500
+++ b/src/settings.sml	Sat Dec 05 12:04:06 2015 -0500
@@ -903,6 +903,25 @@
 
 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 @@
      noMimeFile := false;
      mimeTypes := NONE;
      files := SM.empty;
+     jsFiles := SM.empty;
      filePath := ".")
 
 end