css-variable-lsp 1.0.2 → 1.0.3
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/.beads/issues.jsonl +3 -0
- package/.beads/metadata.json +2 -1
- package/LICENSE +623 -0
- package/package.json +2 -1
- package/server/out/colorProvider.test.js +59 -0
- package/server/out/colorProvider.test.js.map +1 -0
- package/server/out/colorService.js +346 -0
- package/server/out/colorService.js.map +1 -0
- package/server/out/cssVariableManager.js +58 -1
- package/server/out/cssVariableManager.js.map +1 -1
- package/server/out/server.js +85 -1
- package/server/out/server.js.map +1 -1
- package/server/package.json +2 -1
- package/server/src/colorFormatting.test.ts +66 -0
- package/server/src/colorProvider.test.ts +74 -0
- package/server/src/colorService.ts +363 -0
- package/server/src/cssVariableManager.ts +72 -2
- package/server/src/server.ts +99 -2
- package/server/tsconfig.tsbuildinfo +1 -1
package/server/out/server.js
CHANGED
|
@@ -6,6 +6,7 @@ const fs = require("fs");
|
|
|
6
6
|
const vscode_languageserver_textdocument_1 = require("vscode-languageserver-textdocument");
|
|
7
7
|
const cssVariableManager_1 = require("./cssVariableManager");
|
|
8
8
|
const specificity_1 = require("./specificity");
|
|
9
|
+
const colorService_1 = require("./colorService");
|
|
9
10
|
// Write startup log immediately
|
|
10
11
|
try {
|
|
11
12
|
const startupMsg = `[STARTUP] ${new Date().toISOString()} CSS LSP Server starting\n`;
|
|
@@ -63,7 +64,8 @@ connection.onInitialize((params) => {
|
|
|
63
64
|
referencesProvider: true,
|
|
64
65
|
renameProvider: true,
|
|
65
66
|
documentSymbolProvider: true,
|
|
66
|
-
workspaceSymbolProvider: true
|
|
67
|
+
workspaceSymbolProvider: true,
|
|
68
|
+
colorProvider: true
|
|
67
69
|
}
|
|
68
70
|
};
|
|
69
71
|
if (hasWorkspaceFolderCapability) {
|
|
@@ -450,6 +452,88 @@ connection.onWorkspaceSymbol((params) => {
|
|
|
450
452
|
: allVariables;
|
|
451
453
|
return filtered.map(v => node_1.WorkspaceSymbol.create(v.name, node_1.SymbolKind.Variable, v.uri, v.range));
|
|
452
454
|
});
|
|
455
|
+
// Color Provider: Document Colors
|
|
456
|
+
connection.onDocumentColor((params) => {
|
|
457
|
+
const document = documents.get(params.textDocument.uri);
|
|
458
|
+
if (!document) {
|
|
459
|
+
return [];
|
|
460
|
+
}
|
|
461
|
+
const colors = [];
|
|
462
|
+
const text = document.getText();
|
|
463
|
+
// 1. Check variable definitions: --my-color: #f00;
|
|
464
|
+
const definitions = cssVariableManager.getDocumentDefinitions(document.uri);
|
|
465
|
+
for (const def of definitions) {
|
|
466
|
+
const color = (0, colorService_1.parseColor)(def.value);
|
|
467
|
+
if (color) {
|
|
468
|
+
// Use the stored valueRange if available (accurate from csstree parsing)
|
|
469
|
+
if (def.valueRange) {
|
|
470
|
+
colors.push({
|
|
471
|
+
range: def.valueRange,
|
|
472
|
+
color: color
|
|
473
|
+
});
|
|
474
|
+
}
|
|
475
|
+
else {
|
|
476
|
+
// Fallback: find the value within the declaration text
|
|
477
|
+
// This handles cases where valueRange wasn't captured (shouldn't happen normally)
|
|
478
|
+
const defText = text.substring(document.offsetAt(def.range.start), document.offsetAt(def.range.end));
|
|
479
|
+
const colonIndex = defText.indexOf(':');
|
|
480
|
+
if (colonIndex !== -1) {
|
|
481
|
+
const afterColon = defText.substring(colonIndex + 1);
|
|
482
|
+
const valueIndex = afterColon.indexOf(def.value.trim());
|
|
483
|
+
if (valueIndex !== -1) {
|
|
484
|
+
const absoluteValueStart = document.offsetAt(def.range.start) + colonIndex + 1 + valueIndex;
|
|
485
|
+
const start = document.positionAt(absoluteValueStart);
|
|
486
|
+
const end = document.positionAt(absoluteValueStart + def.value.trim().length);
|
|
487
|
+
colors.push({
|
|
488
|
+
range: { start, end },
|
|
489
|
+
color: color
|
|
490
|
+
});
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
// 2. Check variable usages: var(--my-color)
|
|
497
|
+
// We want to show the color of the variable being used.
|
|
498
|
+
// But we can't easily edit it (color picker on usage).
|
|
499
|
+
// VS Code allows read-only color information.
|
|
500
|
+
const regex = /var\((--[\w-]+)\)/g;
|
|
501
|
+
let match;
|
|
502
|
+
while ((match = regex.exec(text)) !== null) {
|
|
503
|
+
const varName = match[1];
|
|
504
|
+
const color = cssVariableManager.resolveVariableColor(varName);
|
|
505
|
+
if (color) {
|
|
506
|
+
const start = document.positionAt(match.index);
|
|
507
|
+
const end = document.positionAt(match.index + match[0].length);
|
|
508
|
+
colors.push({
|
|
509
|
+
range: { start, end },
|
|
510
|
+
color: color
|
|
511
|
+
});
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
return colors;
|
|
515
|
+
});
|
|
516
|
+
// Color Provider: Color Presentation
|
|
517
|
+
connection.onColorPresentation((params) => {
|
|
518
|
+
const color = params.color;
|
|
519
|
+
const range = params.range;
|
|
520
|
+
const document = documents.get(params.textDocument.uri);
|
|
521
|
+
if (!document) {
|
|
522
|
+
return [];
|
|
523
|
+
}
|
|
524
|
+
// Offer multiple format options for the color picker
|
|
525
|
+
const presentations = [];
|
|
526
|
+
// 1. Hex format (most common)
|
|
527
|
+
const hexStr = (0, colorService_1.formatColorAsHex)(color);
|
|
528
|
+
presentations.push(node_1.ColorPresentation.create(hexStr, node_1.TextEdit.replace(range, hexStr)));
|
|
529
|
+
// 2. RGB format
|
|
530
|
+
const rgbStr = (0, colorService_1.formatColorAsRgb)(color);
|
|
531
|
+
presentations.push(node_1.ColorPresentation.create(rgbStr, node_1.TextEdit.replace(range, rgbStr)));
|
|
532
|
+
// 3. HSL format
|
|
533
|
+
const hslStr = (0, colorService_1.formatColorAsHsl)(color);
|
|
534
|
+
presentations.push(node_1.ColorPresentation.create(hslStr, node_1.TextEdit.replace(range, hslStr)));
|
|
535
|
+
return presentations;
|
|
536
|
+
});
|
|
453
537
|
// Make the text document manager listen on the connection
|
|
454
538
|
// for open, change and close text document events
|
|
455
539
|
documents.listen(connection);
|
package/server/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/server/package.json
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
"name": "css-variable-lsp-server",
|
|
3
3
|
"version": "1.0.0",
|
|
4
4
|
"description": "Language Server for CSS Variables",
|
|
5
|
+
"license": "GPL-3.0",
|
|
5
6
|
"engines": {
|
|
6
7
|
"node": "*"
|
|
7
8
|
},
|
|
@@ -9,7 +10,7 @@
|
|
|
9
10
|
"compile": "tsc -b",
|
|
10
11
|
"watch": "tsc -b -w",
|
|
11
12
|
"test": "ts-node src/test.ts",
|
|
12
|
-
"test:all": "ts-node src/test.ts && ts-node src/cascadeAndInline.test.ts && ts-node src/domTree.test.ts && ts-node src/fileTypesAndUpdates.test.ts && ts-node src/htmlComments.test.ts && ts-node src/fileLifecycle.test.ts"
|
|
13
|
+
"test:all": "ts-node src/test.ts && ts-node src/cascadeAndInline.test.ts && ts-node src/domTree.test.ts && ts-node src/fileTypesAndUpdates.test.ts && ts-node src/htmlComments.test.ts && ts-node src/fileLifecycle.test.ts && ts-node src/colorProvider.test.ts && ts-node src/colorFormatting.test.ts"
|
|
13
14
|
},
|
|
14
15
|
"dependencies": {
|
|
15
16
|
"glob": "^12.0.0",
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import * as assert from 'assert';
|
|
2
|
+
import { formatColorAsHex, formatColorAsRgb, formatColorAsHsl } from './colorService';
|
|
3
|
+
import { CssVariableManager } from './cssVariableManager';
|
|
4
|
+
import { TextDocument } from 'vscode-languageserver-textdocument';
|
|
5
|
+
|
|
6
|
+
console.log('Running Color Formatting tests...');
|
|
7
|
+
|
|
8
|
+
// Test 1: Color Formatting
|
|
9
|
+
{
|
|
10
|
+
const red = { red: 1, green: 0, blue: 0, alpha: 1 };
|
|
11
|
+
const semiTransparent = { red: 0, green: 1, blue: 0, alpha: 0.5 };
|
|
12
|
+
|
|
13
|
+
// Hex
|
|
14
|
+
assert.strictEqual(formatColorAsHex(red), '#ff0000');
|
|
15
|
+
assert.strictEqual(formatColorAsHex(semiTransparent), '#00ff0080');
|
|
16
|
+
|
|
17
|
+
// RGB
|
|
18
|
+
assert.strictEqual(formatColorAsRgb(red), 'rgb(255, 0, 0)');
|
|
19
|
+
assert.strictEqual(formatColorAsRgb(semiTransparent), 'rgba(0, 255, 0, 0.5)');
|
|
20
|
+
|
|
21
|
+
// HSL
|
|
22
|
+
assert.strictEqual(formatColorAsHsl(red), 'hsl(0, 100%, 50%)');
|
|
23
|
+
// Green is hsl(120, 100%, 50%)
|
|
24
|
+
assert.strictEqual(formatColorAsHsl(semiTransparent), 'hsla(120, 100%, 50%, 0.5)');
|
|
25
|
+
|
|
26
|
+
console.log('Test 1 passed: Color Formatting');
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// Test 2: Value Range Calculation
|
|
30
|
+
{
|
|
31
|
+
const manager = new CssVariableManager();
|
|
32
|
+
const css = `
|
|
33
|
+
:root {
|
|
34
|
+
--simple: red;
|
|
35
|
+
--spaced: blue ;
|
|
36
|
+
--complex: rgb(0,0,0);
|
|
37
|
+
}
|
|
38
|
+
`;
|
|
39
|
+
const document = TextDocument.create('file:///test.css', 'css', 1, css);
|
|
40
|
+
manager.parseDocument(document);
|
|
41
|
+
|
|
42
|
+
const simple = manager.getVariables('--simple')[0];
|
|
43
|
+
const spaced = manager.getVariables('--spaced')[0];
|
|
44
|
+
const complex = manager.getVariables('--complex')[0];
|
|
45
|
+
|
|
46
|
+
// Helper to get text from range
|
|
47
|
+
const getText = (range: any) => {
|
|
48
|
+
const start = document.offsetAt(range.start);
|
|
49
|
+
const end = document.offsetAt(range.end);
|
|
50
|
+
return css.substring(start, end);
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
// Verify value ranges
|
|
54
|
+
assert.ok(simple.valueRange, 'Simple variable should have valueRange');
|
|
55
|
+
assert.strictEqual(getText(simple.valueRange), 'red', 'Simple value range should match "red"');
|
|
56
|
+
|
|
57
|
+
assert.ok(spaced.valueRange, 'Spaced variable should have valueRange');
|
|
58
|
+
assert.strictEqual(getText(spaced.valueRange), 'blue', 'Spaced value range should match "blue" (trimmed)');
|
|
59
|
+
|
|
60
|
+
assert.ok(complex.valueRange, 'Complex variable should have valueRange');
|
|
61
|
+
assert.strictEqual(getText(complex.valueRange), 'rgb(0,0,0)', 'Complex value range should match "rgb(0,0,0)"');
|
|
62
|
+
|
|
63
|
+
console.log('Test 2 passed: Value Range Calculation');
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
console.log('All Color Formatting tests passed!');
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import * as assert from 'assert';
|
|
2
|
+
import { parseColor, formatColor } from './colorService';
|
|
3
|
+
import { CssVariableManager } from './cssVariableManager';
|
|
4
|
+
import { TextDocument } from 'vscode-languageserver-textdocument';
|
|
5
|
+
|
|
6
|
+
console.log('Running Color Provider tests...');
|
|
7
|
+
|
|
8
|
+
// Test 1: Color Service Parsing
|
|
9
|
+
{
|
|
10
|
+
// Hex
|
|
11
|
+
const red = parseColor('#ff0000');
|
|
12
|
+
assert.deepStrictEqual(red, { red: 1, green: 0, blue: 0, alpha: 1 });
|
|
13
|
+
|
|
14
|
+
const blue = parseColor('#00f');
|
|
15
|
+
assert.deepStrictEqual(blue, { red: 0, green: 0, blue: 1, alpha: 1 });
|
|
16
|
+
|
|
17
|
+
const alpha = parseColor('#00000080');
|
|
18
|
+
assert.strictEqual(alpha?.alpha.toFixed(1), '0.5');
|
|
19
|
+
|
|
20
|
+
// RGB
|
|
21
|
+
const green = parseColor('rgb(0, 255, 0)');
|
|
22
|
+
assert.deepStrictEqual(green, { red: 0, green: 1, blue: 0, alpha: 1 });
|
|
23
|
+
|
|
24
|
+
const rgba = parseColor('rgba(0, 0, 0, 0.5)');
|
|
25
|
+
assert.strictEqual(rgba?.alpha, 0.5);
|
|
26
|
+
|
|
27
|
+
// Named
|
|
28
|
+
const white = parseColor('white');
|
|
29
|
+
assert.deepStrictEqual(white, { red: 1, green: 1, blue: 1, alpha: 1 });
|
|
30
|
+
|
|
31
|
+
// Format
|
|
32
|
+
const redColor = { red: 1, green: 0, blue: 0, alpha: 1 };
|
|
33
|
+
assert.strictEqual(formatColor(redColor), '#ff0000');
|
|
34
|
+
|
|
35
|
+
const alphaColor = { red: 0, green: 0, blue: 0, alpha: 0.5 };
|
|
36
|
+
assert.strictEqual(formatColor(alphaColor), 'rgba(0, 0, 0, 0.5)');
|
|
37
|
+
|
|
38
|
+
console.log('Test 1 passed: Color Service Parsing');
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// Test 2: CSS Variable Manager Color Resolution
|
|
42
|
+
{
|
|
43
|
+
const manager = new CssVariableManager();
|
|
44
|
+
const css = `
|
|
45
|
+
:root {
|
|
46
|
+
--red: #ff0000;
|
|
47
|
+
--blue: blue;
|
|
48
|
+
--alias: var(--red);
|
|
49
|
+
--nested: var(--alias);
|
|
50
|
+
--not-color: 10px;
|
|
51
|
+
}
|
|
52
|
+
`;
|
|
53
|
+
const document = TextDocument.create('file:///test.css', 'css', 1, css);
|
|
54
|
+
manager.parseDocument(document);
|
|
55
|
+
|
|
56
|
+
const red = manager.resolveVariableColor('--red');
|
|
57
|
+
assert.deepStrictEqual(red, { red: 1, green: 0, blue: 0, alpha: 1 });
|
|
58
|
+
|
|
59
|
+
const blue = manager.resolveVariableColor('--blue');
|
|
60
|
+
assert.deepStrictEqual(blue, { red: 0, green: 0, blue: 1, alpha: 1 });
|
|
61
|
+
|
|
62
|
+
const alias = manager.resolveVariableColor('--alias');
|
|
63
|
+
assert.deepStrictEqual(alias, { red: 1, green: 0, blue: 0, alpha: 1 });
|
|
64
|
+
|
|
65
|
+
const nested = manager.resolveVariableColor('--nested');
|
|
66
|
+
assert.deepStrictEqual(nested, { red: 1, green: 0, blue: 0, alpha: 1 });
|
|
67
|
+
|
|
68
|
+
const notColor = manager.resolveVariableColor('--not-color');
|
|
69
|
+
assert.strictEqual(notColor, null);
|
|
70
|
+
|
|
71
|
+
console.log('Test 2 passed: Variable Color Resolution');
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
console.log('All Color Provider tests passed!');
|