Skip to content

Repository files navigation

prettier-plugin-modelica

npm version

A Prettier plugin for formatting Modelica code.

Uses the tree-sitter-modelica grammar for parsing, which generates an abstract syntax tree (AST) that Prettier then formats back into consistently styled source code.

HTML annotations are formatted using Prettier's built-in HTML formatter. Certain tags are excluded from formatting to preserve their original integration into the document: see DEFAULT_PRESERVED_TAGS in src/print/html-formatter.ts.

Installation

From npm:

npm install --save-dev prettier-plugin-modelica prettier

From source (for contributing or testing unreleased changes):

git clone https://github.com/AntoineGautier/prettier-plugin-modelica.git
cd prettier-plugin-modelica
git submodule update --init
npm run setup
npm install && npm run build

Usage

Note

The examples below use --plugin prettier-plugin-modelica and npx modelica-format, which apply when installed from npm. If you built from source instead, use --plugin ./dist/index.js and npm run format / npm run parse.

Format a file (preview to stdout)

# Directly with prettier
prettier --plugin prettier-plugin-modelica path/to/file.mo
# CLI equivalent
npx modelica-format path/to/file.mo

Format and write back to the same file

# Directly with prettier
prettier --plugin prettier-plugin-modelica path/to/file.mo --write
# CLI equivalent
npx modelica-format path/to/file.mo --write

Format and save to a different file

# Directly with prettier
prettier --plugin prettier-plugin-modelica path/to/file.mo > formatted.mo
# CLI equivalent
npx modelica-format path/to/file.mo -o formatted.mo

Check correctness (the formatter doesn't break code)

npx modelica-format path/to/file.mo --check

Tip

The --check option can be combined with --write or --output options. If the correctness check fails, the formatting will not produce any output.

Simply parse (preview to stdout)

npm run parse -- path/to/file.mo

Contributing

See CONTRIBUTING.md for commit message conventions and the release process.

License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).

See the LICENSE file for the full license text and copyright notice.

About

Prettier Modelica Plugin

Resources

Contributing

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages