driftdetect-lsp 0.9.27 → 0.9.29

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 (111) hide show
  1. package/package.json +3 -3
  2. package/dist/bin/server.d.ts +0 -12
  3. package/dist/bin/server.js +0 -26
  4. package/dist/bin/server.js.map +0 -1
  5. package/dist/capabilities.d.ts +0 -91
  6. package/dist/capabilities.d.ts.map +0 -1
  7. package/dist/capabilities.js +0 -183
  8. package/dist/capabilities.js.map +0 -1
  9. package/dist/commands/approve-pattern.d.ts +0 -15
  10. package/dist/commands/approve-pattern.js +0 -83
  11. package/dist/commands/approve-pattern.js.map +0 -1
  12. package/dist/commands/create-variant.d.ts +0 -22
  13. package/dist/commands/create-variant.js +0 -109
  14. package/dist/commands/create-variant.js.map +0 -1
  15. package/dist/commands/explain-ai.d.ts +0 -11
  16. package/dist/commands/explain-ai.js +0 -144
  17. package/dist/commands/explain-ai.js.map +0 -1
  18. package/dist/commands/fix-ai.d.ts +0 -11
  19. package/dist/commands/fix-ai.js +0 -146
  20. package/dist/commands/fix-ai.js.map +0 -1
  21. package/dist/commands/ignore-once.d.ts +0 -33
  22. package/dist/commands/ignore-once.js +0 -147
  23. package/dist/commands/ignore-once.js.map +0 -1
  24. package/dist/commands/ignore-pattern.d.ts +0 -15
  25. package/dist/commands/ignore-pattern.js +0 -77
  26. package/dist/commands/ignore-pattern.js.map +0 -1
  27. package/dist/commands/index.d.ts +0 -14
  28. package/dist/commands/index.js +0 -14
  29. package/dist/commands/index.js.map +0 -1
  30. package/dist/commands/rescan.d.ts +0 -19
  31. package/dist/commands/rescan.js +0 -125
  32. package/dist/commands/rescan.js.map +0 -1
  33. package/dist/commands/show-patterns.d.ts +0 -30
  34. package/dist/commands/show-patterns.js +0 -175
  35. package/dist/commands/show-patterns.js.map +0 -1
  36. package/dist/commands/show-violations.d.ts +0 -11
  37. package/dist/commands/show-violations.js +0 -259
  38. package/dist/commands/show-violations.js.map +0 -1
  39. package/dist/handlers/code-actions.d.ts +0 -32
  40. package/dist/handlers/code-actions.js +0 -184
  41. package/dist/handlers/code-actions.js.map +0 -1
  42. package/dist/handlers/code-lens.d.ts +0 -32
  43. package/dist/handlers/code-lens.js +0 -162
  44. package/dist/handlers/code-lens.js.map +0 -1
  45. package/dist/handlers/commands.d.ts +0 -48
  46. package/dist/handlers/commands.js +0 -360
  47. package/dist/handlers/commands.js.map +0 -1
  48. package/dist/handlers/diagnostics.d.ts +0 -73
  49. package/dist/handlers/diagnostics.js +0 -259
  50. package/dist/handlers/diagnostics.js.map +0 -1
  51. package/dist/handlers/document-sync.d.ts +0 -37
  52. package/dist/handlers/document-sync.js +0 -49
  53. package/dist/handlers/document-sync.js.map +0 -1
  54. package/dist/handlers/hover.d.ts +0 -30
  55. package/dist/handlers/hover.js +0 -119
  56. package/dist/handlers/hover.js.map +0 -1
  57. package/dist/handlers/index.d.ts +0 -23
  58. package/dist/handlers/index.js +0 -16
  59. package/dist/handlers/index.js.map +0 -1
  60. package/dist/handlers/initialize.d.ts +0 -41
  61. package/dist/handlers/initialize.d.ts.map +0 -1
  62. package/dist/handlers/initialize.js +0 -33
  63. package/dist/handlers/initialize.js.map +0 -1
  64. package/dist/index.d.ts +0 -22
  65. package/dist/index.js +0 -26
  66. package/dist/index.js.map +0 -1
  67. package/dist/integration/core-scanner.d.ts +0 -89
  68. package/dist/integration/core-scanner.js +0 -309
  69. package/dist/integration/core-scanner.js.map +0 -1
  70. package/dist/integration/index.d.ts +0 -11
  71. package/dist/integration/index.js +0 -11
  72. package/dist/integration/index.js.map +0 -1
  73. package/dist/integration/pattern-store-adapter.d.ts +0 -117
  74. package/dist/integration/pattern-store-adapter.js +0 -349
  75. package/dist/integration/pattern-store-adapter.js.map +0 -1
  76. package/dist/integration/types.d.ts +0 -134
  77. package/dist/integration/types.js +0 -39
  78. package/dist/integration/types.js.map +0 -1
  79. package/dist/server/index.d.ts +0 -5
  80. package/dist/server/index.js +0 -5
  81. package/dist/server/index.js.map +0 -1
  82. package/dist/server/types.d.ts +0 -139
  83. package/dist/server/types.js +0 -8
  84. package/dist/server/types.js.map +0 -1
  85. package/dist/server.d.ts +0 -63
  86. package/dist/server.js +0 -208
  87. package/dist/server.js.map +0 -1
  88. package/dist/types/index.d.ts +0 -5
  89. package/dist/types/index.js +0 -5
  90. package/dist/types/index.js.map +0 -1
  91. package/dist/types/lsp-types.d.ts +0 -321
  92. package/dist/types/lsp-types.js +0 -274
  93. package/dist/types/lsp-types.js.map +0 -1
  94. package/dist/utils/diagnostic.d.ts +0 -84
  95. package/dist/utils/diagnostic.js +0 -256
  96. package/dist/utils/diagnostic.js.map +0 -1
  97. package/dist/utils/document.d.ts +0 -40
  98. package/dist/utils/document.d.ts.map +0 -1
  99. package/dist/utils/document.js +0 -138
  100. package/dist/utils/document.js.map +0 -1
  101. package/dist/utils/index.d.ts +0 -8
  102. package/dist/utils/index.d.ts.map +0 -1
  103. package/dist/utils/index.js +0 -8
  104. package/dist/utils/index.js.map +0 -1
  105. package/dist/utils/position.d.ts +0 -44
  106. package/dist/utils/position.d.ts.map +0 -1
  107. package/dist/utils/position.js +0 -96
  108. package/dist/utils/position.js.map +0 -1
  109. package/dist/utils/workspace.d.ts +0 -98
  110. package/dist/utils/workspace.js +0 -241
  111. package/dist/utils/workspace.js.map +0 -1
@@ -1,125 +0,0 @@
1
- /**
2
- * Rescan Command - drift.rescan
3
- * @requirements 28.7
4
- */
5
- /**
6
- * Execute rescan command
7
- * Rescans documents for drift violations
8
- */
9
- export async function executeRescan(context, scanner, diagnosticPublisher, uri) {
10
- const { state, logger, connection } = context;
11
- logger.info(`Rescan requested${uri ? ` for: ${uri}` : ' for all documents'}`);
12
- // Clear caches
13
- if (uri) {
14
- scanner.invalidate(uri);
15
- }
16
- else {
17
- scanner.clearCache();
18
- }
19
- // Note: withProgress is not available in vscode-languageserver
20
- // Show a simple message instead
21
- const documentsToScan = uri
22
- ? [uri].filter((u) => state.documents.has(u))
23
- : Array.from(state.documents.keys());
24
- if (documentsToScan.length === 0) {
25
- return {
26
- success: true,
27
- message: 'No documents to scan',
28
- data: { scannedCount: 0 },
29
- };
30
- }
31
- connection.window.showInformationMessage(`Rescanning ${documentsToScan.length} document(s)...`);
32
- let scannedCount = 0;
33
- let totalViolations = 0;
34
- for (const docUri of documentsToScan) {
35
- try {
36
- // Publish diagnostics (which triggers scan)
37
- await diagnosticPublisher.publish(docUri);
38
- scannedCount++;
39
- // Count violations
40
- const violations = state.violations.get(docUri) ?? [];
41
- totalViolations += violations.length;
42
- }
43
- catch (error) {
44
- logger.error(`Error scanning ${docUri}: ${error}`);
45
- }
46
- }
47
- // Show summary
48
- const message = `Rescan complete: ${scannedCount} document${scannedCount === 1 ? '' : 's'} scanned, ${totalViolations} violation${totalViolations === 1 ? '' : 's'} found`;
49
- connection.window.showInformationMessage(message);
50
- logger.info(message);
51
- return {
52
- success: true,
53
- message,
54
- data: {
55
- scannedCount,
56
- totalViolations,
57
- documentsScanned: documentsToScan.slice(0, scannedCount),
58
- },
59
- };
60
- }
61
- /**
62
- * Execute rescan for specific patterns
63
- */
64
- export async function executeRescanPatterns(context, scanner, diagnosticPublisher, patternIds) {
65
- const { state, logger } = context;
66
- logger.info(`Rescan requested for patterns: ${patternIds.join(', ')}`);
67
- // Clear all caches (pattern-specific invalidation not supported yet)
68
- scanner.clearCache();
69
- // Rescan all documents
70
- const result = await executeRescan(context, scanner, diagnosticPublisher);
71
- // Filter results to only include specified patterns
72
- if (result.success && result.data) {
73
- const data = result.data;
74
- // Count violations for specified patterns only
75
- let patternViolations = 0;
76
- for (const violations of state.violations.values()) {
77
- patternViolations += violations.filter((v) => patternIds.includes(v.patternId)).length;
78
- }
79
- return {
80
- success: true,
81
- message: `Rescan complete: ${data.scannedCount} documents scanned, ${patternViolations} violations found for specified patterns`,
82
- data: {
83
- ...data,
84
- patternIds,
85
- patternViolations,
86
- },
87
- };
88
- }
89
- return result;
90
- }
91
- /**
92
- * Execute incremental rescan for changed files
93
- */
94
- export async function executeIncrementalRescan(context, scanner, diagnosticPublisher, changedUris) {
95
- const { logger } = context;
96
- logger.info(`Incremental rescan for ${changedUris.length} changed files`);
97
- // Invalidate changed files
98
- for (const uri of changedUris) {
99
- scanner.invalidate(uri);
100
- }
101
- // Rescan only changed files
102
- let scannedCount = 0;
103
- let totalViolations = 0;
104
- for (const uri of changedUris) {
105
- try {
106
- await diagnosticPublisher.publish(uri);
107
- scannedCount++;
108
- const violations = context.state.violations.get(uri) ?? [];
109
- totalViolations += violations.length;
110
- }
111
- catch (error) {
112
- logger.error(`Error scanning ${uri}: ${error}`);
113
- }
114
- }
115
- return {
116
- success: true,
117
- message: `Incremental rescan complete: ${scannedCount} files, ${totalViolations} violations`,
118
- data: {
119
- scannedCount,
120
- totalViolations,
121
- changedUris,
122
- },
123
- };
124
- }
125
- //# sourceMappingURL=rescan.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rescan.js","sourceRoot":"","sources":["../../src/commands/rescan.ts"],"names":[],"mappings":"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"}
@@ -1,30 +0,0 @@
1
- /**
2
- * Show Patterns Command - drift.showPatterns
3
- * @requirements 28.8
4
- */
5
- import type { ServerContext } from '../server/types.js';
6
- import type { CommandResult } from '../handlers/commands.js';
7
- /**
8
- * Execute show patterns command
9
- * Shows detected patterns in the workspace
10
- */
11
- export declare function executeShowPatterns(context: ServerContext, patternId?: string): Promise<CommandResult>;
12
- /**
13
- * Get pattern statistics
14
- */
15
- export declare function getPatternStatistics(patterns: Map<string, {
16
- id: string;
17
- category?: string;
18
- }>, violations: Map<string, Array<{
19
- patternId: string;
20
- severity: string;
21
- }>>): {
22
- totalPatterns: number;
23
- totalViolations: number;
24
- byCategory: Record<string, {
25
- patterns: number;
26
- violations: number;
27
- }>;
28
- bySeverity: Record<string, number>;
29
- };
30
- //# sourceMappingURL=show-patterns.d.ts.map
@@ -1,175 +0,0 @@
1
- /**
2
- * Show Patterns Command - drift.showPatterns
3
- * @requirements 28.8
4
- */
5
- /**
6
- * Execute show patterns command
7
- * Shows detected patterns in the workspace
8
- */
9
- export async function executeShowPatterns(context, patternId) {
10
- const { state, logger, connection } = context;
11
- logger.info(`Show patterns requested${patternId ? ` for: ${patternId}` : ''}`);
12
- if (patternId) {
13
- // Show specific pattern
14
- const pattern = state.patterns.get(patternId);
15
- if (!pattern) {
16
- return {
17
- success: false,
18
- error: `Pattern not found: ${patternId}`,
19
- };
20
- }
21
- // Count violations for this pattern
22
- let violationCount = 0;
23
- const affectedFiles = [];
24
- for (const [uri, violations] of state.violations) {
25
- const patternViolations = violations.filter((v) => v.patternId === patternId);
26
- if (patternViolations.length > 0) {
27
- violationCount += patternViolations.length;
28
- affectedFiles.push(uri);
29
- }
30
- }
31
- // Format pattern details
32
- const details = formatPatternDetails(pattern, violationCount, affectedFiles);
33
- // Show in message
34
- connection.window.showInformationMessage(details);
35
- return {
36
- success: true,
37
- message: `Pattern details for: ${patternId}`,
38
- data: {
39
- pattern,
40
- violationCount,
41
- affectedFiles,
42
- },
43
- };
44
- }
45
- else {
46
- // Show all patterns
47
- const patterns = Array.from(state.patterns.values());
48
- if (patterns.length === 0) {
49
- connection.window.showInformationMessage('No patterns detected in the workspace.');
50
- return {
51
- success: true,
52
- message: 'No patterns detected',
53
- data: { patterns: [] },
54
- };
55
- }
56
- // Group patterns by category
57
- const patternsByCategory = groupPatternsByCategory(patterns);
58
- // Format summary
59
- const summary = formatPatternsSummary(patternsByCategory, state.violations);
60
- // Show summary
61
- connection.window.showInformationMessage(summary);
62
- return {
63
- success: true,
64
- message: `Found ${patterns.length} patterns`,
65
- data: {
66
- patterns,
67
- patternsByCategory: Object.fromEntries(patternsByCategory),
68
- },
69
- };
70
- }
71
- }
72
- /**
73
- * Format pattern details for display
74
- */
75
- function formatPatternDetails(pattern, violationCount, affectedFiles) {
76
- const lines = [];
77
- lines.push(`📋 Pattern: ${pattern.name ?? pattern.id ?? 'Unknown'}`);
78
- lines.push('');
79
- if (pattern.category) {
80
- lines.push(`Category: ${pattern.category}${pattern.subcategory ? ` > ${pattern.subcategory}` : ''}`);
81
- }
82
- if (pattern.description) {
83
- lines.push(`Description: ${pattern.description}`);
84
- }
85
- if (pattern.confidence !== undefined) {
86
- lines.push(`Confidence: ${Math.round(pattern.confidence * 100)}%`);
87
- }
88
- lines.push('');
89
- lines.push(`Violations: ${violationCount}`);
90
- lines.push(`Affected files: ${affectedFiles.length}`);
91
- if (affectedFiles.length > 0 && affectedFiles.length <= 5) {
92
- lines.push('');
93
- lines.push('Files:');
94
- for (const file of affectedFiles) {
95
- const fileName = file.split('/').pop() ?? file;
96
- lines.push(` - ${fileName}`);
97
- }
98
- }
99
- return lines.join('\n');
100
- }
101
- /**
102
- * Group patterns by category
103
- */
104
- function groupPatternsByCategory(patterns) {
105
- const groups = new Map();
106
- for (const pattern of patterns) {
107
- const category = pattern.category ?? 'Uncategorized';
108
- const group = groups.get(category) ?? [];
109
- group.push(pattern);
110
- groups.set(category, group);
111
- }
112
- return groups;
113
- }
114
- /**
115
- * Format patterns summary for display
116
- */
117
- function formatPatternsSummary(patternsByCategory, violations) {
118
- const lines = [];
119
- lines.push(`📊 Detected Patterns Summary`);
120
- lines.push('');
121
- let totalPatterns = 0;
122
- let totalViolations = 0;
123
- for (const [category, patterns] of patternsByCategory) {
124
- totalPatterns += patterns.length;
125
- // Count violations for this category
126
- let categoryViolations = 0;
127
- for (const pattern of patterns) {
128
- for (const docViolations of violations.values()) {
129
- categoryViolations += docViolations.filter((v) => v.patternId === pattern.id).length;
130
- }
131
- }
132
- totalViolations += categoryViolations;
133
- lines.push(`${category}: ${patterns.length} pattern${patterns.length === 1 ? '' : 's'}, ${categoryViolations} violation${categoryViolations === 1 ? '' : 's'}`);
134
- }
135
- lines.push('');
136
- lines.push(`Total: ${totalPatterns} patterns, ${totalViolations} violations`);
137
- return lines.join('\n');
138
- }
139
- /**
140
- * Get pattern statistics
141
- */
142
- export function getPatternStatistics(patterns, violations) {
143
- const byCategory = {};
144
- const bySeverity = { error: 0, warning: 0, info: 0, hint: 0 };
145
- let totalViolations = 0;
146
- // Count patterns by category
147
- for (const pattern of patterns.values()) {
148
- const category = pattern.category ?? 'Uncategorized';
149
- if (!byCategory[category]) {
150
- byCategory[category] = { patterns: 0, violations: 0 };
151
- }
152
- byCategory[category].patterns++;
153
- }
154
- // Count violations
155
- for (const docViolations of violations.values()) {
156
- for (const violation of docViolations) {
157
- totalViolations++;
158
- // By severity
159
- bySeverity[violation.severity] = (bySeverity[violation.severity] ?? 0) + 1;
160
- // By category
161
- const pattern = patterns.get(violation.patternId);
162
- const category = pattern?.category ?? 'Uncategorized';
163
- if (byCategory[category]) {
164
- byCategory[category].violations++;
165
- }
166
- }
167
- }
168
- return {
169
- totalPatterns: patterns.size,
170
- totalViolations,
171
- byCategory,
172
- bySeverity,
173
- };
174
- }
175
- //# sourceMappingURL=show-patterns.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"show-patterns.js","sourceRoot":"","sources":["../../src/commands/show-patterns.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- /**
2
- * Show Violations Command - drift.showViolations
3
- * @requirements 28.9
4
- */
5
- import type { ServerContext, CommandResult } from '../server/types.js';
6
- /**
7
- * Execute show violations command
8
- * Shows violations in the workspace
9
- */
10
- export declare function executeShowViolations(context: ServerContext, uri?: string, patternId?: string, violationId?: string): Promise<CommandResult>;
11
- //# sourceMappingURL=show-violations.d.ts.map
@@ -1,259 +0,0 @@
1
- /**
2
- * Show Violations Command - drift.showViolations
3
- * @requirements 28.9
4
- */
5
- // ============================================================================
6
- // Main Command
7
- // ============================================================================
8
- /**
9
- * Execute show violations command
10
- * Shows violations in the workspace
11
- */
12
- export async function executeShowViolations(context, uri, patternId, violationId) {
13
- const { state, logger, connection } = context;
14
- logger.info(`Show violations requested${uri ? ` for: ${uri}` : ''}${patternId ? ` pattern: ${patternId}` : ''}`);
15
- // If specific violation requested
16
- if (violationId) {
17
- return showSpecificViolation(context, violationId);
18
- }
19
- // Get violations to show
20
- let violations = [];
21
- if (uri) {
22
- // Violations for specific document
23
- const docViolations = state.violations.get(uri) ?? [];
24
- violations = docViolations.map((v) => ({ uri, violation: v }));
25
- }
26
- else {
27
- // All violations
28
- for (const [docUri, docViolations] of state.violations) {
29
- for (const v of docViolations) {
30
- violations.push({ uri: docUri, violation: v });
31
- }
32
- }
33
- }
34
- // Filter by pattern if specified
35
- if (patternId) {
36
- violations = violations.filter((entry) => entry.violation.patternId === patternId);
37
- }
38
- if (violations.length === 0) {
39
- const message = uri
40
- ? `No violations found in ${getFileName(uri)}`
41
- : patternId
42
- ? `No violations found for pattern: ${patternId}`
43
- : 'No violations found in workspace';
44
- connection.window.showInformationMessage(message);
45
- return {
46
- success: true,
47
- message,
48
- data: { violations: [] },
49
- };
50
- }
51
- // Format violations summary
52
- const summary = formatViolationsSummary(violations, state.patterns);
53
- // Show summary
54
- connection.window.showInformationMessage(summary);
55
- return {
56
- success: true,
57
- message: `Found ${violations.length} violations`,
58
- data: {
59
- violations: violations.map((v) => ({
60
- uri: v.uri,
61
- ...v.violation,
62
- })),
63
- summary: getViolationStatistics(violations),
64
- },
65
- };
66
- }
67
- /**
68
- * Show specific violation details
69
- */
70
- async function showSpecificViolation(context, violationId) {
71
- const { state, logger, connection } = context;
72
- // Find the violation
73
- let foundViolation = null;
74
- let foundUri = '';
75
- for (const [uri, violations] of state.violations) {
76
- const violation = violations.find((v) => v.id === violationId);
77
- if (violation) {
78
- foundViolation = violation;
79
- foundUri = uri;
80
- break;
81
- }
82
- }
83
- if (!foundViolation) {
84
- return {
85
- success: false,
86
- error: `Violation not found: ${violationId}`,
87
- };
88
- }
89
- // Get pattern details
90
- const pattern = state.patterns.get(foundViolation.patternId);
91
- // Format violation details
92
- const details = formatViolationDetails(foundViolation, foundUri, pattern);
93
- // Show details
94
- connection.window.showInformationMessage(details);
95
- // Offer to navigate to violation
96
- const navigateResult = await connection.window.showInformationMessage(`Navigate to violation at line ${foundViolation.range.start.line + 1}?`, { title: 'Go to Location' }, { title: 'Close' });
97
- if (navigateResult?.title === 'Go to Location') {
98
- // TODO: Send notification to client to navigate to location
99
- logger.info(`Navigate to ${foundUri}:${foundViolation.range.start.line + 1}`);
100
- }
101
- return {
102
- success: true,
103
- message: `Violation details for: ${violationId}`,
104
- data: {
105
- violation: foundViolation,
106
- uri: foundUri,
107
- pattern,
108
- },
109
- };
110
- }
111
- /**
112
- * Format violations summary
113
- */
114
- function formatViolationsSummary(violations, patterns) {
115
- const lines = [];
116
- lines.push(`⚠️ Drift Violations Summary`);
117
- lines.push('');
118
- // Group by severity
119
- const bySeverity = groupBySeverity(violations);
120
- if (bySeverity.error.length > 0) {
121
- lines.push(`🔴 Errors: ${bySeverity.error.length}`);
122
- }
123
- if (bySeverity.warning.length > 0) {
124
- lines.push(`🟡 Warnings: ${bySeverity.warning.length}`);
125
- }
126
- if (bySeverity.info.length > 0) {
127
- lines.push(`🔵 Info: ${bySeverity.info.length}`);
128
- }
129
- if (bySeverity.hint.length > 0) {
130
- lines.push(`💡 Hints: ${bySeverity.hint.length}`);
131
- }
132
- lines.push('');
133
- // Group by pattern
134
- const byPattern = groupByPattern(violations);
135
- const patternCount = byPattern.size;
136
- lines.push(`Across ${patternCount} pattern${patternCount === 1 ? '' : 's'}:`);
137
- lines.push('');
138
- for (const [patternId, patternViolations] of byPattern) {
139
- const pattern = patterns.get(patternId);
140
- const name = pattern?.name ?? patternId;
141
- lines.push(` • ${name}: ${patternViolations.length}`);
142
- }
143
- // Group by file
144
- const byFile = groupByFile(violations);
145
- const fileCount = byFile.size;
146
- lines.push('');
147
- lines.push(`In ${fileCount} file${fileCount === 1 ? '' : 's'}`);
148
- return lines.join('\n');
149
- }
150
- /**
151
- * Format violation details
152
- */
153
- function formatViolationDetails(violation, uri, pattern) {
154
- const lines = [];
155
- const severityIcon = getSeverityIcon(violation.severity);
156
- lines.push(`${severityIcon} Violation Details`);
157
- lines.push('');
158
- lines.push(`Message: ${violation.message}`);
159
- lines.push(`Severity: ${violation.severity}`);
160
- lines.push(`Location: ${getFileName(uri)}:${violation.range.start.line + 1}:${violation.range.start.character + 1}`);
161
- lines.push('');
162
- if (pattern) {
163
- lines.push(`Pattern: ${pattern.name ?? violation.patternId}`);
164
- if (pattern.category) {
165
- lines.push(`Category: ${pattern.category}`);
166
- }
167
- if (pattern.description) {
168
- lines.push(`Description: ${pattern.description}`);
169
- }
170
- }
171
- else {
172
- lines.push(`Pattern ID: ${violation.patternId}`);
173
- }
174
- return lines.join('\n');
175
- }
176
- /**
177
- * Group violations by severity
178
- */
179
- function groupBySeverity(violations) {
180
- const groups = {
181
- error: [],
182
- warning: [],
183
- info: [],
184
- hint: [],
185
- };
186
- for (const v of violations) {
187
- const severity = v.violation.severity;
188
- if (severity in groups) {
189
- groups[severity].push(v);
190
- }
191
- else {
192
- groups.hint.push(v);
193
- }
194
- }
195
- return groups;
196
- }
197
- /**
198
- * Group violations by pattern
199
- */
200
- function groupByPattern(violations) {
201
- const groups = new Map();
202
- for (const v of violations) {
203
- const patternId = v.violation.patternId;
204
- const group = groups.get(patternId) ?? [];
205
- group.push(v);
206
- groups.set(patternId, group);
207
- }
208
- return groups;
209
- }
210
- /**
211
- * Group violations by file
212
- */
213
- function groupByFile(violations) {
214
- const groups = new Map();
215
- for (const v of violations) {
216
- const group = groups.get(v.uri) ?? [];
217
- group.push(v);
218
- groups.set(v.uri, group);
219
- }
220
- return groups;
221
- }
222
- /**
223
- * Get violation statistics
224
- */
225
- function getViolationStatistics(violations) {
226
- const bySeverity = {};
227
- const byPattern = {};
228
- const byFile = {};
229
- for (const v of violations) {
230
- bySeverity[v.violation.severity] = (bySeverity[v.violation.severity] ?? 0) + 1;
231
- byPattern[v.violation.patternId] = (byPattern[v.violation.patternId] ?? 0) + 1;
232
- byFile[v.uri] = (byFile[v.uri] ?? 0) + 1;
233
- }
234
- return {
235
- total: violations.length,
236
- bySeverity,
237
- byPattern,
238
- byFile,
239
- };
240
- }
241
- /**
242
- * Get severity icon
243
- */
244
- function getSeverityIcon(severity) {
245
- switch (severity) {
246
- case 'error': return '🔴';
247
- case 'warning': return '🟡';
248
- case 'info': return '🔵';
249
- case 'hint': return '💡';
250
- default: return '⚪';
251
- }
252
- }
253
- /**
254
- * Get file name from URI
255
- */
256
- function getFileName(uri) {
257
- return uri.split('/').pop() ?? uri;
258
- }
259
- //# sourceMappingURL=show-violations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"show-violations.js","sourceRoot":"","sources":["../../src/commands/show-violations.ts"],"names":[],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- /**
2
- * Code Actions Handler
3
- *
4
- * Provides code actions (quick fixes) for pattern violations.
5
- * Supports quick fixes, refactoring actions, and source actions.
6
- *
7
- * @requirements 27.4 - THE LSP_Server SHALL provide code actions for quick fixes
8
- */
9
- import type { Connection, TextDocuments, CodeAction, CodeActionParams } from 'vscode-languageserver';
10
- import type { TextDocument } from 'vscode-languageserver-textdocument';
11
- import type { DiagnosticsHandler } from './diagnostics.js';
12
- interface Logger {
13
- error(message: string): void;
14
- warn(message: string): void;
15
- info(message: string): void;
16
- debug(message: string): void;
17
- }
18
- /**
19
- * Code actions handler interface
20
- */
21
- export interface CodeActionsHandler {
22
- /** Handle code action request */
23
- onCodeAction(params: CodeActionParams): CodeAction[] | null;
24
- /** Handle code action resolve request */
25
- onCodeActionResolve(codeAction: CodeAction): CodeAction;
26
- }
27
- /**
28
- * Create the code actions handler
29
- */
30
- export declare function createCodeActionsHandler(_connection: Connection, _documents: TextDocuments<TextDocument>, diagnosticsHandler: DiagnosticsHandler, logger: Logger): CodeActionsHandler;
31
- export {};
32
- //# sourceMappingURL=code-actions.d.ts.map