Skip to content
This repository was archived by the owner on Dec 15, 2022. It is now read-only.
This repository was archived by the owner on Dec 15, 2022. It is now read-only.

Oddity with optional chaining #715

Open
pulsar-edit/pulsar
#79
@brettz9

Description

@brettz9

Prerequisites

Description

Steps to Reproduce

  1. Add this code to the editor:
iterateJsdoc(() => {
  const checkNativeTypes = () => {
    for (const strictNativeType of strictNativeTypes) {
      if (
        !preferredTypes?.[typeNodeName]
      ) {
        continue;
      }
    }

    return changedPreferred;
  };
}, {
  meta: {},
});
  1. Click to the end of the line with the for
  2. Use the bracket matcher command (ctrl-m by default)

Expected behavior:

The cursor should go to the end of the for tloop

Actual behavior:

It goes to the beginning of the document in safe mode (but to the end of the document otherwise for some reason), neither of which is expected.

Reproduces how often:

100%.

Versions

Atom    : 1.60.0
Electron: 9.4.4
Chrome  : 83.0.4103.122
Node    : 12.14.1
apm  2.6.2
npm  6.14.13
node 12.14.1 x64
atom 1.60.0
python 3.9.7
git 2.32.0

OS: Mac OS 12.3.

Additional Information

Changing the return line to return true gives yet another wrong behavior.

If I get rid of the optional chaining or put the parentheses on the same line, or get rid of the meta object, it works as expected.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      Participants

      @brettz9

      Issue actions

        Oddity with optional chaining · Issue #715 · atom/language-javascript