prettier-plugin-sh

An opinionated `shellscript、Dockerfile、properties、gitignore、dotenv、hosts、jvmoptions...` formatter plugin for Prettier

Usage no npm install needed!

<script type="module">
  import prettierPluginSh from 'https://cdn.skypack.dev/prettier-plugin-sh';
</script>

README

prettier-plugin-sh npm bundle size npm bundle size

An opinionated shellscript、Dockerfile、properties、gitignore、dotenv、hosts、jvmoptions... formatter plugin for Prettier

Prettier is an opinionated code formatter. It enforces a consistent style by parsing your code and re-printing, taking various rules into account.

This plugin adds support for a lot of files through mvdan-sh.

Notice

This plugin is still under development, its printer just wraps mvdan-sh's default printer. Of course it should just work, but may not match prettier's format sometimes.

Requirements

prettier-plugin-sh is an evergreen module. 🌲 This module requires an LTS Node version (v12.0.0+).

Install

Using npm:

# npm
npm i -D prettier prettier-plugin-sh

# yarn
yarn add -D prettier prettier-plugin-sh

Usage

Once installed, Prettier plugins should be automatically recognized by Prettier. To use this plugin, confirm that it's installed and run Prettier using your preferred method. For example:

# npx
npx prettier --write script.sh

# yarn
yarn prettier --write script.sh

Parser Options

interface ShOptions {
  // parser
  keepComments: boolean // default `true`
  stopAt: string
  variant: LangVariant

  // printer
  indent: number
  binaryNextLine: boolean // default `true`
  switchCaseIndent: boolean
  spaceRedirects: boolean
  keepPadding: boolean
  minify: boolean
  functionNextLine: boolean
}

More details on godoc

Changelog

Detailed changes for each release are documented in CHANGELOG.md.

License

MIT © JounQin@1stG.me