7 releases (4 breaking)
0.5.7 | Mar 12, 2024 |
---|---|
0.5.5 | Mar 12, 2024 |
0.4.0 | Jan 9, 2024 |
0.3.1 | Nov 26, 2023 |
0.0.2 | Sep 28, 2023 |
#1072 in Development tools
19,312 downloads per month
Used in 5 crates
1.5MB
27K
SLoC
biome_formatter
Biome's formatter implementation. Follow the documentation.
lib.rs
:
Infrastructure for code formatting
This module defines [FormatElement], an IR to format code documents and provides a mean to print such a document to a string. Objects that know how to format themselves implement the [Format] trait.
Formatting Traits
- [Format]: Implemented by objects that can be formatted.
- [FormatRule]: Rule that knows how to format an object of another type. Necessary in the situation where it's necessary to implement [Format] on an object from another crate. This module defines the [FormatRefWithRule] and [FormatOwnedWithRule] structs to pass an item with its corresponding rule.
- [FormatWithRule] implemented by objects that know how to format another type. Useful for implementing some reusable formatting logic inside of this module if the type itself doesn't implement [Format]
Formatting Macros
This crate defines two macros to construct the IR. These are inspired by Rust's fmt
macros
format!
: Formats a formatable objectformat_args!
: Concatenates a sequence of Format objects.write!
: Writes a sequence of formatable objects into an output buffer.
Dependencies
~10–19MB
~253K SLoC