Skip to content

Formatting YAML file inserts ternary operators #255

@disposedtrolley

Description

@disposedtrolley

Hello!

I'm experiencing a very strange bug that's sure to pique your interest. I have a fairly large YAML file, a section of which contains maps like the following:

/api/v2/users/{user_id}/group_memberships/{group_membership_id}.json:
  $ref: paths/v2/users/users_by_user_id_group_memberships_by_group_membership_id.yaml
/api/v2/users/{user_id}/group_memberships/{group_membership_id}/make_default.json:
  $ref: paths/v2/users/users_by_user_id_group_memberships_by_group_membership_id_make_default.yaml
/api/v2/users/{user_id}/groups.json:
  $ref: paths/v2/users/users_by_user_id_groups.yaml
/api/v2/users/{user_id}/identities.json:
  $ref: paths/v2/users/users_by_user_id_identities.yaml
/api/v2/users/{user_id}/identities/{id}.json:
  $ref: paths/v2/users/users_by_user_id_identities_by_id.yaml
/api/v2/users/{user_id}/merge.json:
  $ref: paths/v2/users/users_by_user_id_merge.yaml
/api/v2/users/{user_id}/organization_memberships.json:
  $ref: paths/v2/users/users_by_user_id_organization_memberships.yaml
/api/v2/users/{user_id}/organization_memberships/{id}.json:
  $ref: paths/v2/users/users_by_user_id_organization_memberships_by_id.yaml
/api/v2/users/{user_id}/organization_memberships/{membership_id}/make_default.json:
  $ref: paths/v2/users/users_by_user_id_organization_memberships_by_membership_id_make_default.yaml

When I attempt to format the YAML document by selecting Format Document in the Command Palette, ternary operators (!) are inserted into various locations:

/api/v2/users/{user_id}/group_memberships/{group_membership_id}.json:
  $ref: paths/v2/users/users_by_user_id_group_memberships_by_group_membership_id.yaml
? /api/v2/users/{user_id}/group_memberships/{group_membership_id}/make_default.json
: $ref: paths/v2/users/users_by_user_id_group_memberships_by_group_membership_id_make_default.yaml
/api/v2/users/{user_id}/groups.json:
  $ref: paths/v2/users/users_by_user_id_groups.yaml
/api/v2/users/{user_id}/identities.json:
  $ref: paths/v2/users/users_by_user_id_identities.yaml
/api/v2/users/{user_id}/identities/{id}.json:
  $ref: paths/v2/users/users_by_user_id_identities_by_id.yaml
/api/v2/users/{user_id}/merge.json:
  $ref: paths/v2/users/users_by_user_id_merge.yaml
/api/v2/users/{user_id}/organization_memberships.json:
  $ref: paths/v2/users/users_by_user_id_organization_memberships.yaml
/api/v2/users/{user_id}/organization_memberships/{id}.json:
  $ref: paths/v2/users/users_by_user_id_organization_memberships_by_id.yaml
? /api/v2/users/{user_id}/organization_memberships/{membership_id}/make_default.json
: $ref: paths/v2/users/users_by_user_id_organization_memberships_by_membership_id_make_default.yaml

You can reproduce this by creating a YAML file with the contents of the first code block above, and attempting to format it.

I'm running version 0.6.1 of the extension and version 1.41 of VS Code, on macOS 10.15.2

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions