Skip to content

Commit 47f8f7f

Browse files
authored
Refine text tags (#232)
* Refine tags to a more specific type There is a regression introduced during the Scala 3 upgrade where the `scalatags.Text.all.doctype` case class no longer worked with the pre-existing tags since its second argument accepts a `scalatags.text.Frag` but the tags themselves refined to `<tag-name>.Self` (the <tag-name> is a placeholder for the tag's name). As it turns out, this self type was not being refined by the tags themselves because for some reason, the Scala 3 compiler resolves this type to be `scalatags.generic.TypedTag` i.e. it resolves to the more generic type as opposed to the more specific type of `scalatags.Text.TypedTag`. Fortunately in Scala 2, this works out fine as the type does get refined and therefore the tags can be used inside a `scalatags.text.Frag`. This commit essentially adds type annotations to all the tags under the text package so that the more specific `ConcreteHtmlTag[String]` is used instead of the more generic `TypedTag`. * Add doctype compilation test and fix extraneous warnings.
1 parent 2d4454c commit 47f8f7f

File tree

6 files changed

+193
-189
lines changed

6 files changed

+193
-189
lines changed

scalatags/src/scalatags/text/SvgTags.scala

+75-75
Original file line numberDiff line numberDiff line change
@@ -2,80 +2,80 @@ package scalatags
22
package text
33
trait SvgTags extends generic.SvgTags[Builder, String, String]
44
with TagFactory{
5-
lazy val altGlyph = tag("altGlyph")
6-
lazy val altGlyphDef = tag("altGlyphDef")
7-
lazy val altGlyphItem = tag("altGlyphItem")
8-
lazy val animate = tag("animate")
9-
lazy val animateMotion = tag("animateMotion")
10-
lazy val animateTransform = tag("animateTransform")
11-
lazy val circle = tag("circle")
12-
lazy val clipPath = tag("clipPath")
13-
lazy val `color-profile` = tag("color-profile")
14-
lazy val cursor = tag("cursor")
15-
lazy val defs = tag("defs")
16-
lazy val desc = tag("desc")
17-
lazy val ellipse = tag("ellipse")
18-
lazy val feBlend = tag("feBlend")
19-
lazy val feColorMatrix = tag("feColorMatrix")
20-
lazy val feComponentTransfer = tag("feComponentTransfer")
21-
lazy val feComposite = tag("feComposite")
22-
lazy val feConvolveMatrix = tag("feConvolveMatrix")
23-
lazy val feDiffuseLighting = tag("feDiffuseLighting")
24-
lazy val feDisplacementMap = tag("feDisplacementMap")
25-
lazy val feDistantLighting = tag("feDistantLighting")
26-
lazy val feFlood = tag("feFlood")
27-
lazy val feFuncA = tag("feFuncA")
28-
lazy val feFuncB = tag("feFuncB")
29-
lazy val feFuncG = tag("feFuncG")
30-
lazy val feFuncR = tag("feFuncR")
31-
lazy val feGaussianBlur = tag("feGaussianBlur")
32-
lazy val feImage = tag("feImage")
33-
lazy val feMerge = tag("feMerge")
34-
lazy val feMergeNode = tag("feMergeNode")
35-
lazy val feMorphology = tag("feMorphology")
36-
lazy val feOffset = tag("feOffset")
37-
lazy val fePointLight = tag("fePointLight")
38-
lazy val feSpecularLighting = tag("feSpecularLighting")
39-
lazy val feSpotlight = tag("feSpotlight")
40-
lazy val feTile = tag("feTile")
41-
lazy val feTurbulance = tag("feTurbulance")
42-
lazy val filter = tag("filter")
43-
lazy val font = tag("font")
44-
lazy val `font-face` = tag("font-face")
45-
lazy val `font-face-format` = tag("font-face-format")
46-
lazy val `font-face-name` = tag("font-face-name")
47-
lazy val `font-face-src` = tag("font-face-src")
48-
lazy val `font-face-uri` = tag("font-face-uri")
49-
lazy val foreignObject = tag("foreignObject")
50-
lazy val g = tag("g")
51-
lazy val glyph = tag("glyph")
52-
lazy val glyphRef = tag("glyphRef")
53-
lazy val hkern = tag("hkern")
54-
lazy val image = tag("image")
55-
lazy val line = tag("line")
56-
lazy val linearGradient = tag("linearGradient")
57-
lazy val marker = tag("marker")
58-
lazy val mask = tag("mask")
59-
lazy val metadata = tag("metadata")
60-
lazy val `missing-glyph` = tag("missing-glyph")
61-
lazy val mpath = tag("mpath")
62-
lazy val path = tag("path")
63-
lazy val pattern = tag("pattern")
64-
lazy val polygon = tag("polygon")
65-
lazy val polyline = tag("polyline")
66-
lazy val radialGradient = tag("radialGradient")
67-
lazy val rect = tag("rect")
68-
lazy val set = tag("set")
69-
lazy val stop = tag("stop")
70-
lazy val svg = tag("svg")
71-
lazy val switch = tag("switch")
72-
lazy val symbol = tag("symbol")
73-
lazy val text = tag("text")
74-
lazy val textPath = tag("textPath")
75-
lazy val tref = tag("tref")
76-
lazy val tspan = tag("tspan")
77-
lazy val use = tag("use")
78-
lazy val view = tag("view")
79-
lazy val vkern = tag("vkern")
5+
lazy val altGlyph: ConcreteHtmlTag[String] = tag("altGlyph")
6+
lazy val altGlyphDef: ConcreteHtmlTag[String] = tag("altGlyphDef")
7+
lazy val altGlyphItem: ConcreteHtmlTag[String] = tag("altGlyphItem")
8+
lazy val animate: ConcreteHtmlTag[String] = tag("animate")
9+
lazy val animateMotion: ConcreteHtmlTag[String] = tag("animateMotion")
10+
lazy val animateTransform: ConcreteHtmlTag[String] = tag("animateTransform")
11+
lazy val circle: ConcreteHtmlTag[String] = tag("circle")
12+
lazy val clipPath: ConcreteHtmlTag[String] = tag("clipPath")
13+
lazy val `color-profile`: ConcreteHtmlTag[String] = tag("color-profile")
14+
lazy val cursor: ConcreteHtmlTag[String] = tag("cursor")
15+
lazy val defs: ConcreteHtmlTag[String] = tag("defs")
16+
lazy val desc: ConcreteHtmlTag[String] = tag("desc")
17+
lazy val ellipse: ConcreteHtmlTag[String] = tag("ellipse")
18+
lazy val feBlend: ConcreteHtmlTag[String] = tag("feBlend")
19+
lazy val feColorMatrix: ConcreteHtmlTag[String] = tag("feColorMatrix")
20+
lazy val feComponentTransfer: ConcreteHtmlTag[String] = tag("feComponentTransfer")
21+
lazy val feComposite: ConcreteHtmlTag[String] = tag("feComposite")
22+
lazy val feConvolveMatrix: ConcreteHtmlTag[String] = tag("feConvolveMatrix")
23+
lazy val feDiffuseLighting: ConcreteHtmlTag[String] = tag("feDiffuseLighting")
24+
lazy val feDisplacementMap: ConcreteHtmlTag[String] = tag("feDisplacementMap")
25+
lazy val feDistantLighting: ConcreteHtmlTag[String] = tag("feDistantLighting")
26+
lazy val feFlood: ConcreteHtmlTag[String] = tag("feFlood")
27+
lazy val feFuncA: ConcreteHtmlTag[String] = tag("feFuncA")
28+
lazy val feFuncB: ConcreteHtmlTag[String] = tag("feFuncB")
29+
lazy val feFuncG: ConcreteHtmlTag[String] = tag("feFuncG")
30+
lazy val feFuncR: ConcreteHtmlTag[String] = tag("feFuncR")
31+
lazy val feGaussianBlur: ConcreteHtmlTag[String] = tag("feGaussianBlur")
32+
lazy val feImage: ConcreteHtmlTag[String] = tag("feImage")
33+
lazy val feMerge: ConcreteHtmlTag[String] = tag("feMerge")
34+
lazy val feMergeNode: ConcreteHtmlTag[String] = tag("feMergeNode")
35+
lazy val feMorphology: ConcreteHtmlTag[String] = tag("feMorphology")
36+
lazy val feOffset: ConcreteHtmlTag[String] = tag("feOffset")
37+
lazy val fePointLight: ConcreteHtmlTag[String] = tag("fePointLight")
38+
lazy val feSpecularLighting: ConcreteHtmlTag[String] = tag("feSpecularLighting")
39+
lazy val feSpotlight: ConcreteHtmlTag[String] = tag("feSpotlight")
40+
lazy val feTile: ConcreteHtmlTag[String] = tag("feTile")
41+
lazy val feTurbulance: ConcreteHtmlTag[String] = tag("feTurbulance")
42+
lazy val filter: ConcreteHtmlTag[String] = tag("filter")
43+
lazy val font: ConcreteHtmlTag[String] = tag("font")
44+
lazy val `font-face`: ConcreteHtmlTag[String] = tag("font-face")
45+
lazy val `font-face-format`: ConcreteHtmlTag[String] = tag("font-face-format")
46+
lazy val `font-face-name`: ConcreteHtmlTag[String] = tag("font-face-name")
47+
lazy val `font-face-src`: ConcreteHtmlTag[String] = tag("font-face-src")
48+
lazy val `font-face-uri`: ConcreteHtmlTag[String] = tag("font-face-uri")
49+
lazy val foreignObject: ConcreteHtmlTag[String] = tag("foreignObject")
50+
lazy val g: ConcreteHtmlTag[String] = tag("g")
51+
lazy val glyph: ConcreteHtmlTag[String] = tag("glyph")
52+
lazy val glyphRef: ConcreteHtmlTag[String] = tag("glyphRef")
53+
lazy val hkern: ConcreteHtmlTag[String] = tag("hkern")
54+
lazy val image: ConcreteHtmlTag[String] = tag("image")
55+
lazy val line: ConcreteHtmlTag[String] = tag("line")
56+
lazy val linearGradient: ConcreteHtmlTag[String] = tag("linearGradient")
57+
lazy val marker: ConcreteHtmlTag[String] = tag("marker")
58+
lazy val mask: ConcreteHtmlTag[String] = tag("mask")
59+
lazy val metadata: ConcreteHtmlTag[String] = tag("metadata")
60+
lazy val `missing-glyph`: ConcreteHtmlTag[String] = tag("missing-glyph")
61+
lazy val mpath: ConcreteHtmlTag[String] = tag("mpath")
62+
lazy val path: ConcreteHtmlTag[String] = tag("path")
63+
lazy val pattern: ConcreteHtmlTag[String] = tag("pattern")
64+
lazy val polygon: ConcreteHtmlTag[String] = tag("polygon")
65+
lazy val polyline: ConcreteHtmlTag[String] = tag("polyline")
66+
lazy val radialGradient: ConcreteHtmlTag[String] = tag("radialGradient")
67+
lazy val rect: ConcreteHtmlTag[String] = tag("rect")
68+
lazy val set: ConcreteHtmlTag[String] = tag("set")
69+
lazy val stop: ConcreteHtmlTag[String] = tag("stop")
70+
lazy val svg: ConcreteHtmlTag[String] = tag("svg")
71+
lazy val switch: ConcreteHtmlTag[String] = tag("switch")
72+
lazy val symbol: ConcreteHtmlTag[String] = tag("symbol")
73+
lazy val text: ConcreteHtmlTag[String] = tag("text")
74+
lazy val textPath: ConcreteHtmlTag[String] = tag("textPath")
75+
lazy val tref: ConcreteHtmlTag[String] = tag("tref")
76+
lazy val tspan: ConcreteHtmlTag[String] = tag("tspan")
77+
lazy val use: ConcreteHtmlTag[String] = tag("use")
78+
lazy val view: ConcreteHtmlTag[String] = tag("view")
79+
lazy val vkern: ConcreteHtmlTag[String] = tag("vkern")
8080
}
8181

scalatags/src/scalatags/text/Tags.scala

+78-78
Original file line numberDiff line numberDiff line change
@@ -2,91 +2,91 @@ package scalatags
22
package text
33
trait Tags extends generic.Tags[Builder, String, String] with TagFactory{
44
// Root Element
5-
lazy val html = tag("html")
5+
lazy val html: ConcreteHtmlTag[String] = tag("html")
66
// Document Metadata
7-
lazy val head = tag("head")
8-
lazy val base = tag("base", void = true)
9-
lazy val link = tag("link", void = true)
10-
lazy val meta = tag("meta", void = true)
7+
lazy val head: ConcreteHtmlTag[String] = tag("head")
8+
lazy val base: ConcreteHtmlTag[String] = tag("base", void = true)
9+
lazy val link: ConcreteHtmlTag[String] = tag("link", void = true)
10+
lazy val meta: ConcreteHtmlTag[String] = tag("meta", void = true)
1111
// Scripting
12-
lazy val script = tag("script")
12+
lazy val script: ConcreteHtmlTag[String] = tag("script")
1313
// Sections
14-
lazy val body = tag("body")
15-
lazy val h1 = tag("h1")
16-
lazy val h2 = tag("h2")
17-
lazy val h3 = tag("h3")
18-
lazy val h4 = tag("h4")
19-
lazy val h5 = tag("h5")
20-
lazy val h6 = tag("h6")
21-
lazy val header = tag("header")
22-
lazy val footer = tag("footer")
14+
lazy val body: ConcreteHtmlTag[String] = tag("body")
15+
lazy val h1: ConcreteHtmlTag[String] = tag("h1")
16+
lazy val h2: ConcreteHtmlTag[String] = tag("h2")
17+
lazy val h3: ConcreteHtmlTag[String] = tag("h3")
18+
lazy val h4: ConcreteHtmlTag[String] = tag("h4")
19+
lazy val h5: ConcreteHtmlTag[String] = tag("h5")
20+
lazy val h6: ConcreteHtmlTag[String] = tag("h6")
21+
lazy val header: ConcreteHtmlTag[String] = tag("header")
22+
lazy val footer: ConcreteHtmlTag[String] = tag("footer")
2323
// Grouping content
24-
lazy val p = tag("p")
25-
lazy val hr = tag("hr", void = true)
26-
lazy val pre = tag("pre")
27-
lazy val blockquote = tag("blockquote")
28-
lazy val ol = tag("ol")
29-
lazy val ul = tag("ul")
30-
lazy val li = tag("li")
31-
lazy val dl = tag("dl")
32-
lazy val dt = tag("dt")
33-
lazy val dd = tag("dd")
34-
lazy val figure = tag("figure")
35-
lazy val figcaption = tag("figcaption")
36-
lazy val div = tag("div")
24+
lazy val p: ConcreteHtmlTag[String] = tag("p")
25+
lazy val hr: ConcreteHtmlTag[String] = tag("hr", void = true)
26+
lazy val pre: ConcreteHtmlTag[String] = tag("pre")
27+
lazy val blockquote: ConcreteHtmlTag[String] = tag("blockquote")
28+
lazy val ol: ConcreteHtmlTag[String] = tag("ol")
29+
lazy val ul: ConcreteHtmlTag[String] = tag("ul")
30+
lazy val li: ConcreteHtmlTag[String] = tag("li")
31+
lazy val dl: ConcreteHtmlTag[String] = tag("dl")
32+
lazy val dt: ConcreteHtmlTag[String] = tag("dt")
33+
lazy val dd: ConcreteHtmlTag[String] = tag("dd")
34+
lazy val figure: ConcreteHtmlTag[String] = tag("figure")
35+
lazy val figcaption: ConcreteHtmlTag[String] = tag("figcaption")
36+
lazy val div: ConcreteHtmlTag[String] = tag("div")
3737
// Text-level semantics
38-
lazy val a = tag("a")
39-
lazy val em = tag("em")
40-
lazy val strong = tag("strong")
41-
lazy val small = tag("small")
42-
lazy val s = tag("s")
43-
lazy val cite = tag("cite")
44-
lazy val code = tag("code")
45-
lazy val sub = tag("sub")
46-
lazy val sup = tag("sup")
47-
lazy val i = tag("i")
48-
lazy val b = tag("b")
49-
lazy val u = tag("u")
50-
lazy val span = tag("span")
51-
lazy val br = tag("br", void = true)
52-
lazy val wbr = tag("wbr", void = true)
38+
lazy val a: ConcreteHtmlTag[String] = tag("a")
39+
lazy val em: ConcreteHtmlTag[String] = tag("em")
40+
lazy val strong: ConcreteHtmlTag[String] = tag("strong")
41+
lazy val small: ConcreteHtmlTag[String] = tag("small")
42+
lazy val s: ConcreteHtmlTag[String] = tag("s")
43+
lazy val cite: ConcreteHtmlTag[String] = tag("cite")
44+
lazy val code: ConcreteHtmlTag[String] = tag("code")
45+
lazy val sub: ConcreteHtmlTag[String] = tag("sub")
46+
lazy val sup: ConcreteHtmlTag[String] = tag("sup")
47+
lazy val i: ConcreteHtmlTag[String] = tag("i")
48+
lazy val b: ConcreteHtmlTag[String] = tag("b")
49+
lazy val u: ConcreteHtmlTag[String] = tag("u")
50+
lazy val span: ConcreteHtmlTag[String] = tag("span")
51+
lazy val br: ConcreteHtmlTag[String] = tag("br", void = true)
52+
lazy val wbr: ConcreteHtmlTag[String] = tag("wbr", void = true)
5353
// Edits
54-
lazy val ins = tag("ins")
55-
lazy val del = tag("del")
54+
lazy val ins: ConcreteHtmlTag[String] = tag("ins")
55+
lazy val del: ConcreteHtmlTag[String] = tag("del")
5656
// Embedded content
57-
lazy val img = tag("img", void = true)
58-
lazy val iframe = tag("iframe")
59-
lazy val embed = tag("embed", void = true)
60-
lazy val `object` = tag("object")
61-
lazy val param = tag("param", void = true)
62-
lazy val video = tag("video")
63-
lazy val audio = tag("audio")
64-
lazy val source = tag("source", void = true)
65-
lazy val track = tag("track", void = true)
66-
lazy val canvas = tag("canvas")
67-
lazy val map = tag("map")
68-
lazy val area = tag("area", void = true)
57+
lazy val img: ConcreteHtmlTag[String] = tag("img", void = true)
58+
lazy val iframe: ConcreteHtmlTag[String] = tag("iframe")
59+
lazy val embed: ConcreteHtmlTag[String] = tag("embed", void = true)
60+
lazy val `object`: ConcreteHtmlTag[String] = tag("object")
61+
lazy val param: ConcreteHtmlTag[String] = tag("param", void = true)
62+
lazy val video: ConcreteHtmlTag[String] = tag("video")
63+
lazy val audio: ConcreteHtmlTag[String] = tag("audio")
64+
lazy val source: ConcreteHtmlTag[String] = tag("source", void = true)
65+
lazy val track: ConcreteHtmlTag[String] = tag("track", void = true)
66+
lazy val canvas: ConcreteHtmlTag[String] = tag("canvas")
67+
lazy val map: ConcreteHtmlTag[String] = tag("map")
68+
lazy val area: ConcreteHtmlTag[String] = tag("area", void = true)
6969
// Tabular data
70-
lazy val table = tag("table")
71-
lazy val caption = tag("caption")
72-
lazy val colgroup = tag("colgroup")
73-
lazy val col = tag("col", void = true)
74-
lazy val tbody = tag("tbody")
75-
lazy val thead = tag("thead")
76-
lazy val tfoot = tag("tfoot")
77-
lazy val tr = tag("tr")
78-
lazy val td = tag("td")
79-
lazy val th = tag("th")
70+
lazy val table: ConcreteHtmlTag[String] = tag("table")
71+
lazy val caption: ConcreteHtmlTag[String] = tag("caption")
72+
lazy val colgroup: ConcreteHtmlTag[String] = tag("colgroup")
73+
lazy val col: ConcreteHtmlTag[String] = tag("col", void = true)
74+
lazy val tbody: ConcreteHtmlTag[String] = tag("tbody")
75+
lazy val thead: ConcreteHtmlTag[String] = tag("thead")
76+
lazy val tfoot: ConcreteHtmlTag[String] = tag("tfoot")
77+
lazy val tr: ConcreteHtmlTag[String] = tag("tr")
78+
lazy val td: ConcreteHtmlTag[String] = tag("td")
79+
lazy val th: ConcreteHtmlTag[String] = tag("th")
8080
// Forms
81-
lazy val form = tag("form")
82-
lazy val fieldset = tag("fieldset")
83-
lazy val legend = tag("legend")
84-
lazy val label = tag("label")
85-
lazy val input = tag("input", void = true)
86-
lazy val button = tag("button")
87-
lazy val select = tag("select")
88-
lazy val datalist = tag("datalist")
89-
lazy val optgroup = tag("optgroup")
90-
lazy val option = tag("option")
91-
lazy val textarea = tag("textarea")
81+
lazy val form: ConcreteHtmlTag[String] = tag("form")
82+
lazy val fieldset: ConcreteHtmlTag[String] = tag("fieldset")
83+
lazy val legend: ConcreteHtmlTag[String] = tag("legend")
84+
lazy val label: ConcreteHtmlTag[String] = tag("label")
85+
lazy val input: ConcreteHtmlTag[String] = tag("input", void = true)
86+
lazy val button: ConcreteHtmlTag[String] = tag("button")
87+
lazy val select: ConcreteHtmlTag[String] = tag("select")
88+
lazy val datalist: ConcreteHtmlTag[String] = tag("datalist")
89+
lazy val optgroup: ConcreteHtmlTag[String] = tag("optgroup")
90+
lazy val option: ConcreteHtmlTag[String] = tag("option")
91+
lazy val textarea: ConcreteHtmlTag[String] = tag("textarea")
9292
}

scalatags/src/scalatags/text/Tags2.scala

+32-32
Original file line numberDiff line numberDiff line change
@@ -2,41 +2,41 @@ package scalatags
22
package text
33
trait Tags2 extends generic.Tags2[Builder, String, String] with TagFactory{
44
// Document Metadata
5-
lazy val title = tag("title")
6-
lazy val style = tag("style")
5+
lazy val title: ConcreteHtmlTag[String] = tag("title")
6+
lazy val style: ConcreteHtmlTag[String] = tag("style")
77
// Scripting
8-
lazy val noscript = tag("noscript")
8+
lazy val noscript: ConcreteHtmlTag[String] = tag("noscript")
99
// Sections
10-
lazy val section = tag("section")
11-
lazy val nav = tag("nav")
12-
lazy val article = tag("article")
13-
lazy val aside = tag("aside")
14-
lazy val address = tag("address")
15-
lazy val main = tag("main")
10+
lazy val section: ConcreteHtmlTag[String] = tag("section")
11+
lazy val nav: ConcreteHtmlTag[String] = tag("nav")
12+
lazy val article: ConcreteHtmlTag[String] = tag("article")
13+
lazy val aside: ConcreteHtmlTag[String] = tag("aside")
14+
lazy val address: ConcreteHtmlTag[String] = tag("address")
15+
lazy val main: ConcreteHtmlTag[String] = tag("main")
1616
// Text level semantics
17-
lazy val q = tag("q")
18-
lazy val dfn = tag("dfn")
19-
lazy val abbr = tag("abbr")
20-
lazy val data = tag("data")
21-
lazy val time = tag("time")
22-
lazy val `var` = tag("var")
23-
lazy val samp = tag("samp")
24-
lazy val kbd = tag("kbd")
25-
lazy val math = tag("math")
26-
lazy val mark = tag("mark")
27-
lazy val ruby = tag("ruby")
28-
lazy val rt = tag("rt")
29-
lazy val rp = tag("rp")
30-
lazy val bdi = tag("bdi")
31-
lazy val bdo = tag("bdo")
17+
lazy val q: ConcreteHtmlTag[String] = tag("q")
18+
lazy val dfn: ConcreteHtmlTag[String] = tag("dfn")
19+
lazy val abbr: ConcreteHtmlTag[String] = tag("abbr")
20+
lazy val data: ConcreteHtmlTag[String] = tag("data")
21+
lazy val time: ConcreteHtmlTag[String] = tag("time")
22+
lazy val `var`: ConcreteHtmlTag[String] = tag("var")
23+
lazy val samp: ConcreteHtmlTag[String] = tag("samp")
24+
lazy val kbd: ConcreteHtmlTag[String] = tag("kbd")
25+
lazy val math: ConcreteHtmlTag[String] = tag("math")
26+
lazy val mark: ConcreteHtmlTag[String] = tag("mark")
27+
lazy val ruby: ConcreteHtmlTag[String] = tag("ruby")
28+
lazy val rt: ConcreteHtmlTag[String] = tag("rt")
29+
lazy val rp: ConcreteHtmlTag[String] = tag("rp")
30+
lazy val bdi: ConcreteHtmlTag[String] = tag("bdi")
31+
lazy val bdo: ConcreteHtmlTag[String] = tag("bdo")
3232
// Forms
33-
lazy val keygen = tag("keygen", void = true)
34-
lazy val output = tag("output")
35-
lazy val progress = tag("progress")
36-
lazy val meter = tag("meter")
33+
lazy val keygen: ConcreteHtmlTag[String] = tag("keygen", void = true)
34+
lazy val output: ConcreteHtmlTag[String] = tag("output")
35+
lazy val progress: ConcreteHtmlTag[String] = tag("progress")
36+
lazy val meter: ConcreteHtmlTag[String] = tag("meter")
3737
// Interactive elements
38-
lazy val details = tag("details")
39-
lazy val summary = tag("summary")
40-
lazy val command = tag("command", void = true)
41-
lazy val menu = tag("menu")
38+
lazy val details: ConcreteHtmlTag[String] = tag("details")
39+
lazy val summary: ConcreteHtmlTag[String] = tag("summary")
40+
lazy val command: ConcreteHtmlTag[String] = tag("command", void = true)
41+
lazy val menu: ConcreteHtmlTag[String] = tag("menu")
4242
}

0 commit comments

Comments
 (0)