Micha Reiser

Results 137 issues of Micha Reiser

## Goal Set up benchmarking and the test infra for the JSON formatter ## Tasks * [x] Add Prettier's JSON spec tests and run them as part of the test...

A-Formatter
S-Planned

## Goal Extend Rome's formatter codegen to support generating the source files for different languages ## Tasks * [ ] Setup `rome_json_formatter` crate * [ ] Generate the re-usable `AsFormat`,...

task
A-Formatter

Prettier normalizes numeric literals, e.g. by removing unnecessarily trailing zeros but Rome doesn't. [Playground](https://play.rome.tools/?lineWidth=80&indentStyle=space&quoteStyle=double&indentWidth=2&typescript=true&jsx=true&sourceType=module#LwAvACAAQQBkAGQAIAAwAAoALgAxAAoALwAvACAAUgBlAG0AbwB2AGUAIAAuAAoAMQAuAAoACgAvAC8AIABCACAALQA+ACAAYgAsACAATwAgAC0APgAgAG8ALAAgAFgAIAAtAD4AIAB4AAoAMABCADEAOwAKADAATwAxADsACgAwAFgAMQA7AAoACgAvAC8AIABYACAALQA+ACAAeAAsACAASABFAFgAIABkAGkAZwBpAHQAcwAgAHQAbwAgAGwAbwB3AGUAcgBjAGEAcwBlAAoAMABYADEAMgAzAGEAYgBjAGQAZQBmADQANQA2AEEAQgBDAEQARQBGAAoACgAvAC8AIABFACAALQA+ACAAZQAKADEALgAxAF8AMABfADEARQAxADsACgAvAC8AIABSAGUAbQBvAHYAZQAgACsACgAxAGUAKwAxADsACgAKAC8ALwAgAFIAZQBtAG8AdgBlACAALgAKADEALgBlADEAOwAKAC8ALwAgAFQAbwAgADAALgAxAGUAMQAKAC4AMQBlADEAOwAKAAoALwAvACAAUgBlAG0AbwB2AGUAIABsAGUAYQBkAGkAbgBnACAAMAAKADEALgAxAGUAMAAwADEAMAAKAC8ALwAgAFIAZQBtAG8AdgBlACAAKwAsACAAYQBkAGQAIABsAGUAYQBkAGkAbgBnACAAMAAKAC4AMQBlACsAMAAwADEAMAAKAC8ALwAgAEEAZABkACAAbABlAGEAZABpAG4AZwAgADAALAAgAHIAZQBtAG8AdgBlACAAdQBuAG4AZQBjAGUAcwBzAGEAcgBpAGwAeQAgAGwAZQBhAGQAaQBuAGcAIAAwAAoALgAxAGUALQAwADAAMQAwAAoACgAvAC8AIABTAGkAbQBwAGwAaQBmAHkAIAB0AG8AIAAwAC4ANQAKADAALgA1AGUAMAA7AAoAMAAuADUAZQAwADAAOwAKADAALgA1AGUAKwAwADsACgAwAC4ANQBlACsAMAAwADsACgAwAC4ANQBlAC0AMAA7AAoAMAAuADUAZQAtADAAMAA7AAoACgAvAC8AIABUAHIAaQBtACAAdAByAGEAaQBsAGkAbgBnACAAegBlAHIAbwBzAAoAMQAuADAAMAA1ADAAMAA7AAoACgAvAC8AIABBAGQAZAAgADAACgAuADEAXwAxADsACgAvAC8AIABBACAACgAwAHgAYQBfADEAOwAKACAALwAvACAAWAAgAC0APgAgAHgALAAgAEEAIAAtAD4AIABhAAoAMABYAEEAXwAxADsACgA=) ## Input ```ts // Add 0 .1 // Remove . 1. // B -> b, O...

A-Formatter
I-Normal

Prettier uses an exhaustive heuristic of when it should insert parentheses or not. Rome should implement a similar heuristic. https://github.com/prettier/prettier/blob/6d02cd9650be29d1b11ab6ff1442eac4f5415c06/src/language-js/needs-parens.js#L20-L793 Relevant test cases with differences: * js/assignment/sequence.js * js/async/await-parse.js *...

A-Formatter
I-Normal

Rome's formatter doesn't break long conditional expressions across multiple lines when they exceed the line width. [Playground](https://play.rome.tools/?lineWidth=80&indentStyle=tab&quoteStyle=double&indentWidth=2&typescript=true&jsx=false&sourceType=module#YgBpAGYAbwByAG4AQwByAGkAbgBnAGUAcgBNAG8AcwBoAGUAZABQAGUAcgBwAGwAZQB4AC4AYgBpAGYAbwByAG4AQwByAGkAbgBnAGUAcgBNAG8AcwBoAGUAZABQAGUAcgBwAGwAZQB4AFMAYQB3AGQAZQByAC4AYQByAHIAYQB5AE8AZgBOAHUAbQBiAGUAcgBzACAAPwAgAGIAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQAgADoAIABjADsACgAKAHQAeQBwAGUAIABFAHgAYQBtAHAAbABlADEAIAA9ACAAYgBpAGYAbwByAG4AQwByAGkAbgBnAGUAcgBNAG8AcwBoAGUAZABQAGUAcgBwAGwAZQB4ACAAZQB4AHQAZQBuAGQAcwAgAEEAbgBpAG0AYQBsACAAPwAgAGIAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQAgADoAIABhAHIAcgBhAHkATwBmAE4AdQBtAGIAZQByAHMAOwAKAAoALwAvACAAbgBlAHMAdABlAGQACgBiAGkAZgBvAHIAbgBDAHIAaQBuAGcAZQByAE0AbwBzAGgAZQBkAFAAZQByAHAAbABlAHgALgBiAGkAZgBvAHIAbgBDAHIAaQBuAGcAZQByAE0AbwBzAGgAZQBkAFAAZQByAHAAbABlAHgAUwBhAHcAZABlAHIALgBhAHIAcgBhAHkATwBmAE4AdQBtAGIAZQByAHMAIAA/ACAAYgBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlACAAOgAgAGIAaQBmAG8AcgBuAEMAcgBpAG4AZwBlAHIATQBvAHMAaABlAGQAUABlAHIAcABsAGUAeAAuAGIAaQBmAG8AcgBuAEMAcgBpAG4AZwBlAHIATQBvAHMAaABlAGQAUABlAHIAcABsAGUAeABTAGEAdwBkAGUAcgAuAGEAcgByAGEAeQBPAGYATgB1AG0AYgBlAHIAcwAgAD8AIABiAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAIAA6ACAAYgBpAGYAbwByAG4AQwByAGkAbgBnAGUAcgBNAG8AcwBoAGUAZABQAGUAcgBwAGwAZQB4AC4AYgBpAGYAbwByAG4AQwByAGkAbgBnAGUAcgBNAG8AcwBoAGUAZABQAGUAcgBwAGwAZQB4AFMAYQB3AGQAZQByAC4AYQByAHIAYQB5AE8AZgBOAHUAbQBiAGUAcgBzACAAPwAgAGIAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQAgADoAIAAiAHQAZQBzAHQAIgA7AAoACgBiAGkAZgBvAHIAbgBDAHIAaQBuAGcAZQByAE0AbwBzAGgAZQBkAFAAZQByAHAAbABlAHgALgBiAGkAZgBvAHIAbgBDAHIAaQBuAGcAZQByAE0AbwBzAGgAZQBkAFAAZQByAHAAbABlAHgAUwBhAHcAZABlAHIALgBhAHIAcgBhAHkATwBmAE4AdQBtAGIAZQByAHMAIAA/ACAACgAgACAAYgBpAGYAbwByAG4AQwByAGkAbgBnAGUAcgBNAG8AcwBoAGUAZABQAGUAcgBwAGwAZQB4AC4AYgBpAGYAbwByAG4AQwByAGkAbgBnAGUAcgBNAG8AcwBoAGUAZABQAGUAcgBwAGwAZQB4AFMAYQB3AGQAZQByAC4AYQByAHIAYQB5AE8AZgBOAHUAbQBiAGUAcgBzACAAPwAgAGIAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQAgADoAIABiAGkAZgBvAHIAbgBDAHIAaQBuAGcAZQByAE0AbwBzAGgAZQBkAFAAZQByAHAAbABlAHgALgBiAGkAZgBvAHIAbgBDAHIAaQBuAGcAZQByAE0AbwBzAGgAZQBkAFAAZQByAHAAbABlAHgAUwBhAHcAZABlAHIALgBhAHIAcgBhAHkATwBmAE4AdQBtAGIAZQByAHMAIAA/ACAAYgBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlACAAOgAgACIAdABlAHMAdAAiACAACgAgACAAOgAgACIAbwB0AGgAZQByACIAOwAKAAoACgB0AHkAcABlACAARQB4AGEAbQBwAGwAZQAxACAAPQAgAGIAaQBmAG8AcgBuAEMAcgBpAG4AZwBlAHIATQBvAHMAaABlAGQAUABlAHIAcABsAGUAeAAgAGUAeAB0AGUAbgBkAHMAIABBAG4AaQBtAGEAbAAgAD8AIABiAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAIAA6ACAACgBiAGkAZgBvAHIAbgBDAHIAaQBuAGcAZQByAE0AbwBzAGgAZQBkAFAAZQByAHAAbABlAHgAIABlAHgAdABlAG4AZABzACAAQQBuAGkAbQBhAGwAIAA/ACAAYgBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlACAAOgAgAAoAYgBpAGYAbwByAG4AQwByAGkAbgBnAGUAcgBNAG8AcwBoAGUAZABQAGUAcgBwAGwAZQB4ACAAZQB4AHQAZQBuAGQAcwAgAEEAbgBpAG0AYQBsACAAPwAgAGIAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQAgADoAIABhAHIAcgBhAHkATwBmAE4AdQBtAGIAZQByAHMAOwAKAAoAdAB5AHAAZQAgAEUAeABhAG0AcABsAGUAMQAgAD0AIABiAGkAZgBvAHIAbgBDAHIAaQBuAGcAZQByAE0AbwBzAGgAZQBkAFAAZQByAHAAbABlAHgAIABlAHgAdABlAG4AZABzACAAQQBuAGkAbQBhAGwAIAA/ACAACgBiAGkAZgBvAHIAbgBDAHIAaQBuAGcAZQByAE0AbwBzAGgAZQBkAFAAZQByAHAAbABlAHgAIABlAHgAdABlAG4AZABzACAAQQBuAGkAbQBhAGwAIAA/ACAAYgBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlACAAOgAgAAoAYgBpAGYAbwByAG4AQwByAGkAbgBnAGUAcgBNAG8AcwBoAGUAZABQAGUAcgBwAGwAZQB4ACAAZQB4AHQAZQBuAGQAcwAgAEEAbgBpAG0AYQBsACAAPwAgAGIAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQBlAGUAZQAgADoAIABhAHIAcgBhAHkATwBmAE4AdQBtAGIAZQByAHMAIAA6ACAAdABlAHMAdAA7AA==) ## Input ```ts bifornCringerMoshedPerplex.bifornCringerMoshedPerplexSawder.arrayOfNumbers ? beeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee : c; type Example1 = bifornCringerMoshedPerplex extends...

A-Formatter
I-Difficult

Hy I registered today as a Project-R Member and stumbled upon the fact that 1Password wasn't capable to automatically fill the credit card information. I did some research on how...

enhancement
low prio

## Summary This PR adds the server log to the output of the `rage` command. I initially considered implementing the LSP `trace` notification but preferred to not go with it...

A-CLI

### Description See https://github.com/prettier/prettier/blob/d13feed42b6478710bebbcd3225ab6f203a914c1/src/language-js/print/template-literal.js#L114

task
A-Formatter
S-Planned

### Description Umbrella task for the formatter changes for the 10.0.0 release ## Tasks - [x] #3305 - [x] #3295 - [x] #3379 - [x] #3386 - [ ] #3387...

umbrella
A-Formatter

### Description Rome offers a lsp server today that clients can connect to by opening the `rome __print_socket` socket. However, not all editors have built-in support to connect to an...

task
A-CLI