driftdetect-lsp 0.9.27 → 0.9.28
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/LICENSE +121 -0
- package/package.json +15 -15
- package/dist/bin/server.d.ts +0 -12
- package/dist/bin/server.js +0 -26
- package/dist/bin/server.js.map +0 -1
- package/dist/capabilities.d.ts +0 -91
- package/dist/capabilities.d.ts.map +0 -1
- package/dist/capabilities.js +0 -183
- package/dist/capabilities.js.map +0 -1
- package/dist/commands/approve-pattern.d.ts +0 -15
- package/dist/commands/approve-pattern.js +0 -83
- package/dist/commands/approve-pattern.js.map +0 -1
- package/dist/commands/create-variant.d.ts +0 -22
- package/dist/commands/create-variant.js +0 -109
- package/dist/commands/create-variant.js.map +0 -1
- package/dist/commands/explain-ai.d.ts +0 -11
- package/dist/commands/explain-ai.js +0 -144
- package/dist/commands/explain-ai.js.map +0 -1
- package/dist/commands/fix-ai.d.ts +0 -11
- package/dist/commands/fix-ai.js +0 -146
- package/dist/commands/fix-ai.js.map +0 -1
- package/dist/commands/ignore-once.d.ts +0 -33
- package/dist/commands/ignore-once.js +0 -147
- package/dist/commands/ignore-once.js.map +0 -1
- package/dist/commands/ignore-pattern.d.ts +0 -15
- package/dist/commands/ignore-pattern.js +0 -77
- package/dist/commands/ignore-pattern.js.map +0 -1
- package/dist/commands/index.d.ts +0 -14
- package/dist/commands/index.js +0 -14
- package/dist/commands/index.js.map +0 -1
- package/dist/commands/rescan.d.ts +0 -19
- package/dist/commands/rescan.js +0 -125
- package/dist/commands/rescan.js.map +0 -1
- package/dist/commands/show-patterns.d.ts +0 -30
- package/dist/commands/show-patterns.js +0 -175
- package/dist/commands/show-patterns.js.map +0 -1
- package/dist/commands/show-violations.d.ts +0 -11
- package/dist/commands/show-violations.js +0 -259
- package/dist/commands/show-violations.js.map +0 -1
- package/dist/handlers/code-actions.d.ts +0 -32
- package/dist/handlers/code-actions.js +0 -184
- package/dist/handlers/code-actions.js.map +0 -1
- package/dist/handlers/code-lens.d.ts +0 -32
- package/dist/handlers/code-lens.js +0 -162
- package/dist/handlers/code-lens.js.map +0 -1
- package/dist/handlers/commands.d.ts +0 -48
- package/dist/handlers/commands.js +0 -360
- package/dist/handlers/commands.js.map +0 -1
- package/dist/handlers/diagnostics.d.ts +0 -73
- package/dist/handlers/diagnostics.js +0 -259
- package/dist/handlers/diagnostics.js.map +0 -1
- package/dist/handlers/document-sync.d.ts +0 -37
- package/dist/handlers/document-sync.js +0 -49
- package/dist/handlers/document-sync.js.map +0 -1
- package/dist/handlers/hover.d.ts +0 -30
- package/dist/handlers/hover.js +0 -119
- package/dist/handlers/hover.js.map +0 -1
- package/dist/handlers/index.d.ts +0 -23
- package/dist/handlers/index.js +0 -16
- package/dist/handlers/index.js.map +0 -1
- package/dist/handlers/initialize.d.ts +0 -41
- package/dist/handlers/initialize.d.ts.map +0 -1
- package/dist/handlers/initialize.js +0 -33
- package/dist/handlers/initialize.js.map +0 -1
- package/dist/index.d.ts +0 -22
- package/dist/index.js +0 -26
- package/dist/index.js.map +0 -1
- package/dist/integration/core-scanner.d.ts +0 -89
- package/dist/integration/core-scanner.js +0 -309
- package/dist/integration/core-scanner.js.map +0 -1
- package/dist/integration/index.d.ts +0 -11
- package/dist/integration/index.js +0 -11
- package/dist/integration/index.js.map +0 -1
- package/dist/integration/pattern-store-adapter.d.ts +0 -117
- package/dist/integration/pattern-store-adapter.js +0 -349
- package/dist/integration/pattern-store-adapter.js.map +0 -1
- package/dist/integration/types.d.ts +0 -134
- package/dist/integration/types.js +0 -39
- package/dist/integration/types.js.map +0 -1
- package/dist/server/index.d.ts +0 -5
- package/dist/server/index.js +0 -5
- package/dist/server/index.js.map +0 -1
- package/dist/server/types.d.ts +0 -139
- package/dist/server/types.js +0 -8
- package/dist/server/types.js.map +0 -1
- package/dist/server.d.ts +0 -63
- package/dist/server.js +0 -208
- package/dist/server.js.map +0 -1
- package/dist/types/index.d.ts +0 -5
- package/dist/types/index.js +0 -5
- package/dist/types/index.js.map +0 -1
- package/dist/types/lsp-types.d.ts +0 -321
- package/dist/types/lsp-types.js +0 -274
- package/dist/types/lsp-types.js.map +0 -1
- package/dist/utils/diagnostic.d.ts +0 -84
- package/dist/utils/diagnostic.js +0 -256
- package/dist/utils/diagnostic.js.map +0 -1
- package/dist/utils/document.d.ts +0 -40
- package/dist/utils/document.d.ts.map +0 -1
- package/dist/utils/document.js +0 -138
- package/dist/utils/document.js.map +0 -1
- package/dist/utils/index.d.ts +0 -8
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -8
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/position.d.ts +0 -44
- package/dist/utils/position.d.ts.map +0 -1
- package/dist/utils/position.js +0 -96
- package/dist/utils/position.js.map +0 -1
- package/dist/utils/workspace.d.ts +0 -98
- package/dist/utils/workspace.js +0 -241
- package/dist/utils/workspace.js.map +0 -1
package/dist/utils/diagnostic.js
DELETED
|
@@ -1,256 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Diagnostic Utilities - Diagnostic helpers
|
|
3
|
-
* @requirements 27.3
|
|
4
|
-
*/
|
|
5
|
-
// ============================================================================
|
|
6
|
-
// Diagnostic Creation
|
|
7
|
-
// ============================================================================
|
|
8
|
-
/**
|
|
9
|
-
* Create a drift diagnostic
|
|
10
|
-
*/
|
|
11
|
-
export function createDiagnostic(violationId, patternId, message, range, severity = 'warning') {
|
|
12
|
-
return {
|
|
13
|
-
violationId,
|
|
14
|
-
patternId,
|
|
15
|
-
severity,
|
|
16
|
-
message,
|
|
17
|
-
range,
|
|
18
|
-
source: 'drift',
|
|
19
|
-
code: patternId,
|
|
20
|
-
quickFixes: [],
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Create an error diagnostic
|
|
25
|
-
*/
|
|
26
|
-
export function createErrorDiagnostic(violationId, patternId, message, range) {
|
|
27
|
-
return createDiagnostic(violationId, patternId, message, range, 'error');
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Create a warning diagnostic
|
|
31
|
-
*/
|
|
32
|
-
export function createWarningDiagnostic(violationId, patternId, message, range) {
|
|
33
|
-
return createDiagnostic(violationId, patternId, message, range, 'warning');
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Create an info diagnostic
|
|
37
|
-
*/
|
|
38
|
-
export function createInfoDiagnostic(violationId, patternId, message, range) {
|
|
39
|
-
return createDiagnostic(violationId, patternId, message, range, 'info');
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Create a hint diagnostic
|
|
43
|
-
*/
|
|
44
|
-
export function createHintDiagnostic(violationId, patternId, message, range) {
|
|
45
|
-
return createDiagnostic(violationId, patternId, message, range, 'hint');
|
|
46
|
-
}
|
|
47
|
-
// ============================================================================
|
|
48
|
-
// Diagnostic Filtering
|
|
49
|
-
// ============================================================================
|
|
50
|
-
/**
|
|
51
|
-
* Filter diagnostics by severity
|
|
52
|
-
*/
|
|
53
|
-
export function filterBySeverity(diagnostics, severities) {
|
|
54
|
-
return diagnostics.filter((d) => severities.includes(d.severity));
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Filter diagnostics by pattern
|
|
58
|
-
*/
|
|
59
|
-
export function filterByPattern(diagnostics, patternIds) {
|
|
60
|
-
return diagnostics.filter((d) => patternIds.includes(d.patternId));
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Filter diagnostics by range
|
|
64
|
-
*/
|
|
65
|
-
export function filterByRange(diagnostics, range) {
|
|
66
|
-
return diagnostics.filter((d) => rangesOverlap(d.range, range));
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Filter diagnostics by line
|
|
70
|
-
*/
|
|
71
|
-
export function filterByLine(diagnostics, line) {
|
|
72
|
-
return diagnostics.filter((d) => d.range.start.line <= line && d.range.end.line >= line);
|
|
73
|
-
}
|
|
74
|
-
// ============================================================================
|
|
75
|
-
// Diagnostic Sorting
|
|
76
|
-
// ============================================================================
|
|
77
|
-
/**
|
|
78
|
-
* Sort diagnostics by position
|
|
79
|
-
*/
|
|
80
|
-
export function sortByPosition(diagnostics) {
|
|
81
|
-
return [...diagnostics].sort((a, b) => {
|
|
82
|
-
const lineDiff = a.range.start.line - b.range.start.line;
|
|
83
|
-
if (lineDiff !== 0)
|
|
84
|
-
return lineDiff;
|
|
85
|
-
return a.range.start.character - b.range.start.character;
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Sort diagnostics by severity
|
|
90
|
-
*/
|
|
91
|
-
export function sortBySeverity(diagnostics) {
|
|
92
|
-
const severityOrder = {
|
|
93
|
-
error: 0,
|
|
94
|
-
warning: 1,
|
|
95
|
-
info: 2,
|
|
96
|
-
hint: 3,
|
|
97
|
-
};
|
|
98
|
-
return [...diagnostics].sort((a, b) => severityOrder[a.severity] - severityOrder[b.severity]);
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Sort diagnostics by pattern
|
|
102
|
-
*/
|
|
103
|
-
export function sortByPattern(diagnostics) {
|
|
104
|
-
return [...diagnostics].sort((a, b) => a.patternId.localeCompare(b.patternId));
|
|
105
|
-
}
|
|
106
|
-
// ============================================================================
|
|
107
|
-
// Diagnostic Grouping
|
|
108
|
-
// ============================================================================
|
|
109
|
-
/**
|
|
110
|
-
* Group diagnostics by severity
|
|
111
|
-
*/
|
|
112
|
-
export function groupBySeverity(diagnostics) {
|
|
113
|
-
const groups = new Map();
|
|
114
|
-
for (const diagnostic of diagnostics) {
|
|
115
|
-
const group = groups.get(diagnostic.severity) ?? [];
|
|
116
|
-
group.push(diagnostic);
|
|
117
|
-
groups.set(diagnostic.severity, group);
|
|
118
|
-
}
|
|
119
|
-
return groups;
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Group diagnostics by pattern
|
|
123
|
-
*/
|
|
124
|
-
export function groupByPattern(diagnostics) {
|
|
125
|
-
const groups = new Map();
|
|
126
|
-
for (const diagnostic of diagnostics) {
|
|
127
|
-
const group = groups.get(diagnostic.patternId) ?? [];
|
|
128
|
-
group.push(diagnostic);
|
|
129
|
-
groups.set(diagnostic.patternId, group);
|
|
130
|
-
}
|
|
131
|
-
return groups;
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Group diagnostics by line
|
|
135
|
-
*/
|
|
136
|
-
export function groupByLine(diagnostics) {
|
|
137
|
-
const groups = new Map();
|
|
138
|
-
for (const diagnostic of diagnostics) {
|
|
139
|
-
const line = diagnostic.range.start.line;
|
|
140
|
-
const group = groups.get(line) ?? [];
|
|
141
|
-
group.push(diagnostic);
|
|
142
|
-
groups.set(line, group);
|
|
143
|
-
}
|
|
144
|
-
return groups;
|
|
145
|
-
}
|
|
146
|
-
// ============================================================================
|
|
147
|
-
// Diagnostic Statistics
|
|
148
|
-
// ============================================================================
|
|
149
|
-
/**
|
|
150
|
-
* Get diagnostic statistics
|
|
151
|
-
*/
|
|
152
|
-
export function getDiagnosticStats(diagnostics) {
|
|
153
|
-
const bySeverity = {
|
|
154
|
-
error: 0,
|
|
155
|
-
warning: 0,
|
|
156
|
-
info: 0,
|
|
157
|
-
hint: 0,
|
|
158
|
-
};
|
|
159
|
-
const byPattern = {};
|
|
160
|
-
const affectedLines = new Set();
|
|
161
|
-
for (const diagnostic of diagnostics) {
|
|
162
|
-
bySeverity[diagnostic.severity]++;
|
|
163
|
-
byPattern[diagnostic.patternId] = (byPattern[diagnostic.patternId] ?? 0) + 1;
|
|
164
|
-
for (let line = diagnostic.range.start.line; line <= diagnostic.range.end.line; line++) {
|
|
165
|
-
affectedLines.add(line);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
return {
|
|
169
|
-
total: diagnostics.length,
|
|
170
|
-
bySeverity,
|
|
171
|
-
byPattern,
|
|
172
|
-
uniquePatterns: Object.keys(byPattern).length,
|
|
173
|
-
affectedLines: affectedLines.size,
|
|
174
|
-
};
|
|
175
|
-
}
|
|
176
|
-
// ============================================================================
|
|
177
|
-
// Helper Functions
|
|
178
|
-
// ============================================================================
|
|
179
|
-
/**
|
|
180
|
-
* Check if two ranges overlap
|
|
181
|
-
*/
|
|
182
|
-
function rangesOverlap(a, b) {
|
|
183
|
-
// a ends before b starts
|
|
184
|
-
if (a.end.line < b.start.line)
|
|
185
|
-
return false;
|
|
186
|
-
if (a.end.line === b.start.line && a.end.character < b.start.character)
|
|
187
|
-
return false;
|
|
188
|
-
// b ends before a starts
|
|
189
|
-
if (b.end.line < a.start.line)
|
|
190
|
-
return false;
|
|
191
|
-
if (b.end.line === a.start.line && b.end.character < a.start.character)
|
|
192
|
-
return false;
|
|
193
|
-
return true;
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Merge overlapping diagnostics
|
|
197
|
-
*/
|
|
198
|
-
export function mergeOverlapping(diagnostics) {
|
|
199
|
-
if (diagnostics.length <= 1)
|
|
200
|
-
return diagnostics;
|
|
201
|
-
const sorted = sortByPosition(diagnostics);
|
|
202
|
-
const first = sorted[0];
|
|
203
|
-
if (!first)
|
|
204
|
-
return diagnostics;
|
|
205
|
-
const merged = [first];
|
|
206
|
-
for (let i = 1; i < sorted.length; i++) {
|
|
207
|
-
const current = sorted[i];
|
|
208
|
-
const last = merged[merged.length - 1];
|
|
209
|
-
if (!current || !last) {
|
|
210
|
-
continue;
|
|
211
|
-
}
|
|
212
|
-
if (rangesOverlap(last.range, current.range) && last.patternId === current.patternId) {
|
|
213
|
-
// Merge ranges
|
|
214
|
-
last.range = {
|
|
215
|
-
start: {
|
|
216
|
-
line: Math.min(last.range.start.line, current.range.start.line),
|
|
217
|
-
character: last.range.start.line < current.range.start.line
|
|
218
|
-
? last.range.start.character
|
|
219
|
-
: current.range.start.line < last.range.start.line
|
|
220
|
-
? current.range.start.character
|
|
221
|
-
: Math.min(last.range.start.character, current.range.start.character),
|
|
222
|
-
},
|
|
223
|
-
end: {
|
|
224
|
-
line: Math.max(last.range.end.line, current.range.end.line),
|
|
225
|
-
character: last.range.end.line > current.range.end.line
|
|
226
|
-
? last.range.end.character
|
|
227
|
-
: current.range.end.line > last.range.end.line
|
|
228
|
-
? current.range.end.character
|
|
229
|
-
: Math.max(last.range.end.character, current.range.end.character),
|
|
230
|
-
},
|
|
231
|
-
};
|
|
232
|
-
// Merge quick fixes
|
|
233
|
-
last.quickFixes = [...last.quickFixes, ...current.quickFixes];
|
|
234
|
-
}
|
|
235
|
-
else {
|
|
236
|
-
merged.push(current);
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
return merged;
|
|
240
|
-
}
|
|
241
|
-
/**
|
|
242
|
-
* Deduplicate diagnostics
|
|
243
|
-
*/
|
|
244
|
-
export function deduplicate(diagnostics) {
|
|
245
|
-
const seen = new Set();
|
|
246
|
-
const result = [];
|
|
247
|
-
for (const diagnostic of diagnostics) {
|
|
248
|
-
const key = `${diagnostic.patternId}:${diagnostic.range.start.line}:${diagnostic.range.start.character}`;
|
|
249
|
-
if (!seen.has(key)) {
|
|
250
|
-
seen.add(key);
|
|
251
|
-
result.push(diagnostic);
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
return result;
|
|
255
|
-
}
|
|
256
|
-
//# sourceMappingURL=diagnostic.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostic.js","sourceRoot":"","sources":["../../src/utils/diagnostic.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/document.d.ts
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Document Utilities
|
|
3
|
-
*
|
|
4
|
-
* Helper functions for working with LSP text documents.
|
|
5
|
-
*/
|
|
6
|
-
import type { TextDocument } from 'vscode-languageserver-textdocument';
|
|
7
|
-
import type { Position, Range } from 'vscode-languageserver';
|
|
8
|
-
/**
|
|
9
|
-
* Get the text at a specific range in a document
|
|
10
|
-
*/
|
|
11
|
-
export declare function getTextAtRange(document: TextDocument, range: Range): string;
|
|
12
|
-
/**
|
|
13
|
-
* Get the line text at a specific line number
|
|
14
|
-
*/
|
|
15
|
-
export declare function getLineText(document: TextDocument, line: number): string;
|
|
16
|
-
/**
|
|
17
|
-
* Get the word at a specific position
|
|
18
|
-
*/
|
|
19
|
-
export declare function getWordAtPosition(document: TextDocument, position: Position): string | null;
|
|
20
|
-
/**
|
|
21
|
-
* Get the file name from a URI
|
|
22
|
-
*/
|
|
23
|
-
export declare function getFileName(uri: string): string;
|
|
24
|
-
/**
|
|
25
|
-
* Get the file extension from a URI
|
|
26
|
-
*/
|
|
27
|
-
export declare function getFileExtension(uri: string): string;
|
|
28
|
-
/**
|
|
29
|
-
* Check if a URI matches a glob pattern (simple implementation)
|
|
30
|
-
*/
|
|
31
|
-
export declare function matchesGlob(uri: string, pattern: string): boolean;
|
|
32
|
-
/**
|
|
33
|
-
* Get the language ID for a file based on extension
|
|
34
|
-
*/
|
|
35
|
-
export declare function getLanguageId(uri: string): string;
|
|
36
|
-
/**
|
|
37
|
-
* Check if a document is a supported language
|
|
38
|
-
*/
|
|
39
|
-
export declare function isSupportedLanguage(document: TextDocument): boolean;
|
|
40
|
-
//# sourceMappingURL=document.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/utils/document.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAE3E;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMxE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,QAAQ,GACjB,MAAM,GAAG,IAAI,CA+Bf;AASD;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG/C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAOpD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAUjE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAyBjD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAmBnE"}
|
package/dist/utils/document.js
DELETED
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Document Utilities
|
|
3
|
-
*
|
|
4
|
-
* Helper functions for working with LSP text documents.
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Get the text at a specific range in a document
|
|
8
|
-
*/
|
|
9
|
-
export function getTextAtRange(document, range) {
|
|
10
|
-
return document.getText(range);
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Get the line text at a specific line number
|
|
14
|
-
*/
|
|
15
|
-
export function getLineText(document, line) {
|
|
16
|
-
const lineRange = {
|
|
17
|
-
start: { line, character: 0 },
|
|
18
|
-
end: { line, character: Number.MAX_SAFE_INTEGER },
|
|
19
|
-
};
|
|
20
|
-
return document.getText(lineRange);
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Get the word at a specific position
|
|
24
|
-
*/
|
|
25
|
-
export function getWordAtPosition(document, position) {
|
|
26
|
-
const lineText = getLineText(document, position.line);
|
|
27
|
-
const character = position.character;
|
|
28
|
-
// Find word boundaries
|
|
29
|
-
let start = character;
|
|
30
|
-
let end = character;
|
|
31
|
-
// Move start backwards to find word start
|
|
32
|
-
while (start > 0) {
|
|
33
|
-
const char = lineText[start - 1];
|
|
34
|
-
if (char === undefined || !isWordChar(char)) {
|
|
35
|
-
break;
|
|
36
|
-
}
|
|
37
|
-
start--;
|
|
38
|
-
}
|
|
39
|
-
// Move end forwards to find word end
|
|
40
|
-
while (end < lineText.length) {
|
|
41
|
-
const char = lineText[end];
|
|
42
|
-
if (char === undefined || !isWordChar(char)) {
|
|
43
|
-
break;
|
|
44
|
-
}
|
|
45
|
-
end++;
|
|
46
|
-
}
|
|
47
|
-
if (start === end) {
|
|
48
|
-
return null;
|
|
49
|
-
}
|
|
50
|
-
return lineText.substring(start, end);
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Check if a character is a word character
|
|
54
|
-
*/
|
|
55
|
-
function isWordChar(char) {
|
|
56
|
-
return /[\w$]/.test(char);
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Get the file name from a URI
|
|
60
|
-
*/
|
|
61
|
-
export function getFileName(uri) {
|
|
62
|
-
const parts = uri.split('/');
|
|
63
|
-
return parts[parts.length - 1] ?? uri;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Get the file extension from a URI
|
|
67
|
-
*/
|
|
68
|
-
export function getFileExtension(uri) {
|
|
69
|
-
const fileName = getFileName(uri);
|
|
70
|
-
const dotIndex = fileName.lastIndexOf('.');
|
|
71
|
-
if (dotIndex === -1) {
|
|
72
|
-
return '';
|
|
73
|
-
}
|
|
74
|
-
return fileName.substring(dotIndex + 1);
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Check if a URI matches a glob pattern (simple implementation)
|
|
78
|
-
*/
|
|
79
|
-
export function matchesGlob(uri, pattern) {
|
|
80
|
-
// Convert glob to regex
|
|
81
|
-
const regexPattern = pattern
|
|
82
|
-
.replace(/\*\*/g, '.*')
|
|
83
|
-
.replace(/\*/g, '[^/]*')
|
|
84
|
-
.replace(/\?/g, '.')
|
|
85
|
-
.replace(/\./g, '\\.');
|
|
86
|
-
const regex = new RegExp(`^${regexPattern}$`);
|
|
87
|
-
return regex.test(uri);
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Get the language ID for a file based on extension
|
|
91
|
-
*/
|
|
92
|
-
export function getLanguageId(uri) {
|
|
93
|
-
const ext = getFileExtension(uri).toLowerCase();
|
|
94
|
-
const languageMap = {
|
|
95
|
-
ts: 'typescript',
|
|
96
|
-
tsx: 'typescriptreact',
|
|
97
|
-
js: 'javascript',
|
|
98
|
-
jsx: 'javascriptreact',
|
|
99
|
-
py: 'python',
|
|
100
|
-
java: 'java',
|
|
101
|
-
cs: 'csharp',
|
|
102
|
-
php: 'php',
|
|
103
|
-
css: 'css',
|
|
104
|
-
scss: 'scss',
|
|
105
|
-
less: 'less',
|
|
106
|
-
json: 'json',
|
|
107
|
-
yaml: 'yaml',
|
|
108
|
-
yml: 'yaml',
|
|
109
|
-
md: 'markdown',
|
|
110
|
-
html: 'html',
|
|
111
|
-
vue: 'vue',
|
|
112
|
-
svelte: 'svelte',
|
|
113
|
-
};
|
|
114
|
-
return languageMap[ext] ?? 'plaintext';
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Check if a document is a supported language
|
|
118
|
-
*/
|
|
119
|
-
export function isSupportedLanguage(document) {
|
|
120
|
-
const supportedLanguages = [
|
|
121
|
-
'typescript',
|
|
122
|
-
'typescriptreact',
|
|
123
|
-
'javascript',
|
|
124
|
-
'javascriptreact',
|
|
125
|
-
'python',
|
|
126
|
-
'java',
|
|
127
|
-
'csharp',
|
|
128
|
-
'php',
|
|
129
|
-
'css',
|
|
130
|
-
'scss',
|
|
131
|
-
'less',
|
|
132
|
-
'json',
|
|
133
|
-
'yaml',
|
|
134
|
-
'markdown',
|
|
135
|
-
];
|
|
136
|
-
return supportedLanguages.includes(document.languageId);
|
|
137
|
-
}
|
|
138
|
-
//# sourceMappingURL=document.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/utils/document.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
|
package/dist/utils/index.js
DELETED
package/dist/utils/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
|
package/dist/utils/position.d.ts
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Position Utilities
|
|
3
|
-
*
|
|
4
|
-
* Helper functions for working with LSP positions and ranges.
|
|
5
|
-
*/
|
|
6
|
-
import type { Position, Range } from 'vscode-languageserver';
|
|
7
|
-
/**
|
|
8
|
-
* Create a Position
|
|
9
|
-
*/
|
|
10
|
-
export declare function createPosition(line: number, character: number): Position;
|
|
11
|
-
/**
|
|
12
|
-
* Create a Range
|
|
13
|
-
*/
|
|
14
|
-
export declare function createRange(start: Position, end: Position): Range;
|
|
15
|
-
/**
|
|
16
|
-
* Create a Range from coordinates
|
|
17
|
-
*/
|
|
18
|
-
export declare function createRangeFromCoords(startLine: number, startChar: number, endLine: number, endChar: number): Range;
|
|
19
|
-
/**
|
|
20
|
-
* Check if a position is within a range
|
|
21
|
-
*/
|
|
22
|
-
export declare function isPositionInRange(position: Position, range: Range): boolean;
|
|
23
|
-
/**
|
|
24
|
-
* Check if two ranges overlap
|
|
25
|
-
*/
|
|
26
|
-
export declare function rangesOverlap(a: Range, b: Range): boolean;
|
|
27
|
-
/**
|
|
28
|
-
* Check if range a contains range b
|
|
29
|
-
*/
|
|
30
|
-
export declare function rangeContains(a: Range, b: Range): boolean;
|
|
31
|
-
/**
|
|
32
|
-
* Compare two positions
|
|
33
|
-
* Returns negative if a < b, positive if a > b, 0 if equal
|
|
34
|
-
*/
|
|
35
|
-
export declare function comparePositions(a: Position, b: Position): number;
|
|
36
|
-
/**
|
|
37
|
-
* Format a position for display
|
|
38
|
-
*/
|
|
39
|
-
export declare function formatPosition(position: Position): string;
|
|
40
|
-
/**
|
|
41
|
-
* Format a range for display
|
|
42
|
-
*/
|
|
43
|
-
export declare function formatRange(range: Range): string;
|
|
44
|
-
//# sourceMappingURL=position.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../src/utils/position.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,QAAQ,CAExE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,GAAG,KAAK,CAEjE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,KAAK,CAKP;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAiB3E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,OAAO,CAkBzD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,OAAO,CAKzD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAKjE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAEzD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAKhD"}
|
package/dist/utils/position.js
DELETED
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Position Utilities
|
|
3
|
-
*
|
|
4
|
-
* Helper functions for working with LSP positions and ranges.
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Create a Position
|
|
8
|
-
*/
|
|
9
|
-
export function createPosition(line, character) {
|
|
10
|
-
return { line, character };
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Create a Range
|
|
14
|
-
*/
|
|
15
|
-
export function createRange(start, end) {
|
|
16
|
-
return { start, end };
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Create a Range from coordinates
|
|
20
|
-
*/
|
|
21
|
-
export function createRangeFromCoords(startLine, startChar, endLine, endChar) {
|
|
22
|
-
return {
|
|
23
|
-
start: { line: startLine, character: startChar },
|
|
24
|
-
end: { line: endLine, character: endChar },
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Check if a position is within a range
|
|
29
|
-
*/
|
|
30
|
-
export function isPositionInRange(position, range) {
|
|
31
|
-
const { line, character } = position;
|
|
32
|
-
const { start, end } = range;
|
|
33
|
-
if (line < start.line || line > end.line) {
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
36
|
-
if (line === start.line && character < start.character) {
|
|
37
|
-
return false;
|
|
38
|
-
}
|
|
39
|
-
if (line === end.line && character > end.character) {
|
|
40
|
-
return false;
|
|
41
|
-
}
|
|
42
|
-
return true;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Check if two ranges overlap
|
|
46
|
-
*/
|
|
47
|
-
export function rangesOverlap(a, b) {
|
|
48
|
-
// a ends before b starts
|
|
49
|
-
if (a.end.line < b.start.line) {
|
|
50
|
-
return false;
|
|
51
|
-
}
|
|
52
|
-
if (a.end.line === b.start.line && a.end.character < b.start.character) {
|
|
53
|
-
return false;
|
|
54
|
-
}
|
|
55
|
-
// b ends before a starts
|
|
56
|
-
if (b.end.line < a.start.line) {
|
|
57
|
-
return false;
|
|
58
|
-
}
|
|
59
|
-
if (b.end.line === a.start.line && b.end.character < a.start.character) {
|
|
60
|
-
return false;
|
|
61
|
-
}
|
|
62
|
-
return true;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Check if range a contains range b
|
|
66
|
-
*/
|
|
67
|
-
export function rangeContains(a, b) {
|
|
68
|
-
return (isPositionInRange(b.start, a) &&
|
|
69
|
-
isPositionInRange(b.end, a));
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Compare two positions
|
|
73
|
-
* Returns negative if a < b, positive if a > b, 0 if equal
|
|
74
|
-
*/
|
|
75
|
-
export function comparePositions(a, b) {
|
|
76
|
-
if (a.line !== b.line) {
|
|
77
|
-
return a.line - b.line;
|
|
78
|
-
}
|
|
79
|
-
return a.character - b.character;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Format a position for display
|
|
83
|
-
*/
|
|
84
|
-
export function formatPosition(position) {
|
|
85
|
-
return `${position.line + 1}:${position.character + 1}`;
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Format a range for display
|
|
89
|
-
*/
|
|
90
|
-
export function formatRange(range) {
|
|
91
|
-
if (range.start.line === range.end.line) {
|
|
92
|
-
return `line ${range.start.line + 1}`;
|
|
93
|
-
}
|
|
94
|
-
return `lines ${range.start.line + 1}-${range.end.line + 1}`;
|
|
95
|
-
}
|
|
96
|
-
//# sourceMappingURL=position.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"position.js","sourceRoot":"","sources":["../../src/utils/position.ts"],"names":[],"mappings":"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"}
|