Skip to content

Better LSP formatting for operation built-in response shapes #6612

Open
@KieranP

Description

@KieranP

I'm using built-in responses shapes, but the LSP formatter from the VSCode extension is not formatting them in the best way.

Current output after formatting:

@summary("Create User")
op create(@body body: CreateUserRequest): (CreatedResponse &
  Body<User>) | (BadRequestResponse & Body<ValidationError>);

Contrast with using LSP on custom response shapes:

@summary("Create User")
op create(@body body: CreateUserRequest): {
  @statusCode statusCode: 201;
  @body body: User;
} | {
  @statusCode statusCode: 404;
  @body error: NotFoundError;
} | {
  @statusCode statusCode: 422;
  @body error: ValidationError;
};

Ideal output for built-in response shapes would be:

@summary("Create User")
op create(@body body: CreateUserRequest): (
  CreatedResponse & Body<User>
) | (
  BadRequestResponse & Body<ValidationError>
);

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions