css-variable-lsp 1.0.18 → 1.0.20-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.
- package/AGENTS.md +0 -139
- package/README.md +5 -0
- package/docs/SCSS_SASS_SUPPORT_RESEARCH.md +96 -0
- package/out/colorService.js +64 -16
- package/out/colorService.js.map +1 -1
- package/out/colorVariableFeature.js +149 -0
- package/out/colorVariableFeature.js.map +1 -0
- package/out/cssVariableManager.js +158 -40
- package/out/cssVariableManager.js.map +1 -1
- package/out/flags.js +209 -0
- package/out/flags.js.map +1 -0
- package/out/initialize.js +2 -1
- package/out/initialize.js.map +1 -1
- package/out/logger.js +38 -0
- package/out/logger.js.map +1 -0
- package/out/runtimeConfig.js +3 -185
- package/out/runtimeConfig.js.map +1 -1
- package/out/server.js +93 -60
- package/out/server.js.map +1 -1
- package/out/specificity.js +46 -7
- package/out/specificity.js.map +1 -1
- package/package.json +7 -7
- package/tests/helpers/silentLogger.ts +13 -0
package/out/server.js
CHANGED
|
@@ -8,21 +8,17 @@ const path = require("path");
|
|
|
8
8
|
const vscode_uri_1 = require("vscode-uri");
|
|
9
9
|
const cssVariableManager_1 = require("./cssVariableManager");
|
|
10
10
|
const colorProvider_1 = require("./colorProvider");
|
|
11
|
+
const colorVariableFeature_1 = require("./colorVariableFeature");
|
|
11
12
|
const initialize_1 = require("./initialize");
|
|
12
13
|
const pathDisplay_1 = require("./pathDisplay");
|
|
13
14
|
const runtimeConfig_1 = require("./runtimeConfig");
|
|
15
|
+
const logger_1 = require("./logger");
|
|
14
16
|
const specificity_1 = require("./specificity");
|
|
15
17
|
const runtimeConfig = (0, runtimeConfig_1.buildRuntimeConfig)(process.argv.slice(2), process.env);
|
|
16
18
|
// Create a connection for the server, using Node's IPC as a transport.
|
|
17
19
|
// Also include all preview / proposed LSP features.
|
|
18
20
|
const connection = (0, node_1.createConnection)(node_1.ProposedFeatures.all);
|
|
19
|
-
|
|
20
|
-
// Only log in debug mode (set CSS_LSP_DEBUG=1 environment variable)
|
|
21
|
-
if (process.env.CSS_LSP_DEBUG) {
|
|
22
|
-
const message = `[css-lsp] ${label} ${JSON.stringify(payload)}`;
|
|
23
|
-
connection.console.log(message);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
21
|
+
const logger = (0, logger_1.createLogger)();
|
|
26
22
|
function updateWorkspaceFolderPaths(folders) {
|
|
27
23
|
if (!folders) {
|
|
28
24
|
workspaceFolderPaths = [];
|
|
@@ -35,13 +31,13 @@ function updateWorkspaceFolderPaths(folders) {
|
|
|
35
31
|
}
|
|
36
32
|
// Create a simple text document manager.
|
|
37
33
|
const documents = new node_1.TextDocuments(vscode_languageserver_textdocument_1.TextDocument);
|
|
38
|
-
const cssVariableManager = new cssVariableManager_1.CssVariableManager(
|
|
34
|
+
const cssVariableManager = new cssVariableManager_1.CssVariableManager(logger, runtimeConfig.lookupFiles, runtimeConfig.ignoreGlobs);
|
|
39
35
|
let hasWorkspaceFolderCapability = false;
|
|
40
36
|
let hasDiagnosticRelatedInformationCapability = false;
|
|
41
37
|
let workspaceFolderPaths = [];
|
|
42
38
|
let rootFolderPath = null;
|
|
43
39
|
connection.onInitialize((params) => {
|
|
44
|
-
|
|
40
|
+
logger.debug("initialize", {
|
|
45
41
|
rootUri: params.rootUri,
|
|
46
42
|
// rootPath is deprecated and optional in InitializeParams
|
|
47
43
|
rootPath: params.rootPath,
|
|
@@ -70,7 +66,7 @@ connection.onInitialize((params) => {
|
|
|
70
66
|
connection.onInitialized(async () => {
|
|
71
67
|
if (hasWorkspaceFolderCapability) {
|
|
72
68
|
connection.workspace.onDidChangeWorkspaceFolders((_event) => {
|
|
73
|
-
|
|
69
|
+
logger.debug("workspaceFolderChanged");
|
|
74
70
|
void connection.workspace.getWorkspaceFolders().then((folders) => {
|
|
75
71
|
updateWorkspaceFolderPaths(folders || undefined);
|
|
76
72
|
});
|
|
@@ -80,27 +76,31 @@ connection.onInitialized(async () => {
|
|
|
80
76
|
const workspaceFolders = await connection.workspace.getWorkspaceFolders();
|
|
81
77
|
if (workspaceFolders) {
|
|
82
78
|
updateWorkspaceFolderPaths(workspaceFolders || undefined);
|
|
83
|
-
|
|
79
|
+
logger.info("scanStarted");
|
|
84
80
|
const folderUris = workspaceFolders.map((f) => f.uri);
|
|
85
|
-
// Scan with progress callback that logs to console
|
|
86
81
|
let lastLoggedPercentage = 0;
|
|
87
82
|
await cssVariableManager.scanWorkspace(folderUris, (current, total) => {
|
|
88
83
|
const percentage = Math.round((current / total) * 100);
|
|
89
|
-
// Log progress every 20% to avoid spam
|
|
90
84
|
if (percentage - lastLoggedPercentage >= 20 || current === total) {
|
|
91
|
-
|
|
85
|
+
logger.info("scanProgress", { current, total, percentage });
|
|
92
86
|
lastLoggedPercentage = percentage;
|
|
93
87
|
}
|
|
94
88
|
});
|
|
95
89
|
const totalVars = cssVariableManager.getAllVariables().length;
|
|
96
|
-
|
|
90
|
+
logger.info("scanComplete", { totalVars });
|
|
97
91
|
// Validate all open documents after workspace scan
|
|
98
92
|
documents.all().forEach(validateTextDocument);
|
|
99
93
|
}
|
|
100
94
|
});
|
|
101
95
|
// Handle document close events
|
|
102
96
|
documents.onDidClose(async (e) => {
|
|
103
|
-
|
|
97
|
+
logger.debug("documentClosed", { uri: e.document.uri });
|
|
98
|
+
// Clear any pending validation timeout to prevent memory leak
|
|
99
|
+
const existingTimeout = validationTimeouts.get(e.document.uri);
|
|
100
|
+
if (existingTimeout) {
|
|
101
|
+
clearTimeout(existingTimeout);
|
|
102
|
+
validationTimeouts.delete(e.document.uri);
|
|
103
|
+
}
|
|
104
104
|
// When a document is closed, we need to revert to the file system version
|
|
105
105
|
// instead of removing it completely (which would break workspace files).
|
|
106
106
|
// This handles cases where the editor had unsaved changes.
|
|
@@ -124,17 +124,40 @@ function scheduleValidation(textDocument) {
|
|
|
124
124
|
}, 300);
|
|
125
125
|
validationTimeouts.set(uri, timeout);
|
|
126
126
|
}
|
|
127
|
+
function getAffectedDocuments(editedUri) {
|
|
128
|
+
const affected = new Set();
|
|
129
|
+
// Get variables defined in the edited file
|
|
130
|
+
const definedVars = cssVariableManager.getDocumentDefinitions(editedUri);
|
|
131
|
+
// Find all documents that use those variables
|
|
132
|
+
for (const def of definedVars) {
|
|
133
|
+
const usages = cssVariableManager.getVariableUsages(def.name);
|
|
134
|
+
for (const usage of usages) {
|
|
135
|
+
affected.add(usage.uri);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
// Also include documents with color literals (might match new variables)
|
|
139
|
+
for (const doc of documents.all()) {
|
|
140
|
+
if (cssVariableManager.getDocumentColorLiterals(doc.uri).length > 0) {
|
|
141
|
+
affected.add(doc.uri);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return affected;
|
|
145
|
+
}
|
|
127
146
|
function scheduleValidateAllOpenDocuments(excludeUri) {
|
|
128
147
|
if (validateAllTimeout) {
|
|
129
148
|
clearTimeout(validateAllTimeout);
|
|
130
149
|
}
|
|
131
150
|
validateAllTimeout = setTimeout(() => {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
151
|
+
const affectedUris = getAffectedDocuments(excludeUri);
|
|
152
|
+
for (const uri of affectedUris) {
|
|
153
|
+
if (uri === excludeUri) {
|
|
154
|
+
continue;
|
|
135
155
|
}
|
|
136
|
-
|
|
137
|
-
|
|
156
|
+
const doc = documents.get(uri);
|
|
157
|
+
if (doc) {
|
|
158
|
+
validateTextDocument(doc);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
138
161
|
validateAllTimeout = null;
|
|
139
162
|
}, 300);
|
|
140
163
|
}
|
|
@@ -183,13 +206,14 @@ async function validateTextDocument(textDocument) {
|
|
|
183
206
|
diagnostics.push(diagnostic);
|
|
184
207
|
}
|
|
185
208
|
}
|
|
209
|
+
if (runtimeConfig.enableColorReplacementDiagnostics) {
|
|
210
|
+
diagnostics.push(...(0, colorVariableFeature_1.collectColorReplacementDiagnostics)(textDocument, cssVariableManager, logger));
|
|
211
|
+
}
|
|
186
212
|
// Send diagnostics to the client
|
|
187
213
|
connection.sendDiagnostics({ uri: textDocument.uri, diagnostics });
|
|
188
214
|
}
|
|
189
215
|
connection.onDidChangeWatchedFiles(async (change) => {
|
|
190
|
-
|
|
191
|
-
connection.console.log("Received file change event");
|
|
192
|
-
logDebug("didChangeWatchedFiles", change);
|
|
216
|
+
logger.debug("didChangeWatchedFiles", { change });
|
|
193
217
|
for (const fileEvent of change.changes) {
|
|
194
218
|
if (fileEvent.type === node_1.FileChangeType.Deleted) {
|
|
195
219
|
cssVariableManager.removeFile(fileEvent.uri);
|
|
@@ -339,46 +363,48 @@ connection.onCompletion((textDocumentPosition) => {
|
|
|
339
363
|
return [];
|
|
340
364
|
}
|
|
341
365
|
const completionContext = (0, completionContext_1.getCssCompletionContext)(document, textDocumentPosition.position);
|
|
342
|
-
if (
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
366
|
+
if (completionContext) {
|
|
367
|
+
const propertyName = completionContext.propertyName;
|
|
368
|
+
const variables = cssVariableManager.getAllVariables();
|
|
369
|
+
const uniqueVars = new Map();
|
|
370
|
+
variables.forEach((v) => {
|
|
371
|
+
if (!uniqueVars.has(v.name)) {
|
|
372
|
+
uniqueVars.set(v.name, v);
|
|
373
|
+
}
|
|
374
|
+
});
|
|
375
|
+
const scoredVars = Array.from(uniqueVars.values()).map((v) => ({
|
|
376
|
+
variable: v,
|
|
377
|
+
score: scoreVariableRelevance(v.name, propertyName),
|
|
378
|
+
}));
|
|
379
|
+
const filteredAndSorted = scoredVars
|
|
380
|
+
.filter((sv) => sv.score !== 0)
|
|
381
|
+
.sort((a, b) => {
|
|
382
|
+
if (a.score !== b.score) {
|
|
383
|
+
return b.score - a.score;
|
|
384
|
+
}
|
|
385
|
+
return a.variable.name.localeCompare(b.variable.name);
|
|
386
|
+
});
|
|
387
|
+
return filteredAndSorted.map((sv) => ({
|
|
388
|
+
label: sv.variable.name,
|
|
389
|
+
kind: node_1.CompletionItemKind.Variable,
|
|
390
|
+
detail: sv.variable.value,
|
|
391
|
+
documentation: `Defined in ${(0, pathDisplay_1.formatUriForDisplay)(sv.variable.uri, {
|
|
392
|
+
mode: runtimeConfig.pathDisplayMode,
|
|
393
|
+
abbrevLength: runtimeConfig.pathDisplayAbbrevLength,
|
|
394
|
+
workspaceFolderPaths,
|
|
395
|
+
rootFolderPath,
|
|
396
|
+
})}`,
|
|
397
|
+
insertText: sv.variable.name,
|
|
398
|
+
}));
|
|
399
|
+
}
|
|
400
|
+
return (0, colorVariableFeature_1.getColorReplacementCompletionItems)(document, textDocumentPosition.position, cssVariableManager, {
|
|
401
|
+
formatLocation: (uri) => (0, pathDisplay_1.formatUriForDisplay)(uri, {
|
|
375
402
|
mode: runtimeConfig.pathDisplayMode,
|
|
376
403
|
abbrevLength: runtimeConfig.pathDisplayAbbrevLength,
|
|
377
404
|
workspaceFolderPaths,
|
|
378
405
|
rootFolderPath,
|
|
379
|
-
})
|
|
380
|
-
|
|
381
|
-
}));
|
|
406
|
+
}),
|
|
407
|
+
}, logger);
|
|
382
408
|
});
|
|
383
409
|
// This handler resolves additional information for the item selected in
|
|
384
410
|
// the completion list.
|
|
@@ -609,6 +635,13 @@ connection.onRenameRequest((params) => {
|
|
|
609
635
|
}
|
|
610
636
|
return null;
|
|
611
637
|
});
|
|
638
|
+
connection.onCodeAction((params) => {
|
|
639
|
+
const document = documents.get(params.textDocument.uri);
|
|
640
|
+
if (!document) {
|
|
641
|
+
return [];
|
|
642
|
+
}
|
|
643
|
+
return (0, colorVariableFeature_1.getColorReplacementCodeActions)(document, params.context.diagnostics, logger);
|
|
644
|
+
});
|
|
612
645
|
// Document symbols handler
|
|
613
646
|
connection.onDocumentSymbol((params) => {
|
|
614
647
|
const document = documents.get(params.textDocument.uri);
|
package/out/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/out/specificity.js
CHANGED
|
@@ -122,12 +122,51 @@ function matchesContext(definitionSelector, usageContext, domTree, domNode) {
|
|
|
122
122
|
if (definitionSelector.trim() === usageContext.trim()) {
|
|
123
123
|
return true;
|
|
124
124
|
}
|
|
125
|
-
// For
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
125
|
+
// For compound selectors like "div.class", check if the base selectors match
|
|
126
|
+
const defParts = definitionSelector.split(/[\s>+~]/).filter((p) => p.trim());
|
|
127
|
+
const usageParts = usageContext.split(/[\s>+~]/).filter((p) => p.trim());
|
|
128
|
+
// Each part of the definition must have a corresponding matching part in usage
|
|
129
|
+
// For compound selectors like "div.button", both "div" AND ".button" must match
|
|
130
|
+
for (const defPart of defParts) {
|
|
131
|
+
const hasMatch = usageParts.some((usagePart) => selectorPartMatches(defPart, usagePart));
|
|
132
|
+
if (!hasMatch) {
|
|
133
|
+
return false;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return true;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Check if a single selector part matches another selector part.
|
|
140
|
+
* Handles element selectors, class selectors, ID selectors, and attribute selectors.
|
|
141
|
+
* Returns true only if both parts are the same selector type and name.
|
|
142
|
+
*/
|
|
143
|
+
function selectorPartMatches(def, usage) {
|
|
144
|
+
// Determine selector types (before any normalization)
|
|
145
|
+
const isDefClass = def.startsWith(".");
|
|
146
|
+
const isDefId = def.startsWith("#");
|
|
147
|
+
const isDefAttr = def.startsWith("[");
|
|
148
|
+
const isDefElement = !isDefClass && !isDefId && !isDefAttr;
|
|
149
|
+
const isUsageClass = usage.startsWith(".");
|
|
150
|
+
const isUsageId = usage.startsWith("#");
|
|
151
|
+
const isUsageAttr = usage.startsWith("[");
|
|
152
|
+
const isUsageElement = !isUsageClass && !isUsageId && !isUsageAttr;
|
|
153
|
+
// Element selectors should only match element selectors
|
|
154
|
+
if (isDefElement && isUsageElement) {
|
|
155
|
+
return def === usage;
|
|
156
|
+
}
|
|
157
|
+
// Class selectors should only match class selectors
|
|
158
|
+
if (isDefClass && isUsageClass) {
|
|
159
|
+
return def === usage;
|
|
160
|
+
}
|
|
161
|
+
// ID selectors should only match ID selectors
|
|
162
|
+
if (isDefId && isUsageId) {
|
|
163
|
+
return def === usage;
|
|
164
|
+
}
|
|
165
|
+
// Attribute selectors should only match attribute selectors
|
|
166
|
+
if (isDefAttr && isUsageAttr) {
|
|
167
|
+
return def === usage;
|
|
168
|
+
}
|
|
169
|
+
// Cross-type matching is not allowed
|
|
170
|
+
return false;
|
|
132
171
|
}
|
|
133
172
|
//# sourceMappingURL=specificity.js.map
|
package/out/specificity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"specificity.js","sourceRoot":"","sources":["../src/specificity.ts"],"names":[],"mappings":";;AAwBA,oDA+DC;AAOD,gDAkBC;AAKD,8CAEC;AAYD,
|
|
1
|
+
{"version":3,"file":"specificity.js","sourceRoot":"","sources":["../src/specificity.ts"],"names":[],"mappings":";;AAwBA,oDA+DC;AAOD,gDAkBC;AAKD,8CAEC;AAYD,wCAwCC;AA7JD;;;;;;;;;GASG;AACH,SAAgB,oBAAoB,CAAC,QAAgB;IACnD,6BAA6B;IAC7B,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAE3B,qCAAqC;IACrC,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;QAClC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAC7C,CAAC;IAED,MAAM,WAAW,GAAgB;QAC/B,GAAG,EAAE,CAAC;QACN,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,CAAC;KACZ,CAAC;IAEF,4DAA4D;IAC5D,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,yDAAyD;QACzD,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3E,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CACxC,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAC/C,CAAC;IACJ,CAAC;IAED,uEAAuE;IACvE,MAAM,kBAAkB,GAAG,aAAa,CAAC;IACzC,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;IAChE,WAAW,CAAC,QAAQ,IAAI,cAAc,CAAC,MAAM,CAAC;IAC9C,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IAEpD,kBAAkB;IAClB,MAAM,OAAO,GAAG,gBAAgB,CAAC;IACjC,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC1C,WAAW,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC;IAC9B,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAEzC,yBAAyB;IACzB,MAAM,UAAU,GAAG,iBAAiB,CAAC;IACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IACjD,WAAW,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IACtC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAE5C,qCAAqC;IACrC,6EAA6E;IAC7E,MAAM,SAAS,GAAG,mCAAmC,CAAC;IACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC9C,WAAW,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC;IACpC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAE3C,kDAAkD;IAClD,MAAM,gBAAgB,GAAG,wBAAwB,CAAC;IAClD,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;IAC7D,WAAW,CAAC,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC;IAC5C,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAElD,iEAAiE;IACjE,8CAA8C;IAC9C,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACrE,WAAW,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC;IAExC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,CAAc,EAAE,CAAc;IAC/D,oBAAoB;IACpB,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;QACpB,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,eAAe;IACf,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,mBAAmB;IACnB,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC9B,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,oBAAoB;IACpB,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,IAAiB;IACjD,OAAO,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC;AAC1D,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,cAAc,CAC5B,kBAA0B,EAC1B,YAAoB,EACpB,OAAiB,EACjB,OAAqB;IAErB,+DAA+D;IAC/D,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,2DAA2D;QAC7D,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,mDAAmD;IACnD,IAAI,kBAAkB,CAAC,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc;IACd,IAAI,kBAAkB,CAAC,IAAI,EAAE,KAAK,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAEzE,+EAA+E;IAC/E,gFAAgF;IAChF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;QACzF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,GAAW,EAAE,KAAa;IACrD,sDAAsD;IACtD,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,YAAY,GAAG,CAAC,UAAU,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC;IAE3D,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,cAAc,GAAG,CAAC,YAAY,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC;IAEnE,wDAAwD;IACxD,IAAI,YAAY,IAAI,cAAc,EAAE,CAAC;QACnC,OAAO,GAAG,KAAK,KAAK,CAAC;IACvB,CAAC;IAED,oDAAoD;IACpD,IAAI,UAAU,IAAI,YAAY,EAAE,CAAC;QAC/B,OAAO,GAAG,KAAK,KAAK,CAAC;IACvB,CAAC;IAED,8CAA8C;IAC9C,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;QACzB,OAAO,GAAG,KAAK,KAAK,CAAC;IACvB,CAAC;IAED,4DAA4D;IAC5D,IAAI,SAAS,IAAI,WAAW,EAAE,CAAC;QAC7B,OAAO,GAAG,KAAK,KAAK,CAAC;IACvB,CAAC;IAED,qCAAqC;IACrC,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "css-variable-lsp",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.20-beta.1",
|
|
4
4
|
"description": "A CSS Language Server for CSS Variables",
|
|
5
5
|
"license": "GPL-3.0",
|
|
6
6
|
"repository": {
|
|
@@ -19,17 +19,17 @@
|
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@types/css-tree": "^2.3.11",
|
|
22
|
-
"@types/node": "^24.
|
|
23
|
-
"
|
|
24
|
-
"
|
|
22
|
+
"@types/node": "^24.12.0",
|
|
23
|
+
"ts-node": "^10.9.2",
|
|
24
|
+
"typescript": "^5.9.3"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"css-tree": "^3.1
|
|
27
|
+
"css-tree": "^3.2.1",
|
|
28
28
|
"glob": "^12.0.0",
|
|
29
|
+
"node-html-parser": "^7.1.0",
|
|
29
30
|
"vscode-languageserver": "^9.0.1",
|
|
30
31
|
"vscode-languageserver-textdocument": "^1.0.11",
|
|
31
|
-
"vscode-uri": "^3.0.8"
|
|
32
|
-
"node-html-parser": "^7.0.1"
|
|
32
|
+
"vscode-uri": "^3.0.8"
|
|
33
33
|
},
|
|
34
34
|
"engines": {
|
|
35
35
|
"node": "*"
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Logger } from "../../src/logger";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Silent logger for testing - discards all log output
|
|
5
|
+
*/
|
|
6
|
+
export class SilentLogger implements Logger {
|
|
7
|
+
debug(_label: string, _payload?: unknown): void {}
|
|
8
|
+
info(_label: string, _payload?: unknown): void {}
|
|
9
|
+
warn(_label: string, _payload?: unknown): void {}
|
|
10
|
+
error(_label: string, _payload?: unknown): void {}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export const silentLogger = new SilentLogger();
|