* Initial import of the vscode semantic highlight code * Adds the ability to test modern semantic classification via strings instead of numbers * Adds existing tests * Port over the semantic classification tests * Update baselines * Update src/harness/fourslashImpl.ts Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com> * Handle feedback from #39119 * Consistent formatting in the 2020 classifier * Update baselines * Apply suggestions from code review Co-authored-by: Daniel Rosenwasser <DanielRosenwasser@users.noreply.github.com> * Update src/harness/fourslashImpl.ts Co-authored-by: Daniel Rosenwasser <DanielRosenwasser@users.noreply.github.com> * Reafactor after comments * Use 2020 everywhere * Handle feedback * WIP - don't provide a breaking change * Fix all build errors * Update baselines * Update src/services/classifier2020.ts Co-authored-by: Sheetal Nandi <shkamat@microsoft.com> * Addresses Ron's feedback Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com> Co-authored-by: Daniel Rosenwasser <DanielRosenwasser@users.noreply.github.com> Co-authored-by: Sheetal Nandi <shkamat@microsoft.com>
29 lines
749 B
TypeScript
29 lines
749 B
TypeScript
/// <reference path="fourslash.ts"/>
|
|
|
|
// @Filename: /a.ts
|
|
////export type x = number;
|
|
////export class y {};
|
|
|
|
// @Filename: /b.ts
|
|
////import { /*0*/x, /*1*/y } from "./a";
|
|
////const v: /*2*/x = /*3*/y;
|
|
|
|
goTo.file("/b.ts");
|
|
|
|
const [m0, m1, m2, m3] = test.markers();
|
|
const c = classification("original");
|
|
verify.semanticClassificationsAre("original",
|
|
c.typeAliasName("x", m0.position),
|
|
c.className("y", m1.position),
|
|
c.typeAliasName("x", m2.position),
|
|
c.className("y", m3.position),
|
|
);
|
|
|
|
const c2 = classification("2020");
|
|
verify.semanticClassificationsAre("2020",
|
|
|
|
c2.semanticToken("variable.declaration.readonly", "v"),
|
|
c2.semanticToken("type", "x"),
|
|
c2.semanticToken("class", "y"),
|
|
);
|