# HG changeset patch # User Adam Chlipala # Date 1283705406 14400 # Node ID a671c986f517b9e9c080aff8a1b878b2ab440527 # Parent be6e2cd8d9a919a6cb2e0699e1a8302c0d378505 Support multiple CSS classes for a single tag diff -r be6e2cd8d9a9 -r a671c986f517 lib/ur/basis.urs --- a/lib/ur/basis.urs Sat Sep 04 14:12:02 2010 -0400 +++ b/lib/ur/basis.urs Sun Sep 05 12:50:06 2010 -0400 @@ -563,6 +563,9 @@ (** XML *) type css_class +val classes : css_class -> css_class -> css_class +(* The equivalent of writing one class after the other, separated by a space, in + * an HTML 'class' attribute *) con tag :: {Type} -> {Unit} -> {Unit} -> {Type} -> {Type} -> Type diff -r be6e2cd8d9a9 -r a671c986f517 src/monoize.sml --- a/src/monoize.sml Sat Sep 04 14:12:02 2010 -0400 +++ b/src/monoize.sml Sun Sep 05 12:50:06 2010 -0400 @@ -2806,6 +2806,15 @@ ((L'.ESetval (e1, e2), loc), fm) end + | L.EFfiApp ("Basis", "classes", [s1, s2]) => + let + val (s1, fm) = monoExp (env, st, fm) s1 + val (s2, fm) = monoExp (env, st, fm) s2 + in + ((L'.EStrcat (s1, (L'.EStrcat ((L'.EPrim (Prim.String " "), loc), s2), loc)), loc), + fm) + end + | L.EApp ( (L.ECApp ( (L.ECApp ((L.EFfi ("Basis", "cdata"), _), _), _), diff -r be6e2cd8d9a9 -r a671c986f517 tests/css.ur --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/css.ur Sun Sep 05 12:50:06 2010 -0400 @@ -0,0 +1,6 @@ +style st1 +style st2 + +fun main () = return + Hi! + diff -r be6e2cd8d9a9 -r a671c986f517 tests/css.urp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/css.urp Sun Sep 05 12:50:06 2010 -0400 @@ -0,0 +1,1 @@ +css diff -r be6e2cd8d9a9 -r a671c986f517 tests/css.urs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/css.urs Sun Sep 05 12:50:06 2010 -0400 @@ -0,0 +1,1 @@ +val main : unit -> transaction page