X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/44a5ce2fefb401654d7578db21f7e4e88b60b851..539abe030fdace494d2163044467e1d8665589ff:/src/main-doc.sml diff --git a/src/main-doc.sml b/src/main-doc.sml index 3df2ad3..f088f8b 100644 --- a/src/main-doc.sml +++ b/src/main-doc.sml @@ -1,5 +1,5 @@ (* HCoop Domtool (http://hcoop.sourceforge.net/) - * Copyright (c) 2006, Adam Chlipala + * Copyright (c) 2006-2007, Adam Chlipala * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -18,19 +18,25 @@ (* Driver for documentation generation *) -fun processArgs (args, basis, outdir, files) = +fun processArgs (args, basis, outdir, files, emacs) = case args of - [] => (basis, outdir, files) - | "-basis" :: rest => processArgs (rest, true, outdir, files) - | "-out" :: dir :: rest => processArgs (rest, basis, dir, files) - | file :: rest => processArgs (rest, basis, outdir, file :: files) + [] => (basis, outdir, files, emacs) + | "-basis" :: rest => processArgs (rest, true, outdir, files, emacs) + | "-out" :: dir :: rest => processArgs (rest, basis, dir, files, emacs) + | "-emacs" :: rest => processArgs (rest, basis, outdir, files, true) + | file :: rest => + if size file > 0 andalso String.sub (file, 0) <> #"-" then + processArgs (rest, basis, outdir, file :: files, emacs) + else + raise Fail ("Uknown switch " ^ file) val _ = let - val (basis, outdir, files) = processArgs (CommandLine.arguments (), - false, - OS.FileSys.getDir (), - []) + val (basis, outdir, files, emacs) = processArgs (CommandLine.arguments (), + false, + OS.FileSys.getDir (), + [], + false) val files = if basis then Main.listBasis () @ files @@ -38,5 +44,8 @@ val _ = files in Tycheck.allowExterns (); - Autodoc.autodoc {outdir = outdir, infiles = files} + if emacs then + Autodoc.makeEmacsKeywords files + else + Autodoc.autodoc {outdir = outdir, infiles = files} end