css-variable-lsp 1.0.15 → 1.0.17

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 (51) hide show
  1. package/README.md +4 -1
  2. package/docs/SCSS_SASS_SUPPORT_RESEARCH.md +96 -0
  3. package/out/completionContext.js +244 -0
  4. package/out/completionContext.js.map +1 -0
  5. package/out/cssVariableManager.js +5 -5
  6. package/out/cssVariableManager.js.map +1 -1
  7. package/out/handlers/callHierarchy.js +128 -0
  8. package/out/handlers/callHierarchy.js.map +1 -0
  9. package/out/handlers/codeAction.js +142 -0
  10. package/out/handlers/codeAction.js.map +1 -0
  11. package/out/handlers/codeLens.js +41 -0
  12. package/out/handlers/codeLens.js.map +1 -0
  13. package/out/handlers/declaration.js +34 -0
  14. package/out/handlers/declaration.js.map +1 -0
  15. package/out/handlers/documentHighlight.js +45 -0
  16. package/out/handlers/documentHighlight.js.map +1 -0
  17. package/out/handlers/documentLink.js +61 -0
  18. package/out/handlers/documentLink.js.map +1 -0
  19. package/out/handlers/documentSync.js +15 -0
  20. package/out/handlers/documentSync.js.map +1 -0
  21. package/out/handlers/foldingRange.js +77 -0
  22. package/out/handlers/foldingRange.js.map +1 -0
  23. package/out/handlers/formatting.js +99 -0
  24. package/out/handlers/formatting.js.map +1 -0
  25. package/out/handlers/implementation.js +35 -0
  26. package/out/handlers/implementation.js.map +1 -0
  27. package/out/handlers/inlayHint.js +46 -0
  28. package/out/handlers/inlayHint.js.map +1 -0
  29. package/out/handlers/linkedEditingRange.js +45 -0
  30. package/out/handlers/linkedEditingRange.js.map +1 -0
  31. package/out/handlers/prepareRename.js +44 -0
  32. package/out/handlers/prepareRename.js.map +1 -0
  33. package/out/handlers/selectionRange.js +100 -0
  34. package/out/handlers/selectionRange.js.map +1 -0
  35. package/out/handlers/semanticTokens.js +57 -0
  36. package/out/handlers/semanticTokens.js.map +1 -0
  37. package/out/handlers/signatureHelp.js +54 -0
  38. package/out/handlers/signatureHelp.js.map +1 -0
  39. package/out/handlers/typeDefinition.js +35 -0
  40. package/out/handlers/typeDefinition.js.map +1 -0
  41. package/out/hierarchy/callHierarchy.js +119 -0
  42. package/out/hierarchy/callHierarchy.js.map +1 -0
  43. package/out/hierarchy/shared/hierarchyTypes.js +45 -0
  44. package/out/hierarchy/shared/hierarchyTypes.js.map +1 -0
  45. package/out/hierarchy/shared/variableAnalyzer.js +43 -0
  46. package/out/hierarchy/shared/variableAnalyzer.js.map +1 -0
  47. package/out/runtimeConfig.js +25 -0
  48. package/out/runtimeConfig.js.map +1 -1
  49. package/out/server.js +14 -132
  50. package/out/server.js.map +1 -1
  51. package/package.json +1 -1
package/README.md CHANGED
@@ -4,7 +4,7 @@ A Language Server Protocol (LSP) implementation focused on CSS custom properties
4
4
 
5
5
  ## Features
6
6
 
7
- - **Context-aware completion** in CSS property values, inside `var(...)`, and in HTML `style=""` attributes, with relevance scoring.
7
+ - **Context-aware completion** after `var(` in CSS files, HTML `<style>` blocks/`style=""` attributes, and JS/TS string literals, with relevance scoring.
8
8
  - **Workspace-wide indexing** across `.css`, `.scss`, `.sass`, `.less`, plus HTML `<style>` blocks and inline styles.
9
9
  - **Cascade-aware hover** that orders definitions by `!important`, specificity, and source order.
10
10
  - **Go to definition**, **find references**, and **rename** support.
@@ -55,6 +55,7 @@ Command-line flags:
55
55
  - `--ignore-glob "<glob>"` (repeatable)
56
56
  - `--path-display=relative|absolute|abbreviated`
57
57
  - `--path-display-length=N` (only used for `abbreviated`; `0` disables shortening)
58
+ - `--undefined-var-fallback=warning|info|off` (controls diagnostics for undefined vars when a `var()` fallback exists)
58
59
 
59
60
  Environment variables:
60
61
 
@@ -64,11 +65,13 @@ Environment variables:
64
65
  - `CSS_LSP_DEBUG=1` (enable debug logging)
65
66
  - `CSS_LSP_PATH_DISPLAY=relative|absolute|abbreviated`
66
67
  - `CSS_LSP_PATH_DISPLAY_LENGTH=1` (same as `--path-display-length`)
68
+ - `CSS_LSP_UNDEFINED_VAR_FALLBACK=warning|info|off`
67
69
 
68
70
  Defaults:
69
71
 
70
72
  - `--path-display`: `relative`
71
73
  - `--path-display-length`: `1`
74
+ - `--undefined-var-fallback`: `warning`
72
75
  - Lookup globs:
73
76
  - `**/*.css`
74
77
  - `**/*.scss`
@@ -0,0 +1,96 @@
1
+ # Deep Research: Full SCSS/Sass Support for CSS Variable LSP
2
+
3
+ Last updated: 2026-01-21
4
+
5
+ ## Executive summary
6
+
7
+ - Full SCSS/Sass semantics require a real Sass compiler (Dart Sass). Parser-only libraries can accept syntax but cannot evaluate variables, mixins, @use/@forward modules, interpolation, or control flow.
8
+ - In Node.js, the practical compiler choices are `sass` (Dart Sass compiled to JavaScript) and `sass-embedded` (embedded Dart executable with the same JS API, usually faster but platform-limited).
9
+ - Sass module features (`@use`, `@forward`, and built-in `sass:` modules) are only supported by Dart Sass, not LibSass.
10
+
11
+ ## What "full support" means
12
+
13
+ A "full" SCSS/Sass implementation must evaluate:
14
+
15
+ - `$` variables, mixins, functions, and control flow (`@if`, `@for`, `@each`, `@while`).
16
+ - Interpolation in selectors, property names, and values.
17
+ - Module system semantics for `@use` and `@forward` (including namespaces and configuration).
18
+ - Built-in modules such as `sass:color`, `sass:math`, etc.
19
+ - Both syntaxes: SCSS (`.scss`) and indented Sass (`.sass`).
20
+
21
+ These features are not recoverable with syntax-only parsing; they require compilation.
22
+
23
+ ## Library landscape
24
+
25
+ ### 1) Compiler-backed (full semantics)
26
+
27
+ #### Dart Sass via the JS API
28
+
29
+ - The `sass` npm package is Dart Sass compiled to JavaScript. It includes the CLI and exposes the JavaScript API (`compile`, `compileString`, and async variants).
30
+ - The `sass-embedded` package wraps the embedded Dart Sass executable using the Embedded Sass protocol. It exposes the same JS API and is typically faster, but only on platforms where the embedded Dart binary is available.
31
+ - Dart Sass itself can be started in embedded mode via `sass --embedded`, but the npm build of Dart Sass does not provide the `--embedded` flag.
32
+
33
+ #### JS API surface that matters for an LSP
34
+
35
+ Key API parts for integration:
36
+
37
+ - `compile` / `compileString` and their async equivalents.
38
+ - Options that affect source mapping (`sourceMap`, `sourceMapIncludeSources`).
39
+ - Resolution controls (`loadPaths`) and custom `importers` (for `@use`/`@import`).
40
+ - `FileImporter` lets the compiler resolve partials and extensions (e.g., `_name.scss`, `.sass`, `.scss`) without manual logic.
41
+ - The legacy JS API (`render`, `renderSync`) is deprecated and scheduled for removal in Dart Sass 2.0.0.
42
+
43
+ ### 2) Parser-only (syntax-level, not semantic)
44
+
45
+ - `postcss-scss` parses SCSS syntax but does not compile; it represents mixins and variables as custom at-rules/properties rather than evaluating them.
46
+ - `gonzales-pe` provides an AST for SCSS/Sass/LESS syntax but does not evaluate Sass semantics.
47
+ - Tree-sitter provides incremental parsing and syntax trees; grammars exist for SCSS, but they do not execute Sass logic.
48
+
49
+ ## Implications for CSS Variable LSP
50
+
51
+ ### Option A: Compile SCSS/Sass to CSS (recommended for "full support")
52
+
53
+ Pipeline:
54
+
55
+ 1. On `.scss`/`.sass` file change, compile with `sass` or `sass-embedded`.
56
+ 2. Feed resulting CSS into the existing CSS custom property extractor.
57
+ 3. Use source maps to map CSS locations back to original SCSS/Sass documents.
58
+ 4. Use custom importers to align `@use`/`@import` resolution with the workspace layout.
59
+ 5. Track dependencies so changes in partials or shared modules trigger recompilation of dependents.
60
+ 6. Surface Sass compiler errors as diagnostics and avoid indexing stale outputs.
61
+
62
+ Notes:
63
+
64
+ - `sass-embedded` is usually faster and keeps the main thread more responsive, but it adds a native dependency and is limited by platform support. A practical approach is to prefer `sass-embedded` and fall back to `sass` when not available.
65
+ - Source maps are essential for precise diagnostics, hover, and definitions. Without them, results will point to generated CSS instead of the original SCSS/Sass.
66
+
67
+ ### Option B: Syntax-only parsing to tolerate SCSS/Sass syntax
68
+
69
+ You can swap the parser to `postcss-scss` or gonzales-pe to prevent parse failures and still extract literal `--custom-prop` declarations, but this cannot provide accurate semantics when Sass generates custom properties dynamically (mixins, interpolation, control flow). This is "best-effort" only.
70
+
71
+ ### Mixed approach
72
+
73
+ A hybrid strategy is to run a fast syntax-only parse for responsiveness, then refine results after a background Sass compilation finishes. This can reduce editor latency while still delivering correct results once compilation completes.
74
+
75
+ ## Recommendation
76
+
77
+ If the goal is truly "full SCSS/Sass support", integrate Dart Sass compilation. Use `sass-embedded` for performance where available, fall back to `sass` otherwise, and rely on source maps plus custom importers to map results back to source files. Parser-only libraries can improve tolerance for incomplete edits, but they cannot replace a compiler for correctness.
78
+
79
+ ## Sources
80
+
81
+ - https://sass-lang.com/documentation/js-api/
82
+ - https://sass-lang.com/documentation/js-api/functions/compile/
83
+ - https://sass-lang.com/documentation/js-api/interfaces/options/
84
+ - https://sass-lang.com/documentation/js-api/interfaces/importer/
85
+ - https://sass-lang.com/documentation/js-api/interfaces/fileimporter/
86
+ - https://sass-lang.com/documentation/at-rules/use/
87
+ - https://sass-lang.com/documentation/at-rules/forward/
88
+ - https://sass-lang.com/documentation/modules/
89
+ - https://sass-lang.com/documentation/breaking-changes/legacy-js-api/
90
+ - https://github.com/sass/embedded-host-node
91
+ - https://github.com/sass/dart-sass
92
+ - https://github.com/postcss/postcss-scss
93
+ - https://www.npmjs.com/package/gonzales-pe
94
+ - https://github.com/tree-sitter/tree-sitter
95
+ - https://www.npmjs.com/package/tree-sitter
96
+ - https://docs.rs/tree-sitter-scss
@@ -0,0 +1,244 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCssCompletionContext = getCssCompletionContext;
4
+ const cssVariableManager_1 = require("./cssVariableManager");
5
+ const CONTEXT_WINDOW = 400;
6
+ const JS_LANGUAGE_IDS = new Set([
7
+ "javascript",
8
+ "javascriptreact",
9
+ "typescript",
10
+ "typescriptreact",
11
+ "js",
12
+ "jsx",
13
+ "ts",
14
+ "tsx",
15
+ ]);
16
+ function getCssCompletionContext(document, position) {
17
+ const rawContext = getRawCompletionContext(document, position);
18
+ if (!rawContext) {
19
+ return null;
20
+ }
21
+ if (!isVarFunctionContext(rawContext.beforeCursor)) {
22
+ return null;
23
+ }
24
+ return {
25
+ propertyName: getPropertyNameFromContext(rawContext.beforeCursor, rawContext.allowWithoutBraces),
26
+ };
27
+ }
28
+ function getRawCompletionContext(document, position) {
29
+ const languageId = document.languageId.toLowerCase();
30
+ const text = document.getText();
31
+ const offset = document.offsetAt(position);
32
+ if (cssVariableManager_1.CSS_LANGUAGE_IDS.has(languageId)) {
33
+ return {
34
+ beforeCursor: sliceBeforeCursor(text, offset),
35
+ allowWithoutBraces: false,
36
+ };
37
+ }
38
+ if (cssVariableManager_1.HTML_LIKE_LANGUAGE_IDS.has(languageId)) {
39
+ const inlineStyle = extractInlineStyleContext(text, offset);
40
+ if (inlineStyle) {
41
+ return {
42
+ beforeCursor: inlineStyle,
43
+ allowWithoutBraces: true,
44
+ };
45
+ }
46
+ const styleBlock = extractStyleBlockContext(text, offset);
47
+ if (styleBlock) {
48
+ return {
49
+ beforeCursor: styleBlock,
50
+ allowWithoutBraces: false,
51
+ };
52
+ }
53
+ return null;
54
+ }
55
+ if (JS_LANGUAGE_IDS.has(languageId)) {
56
+ const beforeCursor = sliceBeforeCursor(text, offset);
57
+ const jsString = extractJsStringContext(beforeCursor);
58
+ if (!jsString) {
59
+ return null;
60
+ }
61
+ return {
62
+ beforeCursor: jsString,
63
+ allowWithoutBraces: true,
64
+ };
65
+ }
66
+ return null;
67
+ }
68
+ function isVarFunctionContext(beforeCursor) {
69
+ return /(?:^|[^\w-])var\(\s*(?:--[\w-]*)?$/i.test(beforeCursor);
70
+ }
71
+ function sliceBeforeCursor(text, offset) {
72
+ const start = Math.max(0, offset - CONTEXT_WINDOW);
73
+ return text.slice(start, offset);
74
+ }
75
+ function trimContext(value) {
76
+ if (value.length <= CONTEXT_WINDOW) {
77
+ return value;
78
+ }
79
+ return value.slice(value.length - CONTEXT_WINDOW);
80
+ }
81
+ function extractInlineStyleContext(text, offset) {
82
+ const lastTagClose = text.lastIndexOf(">", offset);
83
+ const tagStart = text.lastIndexOf("<", offset);
84
+ if (tagStart === -1 || tagStart < lastTagClose) {
85
+ return null;
86
+ }
87
+ const tagText = text.slice(tagStart, offset);
88
+ const match = tagText.match(/style\s*=\s*(["'])([^"']*)$/i);
89
+ if (!match) {
90
+ return null;
91
+ }
92
+ return trimContext(match[2]);
93
+ }
94
+ function extractStyleBlockContext(text, offset) {
95
+ const beforeCursor = text.slice(0, offset);
96
+ const beforeLower = beforeCursor.toLowerCase();
97
+ const openIndex = beforeLower.lastIndexOf("<style");
98
+ if (openIndex === -1) {
99
+ return null;
100
+ }
101
+ const closeIndex = beforeLower.lastIndexOf("</style");
102
+ if (closeIndex > openIndex) {
103
+ return null;
104
+ }
105
+ const tagEnd = beforeLower.indexOf(">", openIndex);
106
+ if (tagEnd === -1 || tagEnd >= beforeCursor.length) {
107
+ return null;
108
+ }
109
+ const cssBeforeCursor = beforeCursor.slice(tagEnd + 1);
110
+ return trimContext(cssBeforeCursor);
111
+ }
112
+ function extractJsStringContext(beforeCursor) {
113
+ let inQuote = null;
114
+ let inTemplate = false;
115
+ let templateExprDepth = 0;
116
+ let exprQuote = null;
117
+ let segmentStart = null;
118
+ for (let i = 0; i < beforeCursor.length; i++) {
119
+ const char = beforeCursor[i];
120
+ if (inQuote) {
121
+ if (char === "\\") {
122
+ i++;
123
+ continue;
124
+ }
125
+ if (char === inQuote) {
126
+ inQuote = null;
127
+ segmentStart = null;
128
+ }
129
+ continue;
130
+ }
131
+ if (inTemplate) {
132
+ if (templateExprDepth > 0) {
133
+ if (exprQuote) {
134
+ if (char === "\\") {
135
+ i++;
136
+ continue;
137
+ }
138
+ if (char === exprQuote) {
139
+ exprQuote = null;
140
+ }
141
+ continue;
142
+ }
143
+ if (char === "'" || char === '"' || char === "`") {
144
+ exprQuote = char;
145
+ continue;
146
+ }
147
+ if (char === "{") {
148
+ templateExprDepth++;
149
+ continue;
150
+ }
151
+ if (char === "}") {
152
+ templateExprDepth--;
153
+ if (templateExprDepth === 0) {
154
+ segmentStart = i + 1;
155
+ }
156
+ continue;
157
+ }
158
+ continue;
159
+ }
160
+ if (char === "\\") {
161
+ i++;
162
+ continue;
163
+ }
164
+ if (char === "`") {
165
+ inTemplate = false;
166
+ segmentStart = null;
167
+ continue;
168
+ }
169
+ if (char === "$" && beforeCursor[i + 1] === "{") {
170
+ templateExprDepth = 1;
171
+ segmentStart = null;
172
+ i++;
173
+ continue;
174
+ }
175
+ continue;
176
+ }
177
+ if (char === "'" || char === '"') {
178
+ inQuote = char;
179
+ segmentStart = i + 1;
180
+ continue;
181
+ }
182
+ if (char === "`") {
183
+ inTemplate = true;
184
+ segmentStart = i + 1;
185
+ }
186
+ }
187
+ if (inQuote && segmentStart !== null) {
188
+ return beforeCursor.slice(segmentStart);
189
+ }
190
+ if (inTemplate && templateExprDepth === 0 && segmentStart !== null) {
191
+ return beforeCursor.slice(segmentStart);
192
+ }
193
+ return null;
194
+ }
195
+ function getPropertyNameFromContext(beforeCursor, allowWithoutBraces) {
196
+ let inBraces = 0;
197
+ let inParens = 0;
198
+ let lastColonPos = -1;
199
+ let lastSemicolonPos = -1;
200
+ let lastBracePos = -1;
201
+ for (let i = beforeCursor.length - 1; i >= 0; i--) {
202
+ const char = beforeCursor[i];
203
+ if (char === ")")
204
+ inParens++;
205
+ else if (char === "(") {
206
+ inParens--;
207
+ if (inParens < 0)
208
+ break;
209
+ }
210
+ else if (char === "}")
211
+ inBraces++;
212
+ else if (char === "{") {
213
+ inBraces--;
214
+ if (inBraces < 0) {
215
+ lastBracePos = i;
216
+ break;
217
+ }
218
+ }
219
+ else if (char === ":" &&
220
+ inParens === 0 &&
221
+ inBraces === 0 &&
222
+ lastColonPos === -1) {
223
+ lastColonPos = i;
224
+ }
225
+ else if (char === ";" &&
226
+ inParens === 0 &&
227
+ inBraces === 0 &&
228
+ lastSemicolonPos === -1) {
229
+ lastSemicolonPos = i;
230
+ }
231
+ }
232
+ if (!allowWithoutBraces && lastBracePos === -1) {
233
+ return null;
234
+ }
235
+ if (lastColonPos > lastSemicolonPos && lastColonPos > lastBracePos) {
236
+ const beforeColon = beforeCursor.slice(0, lastColonPos).trim();
237
+ const propertyMatch = beforeColon.match(/([\w-]+)$/);
238
+ if (propertyMatch) {
239
+ return propertyMatch[1].toLowerCase();
240
+ }
241
+ }
242
+ return null;
243
+ }
244
+ //# sourceMappingURL=completionContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completionContext.js","sourceRoot":"","sources":["../src/completionContext.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CssVariableManager = void 0;
3
+ exports.CssVariableManager = exports.CSS_LANGUAGE_IDS = exports.HTML_LIKE_LANGUAGE_IDS = void 0;
4
4
  const node_1 = require("vscode-languageserver/node");
5
5
  const vscode_languageserver_textdocument_1 = require("vscode-languageserver-textdocument");
6
6
  const vscode_uri_1 = require("vscode-uri");
@@ -40,14 +40,14 @@ const EXTENSION_LANGUAGE_MAP = new Map([
40
40
  [".astro", "html"],
41
41
  [".ripple", "html"],
42
42
  ]);
43
- const HTML_LIKE_LANGUAGE_IDS = new Set([
43
+ exports.HTML_LIKE_LANGUAGE_IDS = new Set([
44
44
  "html",
45
45
  "vue",
46
46
  "svelte",
47
47
  "astro",
48
48
  "ripple",
49
49
  ]);
50
- const CSS_LANGUAGE_IDS = new Set(["css", "scss", "sass", "less"]);
50
+ exports.CSS_LANGUAGE_IDS = new Set(["css", "scss", "sass", "less"]);
51
51
  function normalizeGlobPattern(pattern) {
52
52
  return pattern.replace(/\\/g, "/").trim();
53
53
  }
@@ -130,10 +130,10 @@ class CssVariableManager {
130
130
  return this.lookupExtensions.get(ext) ?? null;
131
131
  }
132
132
  resolveDocumentLanguageId(languageId, uri) {
133
- if (HTML_LIKE_LANGUAGE_IDS.has(languageId)) {
133
+ if (exports.HTML_LIKE_LANGUAGE_IDS.has(languageId)) {
134
134
  return "html";
135
135
  }
136
- if (CSS_LANGUAGE_IDS.has(languageId)) {
136
+ if (exports.CSS_LANGUAGE_IDS.has(languageId)) {
137
137
  return languageId;
138
138
  }
139
139
  const filePath = vscode_uri_1.URI.parse(uri).fsPath;
@@ -1 +1 @@
1
- {"version":3,"file":"cssVariableManager.js","sourceRoot":"","sources":["../src/cssVariableManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cssVariableManager.js","sourceRoot":"","sources":["../src/cssVariableManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleCallHierarchyPrepare = handleCallHierarchyPrepare;
4
+ exports.handleCallHierarchyIncomingCalls = handleCallHierarchyIncomingCalls;
5
+ exports.handleCallHierarchyOutgoingCalls = handleCallHierarchyOutgoingCalls;
6
+ const node_1 = require("vscode-languageserver/node");
7
+ /**
8
+ * Handle call hierarchy prepare.
9
+ * Resolves the item at the cursor position to start the hierarchy.
10
+ */
11
+ function handleCallHierarchyPrepare(params, documents, cssVariableManager) {
12
+ const document = documents.get(params.textDocument.uri);
13
+ if (!document) {
14
+ return null;
15
+ }
16
+ const text = document.getText();
17
+ const offset = document.offsetAt(params.position);
18
+ const left = text.slice(0, offset).match(/[\w-]*$/);
19
+ const right = text.slice(offset).match(/^[\w-]*/);
20
+ if (!left || !right) {
21
+ return null;
22
+ }
23
+ const word = left[0] + right[0];
24
+ if (!word.startsWith("--")) {
25
+ return null;
26
+ }
27
+ const variables = cssVariableManager.getVariables(word);
28
+ if (variables.length === 0) {
29
+ // If definition not found, try usage
30
+ const usages = cssVariableManager.getVariableUsages(word);
31
+ if (usages.length > 0) {
32
+ // Return item based on usage, but pointing to definition if possible
33
+ // Ideally we resolve to the definition.
34
+ // For now, create a virtual item if definition is missing?
35
+ // Actually, hierarchy works best on definitions.
36
+ return null;
37
+ }
38
+ return null;
39
+ }
40
+ const variable = variables[0]; // Use first definition
41
+ return [
42
+ {
43
+ name: variable.name,
44
+ kind: node_1.SymbolKind.Variable,
45
+ uri: variable.uri,
46
+ range: variable.range,
47
+ selectionRange: variable.nameRange || variable.range,
48
+ detail: variable.value,
49
+ },
50
+ ];
51
+ }
52
+ /**
53
+ * Handle incoming calls (Functions that call this function).
54
+ * For CSS variables: Where is this variable used?
55
+ */
56
+ function handleCallHierarchyIncomingCalls(params, cssVariableManager) {
57
+ const item = params.item;
58
+ const variableName = item.name;
59
+ const usages = cssVariableManager.getVariableUsages(variableName);
60
+ const incomingCalls = [];
61
+ for (const usage of usages) {
62
+ // We need to identify the "caller".
63
+ // In CSS, the "caller" is the rule or selector that uses the variable.
64
+ // Or if inside another variable definition: --foo: var(--bar);
65
+ // Simplification: We'll create an item for the file/range where it's used
66
+ const fromRange = usage.range;
67
+ // We ideally need a "container" symbol (like the selector name).
68
+ // cssVariableManager doesn't easily give us the "parent rule" of a usage yet without re-parsing.
69
+ // But we know the file URI.
70
+ const callerItem = {
71
+ name: usage.usageContext || "root", // Fallback if no selector known
72
+ kind: node_1.SymbolKind.Property,
73
+ uri: usage.uri,
74
+ range: usage.range, // Approx range (usage site)
75
+ selectionRange: usage.range,
76
+ detail: "Usage",
77
+ };
78
+ incomingCalls.push({
79
+ from: callerItem,
80
+ fromRanges: [usage.range],
81
+ });
82
+ }
83
+ return incomingCalls;
84
+ }
85
+ /**
86
+ * Handle outgoing calls (Functions called by this function).
87
+ * For CSS variables: What other variables does this variable use?
88
+ */
89
+ function handleCallHierarchyOutgoingCalls(params, cssVariableManager) {
90
+ const item = params.item;
91
+ // This requires analyzing the value of the variable to find var() calls
92
+ // `item.detail` might hold the value if we populated it.
93
+ const variableValue = item.detail;
94
+ if (!variableValue)
95
+ return null;
96
+ const outgoingCalls = [];
97
+ const varRegex = /var\((--[\w-]+)/g;
98
+ let match;
99
+ while ((match = varRegex.exec(variableValue)) !== null) {
100
+ const usedVarName = match[1];
101
+ const definitions = cssVariableManager.getVariables(usedVarName);
102
+ if (definitions.length > 0) {
103
+ const def = definitions[0];
104
+ const toItem = {
105
+ name: def.name,
106
+ kind: node_1.SymbolKind.Variable,
107
+ uri: def.uri,
108
+ range: def.range,
109
+ selectionRange: def.nameRange || def.range,
110
+ detail: def.value,
111
+ };
112
+ // Where in the value string is it used?
113
+ // We don't have absolute position in file easily here without reparsing definition location.
114
+ // We'll approximate or leave empty.
115
+ // Range is required.
116
+ const dummyRange = {
117
+ start: { line: 0, character: 0 },
118
+ end: { line: 0, character: 0 },
119
+ };
120
+ outgoingCalls.push({
121
+ to: toItem,
122
+ fromRanges: [dummyRange],
123
+ });
124
+ }
125
+ }
126
+ return outgoingCalls;
127
+ }
128
+ //# sourceMappingURL=callHierarchy.js.map