trigger_system 1.0.0
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 +21 -0
- package/README.md +127 -0
- package/dist/browser/index.browser.js +48 -0
- package/dist/browser/index.browser.js.map +122 -0
- package/dist/cli/lsp-server.d.ts +3 -0
- package/dist/cli/lsp-server.d.ts.map +1 -0
- package/dist/cli/validate.d.ts +2 -0
- package/dist/cli/validate.d.ts.map +1 -0
- package/dist/core/action-registry.d.ts +12 -0
- package/dist/core/action-registry.d.ts.map +1 -0
- package/dist/core/context-adapter.d.ts +23 -0
- package/dist/core/context-adapter.d.ts.map +1 -0
- package/dist/core/dependency-graph.d.ts +18 -0
- package/dist/core/dependency-graph.d.ts.map +1 -0
- package/dist/core/engine.d.ts +24 -0
- package/dist/core/engine.d.ts.map +1 -0
- package/dist/core/event-queue.d.ts +25 -0
- package/dist/core/event-queue.d.ts.map +1 -0
- package/dist/core/expression-engine.d.ts +31 -0
- package/dist/core/expression-engine.d.ts.map +1 -0
- package/dist/core/index.d.ts +10 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/persistence-browser.d.ts +20 -0
- package/dist/core/persistence-browser.d.ts.map +1 -0
- package/dist/core/persistence.d.ts +34 -0
- package/dist/core/persistence.d.ts.map +1 -0
- package/dist/core/persistence.node.d.ts +18 -0
- package/dist/core/persistence.node.d.ts.map +1 -0
- package/dist/core/plugin-manager.d.ts +15 -0
- package/dist/core/plugin-manager.d.ts.map +1 -0
- package/dist/core/rule-engine.d.ts +39 -0
- package/dist/core/rule-engine.d.ts.map +1 -0
- package/dist/core/state-manager.d.ts +41 -0
- package/dist/core/state-manager.d.ts.map +1 -0
- package/dist/domain/index.d.ts +2 -0
- package/dist/domain/index.d.ts.map +1 -0
- package/dist/domain/validator.d.ts +2433 -0
- package/dist/domain/validator.d.ts.map +1 -0
- package/dist/index.browser.d.ts +6 -0
- package/dist/index.browser.d.ts.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/io/index.d.ts +2 -0
- package/dist/io/index.d.ts.map +1 -0
- package/dist/io/loader.node.d.ts +14 -0
- package/dist/io/loader.node.d.ts.map +1 -0
- package/dist/lsp/completions.d.ts +6 -0
- package/dist/lsp/completions.d.ts.map +1 -0
- package/dist/lsp/completions.js +624 -0
- package/dist/lsp/completions.js.map +1 -0
- package/dist/lsp/data-context.d.ts +60 -0
- package/dist/lsp/data-context.d.ts.map +1 -0
- package/dist/lsp/data-context.js +172 -0
- package/dist/lsp/data-context.js.map +1 -0
- package/dist/lsp/diagnostics.d.ts +7 -0
- package/dist/lsp/diagnostics.d.ts.map +1 -0
- package/dist/lsp/diagnostics.js +373 -0
- package/dist/lsp/diagnostics.js.map +1 -0
- package/dist/lsp/directives.d.ts +44 -0
- package/dist/lsp/directives.d.ts.map +1 -0
- package/dist/lsp/directives.js +232 -0
- package/dist/lsp/directives.js.map +1 -0
- package/dist/lsp/domain/index.d.ts +2 -0
- package/dist/lsp/domain/index.d.ts.map +1 -0
- package/dist/lsp/domain/index.js +18 -0
- package/dist/lsp/domain/index.js.map +1 -0
- package/dist/lsp/domain/validator.d.ts +2433 -0
- package/dist/lsp/domain/validator.d.ts.map +1 -0
- package/dist/lsp/domain/validator.js +225 -0
- package/dist/lsp/domain/validator.js.map +1 -0
- package/dist/lsp/hover.d.ts +7 -0
- package/dist/lsp/hover.d.ts.map +1 -0
- package/dist/lsp/hover.js +462 -0
- package/dist/lsp/hover.js.map +1 -0
- package/dist/lsp/lsp/completions.d.ts +6 -0
- package/dist/lsp/lsp/completions.d.ts.map +1 -0
- package/dist/lsp/lsp/completions.js +624 -0
- package/dist/lsp/lsp/completions.js.map +1 -0
- package/dist/lsp/lsp/data-context.d.ts +60 -0
- package/dist/lsp/lsp/data-context.d.ts.map +1 -0
- package/dist/lsp/lsp/data-context.js +172 -0
- package/dist/lsp/lsp/data-context.js.map +1 -0
- package/dist/lsp/lsp/diagnostics.d.ts +7 -0
- package/dist/lsp/lsp/diagnostics.d.ts.map +1 -0
- package/dist/lsp/lsp/diagnostics.js +373 -0
- package/dist/lsp/lsp/diagnostics.js.map +1 -0
- package/dist/lsp/lsp/directives.d.ts +44 -0
- package/dist/lsp/lsp/directives.d.ts.map +1 -0
- package/dist/lsp/lsp/directives.js +232 -0
- package/dist/lsp/lsp/directives.js.map +1 -0
- package/dist/lsp/lsp/hover.d.ts +7 -0
- package/dist/lsp/lsp/hover.d.ts.map +1 -0
- package/dist/lsp/lsp/hover.js +462 -0
- package/dist/lsp/lsp/hover.js.map +1 -0
- package/dist/lsp/lsp/semantic_tokens.d.ts +4 -0
- package/dist/lsp/lsp/semantic_tokens.d.ts.map +1 -0
- package/dist/lsp/lsp/semantic_tokens.js +158 -0
- package/dist/lsp/lsp/semantic_tokens.js.map +1 -0
- package/dist/lsp/lsp/server.d.ts +2 -0
- package/dist/lsp/lsp/server.d.ts.map +1 -0
- package/dist/lsp/lsp/server.js +216 -0
- package/dist/lsp/lsp/server.js.map +1 -0
- package/dist/lsp/semantic_tokens.d.ts +4 -0
- package/dist/lsp/semantic_tokens.d.ts.map +1 -0
- package/dist/lsp/semantic_tokens.js +158 -0
- package/dist/lsp/semantic_tokens.js.map +1 -0
- package/dist/lsp/server.bundle.d.ts +2 -0
- package/dist/lsp/server.bundle.d.ts.map +1 -0
- package/dist/lsp/server.bundle.js +256 -0
- package/dist/lsp/server.d.ts +2 -0
- package/dist/lsp/server.d.ts.map +1 -0
- package/dist/lsp/server.js +216 -0
- package/dist/lsp/server.js.map +1 -0
- package/dist/lsp/types.d.ts +71 -0
- package/dist/lsp/types.d.ts.map +1 -0
- package/dist/lsp/types.js +4 -0
- package/dist/lsp/types.js.map +1 -0
- package/dist/node/index.js +186 -0
- package/dist/node/index.js.map +196 -0
- package/dist/node/node.js +187 -0
- package/dist/node/node.js.map +198 -0
- package/dist/node.d.ts +4 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/sdk/builder.d.ts +39 -0
- package/dist/sdk/builder.d.ts.map +1 -0
- package/dist/sdk/exporter.d.ts +13 -0
- package/dist/sdk/exporter.d.ts.map +1 -0
- package/dist/sdk/index.d.ts +3 -0
- package/dist/sdk/index.d.ts.map +1 -0
- package/dist/types.d.ts +71 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils/emitter.d.ts +25 -0
- package/dist/utils/emitter.d.ts.map +1 -0
- package/dist/utils/utils.d.ts +18 -0
- package/dist/utils/utils.d.ts.map +1 -0
- package/package.json +91 -0
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseDirectives = parseDirectives;
|
|
4
|
+
exports.isDiagnosticSuppressed = isDiagnosticSuppressed;
|
|
5
|
+
exports.processRangeDirectives = processRangeDirectives;
|
|
6
|
+
exports.getImportDirectives = getImportDirectives;
|
|
7
|
+
const path_1 = require("path");
|
|
8
|
+
/**
|
|
9
|
+
* Parse directives from document comments
|
|
10
|
+
* Supported formats:
|
|
11
|
+
* - @disable-lint
|
|
12
|
+
* - @enable-lint
|
|
13
|
+
* - @disable-next-line
|
|
14
|
+
* - @disable-line
|
|
15
|
+
* - @disable-rule rule-name, rule-name2
|
|
16
|
+
* - @enable-rule rule-name
|
|
17
|
+
* - @import alias from './path/to/file.json'
|
|
18
|
+
* - @import alias from './path/to/file.yaml'
|
|
19
|
+
*/
|
|
20
|
+
function parseDirectives(document) {
|
|
21
|
+
const text = document.getText();
|
|
22
|
+
const lines = text.split('\n');
|
|
23
|
+
const directives = [];
|
|
24
|
+
let globalLintEnabled = true;
|
|
25
|
+
for (let i = 0; i < lines.length; i++) {
|
|
26
|
+
const line = lines[i] || '';
|
|
27
|
+
const trimmed = line.trim();
|
|
28
|
+
// Check if line is a comment
|
|
29
|
+
if (!trimmed.startsWith('#'))
|
|
30
|
+
continue;
|
|
31
|
+
// Extract directive
|
|
32
|
+
const directiveMatch = trimmed.match(/#\s*@([\w-]+)(?:\s+(.+))?/);
|
|
33
|
+
if (!directiveMatch)
|
|
34
|
+
continue;
|
|
35
|
+
const [, directiveName, args] = directiveMatch;
|
|
36
|
+
const directive = parseDirective(directiveName, args, i);
|
|
37
|
+
if (directive) {
|
|
38
|
+
directives.push(directive);
|
|
39
|
+
// Update global state
|
|
40
|
+
if (directive.type === 'disable-lint') {
|
|
41
|
+
globalLintEnabled = false;
|
|
42
|
+
}
|
|
43
|
+
else if (directive.type === 'enable-lint') {
|
|
44
|
+
globalLintEnabled = true;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
// Apply global lint state to all lines if disabled
|
|
49
|
+
if (!globalLintEnabled && directives.length > 0) {
|
|
50
|
+
const disableLintDirective = directives.find(d => d.type === 'disable-lint');
|
|
51
|
+
if (disableLintDirective) {
|
|
52
|
+
// Extend affected lines to all subsequent lines
|
|
53
|
+
const startLine = disableLintDirective.line;
|
|
54
|
+
const endLine = lines.length - 1;
|
|
55
|
+
disableLintDirective.affectedLines = Array.from({ length: endLine - startLine + 1 }, (_, i) => startLine + i);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return directives;
|
|
59
|
+
}
|
|
60
|
+
function parseDirective(name, args, lineNumber) {
|
|
61
|
+
const type = name;
|
|
62
|
+
switch (type) {
|
|
63
|
+
case 'disable-lint':
|
|
64
|
+
return {
|
|
65
|
+
type,
|
|
66
|
+
line: lineNumber,
|
|
67
|
+
affectedLines: [lineNumber] // Will be extended later
|
|
68
|
+
};
|
|
69
|
+
case 'enable-lint':
|
|
70
|
+
return {
|
|
71
|
+
type,
|
|
72
|
+
line: lineNumber,
|
|
73
|
+
affectedLines: []
|
|
74
|
+
};
|
|
75
|
+
case 'disable-next-line':
|
|
76
|
+
return {
|
|
77
|
+
type,
|
|
78
|
+
line: lineNumber,
|
|
79
|
+
affectedLines: [lineNumber + 1]
|
|
80
|
+
};
|
|
81
|
+
case 'disable-line':
|
|
82
|
+
return {
|
|
83
|
+
type,
|
|
84
|
+
line: lineNumber,
|
|
85
|
+
affectedLines: [lineNumber]
|
|
86
|
+
};
|
|
87
|
+
case 'disable-rule':
|
|
88
|
+
case 'enable-rule':
|
|
89
|
+
const rules = args?.split(',').map(r => r.trim()).filter(Boolean);
|
|
90
|
+
return {
|
|
91
|
+
type,
|
|
92
|
+
line: lineNumber,
|
|
93
|
+
rules,
|
|
94
|
+
affectedLines: [lineNumber + 1]
|
|
95
|
+
};
|
|
96
|
+
case 'import':
|
|
97
|
+
if (!args)
|
|
98
|
+
return null;
|
|
99
|
+
// Parse: alias from './path/to/file.json'
|
|
100
|
+
const importMatch = args.match(/^\s*(\w+)\s+from\s+['"](.+)['"]\s*$/);
|
|
101
|
+
if (!importMatch)
|
|
102
|
+
return null;
|
|
103
|
+
const [, alias, filePath] = importMatch;
|
|
104
|
+
return {
|
|
105
|
+
type,
|
|
106
|
+
line: lineNumber,
|
|
107
|
+
importAlias: alias,
|
|
108
|
+
importPath: filePath,
|
|
109
|
+
affectedLines: [] // Import directives don't affect linting
|
|
110
|
+
};
|
|
111
|
+
default:
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Check if diagnostics should be suppressed for a given line
|
|
117
|
+
*/
|
|
118
|
+
function isDiagnosticSuppressed(line, directives, diagnosticSource) {
|
|
119
|
+
for (const directive of directives) {
|
|
120
|
+
// Check if line is affected by this directive
|
|
121
|
+
if (!directive.affectedLines.includes(line))
|
|
122
|
+
continue;
|
|
123
|
+
switch (directive.type) {
|
|
124
|
+
case 'disable-lint':
|
|
125
|
+
return true;
|
|
126
|
+
case 'disable-next-line':
|
|
127
|
+
case 'disable-line':
|
|
128
|
+
return true;
|
|
129
|
+
case 'disable-rule':
|
|
130
|
+
// If specific rules are listed, check if diagnostic source matches
|
|
131
|
+
if (directive.rules && diagnosticSource) {
|
|
132
|
+
return directive.rules.some(rule => diagnosticSource.includes(rule) ||
|
|
133
|
+
rule.includes(diagnosticSource));
|
|
134
|
+
}
|
|
135
|
+
return false;
|
|
136
|
+
default:
|
|
137
|
+
continue;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Process directives that affect ranges
|
|
144
|
+
* This handles block-level directives like @disable-lint ... @enable-lint
|
|
145
|
+
*/
|
|
146
|
+
function processRangeDirectives(directives) {
|
|
147
|
+
const processed = [];
|
|
148
|
+
let currentDisable = null;
|
|
149
|
+
for (let i = 0; i < directives.length; i++) {
|
|
150
|
+
const directive = directives[i];
|
|
151
|
+
if (directive.type === 'disable-lint') {
|
|
152
|
+
currentDisable = directive;
|
|
153
|
+
processed.push(directive);
|
|
154
|
+
}
|
|
155
|
+
else if (directive.type === 'enable-lint' && currentDisable) {
|
|
156
|
+
// Update the disable directive to cover the range
|
|
157
|
+
currentDisable.affectedLines = [];
|
|
158
|
+
for (let line = currentDisable.line; line < directive.line; line++) {
|
|
159
|
+
currentDisable.affectedLines.push(line);
|
|
160
|
+
}
|
|
161
|
+
currentDisable = null;
|
|
162
|
+
processed.push(directive);
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
processed.push(directive);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
// If there's still an active disable directive, extend it to the end
|
|
169
|
+
if (currentDisable) {
|
|
170
|
+
// This will be handled in parseDirectives
|
|
171
|
+
}
|
|
172
|
+
return processed;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Extract import directives from a document
|
|
176
|
+
* Returns array of import directives with resolved paths
|
|
177
|
+
*/
|
|
178
|
+
function getImportDirectives(document, documentUri) {
|
|
179
|
+
const directives = parseDirectives(document);
|
|
180
|
+
const imports = [];
|
|
181
|
+
for (const directive of directives) {
|
|
182
|
+
if (directive.type === 'import' && directive.importAlias && directive.importPath) {
|
|
183
|
+
try {
|
|
184
|
+
let documentDir;
|
|
185
|
+
if (documentUri === 'file://test' || documentUri === 'file:///test') {
|
|
186
|
+
// For test documents, use the directory where test files are located
|
|
187
|
+
documentDir = (0, path_1.join)(process.cwd(), 'tests', 'rules', 'examples');
|
|
188
|
+
console.log(`[LSP] Test document detected in getImportDirectives, using test directory: ${documentDir}`);
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
// Decode URI components and resolve relative paths
|
|
192
|
+
const decodedUri = decodeURIComponent(documentUri);
|
|
193
|
+
// Handle Windows file URIs properly
|
|
194
|
+
let documentPath;
|
|
195
|
+
if (decodedUri.startsWith('file:///')) {
|
|
196
|
+
// Remove file:/// prefix
|
|
197
|
+
documentPath = decodedUri.substring(8);
|
|
198
|
+
// Handle Windows drive letters (C:, D:, etc.)
|
|
199
|
+
if (documentPath.match(/^[A-Za-z]:/)) {
|
|
200
|
+
// Already has drive letter, just replace forward slashes
|
|
201
|
+
documentPath = documentPath.replace(/\//g, '\\');
|
|
202
|
+
}
|
|
203
|
+
else if (documentPath.match(/^\/[A-Za-z]:/)) {
|
|
204
|
+
// Has leading slash before drive letter, remove it
|
|
205
|
+
documentPath = documentPath.substring(1).replace(/\//g, '\\');
|
|
206
|
+
}
|
|
207
|
+
else {
|
|
208
|
+
// Unix-style path, keep as is
|
|
209
|
+
documentPath = documentPath.replace(/\//g, '/');
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
// Fallback for non-file URIs
|
|
214
|
+
documentPath = decodedUri.replace('file:///', '');
|
|
215
|
+
}
|
|
216
|
+
documentDir = (0, path_1.dirname)(documentPath);
|
|
217
|
+
}
|
|
218
|
+
const resolvedPath = (0, path_1.join)(documentDir, directive.importPath);
|
|
219
|
+
imports.push({
|
|
220
|
+
alias: directive.importAlias,
|
|
221
|
+
path: resolvedPath
|
|
222
|
+
});
|
|
223
|
+
console.log(`[LSP] Import directive resolved: ${directive.importAlias} -> ${resolvedPath}`);
|
|
224
|
+
}
|
|
225
|
+
catch (error) {
|
|
226
|
+
console.error(`[LSP] Error resolving import directive:`, error);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
return imports;
|
|
231
|
+
}
|
|
232
|
+
//# sourceMappingURL=directives.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directives.js","sourceRoot":"","sources":["../../../src/lsp/directives.ts"],"names":[],"mappings":";;AAoCA,0CA+CC;AAmED,wDAiCC;AAMD,wDA6BC;AAMD,kDAyDC;AAxRD,+BAAqC;AAuBrC;;;;;;;;;;;GAWG;AACH,SAAgB,eAAe,CAAC,QAAsB;IAClD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,IAAI,iBAAiB,GAAG,IAAI,CAAC;IAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE5B,6BAA6B;QAC7B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAEvC,oBAAoB;QACpB,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAClE,IAAI,CAAC,cAAc;YAAE,SAAS;QAE9B,MAAM,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,cAAc,CAAC;QAC/C,MAAM,SAAS,GAAG,cAAc,CAAC,aAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAE1D,IAAI,SAAS,EAAE,CAAC;YACZ,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAE3B,sBAAsB;YACtB,IAAI,SAAS,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBACpC,iBAAiB,GAAG,KAAK,CAAC;YAC9B,CAAC;iBAAM,IAAI,SAAS,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAC1C,iBAAiB,GAAG,IAAI,CAAC;YAC7B,CAAC;QACL,CAAC;IACL,CAAC;IAED,mDAAmD;IACnD,IAAI,CAAC,iBAAiB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,oBAAoB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;QAC7E,IAAI,oBAAoB,EAAE,CAAC;YACvB,gDAAgD;YAChD,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC;YAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YACjC,oBAAoB,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI,CAC3C,EAAE,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,CAAC,EAAE,EACnC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,GAAG,CAAC,CAC1B,CAAC;QACN,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,IAAwB,EAAE,UAAkB;IAC9E,MAAM,IAAI,GAAG,IAAqB,CAAC;IAEnC,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,cAAc;YACf,OAAO;gBACH,IAAI;gBACJ,IAAI,EAAE,UAAU;gBAChB,aAAa,EAAE,CAAC,UAAU,CAAC,CAAC,yBAAyB;aACxD,CAAC;QAEN,KAAK,aAAa;YACd,OAAO;gBACH,IAAI;gBACJ,IAAI,EAAE,UAAU;gBAChB,aAAa,EAAE,EAAE;aACpB,CAAC;QAEN,KAAK,mBAAmB;YACpB,OAAO;gBACH,IAAI;gBACJ,IAAI,EAAE,UAAU;gBAChB,aAAa,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC;aAClC,CAAC;QAEN,KAAK,cAAc;YACf,OAAO;gBACH,IAAI;gBACJ,IAAI,EAAE,UAAU;gBAChB,aAAa,EAAE,CAAC,UAAU,CAAC;aAC9B,CAAC;QAEN,KAAK,cAAc,CAAC;QACpB,KAAK,aAAa;YACd,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAClE,OAAO;gBACH,IAAI;gBACJ,IAAI,EAAE,UAAU;gBAChB,KAAK;gBACL,aAAa,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC;aAClC,CAAC;QAEN,KAAK,QAAQ;YACT,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC;YACvB,0CAA0C;YAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACtE,IAAI,CAAC,WAAW;gBAAE,OAAO,IAAI,CAAC;YAE9B,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,WAAW,CAAC;YACxC,OAAO;gBACH,IAAI;gBACJ,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,KAAK;gBAClB,UAAU,EAAE,QAAQ;gBACpB,aAAa,EAAE,EAAE,CAAC,yCAAyC;aAC9D,CAAC;QAEN;YACI,OAAO,IAAI,CAAC;IACpB,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CAClC,IAAY,EACZ,UAAuB,EACvB,gBAAyB;IAEzB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACjC,8CAA8C;QAC9C,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,SAAS;QAEtD,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,cAAc;gBACf,OAAO,IAAI,CAAC;YAEhB,KAAK,mBAAmB,CAAC;YACzB,KAAK,cAAc;gBACf,OAAO,IAAI,CAAC;YAEhB,KAAK,cAAc;gBACf,mEAAmE;gBACnE,IAAI,SAAS,CAAC,KAAK,IAAI,gBAAgB,EAAE,CAAC;oBACtC,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/B,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAC/B,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAClC,CAAC;gBACN,CAAC;gBACD,OAAO,KAAK,CAAC;YAEjB;gBACI,SAAS;QACjB,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,UAAuB;IAC1D,MAAM,SAAS,GAAgB,EAAE,CAAC;IAClC,IAAI,cAAc,GAAqB,IAAI,CAAC;IAE5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC;QAEjC,IAAI,SAAS,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACpC,cAAc,GAAG,SAAS,CAAC;YAC3B,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,SAAS,CAAC,IAAI,KAAK,aAAa,IAAI,cAAc,EAAE,CAAC;YAC5D,kDAAkD;YAClD,cAAc,CAAC,aAAa,GAAG,EAAE,CAAC;YAClC,KAAK,IAAI,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;gBACjE,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5C,CAAC;YACD,cAAc,GAAG,IAAI,CAAC;YACtB,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACJ,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC;IAED,qEAAqE;IACrE,IAAI,cAAc,EAAE,CAAC;QACjB,0CAA0C;IAC9C,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,QAAsB,EAAE,WAAmB;IAC3E,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,OAAO,GAA2C,EAAE,CAAC;IAE3D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACjC,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;YAC/E,IAAI,CAAC;gBACD,IAAI,WAAmB,CAAC;gBAExB,IAAI,WAAW,KAAK,aAAa,IAAI,WAAW,KAAK,cAAc,EAAE,CAAC;oBAClE,qEAAqE;oBACrE,WAAW,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;oBAChE,OAAO,CAAC,GAAG,CAAC,8EAA8E,WAAW,EAAE,CAAC,CAAC;gBAC7G,CAAC;qBAAM,CAAC;oBACJ,mDAAmD;oBACnD,MAAM,UAAU,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;oBAEnD,oCAAoC;oBACpC,IAAI,YAAoB,CAAC;oBACzB,IAAI,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;wBACpC,yBAAyB;wBACzB,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;wBAEvC,8CAA8C;wBAC9C,IAAI,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;4BACnC,yDAAyD;4BACzD,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;wBACrD,CAAC;6BAAM,IAAI,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;4BAC5C,mDAAmD;4BACnD,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;wBAClE,CAAC;6BAAM,CAAC;4BACJ,8BAA8B;4BAC9B,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;wBACpD,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,6BAA6B;wBAC7B,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;oBACtD,CAAC;oBAED,WAAW,GAAG,IAAA,cAAO,EAAC,YAAY,CAAC,CAAC;gBACxC,CAAC;gBAED,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;gBAE7D,OAAO,CAAC,IAAI,CAAC;oBACT,KAAK,EAAE,SAAS,CAAC,WAAW;oBAC5B,IAAI,EAAE,YAAY;iBACrB,CAAC,CAAC;gBAEH,OAAO,CAAC,GAAG,CAAC,oCAAoC,SAAS,CAAC,WAAW,OAAO,YAAY,EAAE,CAAC,CAAC;YAChG,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;YACpE,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Hover, Position } from 'vscode-languageserver/node';
|
|
2
|
+
import type { TextDocument } from 'vscode-languageserver-textdocument';
|
|
3
|
+
/**
|
|
4
|
+
* Get hover information for a position in the document
|
|
5
|
+
*/
|
|
6
|
+
export declare function getHover(document: TextDocument, position: Position): Hover | null;
|
|
7
|
+
//# sourceMappingURL=hover.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hover.d.ts","sourceRoot":"","sources":["../../../src/lsp/hover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAiB,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AA8NvE;;GAEG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,GAAG,KAAK,GAAG,IAAI,CAwEjF"}
|