lukeed/tidyPublic

feat: html and vue printer

Ports Prettier's language-html onto the doc printer: angular-html-parser's
lexer and tree builder, print-preprocess, and the printers of children,
elements, tags, and attributes, by way of bun's Rust port. Code in other
languages goes to an Embed hook as text.

The napi binding exposes format with the hook, and
tests/oracle/conformance.ts runs Prettier's own fixtures with Prettier
formatting the embedded code: html 205/254, vue 124/194.
LELuke Edwards authored
4830917Patch
Parente24c10b
31 files changed+10092-0
StackedSplit
Cargo.lock+243 โˆ’0
crates/tidyrs/Cargo.toml+2 โˆ’0
crates/tidyrs/examples/html.rs+20 โˆ’0
crates/tidyrs/src/doc/mod.rs+64 โˆ’0
crates/tidyrs/src/embed.rs+47 โˆ’0
crates/tidyrs/src/front_matter.rs+38 โˆ’0
crates/tidyrs/src/html/ast.rs+412 โˆ’0
crates/tidyrs/src/html/data.rs+1021 โˆ’0
crates/tidyrs/src/html/embed.rs+378 โˆ’0
crates/tidyrs/src/html/entities.rs+2135 โˆ’0
crates/tidyrs/src/html/error.rs+138 โˆ’0
crates/tidyrs/src/html/lexer.rs+1242 โˆ’0
crates/tidyrs/src/html/mod.rs+188 โˆ’0
crates/tidyrs/src/html/parse.rs+472 โˆ’0
crates/tidyrs/src/html/parser.rs+674 โˆ’0
crates/tidyrs/src/html/preprocess.rs+545 โˆ’0
crates/tidyrs/src/html/print.rs+787 โˆ’0
crates/tidyrs/src/html/strings.rs+92 โˆ’0
crates/tidyrs/src/html/tag.rs+328 โˆ’0
crates/tidyrs/src/html/utilities.rs+455 โˆ’0
crates/tidyrs/src/languages.rs+201 โˆ’0
crates/tidyrs/src/lib.rs+4 โˆ’0
crates/tidyrs/tests/html.rs+17 โˆ’0
crates/tidyrs_napi/Cargo.toml+23 โˆ’0
crates/tidyrs_napi/build.rs+3 โˆ’0
crates/tidyrs_napi/bun.lock+251 โˆ’0
crates/tidyrs_napi/package.json+49 โˆ’0
crates/tidyrs_napi/src/lib.rs+114 โˆ’0
notice.md+7 โˆ’0
tests/oracle/conformance.ts+141 โˆ’0
tests/oracle/doc.ts+1 โˆ’0