Skip to content

Latest commit

 

History

History

sh

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

prettier-plugin-sh npm bundle size npm bundle size

An opinionated shellscript formatter plugin for Prettier, also support simple format of Dockerfile, properties, gitignore, dotenv, hosts, jvmoptions...

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 (v16.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 must be added to .prettierrc:

{
  "plugins": ["prettier-plugin-sh"]
}

Then:

# 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

  // use `sh-syntax` instead
  experimentalWasm: boolean
}

More details on godoc

Sponsors

1stG RxTS UnTS
1stG Open Collective backers and sponsors RxTS Open Collective backers and sponsors UnTS Open Collective backers and sponsors

Backers

Backers

1stG RxTS UnTS
1stG Open Collective backers and sponsors RxTS Open Collective backers and sponsors UnTS Open Collective backers and sponsors

Changelog

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

License

MIT © JounQin@1stG.me