github-linguist/linguist

Twirl templates

Open

#5,606 opened on Oct 19, 2021

View on GitHub
 (0 comments) (0 reactions) (0 assignees)Ruby (5,166 forks)batch import
Add LanguageGood First Issue

Repository metrics

Stars
 (13,466 stars)
PR merge metrics
 (Avg merge 102d 5h) (19 merged PRs in 30d)

Description

Twirl is a templating language for the Play Framework. The typical extension is a compound extension .scala.html, I'm not sure how well Linguist copes with these. The out of the box support list is html, xml, txt, and javascript (https://github.com/playframework/twirl/blob/main/api/shared/src/main/scala/play/twirl/api/Formats.scala). Syntax highlighting requires merging the grammar for twirl with the target language as both are present in the template. Further complicating things are the ability to add custom templates (https://github.com/playframework/twirl/blob/main/docs/manual/working/scalaGuide/main/templates/ScalaCustomTemplateFormat.md) so technically the extension for a twirl template is simply .scala.*, but I'm not sure if linguist could cope with a wildcard or the merging of grammars required. I would be keen to make sure .scala.xhtml is supported but because this is a custom format is not likely seeing much usage itself.

Language name

Twirl (https://github.com/playframework/twirl)

URL of example repository

https://github.com/playframework/play-samples/blob/2.8.x/play-scala-hello-world-tutorial/app/views/tutorial.scala.html

Most popular extensions

.scala.* .scala.html .scala.xml .scala.txt

Detected language

Whatever the second part of the compound extension is. html xml txt

Contributor guide