| .. | ||
| lib | ||
| LICENSE | ||
| package.json | ||
| README.md | ||
prettier-plugin-go-template
Formatter plugin for go template files. The only peer dependency is prettier.
npm install --save-dev prettier prettier-plugin-go-template
Starting with Prettier 3 auto-discovery has been removed. Configuration is required ⬇️
// .prettierrc
{
  "plugins": ["prettier-plugin-go-template"]
}
The following file types will be detected automatically:
.gohtml, .gotmpl, .go.tmpl, .tmpl, .tpl, .html.tmpl
If you want to add support for .html read the section on it below the examples.
| Input | Output | 
|---|---|
|  |  | 
GoHugo / .html
To use it with GoHugo and basic .html files, you'll have to override the used parser inside your .prettierrc file:
{
  "plugins": ["prettier-plugin-go-template"]
  "overrides": [
    {
      "files": ["*.html"],
      "options": {
        "parser": "go-template",
      },
    },
  ],
}
VSCode
Make sure to always have installed both dependencies:
- prettier
- prettier-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.
Additional Options
// .prettierrc
{
  /**
   * Enables & disables spacing between go statements.
   * E.g. {{ statement }} vs {{statement}}.
   * Default: true
   */
  "goTemplateBracketSpacing": true
}
Ignoring Code
Single Block
<div>
  <!-- prettier-ignore -->
  {{if }}
  {{end }}
</div>
Multiline
<html>
  {{/* prettier-ignore-start */}}
  <script>
    {{if }}
    Whatever.
    {{else }}
    Psych.
    {{end }}
  </script>
  {{/* prettier-ignore-end */}}
</html>
Contributors ✨
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!
