microsoft / microsoft/TypeScript-TmLanguage
VSCode Syntax highlighting broken when using TypeScript multiline generics in ES6 object function shorthand syntax
Open
@mjbvz is already working on this.
Since Dec 1, 2021.
- Dominant language
- TypeScript
- Stars
- 471
- Forks
- 149
- PR merge metrics
- No merged PRs in 30d
Description
Does this issue occur when all extensions are disabled?: Yes
- VS Code Version: 1.62.3
- OS Version: macOS 11.6.1
Steps to Reproduce:
- Create a typescript file with the following code:
const obj = {
fn<
K extends string
>(_: K) {
const a = 'a';
function _f() {
const b = 'b';
return b;
}
return a;
},
};
const obj2 = {
fn<K extends string>(_: K) {
const a = 'a';
function _f() {
const b = 'b';
return b;
}
return a;
},
};
- Notice how the syntax highlighting is broken in the first object declaration:
Contributor guide
No contributing guide indexed for this repository
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.
Research direction
Reproduce the issue in VS Code with the TypeScript snippet, comparing the multiline generic with the single-line form. Then inspect the repository's TypeScript TextMate grammar files to find the rule handling object function shorthand and multiline generics. Done means both forms receive correct syntax highlighting without affecting the surrounding function body.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript, vscode
- Domain
- developer-experience, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 45/100