From bad7adde120773d46af83ab972967f26823e37b4 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Sat, 5 Dec 2015 12:04:06 -0500 Subject: New .urp directive: jsFile --- src/settings.sml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/settings.sml') 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 -- cgit v1.2.3