#374·templ

fmt: preserve spacing in templates to allow for organizing code

Author: andradeiCreated Dec 29, 2023Updated Jul 1, 2026

They are useful to organize HTML tags, but the formatter removes all empty lines.

Example:

This

templ
templ Form() {
	<a href="event/new">
		+ Create
	</a>

	<form method="post" action="/event/new">
		<label for="title">Title</label>
		<input id="title" name="title" type="text" required class="border rounded-lg block"/>

		<label for="date">Title</label>
		<input id="date" name="date" type="date" required class="border rounded-lg"/>

		<button type="submit">Create</button>
	</form>
}

becomes

templ
templ Form() {
	<a href="event/new">
		+ Create
	</a>
	<form method="post" action="/event/new">
		<label for="title">Title</label>
		<input id="title" name="title" type="text" required class="border rounded-lg block"/>
		<label for="date">Title</label>
		<input id="date" name="date" type="date" required class="border rounded-lg"/>
		<button type="submit">Create</button>
	</form>
}

It would be great if at least 1 blank line was kept on those situations.

Environment

  • macOS 14.2.1
  • templ 0.2.476
  • go1.21.5 darwin/arm64
  • VSCode 1.85.1