PSA: if anyone is wondering to how to add debuggability to your Scalatags fragments to figure out where stuff comes from, you can do it with the SourceCode library (which is already pulled in by Scalatags):
def tagged(implicit name: sourcecode.Enclosing, line: sourcecode.Line) =
data.enclosing := (name.value + ":" + line.value)
Use e.g.
val searchForm = form(
tagged,
cls := "form-inline",
row,
width := SharedTemplates.extendedSidebarWidth,
flexShrink := 0
)
Which renders to
<form
data-enclosing="grepgit.client.Search#searchForm:73"
class="form-inline Web-row"
style="width: 600px; flex-shrink: 0;"
>
...
</form>
From then on it becomes easy to look at the DOM and figure out where stuff came from, and you can add clever hovers and stuff using jQuery if that's what you fancy