oxc/crates/oxc_prettier/src/format
Alexander S. fe25b651bd
feat(prettier): indent for class definition (#6059)
trying to match the output for:
5b868377c0/tests/format/typescript/classes/__snapshots__/format.test.js.snap (L3-L92)

<details><summary>main branch output:</summary>

```typescript
class MyContractSelectionWidget extends React.Component<void, MyContractSelectionWidgetPropsType, void> implements SomethingLarge {
  method() {}
}

class DisplayObject1 extends utils.EventEmitter implements interaction_InteractiveTarget {}

class DisplayObject2 extends utils.EventEmitter implements interaction_InteractiveTarget {}

class DisplayObject3 extends utils.EventEmitter implements interaction_InteractiveTarget, somethingElse_SomeOtherThing, somethingElseAgain_RunningOutOfNames {}

class DisplayObject4 extends utils.EventEmitter implements interaction_InteractiveTarget {}
class Readable extends events.EventEmitter implements NodeJS_ReadableStream {}
class InMemoryAppender extends log4javascript.Appender implements ICachedLogMessageProvider {}

class Foo extends Immutable.Record({
  ipaddress: "",
}) {
  ipaddress: string;
}

export class VisTimelineComponent implements AfterViewInit, OnChanges, OnDestroy {}
export class VisTimelineComponent2 implements AfterViewInit, OnChanges, OnDestroy, AndSomethingReallyReallyLong {}
```

</details> 

<details><summary>this branch output:</summary>

```typescript
class MyContractSelectionWidget
  extends React.Component<void, MyContractSelectionWidgetPropsType, void>
  implements SomethingLarge
{
  method() {}
}

class DisplayObject1
  extends utils.EventEmitter
  implements interaction_InteractiveTarget {}

class DisplayObject2
  extends utils.EventEmitter
  implements interaction_InteractiveTarget {}

class DisplayObject3
  extends utils.EventEmitter
  implements
    interaction_InteractiveTarget,
    somethingElse_SomeOtherThing,
    somethingElseAgain_RunningOutOfNames {}

class DisplayObject4
  extends utils.EventEmitter
  implements interaction_InteractiveTarget {}
class Readable
  extends events.EventEmitter
  implements NodeJS_ReadableStream {}
class InMemoryAppender
  extends log4javascript.Appender
  implements ICachedLogMessageProvider {}

class Foo extends Immutable.Record({
  ipaddress: "",
}) {
  ipaddress: string;
}

export class VisTimelineComponent
  implements AfterViewInit, OnChanges, OnDestroy {}
export class VisTimelineComponent2
  implements
    AfterViewInit,
    OnChanges,
    OnDestroy,
    AndSomethingReallyReallyLong {}
```

</details> 

Sadly I can't fix the `class Readable` line :/
2024-10-06 22:23:24 +08:00
..
array.rs chore(prettier): remove incorrect comment printing logic (#5889) 2024-09-21 04:45:18 +00:00
arrow_function.rs feat(prettier): class improvements part 2 (#5838) 2024-09-18 11:07:51 +08:00
assignment.rs
binaryish.rs
block.rs
call_arguments.rs
call_expression.rs feat(prettier): improve ts compatibility (#5900) 2024-09-20 10:40:31 +08:00
class.rs feat(prettier): indent for class definition (#6059) 2024-10-06 22:23:24 +08:00
function.rs feat(prettier): class improvements part 2 (#5838) 2024-09-18 11:07:51 +08:00
function_parameters.rs feat(prettier): improve ts compatibility (#5900) 2024-09-20 10:40:31 +08:00
misc.rs refactor(rust): remove some #[allow(unused)] (#5716) 2024-09-12 02:19:01 +00:00
mod.rs refactor(ast): move all ts ast related impl methods to ast_impl (#6015) 2024-09-24 06:07:37 +00:00
module.rs feat(prettier): improve ts compatibility (#5900) 2024-09-20 10:40:31 +08:00
object.rs fix(prettier): handle TSTypeLiteral as an object (#5946) 2024-09-21 23:27:12 +08:00
property.rs
statement.rs
string.rs
template_literal.rs
ternary.rs refactor(rust): remove some #[allow(unused)] (#5716) 2024-09-12 02:19:01 +00:00