Prettier plugin for formatting Go & GoHugo templates.
npm install prettier-plugin-go-template  
Formatter plugin for go template files. The only peer dependency is prettier.
``bash`
npm install --save-dev prettier prettier-plugin-go-template
Starting with Prettier 3 auto-discovery has been removed. Configuration is required ⬇️
`json`
// .prettierrc
{
"plugins": ["prettier-plugin-go-template"]
}
The following file types will be detected automatically:
.gohtml, .gotmpl, .go.tmpl, .tmpl, .tpl, .html.tmpl.html
If you want to add support for read the section on it below the examples.
| Input | Output |
|---|---|
|
|
To use it with GoHugo and basic .html files, you'll have to override the used parser inside your .prettierrc file:
`json`
{
"plugins": ["prettier-plugin-go-template"]
"overrides": [
{
"files": ["*.html"],
"options": {
"parser": "go-template",
},
},
],
}
Make sure to always have installed both dependencies:
- prettierprettier-plugin-go-template
-
Also make sure that they are installed inside the same scope.
Install both globally (npm i -g) or locally – otherwise prettier may not pick up the plugin.
> Note: The global setup additional requires setting your VSCode prettier path to your global prettier path. You can read in this issue how to set it up – should be doable in less than a minute if you have npm & VSCode already running.
`js`
// .prettierrc
{
/**
* Enables & disables spacing between go statements.
* E.g. {{ statement }} vs {{statement}}.
* Default: true
*/
"goTemplateBracketSpacing": true
}
#### Single Block
`html`
{{if }}
{{end }}
#### Multiline
`html``
{{/ prettier-ignore-start /}}
{{/ prettier-ignore-end /}}
Thanks goes to these wonderful people (emoji key):
alqu 🐛 ⚠️ 💻 | Gabriel Monteagudo 🐛 | Bryan 🐛 | Andreas Richter 🐛 | Noah Brenner 💻 📖 | silverwind 🤔 | Charles Pence 🐛 |
Caleb Jasik 🐛 📖 💡 🤔 🚧 💬 | Dan Gold 🐛 | Michael Lynch 🐛 |
This project follows the all-contributors specification. Contributions of any kind welcome!