summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adam@chlipala.net>2014-11-16 14:39:38 -0500
committerGravatar Adam Chlipala <adam@chlipala.net>2014-11-16 14:39:38 -0500
commit86df1742d90c9ae13843188c0772554ed2eaa666 (patch)
tree0d0ee3699880632ea91cb7e09112789d51bc1aa7 /src
parent5f984d18d62f3290103540552a82b13c69e364df (diff)
Some more HTML5 input types
Diffstat (limited to 'src')
-rw-r--r--src/monoize.sml9
-rw-r--r--src/urweb.grm1
-rw-r--r--src/urweb.lex8
3 files changed, 14 insertions, 4 deletions
diff --git a/src/monoize.sml b/src/monoize.sml
index 96323c9e..9ca21058 100644
--- a/src/monoize.sml
+++ b/src/monoize.sml
@@ -3667,6 +3667,15 @@ fun monoExp (env, st, fm) (all as (e, loc)) =
| "search" => input "search"
| "url_" => input "url"
| "tel" => input "tel"
+ | "color" => input "color"
+ | "number" => input "number"
+ | "range" => input "range"
+ | "date" => input "date"
+ | "datetime" => input "datetime"
+ | "datetime_local" => input "datetime-local"
+ | "month" => input "month"
+ | "week" => input "week"
+ | "timeInput" => input "time"
| "textarea" =>
(case targs of
[_, (L.CName name, _)] =>
diff --git a/src/urweb.grm b/src/urweb.grm
index 85e5f092..5b568a8c 100644
--- a/src/urweb.grm
+++ b/src/urweb.grm
@@ -222,6 +222,7 @@ fun tagIn bt =
case bt of
"table" => "tabl"
| "url" => "url_"
+ | "datetime-local" => "datetime_local"
| _ => bt
datatype prop_kind = Delete | Update
diff --git a/src/urweb.lex b/src/urweb.lex
index 15ae448e..0d316ed2 100644
--- a/src/urweb.lex
+++ b/src/urweb.lex
@@ -277,19 +277,19 @@ xint = x[0-9a-fA-F][0-9a-fA-F];
continue ())
end);
-<INITIAL> "<" {id} "/>"=>(let
+<INITIAL> "<" {xmlid} "/>"=>(let
val tag = String.substring (yytext, 1, size yytext - 3)
in
Tokens.XML_BEGIN_END (tag, yypos, yypos + size yytext)
end);
-<INITIAL> "<" {id} ">"=> (let
+<INITIAL> "<" {xmlid} ">"=> (let
val tag = String.substring (yytext, 1, size yytext - 2)
in
YYBEGIN XML;
xmlTag := tag :: (!xmlTag);
Tokens.XML_BEGIN (tag, yypos, yypos + size yytext)
end);
-<XML> "</" {id} ">" => (let
+<XML> "</" {xmlid} ">" => (let
val id = String.substring (yytext, 2, size yytext - 3)
in
case !xmlTag of
@@ -304,7 +304,7 @@ xint = x[0-9a-fA-F][0-9a-fA-F];
Tokens.END_TAG (id, yypos, yypos + size yytext)
end);
-<XML> "<" {id} => (YYBEGIN XMLTAG;
+<XML> "<" {xmlid} => (YYBEGIN XMLTAG;
Tokens.BEGIN_TAG (String.extract (yytext, 1, NONE),
yypos, yypos + size yytext));