mofmt 0.5.0

Modelica language formatter
Documentation
# mofmt - Modelica code formatter

*mofmt* is a code formatter for [Modelica](https://modelica.org/)
language. It aims to enhance readability and provide style constistency
across different Modelica projects.

Code style applied by the *mofmt* is described in `code-style.md`.

## Installation and usage

### Installation

*mofmt* can be installed with `cargo`:

```shell
cargo install mofmt
```

or you can just grab one of the released libraries.

On top of that, repo contains a necessary `pre-commit-hooks.yaml` file,
so if you are using Git, you can delegate running *mofmt* to
[pre-commit](https://pre-commit.com/) framework.

### Usage

**mofmt** expects one or more paths that point to either Modelica source files, or to directories with such files:

```shell
mofmt <PATHS>
```

So you can format a single file:

```shell
mofmt foo.mo
```

or multiple files:

```shell
mofmt foo.mo bar.mo baz.mo
```

or all files inside the directory (**mofmt** searches for files recursively):

```shell
mofmt ./foo-dir
```

or all files inside multiple directories

```shell
mofmt ./foo-dir ./bar-dir
```

or you can mix both files and directories:

```shell
mofmt ./foo-dir foo.mo bar.mo ./bar-dir baz.mo
```

**mofmt** can run in *check mode*. In this mode files are not modified, instead
**mofmt** checks the formatting in the original file, and reports an error in
case of a failure:

```shell
mofmt --check <PATHS>
```

## TODO

[ ] include HTML pretty-printer

## License

MPL-2.0

## Authors

Eryk Mroczek: <mroczek.eryk@gmail.com>