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/settings.sml | |
parent | 85341a176564ac3ce4e0a4ec4612262e2945660a (diff) |
New optional suffice for 'rewrite' in .urp files: [-]
Diffstat (limited to 'src/settings.sml')
-rw-r--r-- | src/settings.sml | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/settings.sml b/src/settings.sml index 78b02126..a9c2315c 100644 --- a/src/settings.sml +++ b/src/settings.sml @@ -326,7 +326,7 @@ datatype action = Allow | Deny type rule = { action : action, kind : pattern_kind, pattern : string } datatype path_kind = Any | Url | Table | Sequence | View | Relation | Cookie | Style -type rewrite = { pkind : path_kind, kind : pattern_kind, from : string, to : string } +type rewrite = { pkind : path_kind, kind : pattern_kind, from : string, to : string, hyphenate : bool } val rewrites = ref ([] : rewrite list) @@ -357,7 +357,15 @@ fun rewrite pk s = if subsume (pk, #pkind rewr) then case match () of NONE => rew ls - | SOME suffixStart => #to rewr ^ String.extract (s, suffixStart, NONE) + | SOME suffixStart => + let + val s = #to rewr ^ String.extract (s, suffixStart, NONE) + in + if #hyphenate rewr then + String.translate (fn #"_" => "-" | ch => str ch) s + else + s + end else rew ls end |