@azerothjs/language-service 0.5.0-beta.1 → 0.6.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/dist/docgen.d.ts +24 -0
  2. package/dist/docgen.d.ts.map +1 -0
  3. package/dist/docgen.js +195 -0
  4. package/dist/docgen.js.map +1 -0
  5. package/dist/index.d.ts +4 -2
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +5 -2
  8. package/dist/index.js.map +1 -1
  9. package/dist/language-data.d.ts +1 -1
  10. package/dist/language-data.d.ts.map +1 -1
  11. package/dist/language-data.js +39 -29
  12. package/dist/language-data.js.map +1 -1
  13. package/dist/markup-model.d.ts.map +1 -1
  14. package/dist/markup-model.js +12 -0
  15. package/dist/markup-model.js.map +1 -1
  16. package/dist/perf.d.ts +18 -0
  17. package/dist/perf.d.ts.map +1 -0
  18. package/dist/perf.js +32 -0
  19. package/dist/perf.js.map +1 -0
  20. package/dist/protocol.d.ts +103 -2
  21. package/dist/protocol.d.ts.map +1 -1
  22. package/dist/protocol.js +21 -2
  23. package/dist/protocol.js.map +1 -1
  24. package/dist/providers/call-hierarchy.d.ts +9 -0
  25. package/dist/providers/call-hierarchy.d.ts.map +1 -0
  26. package/dist/providers/call-hierarchy.js +184 -0
  27. package/dist/providers/call-hierarchy.js.map +1 -0
  28. package/dist/providers/code-lens.d.ts +11 -0
  29. package/dist/providers/code-lens.d.ts.map +1 -0
  30. package/dist/providers/code-lens.js +70 -0
  31. package/dist/providers/code-lens.js.map +1 -0
  32. package/dist/providers/color.d.ts +11 -0
  33. package/dist/providers/color.d.ts.map +1 -0
  34. package/dist/providers/color.js +58 -0
  35. package/dist/providers/color.js.map +1 -0
  36. package/dist/providers/completion.d.ts +19 -1
  37. package/dist/providers/completion.d.ts.map +1 -1
  38. package/dist/providers/completion.js +136 -7
  39. package/dist/providers/completion.js.map +1 -1
  40. package/dist/providers/css-service.d.ts +35 -3
  41. package/dist/providers/css-service.d.ts.map +1 -1
  42. package/dist/providers/css-service.js +78 -6
  43. package/dist/providers/css-service.js.map +1 -1
  44. package/dist/providers/diagnostics.d.ts.map +1 -1
  45. package/dist/providers/diagnostics.js +35 -3
  46. package/dist/providers/diagnostics.js.map +1 -1
  47. package/dist/providers/document-links.d.ts +10 -0
  48. package/dist/providers/document-links.d.ts.map +1 -0
  49. package/dist/providers/document-links.js +94 -0
  50. package/dist/providers/document-links.js.map +1 -0
  51. package/dist/providers/hover.d.ts.map +1 -1
  52. package/dist/providers/hover.js +117 -6
  53. package/dist/providers/hover.js.map +1 -1
  54. package/dist/providers/html-service.d.ts.map +1 -1
  55. package/dist/providers/html-service.js +6 -2
  56. package/dist/providers/html-service.js.map +1 -1
  57. package/dist/providers/inlay-hints.js +1 -1
  58. package/dist/providers/inlay-hints.js.map +1 -1
  59. package/dist/providers/navigation.d.ts +7 -1
  60. package/dist/providers/navigation.d.ts.map +1 -1
  61. package/dist/providers/navigation.js +20 -0
  62. package/dist/providers/navigation.js.map +1 -1
  63. package/dist/providers/semantic-tokens.d.ts +6 -1
  64. package/dist/providers/semantic-tokens.d.ts.map +1 -1
  65. package/dist/providers/semantic-tokens.js +114 -11
  66. package/dist/providers/semantic-tokens.js.map +1 -1
  67. package/dist/providers/structure.d.ts +1 -1
  68. package/dist/providers/structure.d.ts.map +1 -1
  69. package/dist/providers/structure.js +4 -2
  70. package/dist/providers/structure.js.map +1 -1
  71. package/dist/providers/symbols.d.ts.map +1 -1
  72. package/dist/providers/symbols.js +32 -2
  73. package/dist/providers/symbols.js.map +1 -1
  74. package/dist/service.d.ts +44 -1
  75. package/dist/service.d.ts.map +1 -1
  76. package/dist/service.js +94 -1
  77. package/dist/service.js.map +1 -1
  78. package/dist/ts-project.d.ts.map +1 -1
  79. package/dist/ts-project.js +25 -12
  80. package/dist/ts-project.js.map +1 -1
  81. package/dist/virtual-code.d.ts.map +1 -1
  82. package/dist/virtual-code.js +32 -9
  83. package/dist/virtual-code.js.map +1 -1
  84. package/package.json +2 -2
@@ -1,4 +1,5 @@
1
1
  import { type CompletionItem } from '../protocol.ts';
2
+ import { type PositionContext } from '../markup-model.ts';
2
3
  import { type RequestContext } from '../request.ts';
3
4
  /** Payload attached to TS-sourced items so `resolveCompletion` can fill detail. */
4
5
  export interface CompletionData {
@@ -12,9 +13,26 @@ export interface CompletionData {
12
13
  export interface CompletionOptions {
13
14
  /** Suggest not-yet-imported symbols (and add the import on accept). */
14
15
  autoImports?: boolean;
15
- /** Expand built-in components to snippet bodies (`<For …>{}</For>`). */
16
+ /** Expand built-in components to snippet bodies (`<For ...>{...}</For>`). */
16
17
  componentSnippets?: boolean;
17
18
  }
19
+ /**
20
+ * An external contributor of completion items (an AI backend, a custom snippet
21
+ * engine, ...). Registered sources run after the native items for the caret's
22
+ * branch; the classified `context`, full `source`, and `offset` let a source
23
+ * tailor its suggestions to where the caret is.
24
+ */
25
+ export interface CompletionSource {
26
+ provide(args: {
27
+ source: string;
28
+ offset: number;
29
+ context: PositionContext;
30
+ }): CompletionItem[];
31
+ }
32
+ /** Registers an external completion source. Returns a fn that unregisters it. */
33
+ export declare function registerCompletionSource(source: CompletionSource): () => void;
34
+ /** Drops all registered completion sources (test isolation; explicit teardown). */
35
+ export declare function clearCompletionSources(): void;
18
36
  /** Produces completion items for the caret at `offset`. */
19
37
  export declare function getCompletions(ctx: RequestContext, offset: number, options?: CompletionOptions): CompletionItem[];
20
38
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../src/providers/completion.ts"],"names":[],"mappings":"AAaA,OAAO,EAEH,KAAK,cAAc,EAEtB,MAAM,gBAAgB,CAAC;AAUxB,OAAO,EAAe,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAEjE,mFAAmF;AACnF,MAAM,WAAW,cAAc;IAE3B,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,0EAA0E;AAC1E,MAAM,WAAW,iBAAiB;IAE9B,uEAAuE;IACvE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yEAAyE;IACzE,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,2DAA2D;AAC3D,wBAAgB,cAAc,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,cAAc,EAAE,CA2DrH;AAmUD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,GAAG,cAAc,CA8B3F"}
1
+ {"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../src/providers/completion.ts"],"names":[],"mappings":"AAaA,OAAO,EAEH,KAAK,cAAc,EAEtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAsC,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAS9F,OAAO,EAAe,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAQjE,mFAAmF;AACnF,MAAM,WAAW,cAAc;IAE3B,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,0EAA0E;AAC1E,MAAM,WAAW,iBAAiB;IAE9B,uEAAuE;IACvE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAE7B,OAAO,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,eAAe,CAAA;KAAE,GAAG,cAAc,EAAE,CAAC;CACjG;AAMD,iFAAiF;AACjF,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,IAAI,CAO7E;AAED,mFAAmF;AACnF,wBAAgB,sBAAsB,IAAI,IAAI,CAG7C;AAED,2DAA2D;AAC3D,wBAAgB,cAAc,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,cAAc,EAAE,CAKrH;AAggBD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,GAAG,cAAc,CA8B3F"}
@@ -16,9 +16,33 @@ import { BUILTIN_COMPONENTS, BUILTIN_COMPONENT_MAP, DOM_EVENTS, attributeDocumen
16
16
  import { htmlCompletions, eventDocumentation } from "./html-service.js";
17
17
  import { cssCompletions, cssTemplateCompletions, inCssTemplate } from "./css-service.js";
18
18
  import { toGenerated } from "../request.js";
19
+ // Commit characters that improve the common edit: typing `=` or a space after a
20
+ // prop name accepts the highlighted prop (then continues into `={...}` or the next
21
+ // attribute); a space/`>`/`/` after a tag name accepts the tag and opens the body.
22
+ const PROP_COMMIT_CHARACTERS = ['=', ' '];
23
+ const TAG_COMMIT_CHARACTERS = [' ', '>', '/'];
24
+ // Module-level registry. Empty by default, so registering nothing leaves native
25
+ // completion behaviour untouched.
26
+ const completionSources = new Set();
27
+ /** Registers an external completion source. Returns a fn that unregisters it. */
28
+ export function registerCompletionSource(source) {
29
+ completionSources.add(source);
30
+ return () => {
31
+ completionSources.delete(source);
32
+ };
33
+ }
34
+ /** Drops all registered completion sources (test isolation; explicit teardown). */
35
+ export function clearCompletionSources() {
36
+ completionSources.clear();
37
+ }
19
38
  /** Produces completion items for the caret at `offset`. */
20
39
  export function getCompletions(ctx, offset, options = {}) {
21
40
  const context = classifyPosition(ctx.source, offset);
41
+ const items = builtinCompletions(ctx, offset, options, context);
42
+ return withExternalSources(items, ctx.source, offset, context);
43
+ }
44
+ /** Native completion items for the caret's branch, before external sources. */
45
+ function builtinCompletions(ctx, offset, options, context) {
22
46
  const position = ctx.lineIndex.positionAt(offset);
23
47
  switch (context.kind) {
24
48
  case 'tagName':
@@ -39,8 +63,8 @@ export function getCompletions(ctx, offset, options = {}) {
39
63
  if (isComponentTag(context.tag)) {
40
64
  return [];
41
65
  }
42
- // `style=""` is CSS; everything else gets HTML value enums
43
- // (`type="text|email|…"`, booleans, ) from the HTML engine.
66
+ // `style="..."` is CSS; everything else gets HTML value enums
67
+ // (`type="text|email|..."`, booleans, ...) from the HTML engine.
44
68
  return context.attribute === 'style'
45
69
  ? cssCompletions(ctx.source, offset)
46
70
  : htmlCompletions(ctx.source, position);
@@ -65,6 +89,22 @@ export function getCompletions(ctx, offset, options = {}) {
65
89
  }
66
90
  }
67
91
  }
92
+ /**
93
+ * Appends items from every registered external source. Each call is isolated:
94
+ * a source that throws (or is otherwise misbehaving) must never break native
95
+ * completion, so its failure is swallowed and the native items still return.
96
+ */
97
+ function withExternalSources(items, source, offset, context) {
98
+ for (const provider of completionSources) {
99
+ try {
100
+ items.push(...provider.provide({ source, offset, context }));
101
+ }
102
+ catch {
103
+ // A broken source is ignored, not propagated.
104
+ }
105
+ }
106
+ return items;
107
+ }
68
108
  /** True for a component tag (PascalCase, dotted, or a known built-in). */
69
109
  function isComponentTag(tag) {
70
110
  return /^[A-Z]/.test(tag) || tag.includes('.') || BUILTIN_COMPONENT_MAP.has(tag);
@@ -86,7 +126,8 @@ function tagCompletions(ctx, offset, options) {
86
126
  documentation: component.doc,
87
127
  insertText: snippet ?? component.name,
88
128
  insertTextFormat: snippet ? 2 : 1,
89
- sortText: `0_${component.name}`
129
+ sortText: `0_${component.name}`,
130
+ commitCharacters: [...TAG_COMMIT_CHARACTERS]
90
131
  });
91
132
  }
92
133
  // In-scope PascalCase value identifiers are likely user components; entries
@@ -102,13 +143,15 @@ function tagCompletions(ctx, offset, options) {
102
143
  items.push({
103
144
  label: entry.name,
104
145
  kind: CompletionItemKind.Class,
105
- detail: autoImport ? `component import from ${entry.source ?? 'module'}` : 'component',
146
+ detail: autoImport ? `component - import from ${entry.source ?? 'module'}` : 'component',
106
147
  sortText: `${autoImport ? '2' : '1'}_${entry.name}`,
148
+ commitCharacters: [...TAG_COMMIT_CHARACTERS],
107
149
  data: completionData(ctx, generatedOffset, entry)
108
150
  });
109
151
  }
110
152
  }
111
153
  }
154
+ preselectExactPrefix(items, identifierPrefix(ctx.source, offset));
112
155
  return items;
113
156
  }
114
157
  /**
@@ -173,16 +216,41 @@ function componentAttributeCompletions(ctx, offset, tag) {
173
216
  documentation: prop.doc,
174
217
  insertText: `${prop.name}={$0}`,
175
218
  insertTextFormat: 2,
176
- sortText: `0_${prop.name}`
219
+ sortText: `0_${prop.name}`,
220
+ commitCharacters: [...PROP_COMMIT_CHARACTERS]
177
221
  });
178
222
  }
179
223
  }
224
+ preselectExactPrefix(items, identifierPrefix(ctx.source, offset));
180
225
  items.push(...eventCompletions());
181
226
  return items;
182
227
  }
228
+ /** The bare identifier the caret sits at the end of (`tit|` -> `tit`), or `''`. */
229
+ function identifierPrefix(source, offset) {
230
+ let start = offset;
231
+ while (start > 0 && /[A-Za-z0-9_-]/.test(source[start - 1])) {
232
+ start--;
233
+ }
234
+ return source.slice(start, offset);
235
+ }
236
+ /**
237
+ * Marks the one clear winner for pre-selection: when the typed prefix matches a
238
+ * single item's label exactly (case-insensitively), the editor highlights it so
239
+ * Enter commits it. Ambiguous prefixes leave the default highlight alone.
240
+ */
241
+ function preselectExactPrefix(items, prefix) {
242
+ if (prefix === '') {
243
+ return;
244
+ }
245
+ const lower = prefix.toLowerCase();
246
+ const matches = items.filter(item => item.label.toLowerCase().startsWith(lower));
247
+ if (matches.length === 1) {
248
+ matches[0].preselect = true;
249
+ }
250
+ }
183
251
  /**
184
252
  * Props of the component whose opening tag holds the caret, read from its props
185
- * type. Works by querying TypeScript inside the generated `Tag({ })` call's
253
+ * type. Works by querying TypeScript inside the generated `Tag({ ... })` call's
186
254
  * object literal, where the expected properties are exactly the props.
187
255
  */
188
256
  function typedPropCompletions(ctx, offset) {
@@ -194,12 +262,29 @@ function typedPropCompletions(ctx, offset) {
194
262
  if (generatedTag === null) {
195
263
  return [];
196
264
  }
265
+ // An attribute-less component compiles to a bare `Comp()` (no props object
266
+ // to complete inside), so read the prop names off the component's call
267
+ // signature instead. With any attribute present the call carries a `({ ... })`
268
+ // and we query TypeScript inside it as before (which also yields per-entry
269
+ // documentation on resolve).
270
+ const open = ctx.virtual.code.indexOf('(', generatedTag + element.tag.length);
271
+ const isEmptyCall = open !== -1 && ctx.virtual.code.slice(open + 1).trimStart().startsWith(')');
272
+ if (isEmptyCall) {
273
+ return propsFromComponentSignature(ctx, generatedTag);
274
+ }
197
275
  const brace = ctx.virtual.code.indexOf('{', generatedTag + element.tag.length);
198
276
  if (brace === -1) {
199
277
  return [];
200
278
  }
279
+ // Props may be plain fields or getter/setter-backed accessors; accept all
280
+ // three member kinds so accessor props are not silently dropped.
281
+ const propKinds = [
282
+ ts.ScriptElementKind.memberVariableElement,
283
+ ts.ScriptElementKind.memberGetAccessorElement,
284
+ ts.ScriptElementKind.memberSetAccessorElement
285
+ ];
201
286
  return rawTsEntries(ctx, brace + 1)
202
- .filter(entry => entry.kind === ts.ScriptElementKind.memberVariableElement && entry.name !== 'children')
287
+ .filter(entry => propKinds.includes(entry.kind) && entry.name !== 'children')
203
288
  .map(entry => ({
204
289
  label: entry.name,
205
290
  kind: CompletionItemKind.Property,
@@ -207,9 +292,53 @@ function typedPropCompletions(ctx, offset) {
207
292
  insertText: `${entry.name}={$0}`,
208
293
  insertTextFormat: 2,
209
294
  sortText: `0_${entry.name}`,
295
+ commitCharacters: [...PROP_COMMIT_CHARACTERS],
210
296
  data: completionData(ctx, brace + 1, entry)
211
297
  }));
212
298
  }
299
+ /** The TS node whose span contains `pos` (deepest), for a checker query. */
300
+ function tokenAt(sourceFile, pos) {
301
+ const find = (node) => {
302
+ if (pos < node.getStart(sourceFile) || pos >= node.getEnd()) {
303
+ return undefined;
304
+ }
305
+ return ts.forEachChild(node, find) ?? node;
306
+ };
307
+ return find(sourceFile);
308
+ }
309
+ /**
310
+ * Prop completions for an attribute-less `<Comp/>`: the generated `Comp()` has
311
+ * no props object, so derive the names from the component's first call-signature
312
+ * parameter type (its props) directly off the checker.
313
+ */
314
+ function propsFromComponentSignature(ctx, identifierOffset) {
315
+ const program = ctx.project.service.getProgram();
316
+ const sourceFile = program?.getSourceFile(ctx.virtualFile);
317
+ if (!program || !sourceFile) {
318
+ return [];
319
+ }
320
+ const checker = program.getTypeChecker();
321
+ const token = tokenAt(sourceFile, identifierOffset);
322
+ if (!token) {
323
+ return [];
324
+ }
325
+ const signature = checker.getTypeAtLocation(token).getCallSignatures()[0];
326
+ const propsParam = signature?.getParameters()[0];
327
+ if (!propsParam) {
328
+ return [];
329
+ }
330
+ return checker.getTypeOfSymbolAtLocation(propsParam, token).getProperties()
331
+ .filter(prop => prop.name !== 'children')
332
+ .map(prop => ({
333
+ label: prop.name,
334
+ kind: CompletionItemKind.Property,
335
+ detail: 'prop',
336
+ insertText: `${prop.name}={$0}`,
337
+ insertTextFormat: 2,
338
+ sortText: `0_${prop.name}`,
339
+ commitCharacters: [...PROP_COMMIT_CHARACTERS]
340
+ }));
341
+ }
213
342
  /** DOM event handler attributes (`on*`). */
214
343
  function eventCompletions() {
215
344
  return DOM_EVENTS.map(name => ({
@@ -1 +1 @@
1
- {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/providers/completion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/providers/completion.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { type CompletionItem, type Hover } from '../protocol.ts';
1
+ import { type Color, type ColorInformation, type ColorPresentation, type CompletionItem, type Hover, type Range } from '../protocol.ts';
2
2
  import { LineIndex } from '../text.ts';
3
- /** CSS property/value completion inside an inline `style=""`. */
3
+ /** CSS property/value completion inside an inline `style="..."`. */
4
4
  export declare function cssCompletions(source: string, offset: number): CompletionItem[];
5
5
  /** Whether the caret sits inside a css`` template. */
6
6
  export declare function inCssTemplate(source: string, offset: number): boolean;
@@ -8,6 +8,38 @@ export declare function inCssTemplate(source: string, offset: number): boolean;
8
8
  export declare function cssTemplateCompletions(source: string, offset: number): CompletionItem[];
9
9
  /** CSS hover inside a css`` template. */
10
10
  export declare function cssTemplateHover(source: string, offset: number, lineIndex: LineIndex): Hover | null;
11
- /** CSS hover (property/value docs) inside an inline `style=""`. */
11
+ /** CSS hover (property/value docs) inside an inline `style="..."`. */
12
12
  export declare function cssHover(source: string, offset: number, lineIndex: LineIndex): Hover | null;
13
+ /** A style/css region: its content and where that content begins in the source. */
14
+ interface CssRegion {
15
+ /** The CSS text fed to the language service. */
16
+ content: string;
17
+ /** Original-source offset of the content's first character. */
18
+ contentStart: number;
19
+ /** The synthetic prefix prepended to make `content` parse (`''` for templates). */
20
+ prefix: string;
21
+ }
22
+ /**
23
+ * Color swatches across the given style/css regions. Runs findDocumentColors
24
+ * over each region's wrapped document and maps every color's range back to the
25
+ * original source. Never throws; a region that fails to parse contributes none.
26
+ */
27
+ export declare function cssColors(_source: string, regions: CssRegion[], lineIndex: LineIndex): ColorInformation[];
28
+ /**
29
+ * The presentation choices (e.g. `#ff0000`, `rgb(255, 0, 0)`, `hsl(...)`) for a
30
+ * picked `color` at `range`. Delegates to getColorPresentations over a throwaway
31
+ * document whose text is just the color literal, since the presentations are the
32
+ * spellings of the color itself and don't depend on the surrounding stylesheet.
33
+ */
34
+ export declare function cssColorPresentations(color: Color, range: Range): ColorPresentation[];
35
+ /** Builds a declaration-list region from a static `style="..."` value's span. */
36
+ export declare function styleRegion(source: string, valueStart: number, valueEnd: number): CssRegion;
37
+ /** Builds a stylesheet region from a css`` template's content span. */
38
+ export declare function templateRegion(source: string, contentStart: number, contentEnd: number): CssRegion;
39
+ /** The content spans of every css`` template in the source (start/end offsets). */
40
+ export declare function cssTemplateSpans(source: string): {
41
+ start: number;
42
+ end: number;
43
+ }[];
44
+ export type { CssRegion };
13
45
  //# sourceMappingURL=css-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"css-service.d.ts","sourceRoot":"","sources":["../../src/providers/css-service.ts"],"names":[],"mappings":"AASA,OAAO,EAEH,KAAK,cAAc,EACnB,KAAK,KAAK,EAEb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAyDvC,kEAAkE;AAClE,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,EAAE,CAU/E;AAqCD,sDAAsD;AACtD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAGrE;AAeD,8EAA8E;AAC9E,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,EAAE,CAUvF;AAED,yCAAyC;AACzC,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,KAAK,GAAG,IAAI,CA4BnG;AAED,oEAAoE;AACpE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,KAAK,GAAG,IAAI,CA4B3F"}
1
+ {"version":3,"file":"css-service.d.ts","sourceRoot":"","sources":["../../src/providers/css-service.ts"],"names":[],"mappings":"AASA,OAAO,EAEH,KAAK,KAAK,EACV,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,KAAK,EACV,KAAK,KAAK,EACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAyDvC,oEAAoE;AACpE,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,EAAE,CAU/E;AAqCD,sDAAsD;AACtD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAGrE;AAeD,8EAA8E;AAC9E,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,EAAE,CAUvF;AAED,yCAAyC;AACzC,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,KAAK,GAAG,IAAI,CA4BnG;AAED,sEAAsE;AACtE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,KAAK,GAAG,IAAI,CA4B3F;AAQD,mFAAmF;AACnF,UAAU,SAAS;IAEf,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;IACrB,mFAAmF;IACnF,MAAM,EAAE,MAAM,CAAC;CAClB;AAuBD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,SAAS,GAAG,gBAAgB,EAAE,CAazG;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,iBAAiB,EAAE,CAWrF;AAED,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,CAG3F;AAED,uEAAuE;AACvE,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,CAGlG;AAED,mFAAmF;AACnF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,CAqBjF;AAED,YAAY,EAAE,SAAS,EAAE,CAAC"}
@@ -1,8 +1,8 @@
1
- // CSS intelligence for inline `style=""` values, via `vscode-css-languageservice`
1
+ // CSS intelligence for inline `style="..."` values, via `vscode-css-languageservice`
2
2
  // (the engine behind VS Code's CSS support). An inline style is a declaration
3
- // list, not a full stylesheet, so we wrap it in a synthetic rule `*{ }` and
3
+ // list, not a full stylesheet, so we wrap it in a synthetic rule `*{ ... }` and
4
4
  // shift positions by the 2-character prefix - the same trick VS Code uses for
5
- // embedded styles. Only static `style=""` values reach here; `style={}` is a
5
+ // embedded styles. Only static `style="..."` values reach here; `style={...}` is a
6
6
  // JavaScript expression handled by the TypeScript bridge.
7
7
  import { getCSSLanguageService } from 'vscode-css-languageservice';
8
8
  import { TextDocument } from 'vscode-languageserver-textdocument';
@@ -50,7 +50,7 @@ function mapCssItems(items) {
50
50
  sortText: item.sortText
51
51
  }));
52
52
  }
53
- /** CSS property/value completion inside an inline `style=""`. */
53
+ /** CSS property/value completion inside an inline `style="..."`. */
54
54
  export function cssCompletions(source, offset) {
55
55
  const wrapped = wrap(source, offset);
56
56
  if (wrapped === null) {
@@ -61,7 +61,7 @@ export function cssCompletions(source, offset) {
61
61
  return mapCssItems(list.items);
62
62
  }
63
63
  // css`` tagged templates. Their content is a real stylesheet (selectors and
64
- // all), not a declaration list, so unlike style="" it parses without the
64
+ // all), not a declaration list, so unlike style="..." it parses without the
65
65
  // synthetic-rule wrap. The TypeScript bridge sees the template as an opaque
66
66
  // string, so this is the only source of intelligence inside it.
67
67
  /**
@@ -134,7 +134,7 @@ export function cssTemplateHover(source, offset, lineIndex) {
134
134
  }
135
135
  return { contents, range };
136
136
  }
137
- /** CSS hover (property/value docs) inside an inline `style=""`. */
137
+ /** CSS hover (property/value docs) inside an inline `style="..."`. */
138
138
  export function cssHover(source, offset, lineIndex) {
139
139
  const wrapped = wrap(source, offset);
140
140
  if (wrapped === null) {
@@ -159,4 +159,76 @@ export function cssHover(source, offset, lineIndex) {
159
159
  }
160
160
  return { contents, range };
161
161
  }
162
+ /** css-doc offset back to original source, undoing the synthetic prefix shift. */
163
+ function toSourceOffset(region, doc, position) {
164
+ return doc.offsetAt(position) - region.prefix.length + region.contentStart;
165
+ }
166
+ /** Maps a css-doc range to an original-source range within `region`. */
167
+ function regionRange(region, doc, range, lineIndex) {
168
+ return lineIndex.rangeAt(toSourceOffset(region, doc, range.start), toSourceOffset(region, doc, range.end));
169
+ }
170
+ /** css-language-service Color -> our protocol Color (identical shape, re-typed). */
171
+ function mapColor(color) {
172
+ return { red: color.red, green: color.green, blue: color.blue, alpha: color.alpha };
173
+ }
174
+ /**
175
+ * Color swatches across the given style/css regions. Runs findDocumentColors
176
+ * over each region's wrapped document and maps every color's range back to the
177
+ * original source. Never throws; a region that fails to parse contributes none.
178
+ */
179
+ export function cssColors(_source, regions, lineIndex) {
180
+ const out = [];
181
+ for (const region of regions) {
182
+ const doc = TextDocument.create('inline://color.css', 'css', 0, `${region.prefix}${region.content}${region.prefix ? '}' : ''}`);
183
+ const stylesheet = css().parseStylesheet(doc);
184
+ for (const info of css().findDocumentColors(doc, stylesheet)) {
185
+ out.push({ range: regionRange(region, doc, info.range, lineIndex), color: mapColor(info.color) });
186
+ }
187
+ }
188
+ return out;
189
+ }
190
+ /**
191
+ * The presentation choices (e.g. `#ff0000`, `rgb(255, 0, 0)`, `hsl(...)`) for a
192
+ * picked `color` at `range`. Delegates to getColorPresentations over a throwaway
193
+ * document whose text is just the color literal, since the presentations are the
194
+ * spellings of the color itself and don't depend on the surrounding stylesheet.
195
+ */
196
+ export function cssColorPresentations(color, range) {
197
+ const doc = TextDocument.create('inline://present.css', 'css', 0, '*{color:}');
198
+ const stylesheet = css().parseStylesheet(doc);
199
+ const at = { start: { line: 0, character: 0 }, end: { line: 0, character: 0 } };
200
+ return css().getColorPresentations(doc, stylesheet, color, at).map(presentation => ({
201
+ label: presentation.label,
202
+ textEdit: presentation.textEdit
203
+ ? { range, newText: presentation.textEdit.newText }
204
+ : undefined
205
+ }));
206
+ }
207
+ /** Builds a declaration-list region from a static `style="..."` value's span. */
208
+ export function styleRegion(source, valueStart, valueEnd) {
209
+ return { content: source.slice(valueStart, valueEnd), contentStart: valueStart, prefix: WRAP_PREFIX };
210
+ }
211
+ /** Builds a stylesheet region from a css`` template's content span. */
212
+ export function templateRegion(source, contentStart, contentEnd) {
213
+ return { content: source.slice(contentStart, contentEnd), contentStart, prefix: '' };
214
+ }
215
+ /** The content spans of every css`` template in the source (start/end offsets). */
216
+ export function cssTemplateSpans(source) {
217
+ const open = /\bcss\s*`/g;
218
+ const spans = [];
219
+ let match;
220
+ while ((match = open.exec(source)) !== null) {
221
+ const start = match.index + match[0].length;
222
+ let i = start;
223
+ while (i < source.length && source[i] !== '`') {
224
+ if (source[i] === '\\') {
225
+ i++;
226
+ }
227
+ i++;
228
+ }
229
+ spans.push({ start, end: i });
230
+ open.lastIndex = i + 1;
231
+ }
232
+ return spans;
233
+ }
162
234
  //# sourceMappingURL=css-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"css-service.js","sourceRoot":"","sources":["../../src/providers/css-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"css-service.js","sourceRoot":"","sources":["../../src/providers/css-service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/providers/diagnostics.ts"],"names":[],"mappings":"AAeA,OAAO,EAEH,KAAK,UAAU,EAElB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,wCAAwC;AACxC,wBAAgB,cAAc,CAAC,GAAG,EAAE,cAAc,GAAG,UAAU,EAAE,CAWhE"}
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/providers/diagnostics.ts"],"names":[],"mappings":"AAeA,OAAO,EAEH,KAAK,UAAU,EAGlB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAErE,wCAAwC;AACxC,wBAAgB,cAAc,CAAC,GAAG,EAAE,cAAc,GAAG,UAAU,EAAE,CAWhE"}
@@ -13,6 +13,7 @@ import ts from 'typescript';
13
13
  import { findMarkupStart } from '@azerothjs/compiler';
14
14
  import { parseMarkup, CompileError, lintMarkup } from '@azerothjs/compiler';
15
15
  import { DiagnosticSeverity } from "../protocol.js";
16
+ import { resolveLocation } from "../request.js";
16
17
  /** All diagnostics for the document. */
17
18
  export function getDiagnostics(ctx) {
18
19
  const { errors, warnings } = markupDiagnostics(ctx);
@@ -88,25 +89,56 @@ function typeScriptDiagnostics(ctx) {
88
89
  if (COMPONENT_PROP_CODES.has(diag.code)) {
89
90
  const anchor = ctx.virtual.mapping.nearestSourceBefore(diag.start);
90
91
  if (anchor !== null) {
91
- out.push({
92
+ out.push(withRelated(ctx, diag, {
92
93
  range: ctx.lineIndex.rangeAt(anchor, Math.min(anchor + 1, ctx.source.length)),
93
94
  severity: categoryToSeverity(diag.category),
94
95
  message: ts.flattenDiagnosticMessageText(diag.messageText, '\n'),
95
96
  code: diag.code,
96
97
  source: 'azeroth-ts'
97
- });
98
+ }));
98
99
  }
99
100
  }
100
101
  continue;
101
102
  }
102
- out.push({
103
+ out.push(withRelated(ctx, diag, {
103
104
  range: ctx.lineIndex.rangeAt(mapped.start, mapped.end),
104
105
  severity: categoryToSeverity(diag.category),
105
106
  message: ts.flattenDiagnosticMessageText(diag.messageText, '\n'),
106
107
  code: diag.code,
107
108
  source: 'azeroth-ts'
109
+ }));
110
+ }
111
+ return out;
112
+ }
113
+ /**
114
+ * Attaches `relatedInformation` (TypeScript's "'x' is declared here" / "the
115
+ * expected type comes from ..." secondary spans) to a mapped diagnostic. Each
116
+ * related entry can point at another `.azeroth` file or a real `.ts` file, so it
117
+ * resolves through the same virtual mapping as definitions/references. Entries
118
+ * that land in generated scaffolding (or have no span) are skipped, and the
119
+ * field is left off entirely when nothing maps.
120
+ */
121
+ function withRelated(ctx, diag, out) {
122
+ if (diag.relatedInformation === undefined) {
123
+ return out;
124
+ }
125
+ const related = [];
126
+ for (const info of diag.relatedInformation) {
127
+ if (info.file === undefined || info.start === undefined || info.length === undefined) {
128
+ continue;
129
+ }
130
+ const location = resolveLocation(ctx.project, info.file.fileName, { start: info.start, length: info.length });
131
+ if (location === null) {
132
+ continue;
133
+ }
134
+ related.push({
135
+ location,
136
+ message: ts.flattenDiagnosticMessageText(info.messageText, '\n')
108
137
  });
109
138
  }
139
+ if (related.length > 0) {
140
+ out.relatedInformation = related;
141
+ }
110
142
  return out;
111
143
  }
112
144
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/providers/diagnostics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/providers/diagnostics.ts"],"names":[],"mappings":"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"}