diff options
author | Adam Chlipala <adam@chlipala.net> | 2012-05-06 15:27:30 -0400 |
---|---|---|
committer | Adam Chlipala <adam@chlipala.net> | 2012-05-06 15:27:30 -0400 |
commit | 6d454de6e5954f0e09adafca3141b5394bbc5140 (patch) | |
tree | ae765a83259f804f7dc7a8eeede51faec284ef07 /src/compiler.sml | |
parent | 85341a176564ac3ce4e0a4ec4612262e2945660a (diff) |
New optional suffice for 'rewrite' in .urp files: [-]
Diffstat (limited to 'src/compiler.sml')
-rw-r--r-- | src/compiler.sml | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/compiler.sml b/src/compiler.sml index dbc478f0..bd6ef493 100644 --- a/src/compiler.sml +++ b/src/compiler.sml @@ -426,7 +426,8 @@ fun parseUrp' accLibs fname = jsFuncs = [], rewrites = [{pkind = Settings.Any, kind = Settings.Prefix, - from = capitalize (OS.Path.file fname) ^ "/", to = ""}], + from = capitalize (OS.Path.file fname) ^ "/", to = "", + hyphenate = false}], filterUrl = [], filterMime = [], filterRequest = [], @@ -774,17 +775,19 @@ fun parseUrp' accLibs fname = | "jsFunc" => jsFuncs := ffiM () :: !jsFuncs | "rewrite" => let - fun doit (pkind, from, to) = + fun doit (pkind, from, to, hyph) = let val pkind = parsePkind pkind val (kind, from) = parseFrom from in - rewrites := {pkind = pkind, kind = kind, from = from, to = to} :: !rewrites + rewrites := {pkind = pkind, kind = kind, from = from, to = to, hyphenate = hyph} :: !rewrites end in case String.tokens Char.isSpace arg of - [pkind, from, to] => doit (pkind, from, to) - | [pkind, from] => doit (pkind, from, "") + [pkind, from, to, "[-]"] => doit (pkind, from, to, true) + | [pkind, from, "[-]"] => doit (pkind, from, "", true) + | [pkind, from, to] => doit (pkind, from, to, false) + | [pkind, from] => doit (pkind, from, "", false) | _ => ErrorMsg.error "Bad 'rewrite' syntax" end | "allow" => |