Skip to content

savonet/liquidsoap-prettier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

It works as follows:

$ liquidsoap-prettier [-w|--write] path/to/file.liq "path/with/glob/pattern/**/*.liq"

You can also simply check the script without formatting it:

$ liquidsoap-prettier [-c|--check] path/to/file.liq "path/with/glob/pattern/**/*.liq"

The program returns with exit code 0 when the script is already pretty-printed and 2 otherwise.

Prettier 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-prettier

Then 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:prepare

If 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.