css-variable-lsp 1.0.17 → 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.
Files changed (62) hide show
  1. package/AGENTS.md +0 -139
  2. package/README.md +5 -0
  3. package/out/colorService.js +64 -16
  4. package/out/colorService.js.map +1 -1
  5. package/out/colorVariableFeature.js +149 -0
  6. package/out/colorVariableFeature.js.map +1 -0
  7. package/out/cssVariableManager.js +158 -40
  8. package/out/cssVariableManager.js.map +1 -1
  9. package/out/flags.js +209 -0
  10. package/out/flags.js.map +1 -0
  11. package/out/initialize.js +2 -1
  12. package/out/initialize.js.map +1 -1
  13. package/out/logger.js +38 -0
  14. package/out/logger.js.map +1 -0
  15. package/out/runtimeConfig.js +3 -185
  16. package/out/runtimeConfig.js.map +1 -1
  17. package/out/server.js +93 -60
  18. package/out/server.js.map +1 -1
  19. package/out/specificity.js +46 -7
  20. package/out/specificity.js.map +1 -1
  21. package/package.json +7 -7
  22. package/tests/helpers/silentLogger.ts +13 -0
  23. package/out/handlers/callHierarchy.js +0 -128
  24. package/out/handlers/callHierarchy.js.map +0 -1
  25. package/out/handlers/codeAction.js +0 -142
  26. package/out/handlers/codeAction.js.map +0 -1
  27. package/out/handlers/codeLens.js +0 -41
  28. package/out/handlers/codeLens.js.map +0 -1
  29. package/out/handlers/declaration.js +0 -34
  30. package/out/handlers/declaration.js.map +0 -1
  31. package/out/handlers/documentHighlight.js +0 -45
  32. package/out/handlers/documentHighlight.js.map +0 -1
  33. package/out/handlers/documentLink.js +0 -61
  34. package/out/handlers/documentLink.js.map +0 -1
  35. package/out/handlers/documentSync.js +0 -15
  36. package/out/handlers/documentSync.js.map +0 -1
  37. package/out/handlers/foldingRange.js +0 -77
  38. package/out/handlers/foldingRange.js.map +0 -1
  39. package/out/handlers/formatting.js +0 -99
  40. package/out/handlers/formatting.js.map +0 -1
  41. package/out/handlers/implementation.js +0 -35
  42. package/out/handlers/implementation.js.map +0 -1
  43. package/out/handlers/inlayHint.js +0 -46
  44. package/out/handlers/inlayHint.js.map +0 -1
  45. package/out/handlers/linkedEditingRange.js +0 -45
  46. package/out/handlers/linkedEditingRange.js.map +0 -1
  47. package/out/handlers/prepareRename.js +0 -44
  48. package/out/handlers/prepareRename.js.map +0 -1
  49. package/out/handlers/selectionRange.js +0 -100
  50. package/out/handlers/selectionRange.js.map +0 -1
  51. package/out/handlers/semanticTokens.js +0 -57
  52. package/out/handlers/semanticTokens.js.map +0 -1
  53. package/out/handlers/signatureHelp.js +0 -54
  54. package/out/handlers/signatureHelp.js.map +0 -1
  55. package/out/handlers/typeDefinition.js +0 -35
  56. package/out/handlers/typeDefinition.js.map +0 -1
  57. package/out/hierarchy/callHierarchy.js +0 -119
  58. package/out/hierarchy/callHierarchy.js.map +0 -1
  59. package/out/hierarchy/shared/hierarchyTypes.js +0 -45
  60. package/out/hierarchy/shared/hierarchyTypes.js.map +0 -1
  61. package/out/hierarchy/shared/variableAnalyzer.js +0 -43
  62. package/out/hierarchy/shared/variableAnalyzer.js.map +0 -1
package/AGENTS.md CHANGED
@@ -1,139 +0,0 @@
1
- ## Issue Tracking with bd (beads)
2
-
3
- **IMPORTANT**: This project uses **bd (beads)** for ALL issue tracking. Do NOT use markdown TODOs, task lists, or other tracking methods.
4
-
5
- ### Why bd?
6
-
7
- - Dependency-aware: Track blockers and relationships between issues
8
- - Git-friendly: Auto-syncs to JSONL for version control
9
- - Agent-optimized: JSON output, ready work detection, discovered-from links
10
- - Prevents duplicate tracking systems and confusion
11
-
12
- ### Quick Start
13
-
14
- **Check for ready work:**
15
-
16
- ```bash
17
- bd ready --json
18
- ```
19
-
20
- **Create new issues:**
21
-
22
- ```bash
23
- bd create "Issue title" -t bug|feature|task -p 0-4 --json
24
- bd create "Issue title" -p 1 --deps discovered-from:bd-123 --json
25
- ```
26
-
27
- **Claim and update:**
28
-
29
- ```bash
30
- bd update bd-42 --status in_progress --json
31
- bd update bd-42 --priority 1 --json
32
- ```
33
-
34
- **Complete work:**
35
-
36
- ```bash
37
- bd close bd-42 --reason "Completed" --json
38
- ```
39
-
40
- ### Issue Types
41
-
42
- - `bug` - Something broken
43
- - `feature` - New functionality
44
- - `task` - Work item (tests, docs, refactoring)
45
- - `epic` - Large feature with subtasks
46
- - `chore` - Maintenance (dependencies, tooling)
47
-
48
- ### Priorities
49
-
50
- - `0` - Critical (security, data loss, broken builds)
51
- - `1` - High (major features, important bugs)
52
- - `2` - Medium (default, nice-to-have)
53
- - `3` - Low (polish, optimization)
54
- - `4` - Backlog (future ideas)
55
-
56
- ### Workflow for AI Agents
57
-
58
- 1. **Check ready work**: `bd ready` shows unblocked issues
59
- 2. **Claim your task**: `bd update <id> --status in_progress`
60
- 3. **Work on it**: Implement, test, document
61
- 4. **Discover new work?** Create linked issue:
62
- - `bd create "Found bug" -p 1 --deps discovered-from:<parent-id>`
63
- 5. **Complete**: `bd close <id> --reason "Done"`
64
- 6. **Commit together**: Always commit the `.beads/issues.jsonl` file together with the code changes so issue state stays in sync with code state
65
-
66
- ### Auto-Sync
67
-
68
- bd automatically syncs with git:
69
-
70
- - Exports to `.beads/issues.jsonl` after changes (5s debounce)
71
- - Imports from JSONL when newer (e.g., after `git pull`)
72
- - No manual export/import needed!
73
-
74
- ### MCP Server (Recommended)
75
-
76
- If using Claude or MCP-compatible clients, install the beads MCP server:
77
-
78
- ```bash
79
- pip install beads-mcp
80
- ```
81
-
82
- Add to MCP config (e.g., `~/.config/claude/config.json`):
83
-
84
- ```json
85
- {
86
- "beads": {
87
- "command": "beads-mcp",
88
- "args": []
89
- }
90
- }
91
- ```
92
-
93
- Then use `mcp__beads__*` functions instead of CLI commands.
94
-
95
- ### Managing AI-Generated Planning Documents
96
-
97
- AI assistants often create planning and design documents during development:
98
-
99
- - PLAN.md, IMPLEMENTATION.md, ARCHITECTURE.md
100
- - DESIGN.md, CODEBASE_SUMMARY.md, INTEGRATION_PLAN.md
101
- - TESTING_GUIDE.md, TECHNICAL_DESIGN.md, and similar files
102
-
103
- **Best Practice: Use a dedicated directory for these ephemeral files**
104
-
105
- **Recommended approach:**
106
-
107
- - Create a `history/` directory in the project root
108
- - Store ALL AI-generated planning/design docs in `history/`
109
- - Keep the repository root clean and focused on permanent project files
110
- - Only access `history/` when explicitly asked to review past planning
111
-
112
- **Example .gitignore entry (optional):**
113
-
114
- ```
115
- # AI planning documents (ephemeral)
116
- history/
117
- ```
118
-
119
- **Benefits:**
120
-
121
- - ✅ Clean repository root
122
- - ✅ Clear separation between ephemeral and permanent documentation
123
- - ✅ Easy to exclude from version control if desired
124
- - ✅ Preserves planning history for archeological research
125
- - ✅ Reduces noise when browsing the project
126
-
127
- ### Important Rules
128
-
129
- - ✅ Use bd for ALL task tracking
130
- - ✅ Always use `--json` flag for programmatic use
131
- - ✅ Link discovered work with `discovered-from` dependencies
132
- - ✅ Check `bd ready` before asking "what should I work on?"
133
- - ✅ Store AI planning docs in `history/` directory
134
- - ❌ Do NOT create markdown TODO lists
135
- - ❌ Do NOT use external issue trackers
136
- - ❌ Do NOT duplicate tracking systems
137
- - ❌ Do NOT clutter repo root with planning documents
138
-
139
- For more details, see README.md and QUICKSTART.md.
package/README.md CHANGED
@@ -48,6 +48,7 @@ This is a standalone LSP server. Configure it in any LSP client.
48
48
  Command-line flags:
49
49
 
50
50
  - `--no-color-preview`
51
+ - `--no-color-replacement-diagnostics` (disable "replace literal with CSS variable" suggestions)
51
52
  - `--color-only-variables` (show colors only on `var(--...)` usages)
52
53
  - `--lookup-files "<glob>,<glob>"` (comma-separated list of glob patterns)
53
54
  - `--lookup-file "<glob>"` (repeatable)
@@ -59,6 +60,10 @@ Command-line flags:
59
60
 
60
61
  Environment variables:
61
62
 
63
+ - `CSS_LSP_COLOR_REPLACEMENT_DIAGNOSTICS=0` (disable "replace literal with CSS variable" suggestions)
64
+
65
+ Environment variables:
66
+
62
67
  - `CSS_LSP_COLOR_ONLY_VARIABLES=1` (same as `--color-only-variables`)
63
68
  - `CSS_LSP_LOOKUP_FILES` (comma-separated glob patterns; ignored if CLI lookup flags are provided)
64
69
  - `CSS_LSP_IGNORE_GLOBS` (comma-separated glob patterns; ignored if CLI ignore flags are provided)
@@ -5,6 +5,8 @@ exports.formatColor = formatColor;
5
5
  exports.formatColorAsHex = formatColorAsHex;
6
6
  exports.formatColorAsRgb = formatColorAsRgb;
7
7
  exports.formatColorAsHsl = formatColorAsHsl;
8
+ exports.getNormalizedColorKey = getNormalizedColorKey;
9
+ exports.colorsEqual = colorsEqual;
8
10
  /**
9
11
  * Parse a CSS color string into an LSP Color object.
10
12
  * Supports hex, rgb, rgba, hsl, hsla. Named colors are optional.
@@ -146,31 +148,71 @@ function parseHex(hex) {
146
148
  return { red: r, green: g, blue: b, alpha: a };
147
149
  }
148
150
  function parseRgb(value) {
149
- const match = value.match(/rgba?\(([\d\s\.]+),?\s*([\d\s\.]+),?\s*([\d\s\.]+)(?:,?\s*\/?,?\s*([\d\s\.]+))?\)/);
150
- if (!match)
151
+ const start = value.indexOf("(");
152
+ const end = value.lastIndexOf(")");
153
+ if (start === -1 || end === -1 || end <= start) {
154
+ return null;
155
+ }
156
+ const inner = value.slice(start + 1, end).trim();
157
+ const [rgbPart, alphaPart] = splitAlphaPart(inner);
158
+ const parts = rgbPart.split(/[\s,]+/).filter(Boolean);
159
+ if (parts.length !== 3 && parts.length !== 4) {
160
+ return null;
161
+ }
162
+ const r = parseFloat(parts[0]) / 255;
163
+ const g = parseFloat(parts[1]) / 255;
164
+ const b = parseFloat(parts[2]) / 255;
165
+ const a = alphaPart
166
+ ? parseAlpha(alphaPart)
167
+ : parts.length === 4
168
+ ? parseAlpha(parts[3])
169
+ : 1;
170
+ if ([r, g, b, a].some((component) => Number.isNaN(component))) {
151
171
  return null;
152
- const r = parseFloat(match[1]) / 255;
153
- const g = parseFloat(match[2]) / 255;
154
- const b = parseFloat(match[3]) / 255;
155
- let a = 1;
156
- if (match[4]) {
157
- a = parseFloat(match[4]);
158
172
  }
159
173
  return { red: r, green: g, blue: b, alpha: a };
160
174
  }
161
175
  function parseHsl(value) {
162
- const match = value.match(/hsla?\(([\d\s\.]+)(?:deg)?,?\s*([\d\s\.]+)%?,?\s*([\d\s\.]+)%?(?:,?\s*\/?,?\s*([\d\s\.]+))?\)/);
163
- if (!match)
176
+ const start = value.indexOf("(");
177
+ const end = value.lastIndexOf(")");
178
+ if (start === -1 || end === -1 || end <= start) {
179
+ return null;
180
+ }
181
+ const inner = value.slice(start + 1, end).trim();
182
+ const [hslPart, alphaPart] = splitAlphaPart(inner);
183
+ const parts = hslPart.split(/[\s,]+/).filter(Boolean);
184
+ if (parts.length !== 3 && parts.length !== 4) {
185
+ return null;
186
+ }
187
+ const h = parseFloat(parts[0]) / 360;
188
+ const s = parseFloat(parts[1]) / 100;
189
+ const l = parseFloat(parts[2]) / 100;
190
+ const a = alphaPart
191
+ ? parseAlpha(alphaPart)
192
+ : parts.length === 4
193
+ ? parseAlpha(parts[3])
194
+ : 1;
195
+ if ([h, s, l, a].some((component) => Number.isNaN(component))) {
164
196
  return null;
165
- const h = parseFloat(match[1]) / 360;
166
- const s = parseFloat(match[2]) / 100;
167
- const l = parseFloat(match[3]) / 100;
168
- let a = 1;
169
- if (match[4]) {
170
- a = parseFloat(match[4]);
171
197
  }
172
198
  return hslToRgb(h, s, l, a);
173
199
  }
200
+ function splitAlphaPart(value) {
201
+ const slashIndex = value.indexOf("/");
202
+ if (slashIndex === -1) {
203
+ return [value.trim(), null];
204
+ }
205
+ return [
206
+ value.slice(0, slashIndex).trim(),
207
+ value.slice(slashIndex + 1).trim(),
208
+ ];
209
+ }
210
+ function parseAlpha(value) {
211
+ if (value.endsWith("%")) {
212
+ return parseFloat(value) / 100;
213
+ }
214
+ return parseFloat(value);
215
+ }
174
216
  function hslToRgb(h, s, l, a) {
175
217
  let r, g, b;
176
218
  if (s === 0) {
@@ -198,6 +240,12 @@ function hslToRgb(h, s, l, a) {
198
240
  }
199
241
  return { red: r, green: g, blue: b, alpha: a };
200
242
  }
243
+ function getNormalizedColorKey(color) {
244
+ return formatColorAsHex(color).toLowerCase();
245
+ }
246
+ function colorsEqual(a, b) {
247
+ return getNormalizedColorKey(a) === getNormalizedColorKey(b);
248
+ }
201
249
  function parseNamedColor(name) {
202
250
  const colors = {
203
251
  black: "#000000",
@@ -1 +1 @@
1
- {"version":3,"file":"colorService.js","sourceRoot":"","sources":["../src/colorService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"colorService.js","sourceRoot":"","sources":["../src/colorService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.COLOR_REPLACEMENT_DIAGNOSTIC_CODE = void 0;
4
+ exports.collectColorReplacementDiagnostics = collectColorReplacementDiagnostics;
5
+ exports.getColorReplacementCompletionItems = getColorReplacementCompletionItems;
6
+ exports.getColorReplacementCodeActions = getColorReplacementCodeActions;
7
+ const node_1 = require("vscode-languageserver/node");
8
+ exports.COLOR_REPLACEMENT_DIAGNOSTIC_CODE = "replace-with-css-variable";
9
+ function collectColorReplacementDiagnostics(document, cssVariableManager, logger) {
10
+ try {
11
+ return cssVariableManager
12
+ .getDocumentColorLiterals(document.uri)
13
+ .flatMap((literal) => {
14
+ if (literal.variableName) {
15
+ return [];
16
+ }
17
+ const matches = getMatchingVariables(literal, cssVariableManager);
18
+ if (matches.length === 0) {
19
+ return [];
20
+ }
21
+ const variableNames = matches.map((match) => match.name);
22
+ const message = variableNames.length === 1
23
+ ? `Literal color can be replaced with matching CSS variable '${variableNames[0]}'`
24
+ : `Literal color can be replaced with matching CSS variables: ${variableNames.map((n) => `'${n}'`).join(", ")}`;
25
+ return [
26
+ {
27
+ severity: node_1.DiagnosticSeverity.Information,
28
+ range: literal.range,
29
+ message,
30
+ source: "css-variable-lsp",
31
+ code: exports.COLOR_REPLACEMENT_DIAGNOSTIC_CODE,
32
+ data: {
33
+ kind: exports.COLOR_REPLACEMENT_DIAGNOSTIC_CODE,
34
+ variableNames,
35
+ },
36
+ },
37
+ ];
38
+ });
39
+ }
40
+ catch (error) {
41
+ logger.error("collectColorReplacementDiagnostics", { error });
42
+ return [];
43
+ }
44
+ }
45
+ function getColorReplacementCompletionItems(document, position, cssVariableManager, displayOptions, logger) {
46
+ try {
47
+ const literal = findColorLiteralAtPosition(document, position, cssVariableManager);
48
+ if (!literal) {
49
+ return [];
50
+ }
51
+ return getMatchingVariables(literal, cssVariableManager).map((match) => createColorReplacementCompletionItem(document, literal.range, match, displayOptions));
52
+ }
53
+ catch (error) {
54
+ logger.error("getColorReplacementCompletionItems", { error });
55
+ return [];
56
+ }
57
+ }
58
+ function getColorReplacementCodeActions(document, diagnostics, logger) {
59
+ try {
60
+ const actions = [];
61
+ for (const diagnostic of diagnostics) {
62
+ if (diagnostic.code !== exports.COLOR_REPLACEMENT_DIAGNOSTIC_CODE) {
63
+ continue;
64
+ }
65
+ const data = diagnostic.data;
66
+ if (!isValidDiagnosticData(data)) {
67
+ logger.error("getColorReplacementCodeActions", { diagnostic: diagnostic.data });
68
+ continue;
69
+ }
70
+ const variableNames = data.variableNames;
71
+ for (const variableName of variableNames) {
72
+ actions.push({
73
+ title: `Replace with var(${variableName})`,
74
+ kind: node_1.CodeActionKind.QuickFix,
75
+ diagnostics: [diagnostic],
76
+ edit: {
77
+ changes: {
78
+ [document.uri]: [
79
+ node_1.TextEdit.replace(diagnostic.range, `var(${variableName})`),
80
+ ],
81
+ },
82
+ },
83
+ });
84
+ }
85
+ }
86
+ return actions;
87
+ }
88
+ catch (error) {
89
+ logger.error("getColorReplacementCodeActions", { error });
90
+ return [];
91
+ }
92
+ }
93
+ function findColorLiteralAtPosition(document, position, cssVariableManager) {
94
+ const offset = document.offsetAt(position);
95
+ const targetLine = position.line;
96
+ const lineLiterals = cssVariableManager.getDocumentColorLiteralsByLine(document.uri, targetLine);
97
+ for (const literal of lineLiterals) {
98
+ const start = document.offsetAt(literal.range.start);
99
+ const end = document.offsetAt(literal.range.end);
100
+ if (!isRangeValid(literal.range) || start > end) {
101
+ continue;
102
+ }
103
+ if (offset >= start && offset <= end) {
104
+ return literal;
105
+ }
106
+ }
107
+ return null;
108
+ }
109
+ function isValidDiagnosticData(data) {
110
+ if (typeof data !== "object" || data === null) {
111
+ return false;
112
+ }
113
+ const obj = data;
114
+ return (obj.kind === exports.COLOR_REPLACEMENT_DIAGNOSTIC_CODE &&
115
+ Array.isArray(obj.variableNames) &&
116
+ obj.variableNames.every((v) => typeof v === "string"));
117
+ }
118
+ function isRangeValid(range) {
119
+ if (range.start.line < 0 || range.start.character < 0) {
120
+ return false;
121
+ }
122
+ if (range.end.line < 0 || range.end.character < 0) {
123
+ return false;
124
+ }
125
+ if (range.start.line > range.end.line) {
126
+ return false;
127
+ }
128
+ if (range.start.line === range.end.line && range.start.character > range.end.character) {
129
+ return false;
130
+ }
131
+ return true;
132
+ }
133
+ function getMatchingVariables(literal, cssVariableManager) {
134
+ return cssVariableManager.getVariablesByColor(literal.color, {
135
+ excludeName: literal.variableName,
136
+ });
137
+ }
138
+ function createColorReplacementCompletionItem(document, range, match, displayOptions) {
139
+ return {
140
+ label: `var(${match.name})`,
141
+ kind: node_1.CompletionItemKind.Variable,
142
+ detail: match.value,
143
+ documentation: `Defined in ${displayOptions.formatLocation(match.uri)}`,
144
+ textEdit: node_1.TextEdit.replace(range, `var(${match.name})`),
145
+ filterText: `var(${match.name})`,
146
+ sortText: match.name,
147
+ };
148
+ }
149
+ //# sourceMappingURL=colorVariableFeature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colorVariableFeature.js","sourceRoot":"","sources":["../src/colorVariableFeature.ts"],"names":[],"mappings":"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"}