Tooling and utilities for Device Modeling Language (DML 1.4),
including dmlfmt (an opinionated deterministic code formatter).
With Go 1.27+ installed:
# Install the dmlfmt code formatter
go install github.com/timoschenko/dmltools/cmd/dmlfmt@latest
# Install the dmlast AST dumper
go install github.com/timoschenko/dmltools/cmd/dmlast@latestPrecompiled binaries for Linux (amd64, arm64) and Windows (amd64)
are available on the
GitHub Releases page.
Clone the repository and build using GNU Make:
git clone https://github.com/timoschenko/dmltools.git
cd dmltools
make releaseNote: Building directly on a Windows host is not yet supported (use WSL2, Linux, or macOS).
For detailed build instructions, code generation, dependencies, and running tests, see BUILD.md.
An opinionated, deterministic code formatter for Device Modeling Language (DML).
# Format files or directories in place:
dmlfmt path/to/file-a.dml path/to/file-b.dml
dmlfmt --line-length 120 src/
# Format a snippet
dmlfmt --code "method foo() -> (bool) { return 42; }"
# Check formatting without modifying files:
dmlfmt --check src/For formatting rules and style specifications, see the DML Code Formatting Guide.
This project is licensed under the GNU General Public License v2.0 only - see the LICENSE file for details.