prettier-plugin-sh
v0.14.0
Published
An opinionated `shellscript` formatter plugin for Prettier, also support simple format of `Dockerfile`, `properties`, `gitignore`, `dotenv`, `hosts`, `jvmoptions`...
Downloads
801,507
Readme
prettier-plugin-sh
An opinionated
shellscript
formatter plugin for Prettier, also support simple format ofDockerfile
,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 | | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | | | | |
Backers
| 1stG | RxTS | UnTS | | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | | | | |
Changelog
Detailed changes for each release are documented in CHANGELOG.md.