On Windows, diagnostics are show at the incorrect position after a custom tag
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- typescript, vscode
- Domain
- devtools
Research direction
Reproduce the issue in the Marko VSCode extension on Windows using the template and dependency versions shown, then compare the rendered diagnostics with marko-type-check. Done means every instance of input.name++ is underlined at its correct position after the custom tag is present.
Written by the indexing model from the issue text.
Description
On Windows, after a custom tag is used, the diagnostics are shown at the incorrect positions or not shown at all. marko-type-check still shows the correct errors in the correct positions.
Given the following template, every instance of input.name++ should have an error underline.
export interface Input {
name?: string;
}
<my-title name=input.name/>
<div>${input.name++}</div>
$ input.name++;
<div>${input.name++}</div>
The error is shown in the wrong position and only once:
export interface Input {
name?: string;
}
<my-title name=input.name/>
<div>${input.name++}</div>
$ input.name++;
<div>${input.name++}</div>
^ 'input.name' is possibly 'undefined'.
Moving the use of <my-title> below the errors will cause the diagnostics above to be correctly rendered and the diagnostics below to be ignored.
export interface Input {
name?: string;
}
<div>${input.name++}</div>
^^^^^^^^^^ 'input.name' is possibly 'undefined'.
<my-title name=input.name/>
$ input.name++;
<div>${input.name++}</div>
Removing the use of <my-title> shows all of the diagnostics in the right places as expected:
export interface Input {
name?: string;
}
<div>${input.name++}</div>
^^^^^^^^^^ 'input.name' is possibly 'undefined'.
$ input.name++;
^^^^^^^^^^ 'input.name' is possibly 'undefined'.
<div>${input.name++}</div>
^^^^^^^^^^ 'input.name' is possibly 'undefined'.
Environment
Windows :(
Marko VSCode v1.1.15
VSCode 1.85.1
"marko": "^5.32.2",
"@marko/run": "^0.4.0",
"@marko/type-check": "^1.0.7",
"typescript": "^5.3.3"
- Dominant language
- TypeScript
- Stars
- 44
- Forks
- 12
- Avg merge
- 3m
- Merged PRs (30d)
- 8
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from marko-js/language-server
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
marko-js/language-server#596 ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 55/100
marko-js/language-server#587 ·
Maintainers usually reply within 1 day
-
Scoped `<style/name>` tag variable is typed `never`Possibly taken @briancarbone claimed this 87 days ago. Open
Difficulty 3/5 1-2 days Newbie friendliness 68/100
marko-js/language-server#581 · 1 reaction ·
Maintainers usually reply within 1 day
All issues in marko-js/language-server
Similar issues
-
a10y a10y-audit ai-driven-qa claude
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
linagora/twake-directory-manager#219 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
type: bug
Difficulty 2/5 1-3 hours Newbie friendliness 79/100
Maintainers usually reply within 1 day
-
0️⃣ phase/new
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
Pulse v7: buildPreferencesFromTelos() bypasses telosSectionOrFile(), renders empty on unified-TELOS installsPossibly taken @zephyr91 claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
danielmiessler/LifeOS#2393 ·
Maintainers usually reply within 4 days