github-linguist / github-linguist/linguist

Twirl templates

Open
#5,606 0 comments 0 reactions 0 assignees View on GitHub
Add Language Good First Issue
Dominant language
Ruby
Stars
13.7k
Forks
5.4k
Avg merge
1d 15h
Merged PRs (30d)
17

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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.