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.
From npm:
npm install --save-dev prettier-plugin-modelica prettierFrom 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 buildNote
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.
# Directly with prettier
prettier --plugin prettier-plugin-modelica path/to/file.mo
# CLI equivalent
npx modelica-format path/to/file.mo# Directly with prettier
prettier --plugin prettier-plugin-modelica path/to/file.mo --write
# CLI equivalent
npx modelica-format path/to/file.mo --write# 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.monpx modelica-format path/to/file.mo --checkTip
The --check option can be combined with --write or --output options.
If the correctness check fails, the formatting will not produce any output.
npm run parse -- path/to/file.moSee CONTRIBUTING.md for commit message conventions and the release process.
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.