lukeed/tidyPublic

refactor: drop cursor from the JS printer

tidy has no cursorOffset, rangeStart or rangeEnd, so bun's cursor
tracking and range formatting go, with the cursor marks of the IR.
js::text is tidy's text helpers plus the few only the printer uses,
js::stack is tidy's Stack, js::sort a stable sort for any comparison,
and the printer's uses of bstr and bun's lexer, token and string
helpers point at tidy's or at the standard library.
LELuke Edwards authored
8e1b7dfPatch
Parent7a356f9
33 files changed+306-3017
StackedSplit
crates/tidy/src/js/PROVENANCE.md+3 −2
crates/tidy/src/js/ast/mod.rs+15 −0
crates/tidy/src/js/ast/node.rs+12 −0
crates/tidy/src/js/attach/mod.rs+1 −1
crates/tidy/src/js/context.rs+5 −8
crates/tidy/src/js/cursor.rs+0 −1946
crates/tidy/src/js/embed/html.rs+0 −3
crates/tidy/src/js/embed/markdown.rs+2 −2
crates/tidy/src/js/format.rs+41 −84
crates/tidy/src/js/ir/document.rs+1 −1
crates/tidy/src/js/ir/element.rs+1 −12
crates/tidy/src/js/ir/formatter.rs+4 −4
crates/tidy/src/js/ir/printer/measure.rs+2 −5
crates/tidy/src/js/ir/printer/mod.rs+7 −63
crates/tidy/src/js/ir/run.rs+9 −29
crates/tidy/src/js/ir/width.rs+18 −3
crates/tidy/src/js/jsdoc/embedded.rs+0 −3
crates/tidy/src/js/mod.rs+0 −1
crates/tidy/src/js/options.rs+1 −25
crates/tidy/src/js/print/jsx/child_list.rs+9 −23
crates/tidy/src/js/print/template.rs+6 −20
crates/tidy/src/js/print/ts_declarations.rs+5 −8
crates/tidy/src/js/print/ts_types.rs+3 −5
crates/tidy/src/js/range.rs+0 −510
crates/tidy/src/js/sort.rs+40 −9
crates/tidy/src/js/source_text.rs+1 −1
crates/tidy/src/js/stack.rs+17 −45
crates/tidy/src/js/strings.rs+67 −0
crates/tidy/src/js/template/js.rs+0 −3
crates/tidy/src/js/text.rs+32 −195
crates/tidy/src/js/utils/experimental_ternary.rs+1 −3
crates/tidy/src/js/utils/member_chain/groups.rs+1 −1
crates/tidy/src/js/utils/string.rs+2 −2