Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(language-service): HTML path should include last node before cursor #34440

Closed
wants to merge 1 commit into from

Conversation

@kyliau
Copy link
Member

kyliau commented Dec 16, 2019

Given the following HTML and cursor position:

<div c|></div>
      ^ cursor is here

Note that the cursor is after the attribute c.

Under the current implementation, only Element is included in the
path. Instead, it should be Element -> Attribute.

This bug occurs only for cases where the cursor is right after the Node,
and it is because the end position of the span is excluded from the search.
Instead, the end position should be included.

PR Checklist

Please check if your PR fulfills the following requirements:

PR Type

What kind of change does this PR introduce?

  • Bugfix
  • Feature
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Documentation content changes
  • angular.io application / infrastructure changes
  • Other... Please describe:

What is the current behavior?

Issue Number: N/A

What is the new behavior?

Does this PR introduce a breaking change?

  • Yes
  • No

Other information

@kyliau kyliau requested a review from ayazhafiz Dec 16, 2019
@kyliau kyliau requested a review from angular/tools-language-service as a code owner Dec 16, 2019
@ngbot ngbot bot modified the milestone: needsTriage Dec 16, 2019
@googlebot googlebot added the cla: yes label Dec 16, 2019
@kyliau kyliau force-pushed the kyliau:getPathToNodeAtPosition branch from f8a3ba5 to 4f4a4a9 Dec 16, 2019
Given the following HTML and cursor position:
```
<div c|></div>
      ^ cursor is here
```

Note that the cursor is **after** the attribute `c`.

Under the current implementation, only `Element` is included in the
path. Instead, it should be `Element -> Attribute`.

This bug occurs only for cases where the cursor is right after the Node,
and it is because the `end` position of the span is excluded from the search.
Instead, the `end` position should be included.
@kyliau kyliau force-pushed the kyliau:getPathToNodeAtPosition branch from 4f4a4a9 to 8dfd49a Dec 16, 2019
import * as ts from 'typescript';
import {getDirectiveClassLike} from '../src/utils';

This comment has been minimized.

Copy link
@ayazhafiz

ayazhafiz Dec 16, 2019

Member

extra newline here?

This comment has been minimized.

Copy link
@kyliau

kyliau Dec 16, 2019

Author Member

it's automatically inserted by the formatter

kara added a commit that referenced this pull request Dec 16, 2019
…or (#34440)

Given the following HTML and cursor position:
```
<div c|></div>
      ^ cursor is here
```

Note that the cursor is **after** the attribute `c`.

Under the current implementation, only `Element` is included in the
path. Instead, it should be `Element -> Attribute`.

This bug occurs only for cases where the cursor is right after the Node,
and it is because the `end` position of the span is excluded from the search.
Instead, the `end` position should be included.

PR Close #34440
@kara kara closed this in 5df8a3b Dec 16, 2019
@kyliau kyliau deleted the kyliau:getPathToNodeAtPosition branch Dec 17, 2019
@angular-automatic-lock-bot

This comment has been minimized.

Copy link

angular-automatic-lock-bot bot commented Jan 17, 2020

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Jan 17, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
3 participants
You can’t perform that action at this time.