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.
- package/AGENTS.md +0 -139
- package/README.md +5 -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/handlers/callHierarchy.js +0 -128
- package/out/handlers/callHierarchy.js.map +0 -1
- package/out/handlers/codeAction.js +0 -142
- package/out/handlers/codeAction.js.map +0 -1
- package/out/handlers/codeLens.js +0 -41
- package/out/handlers/codeLens.js.map +0 -1
- package/out/handlers/declaration.js +0 -34
- package/out/handlers/declaration.js.map +0 -1
- package/out/handlers/documentHighlight.js +0 -45
- package/out/handlers/documentHighlight.js.map +0 -1
- package/out/handlers/documentLink.js +0 -61
- package/out/handlers/documentLink.js.map +0 -1
- package/out/handlers/documentSync.js +0 -15
- package/out/handlers/documentSync.js.map +0 -1
- package/out/handlers/foldingRange.js +0 -77
- package/out/handlers/foldingRange.js.map +0 -1
- package/out/handlers/formatting.js +0 -99
- package/out/handlers/formatting.js.map +0 -1
- package/out/handlers/implementation.js +0 -35
- package/out/handlers/implementation.js.map +0 -1
- package/out/handlers/inlayHint.js +0 -46
- package/out/handlers/inlayHint.js.map +0 -1
- package/out/handlers/linkedEditingRange.js +0 -45
- package/out/handlers/linkedEditingRange.js.map +0 -1
- package/out/handlers/prepareRename.js +0 -44
- package/out/handlers/prepareRename.js.map +0 -1
- package/out/handlers/selectionRange.js +0 -100
- package/out/handlers/selectionRange.js.map +0 -1
- package/out/handlers/semanticTokens.js +0 -57
- package/out/handlers/semanticTokens.js.map +0 -1
- package/out/handlers/signatureHelp.js +0 -54
- package/out/handlers/signatureHelp.js.map +0 -1
- package/out/handlers/typeDefinition.js +0 -35
- package/out/handlers/typeDefinition.js.map +0 -1
- package/out/hierarchy/callHierarchy.js +0 -119
- package/out/hierarchy/callHierarchy.js.map +0 -1
- package/out/hierarchy/shared/hierarchyTypes.js +0 -45
- package/out/hierarchy/shared/hierarchyTypes.js.map +0 -1
- package/out/hierarchy/shared/variableAnalyzer.js +0 -43
- 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)
|
package/out/colorService.js
CHANGED
|
@@ -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
|
|
150
|
-
|
|
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
|
|
163
|
-
|
|
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",
|
package/out/colorService.js.map
CHANGED
|
@@ -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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"}
|