liquidsoap-prettier
v1.8.3
Published
Liquidsoap language prettier CLI and plugin
Readme
Liquidsoap prettier
This package provides a Prettier plugin for liquidsoap code
as well as a liquidsoap-prettier binary for formatting liquidsoap scripts.
Installation
liquidsoap-prettier
The liquidsoap-prettier command-line utility should be installed with this
package and should be available following the usual node package binary
conventions.
Format one or more files in place:
$ liquidsoap-prettier -w path/to/file.liq "path/with/glob/pattern/**/*.liq"Print formatted output to stdout (single file only):
$ liquidsoap-prettier path/to/file.liqRead from stdin and write to stdout:
$ cat path/to/file.liq | liquidsoap-prettier --stdin-filepath file.liqCheck whether files are already formatted (useful in CI):
$ liquidsoap-prettier -c path/to/file.liq "path/with/glob/pattern/**/*.liq"Returns exit code 0 when all files are already formatted, 2 otherwise.
Dump the parsed AST as JSON (useful when debugging the printer):
$ liquidsoap-prettier --dump-ast path/to/file.liqPrint the version or show all options:
$ liquidsoap-prettier --version
$ liquidsoap-prettier --helpPrettier plugin
The package also provides a prettier plugin which can be used to add liquidsoap script parsing to
your project. To enable, you need a local package.json.
First, install the required packages:
npm install -D prettier liquidsoap-prettierThen add the plugin to your Prettier config:
// .prettierrc
{
"plugins": ["liquidsoap-prettier"]
}Developer doc
The code is built using the prettier API and a JSON parser exported via js_of_ocaml from
the liquidsoap code.
The JSON parser builtin from liquidsoap code is not commited to this repository. You can download
it using the dev:prepare npm script. For instance:
npm run dev:prepareIf you are working on some changes on the liquidsoap language and want to update the parser file, you need
to install a pinned version of your changes from the liquidsoap code repository using opam and then run
dune build inside this repository. This should rebuild the parser file using your latest changes.
