Skip to content
timoschenkoPublic

About

Set of apps and API to do fancy stuff with dml code

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

dmltools

Go Version Go Reference Release Supported DML Versions CI License: GPL-2.0

Tooling and utilities for Device Modeling Language (DML 1.4), including dmlfmt (an opinionated deterministic code formatter).

Installation

Via go install

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@latest

Prebuilt Binaries

Precompiled binaries for Linux (amd64, arm64) and Windows (amd64) are available on the GitHub Releases page.

Building from Sources

Clone the repository and build using GNU Make:

git clone https://github.com/timoschenko/dmltools.git
cd dmltools
make release

Note: 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.

dmlfmt

An opinionated, deterministic code formatter for Device Modeling Language (DML).

Usage

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

License

This project is licensed under the GNU General Public License v2.0 only - see the LICENSE file for details.

About

Set of apps and API to do fancy stuff with dml code

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages