@domainlang/language 0.5.2 → 0.7.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/README.md +1 -1
- package/out/domain-lang-module.js +5 -1
- package/out/domain-lang-module.js.map +1 -1
- package/out/generated/ast.d.ts +24 -0
- package/out/generated/ast.js.map +1 -1
- package/out/generated/grammar.js +22 -32
- package/out/generated/grammar.js.map +1 -1
- package/out/index.d.ts +2 -5
- package/out/index.js +10 -6
- package/out/index.js.map +1 -1
- package/out/lsp/domain-lang-code-actions.js +14 -8
- package/out/lsp/domain-lang-code-actions.js.map +1 -1
- package/out/lsp/domain-lang-completion.d.ts +3 -0
- package/out/lsp/domain-lang-completion.js +41 -13
- package/out/lsp/domain-lang-completion.js.map +1 -1
- package/out/lsp/domain-lang-formatter.js +24 -18
- package/out/lsp/domain-lang-formatter.js.map +1 -1
- package/out/lsp/domain-lang-index-manager.d.ts +170 -0
- package/out/lsp/domain-lang-index-manager.js +389 -0
- package/out/lsp/domain-lang-index-manager.js.map +1 -0
- package/out/lsp/domain-lang-scope-provider.d.ts +67 -0
- package/out/lsp/domain-lang-scope-provider.js +95 -0
- package/out/lsp/domain-lang-scope-provider.js.map +1 -0
- package/out/lsp/domain-lang-scope.js +31 -17
- package/out/lsp/domain-lang-scope.js.map +1 -1
- package/out/lsp/domain-lang-workspace-manager.d.ts +76 -9
- package/out/lsp/domain-lang-workspace-manager.js +176 -54
- package/out/lsp/domain-lang-workspace-manager.js.map +1 -1
- package/out/lsp/hover/domain-lang-hover.d.ts +45 -1
- package/out/lsp/hover/domain-lang-hover.js +308 -232
- package/out/lsp/hover/domain-lang-hover.js.map +1 -1
- package/out/lsp/hover/domain-lang-keywords.d.ts +3 -7
- package/out/lsp/hover/domain-lang-keywords.js +115 -38
- package/out/lsp/hover/domain-lang-keywords.js.map +1 -1
- package/out/lsp/manifest-diagnostics.js +95 -50
- package/out/lsp/manifest-diagnostics.js.map +1 -1
- package/out/main.js +204 -17
- package/out/main.js.map +1 -1
- package/out/services/import-resolver.d.ts +39 -2
- package/out/services/import-resolver.js +77 -12
- package/out/services/import-resolver.js.map +1 -1
- package/out/services/types.d.ts +2 -2
- package/out/services/workspace-manager.d.ts +33 -31
- package/out/services/workspace-manager.js +92 -148
- package/out/services/workspace-manager.js.map +1 -1
- package/out/utils/document-utils.d.ts +41 -0
- package/out/utils/document-utils.js +64 -0
- package/out/utils/document-utils.js.map +1 -0
- package/out/utils/import-utils.d.ts +0 -17
- package/out/utils/import-utils.js +2 -32
- package/out/utils/import-utils.js.map +1 -1
- package/out/utils/manifest-utils.d.ts +56 -0
- package/out/utils/manifest-utils.js +119 -0
- package/out/utils/manifest-utils.js.map +1 -0
- package/out/validation/constants.d.ts +13 -0
- package/out/validation/constants.js +18 -0
- package/out/validation/constants.js.map +1 -1
- package/out/validation/import.d.ts +12 -2
- package/out/validation/import.js +95 -22
- package/out/validation/import.js.map +1 -1
- package/out/validation/maps.js +51 -2
- package/out/validation/maps.js.map +1 -1
- package/package.json +1 -1
- package/src/domain-lang-module.ts +6 -1
- package/src/domain-lang.langium +37 -13
- package/src/generated/ast.ts +24 -0
- package/src/generated/grammar.ts +22 -32
- package/src/index.ts +12 -6
- package/src/lsp/domain-lang-code-actions.ts +13 -8
- package/src/lsp/domain-lang-completion.ts +61 -13
- package/src/lsp/domain-lang-formatter.ts +28 -23
- package/src/lsp/domain-lang-index-manager.ts +447 -0
- package/src/lsp/domain-lang-scope-provider.ts +134 -0
- package/src/lsp/domain-lang-scope.ts +29 -17
- package/src/lsp/domain-lang-workspace-manager.ts +201 -53
- package/src/lsp/hover/domain-lang-hover.ts +332 -226
- package/src/lsp/hover/domain-lang-keywords.ts +129 -43
- package/src/lsp/manifest-diagnostics.ts +100 -59
- package/src/main.ts +258 -16
- package/src/services/import-resolver.ts +91 -12
- package/src/services/types.ts +2 -2
- package/src/services/workspace-manager.ts +101 -175
- package/src/utils/document-utils.ts +80 -0
- package/src/utils/import-utils.ts +2 -40
- package/src/utils/manifest-utils.ts +132 -0
- package/src/validation/constants.ts +24 -0
- package/src/validation/import.ts +107 -24
- package/src/validation/maps.ts +59 -2
- package/out/lsp/hover/ddd-pattern-explanations.d.ts +0 -50
- package/out/lsp/hover/ddd-pattern-explanations.js +0 -196
- package/out/lsp/hover/ddd-pattern-explanations.js.map +0 -1
- package/out/services/dependency-analyzer.d.ts +0 -58
- package/out/services/dependency-analyzer.js +0 -254
- package/out/services/dependency-analyzer.js.map +0 -1
- package/out/services/dependency-resolver.d.ts +0 -146
- package/out/services/dependency-resolver.js +0 -452
- package/out/services/dependency-resolver.js.map +0 -1
- package/out/services/git-url-resolver.browser.d.ts +0 -10
- package/out/services/git-url-resolver.browser.js +0 -19
- package/out/services/git-url-resolver.browser.js.map +0 -1
- package/out/services/git-url-resolver.d.ts +0 -158
- package/out/services/git-url-resolver.js +0 -416
- package/out/services/git-url-resolver.js.map +0 -1
- package/out/services/governance-validator.d.ts +0 -44
- package/out/services/governance-validator.js +0 -153
- package/out/services/governance-validator.js.map +0 -1
- package/out/services/semver.d.ts +0 -98
- package/out/services/semver.js +0 -195
- package/out/services/semver.js.map +0 -1
- package/src/lsp/hover/ddd-pattern-explanations.ts +0 -237
- package/src/services/dependency-analyzer.ts +0 -321
- package/src/services/dependency-resolver.ts +0 -551
- package/src/services/git-url-resolver.browser.ts +0 -26
- package/src/services/git-url-resolver.ts +0 -517
- package/src/services/governance-validator.ts +0 -177
- package/src/services/semver.ts +0 -213
|
@@ -115,6 +115,16 @@ const TOP_LEVEL_SNIPPETS = [
|
|
|
115
115
|
];
|
|
116
116
|
export class DomainLangCompletionProvider extends DefaultCompletionProvider {
|
|
117
117
|
completionFor(context, next, acceptor) {
|
|
118
|
+
try {
|
|
119
|
+
this.safeCompletionFor(context, next, acceptor);
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
console.error('Error in completionFor:', error);
|
|
123
|
+
// Fall back to default completion on error
|
|
124
|
+
super.completionFor(context, next, acceptor);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
safeCompletionFor(context, next, acceptor) {
|
|
118
128
|
const node = context.node;
|
|
119
129
|
if (!node) {
|
|
120
130
|
super.completionFor(context, next, acceptor);
|
|
@@ -132,72 +142,90 @@ export class DomainLangCompletionProvider extends DefaultCompletionProvider {
|
|
|
132
142
|
super.completionFor(context, next, acceptor);
|
|
133
143
|
return;
|
|
134
144
|
}
|
|
145
|
+
// Handle node-level completions
|
|
146
|
+
if (this.handleNodeCompletions(node, acceptor, context, next)) {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
// Handle container-level completions
|
|
150
|
+
const container = node.$container;
|
|
151
|
+
if (this.handleContainerCompletions(container, node, acceptor, context, next)) {
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
// Let Langium handle default completions
|
|
155
|
+
super.completionFor(context, next, acceptor);
|
|
156
|
+
}
|
|
157
|
+
handleNodeCompletions(node, acceptor, context, next) {
|
|
135
158
|
// If we're AT a BoundedContext node: only BC documentation blocks
|
|
136
159
|
if (ast.isBoundedContext(node)) {
|
|
137
160
|
this.addBoundedContextCompletions(node, acceptor, context);
|
|
138
161
|
super.completionFor(context, next, acceptor);
|
|
139
|
-
return;
|
|
162
|
+
return true;
|
|
140
163
|
}
|
|
141
164
|
// If we're AT a Domain node: only Domain documentation blocks
|
|
142
165
|
if (ast.isDomain(node)) {
|
|
143
166
|
this.addDomainCompletions(node, acceptor, context);
|
|
144
167
|
super.completionFor(context, next, acceptor);
|
|
145
|
-
return;
|
|
168
|
+
return true;
|
|
146
169
|
}
|
|
147
170
|
// If we're AT a ContextMap node: relationships and contains
|
|
148
171
|
if (ast.isContextMap(node)) {
|
|
149
172
|
this.addContextMapCompletions(node, acceptor, context);
|
|
150
173
|
super.completionFor(context, next, acceptor);
|
|
151
|
-
return;
|
|
174
|
+
return true;
|
|
152
175
|
}
|
|
153
176
|
// If we're AT a DomainMap node: contains
|
|
154
177
|
if (ast.isDomainMap(node)) {
|
|
155
178
|
this.addDomainMapCompletions(node, acceptor, context);
|
|
156
179
|
super.completionFor(context, next, acceptor);
|
|
157
|
-
return;
|
|
180
|
+
return true;
|
|
158
181
|
}
|
|
159
182
|
// If we're AT the Model or NamespaceDeclaration level: all top-level constructs
|
|
160
183
|
if (ast.isModel(node) || ast.isNamespaceDeclaration(node)) {
|
|
161
184
|
this.addTopLevelSnippets(acceptor, context);
|
|
162
185
|
super.completionFor(context, next, acceptor);
|
|
163
|
-
return;
|
|
186
|
+
return true;
|
|
187
|
+
}
|
|
188
|
+
return false;
|
|
189
|
+
}
|
|
190
|
+
handleContainerCompletions(container, node, acceptor, context, next) {
|
|
191
|
+
if (!container) {
|
|
192
|
+
return false;
|
|
164
193
|
}
|
|
165
|
-
const container = node.$container;
|
|
166
194
|
// Inside BoundedContext body: suggest missing scalar properties and collections
|
|
167
195
|
if (ast.isBoundedContext(container)) {
|
|
168
196
|
this.addBoundedContextCompletions(container, acceptor, context);
|
|
169
197
|
super.completionFor(context, next, acceptor);
|
|
170
|
-
return;
|
|
198
|
+
return true;
|
|
171
199
|
}
|
|
172
200
|
// Inside Domain body: suggest missing scalar properties
|
|
173
201
|
if (ast.isDomain(container)) {
|
|
174
202
|
this.addDomainCompletions(container, acceptor, context);
|
|
175
203
|
super.completionFor(context, next, acceptor);
|
|
176
|
-
return;
|
|
204
|
+
return true;
|
|
177
205
|
}
|
|
178
206
|
// Inside ContextMap body: relationships and contains
|
|
179
207
|
if (ast.isContextMap(container)) {
|
|
180
208
|
this.addContextMapCompletions(container, acceptor, context);
|
|
181
209
|
super.completionFor(context, next, acceptor);
|
|
182
|
-
return;
|
|
210
|
+
return true;
|
|
183
211
|
}
|
|
184
212
|
// Inside DomainMap body: contains
|
|
185
213
|
if (ast.isDomainMap(container)) {
|
|
186
214
|
this.addDomainMapCompletions(container, acceptor, context);
|
|
187
215
|
super.completionFor(context, next, acceptor);
|
|
188
|
-
return;
|
|
216
|
+
return true;
|
|
189
217
|
}
|
|
190
218
|
if (ast.isRelationship(node) || ast.isRelationship(container)) {
|
|
191
219
|
this.addRelationshipCompletions(acceptor, context);
|
|
192
220
|
super.completionFor(context, next, acceptor);
|
|
193
|
-
return;
|
|
221
|
+
return true;
|
|
194
222
|
}
|
|
195
223
|
// Top level container (Model or NamespaceDeclaration): all top-level constructs
|
|
196
224
|
if (ast.isModel(container) || ast.isNamespaceDeclaration(container)) {
|
|
197
225
|
this.addTopLevelSnippets(acceptor, context);
|
|
226
|
+
return true;
|
|
198
227
|
}
|
|
199
|
-
|
|
200
|
-
super.completionFor(context, next, acceptor);
|
|
228
|
+
return false;
|
|
201
229
|
}
|
|
202
230
|
addTopLevelSnippets(acceptor, context) {
|
|
203
231
|
for (const snippet of TOP_LEVEL_SNIPPETS) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-lang-completion.js","sourceRoot":"","sources":["../../src/lsp/domain-lang-completion.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"domain-lang-completion.js","sourceRoot":"","sources":["../../src/lsp/domain-lang-completion.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,25 +6,31 @@ import * as ast from '../generated/ast.js';
|
|
|
6
6
|
*/
|
|
7
7
|
export class DomainLangFormatter extends AbstractFormatter {
|
|
8
8
|
format(node) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
try {
|
|
10
|
+
// Namespace declarations
|
|
11
|
+
if (ast.isNamespaceDeclaration(node)) {
|
|
12
|
+
this.formatBlock(node);
|
|
13
|
+
}
|
|
14
|
+
// Domain declarations
|
|
15
|
+
if (ast.isDomain(node)) {
|
|
16
|
+
this.formatBlock(node);
|
|
17
|
+
}
|
|
18
|
+
// Bounded contexts
|
|
19
|
+
if (ast.isBoundedContext(node)) {
|
|
20
|
+
this.formatBlock(node);
|
|
21
|
+
}
|
|
22
|
+
// Context maps
|
|
23
|
+
if (ast.isContextMap(node)) {
|
|
24
|
+
this.formatBlock(node);
|
|
25
|
+
}
|
|
26
|
+
// Domain maps
|
|
27
|
+
if (ast.isDomainMap(node)) {
|
|
28
|
+
this.formatBlock(node);
|
|
29
|
+
}
|
|
12
30
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
// Bounded contexts
|
|
18
|
-
if (ast.isBoundedContext(node)) {
|
|
19
|
-
this.formatBlock(node);
|
|
20
|
-
}
|
|
21
|
-
// Context maps
|
|
22
|
-
if (ast.isContextMap(node)) {
|
|
23
|
-
this.formatBlock(node);
|
|
24
|
-
}
|
|
25
|
-
// Domain maps
|
|
26
|
-
if (ast.isDomainMap(node)) {
|
|
27
|
-
this.formatBlock(node);
|
|
31
|
+
catch (error) {
|
|
32
|
+
console.error('Error in format:', error);
|
|
33
|
+
// Continue - don't crash formatting
|
|
28
34
|
}
|
|
29
35
|
}
|
|
30
36
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-lang-formatter.js","sourceRoot":"","sources":["../../src/lsp/domain-lang-formatter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAE3C;;;GAGG;AACH,MAAM,OAAO,mBAAoB,SAAQ,iBAAiB;IAE5C,MAAM,CAAC,IAAa;
|
|
1
|
+
{"version":3,"file":"domain-lang-formatter.js","sourceRoot":"","sources":["../../src/lsp/domain-lang-formatter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAE3C;;;GAGG;AACH,MAAM,OAAO,mBAAoB,SAAQ,iBAAiB;IAE5C,MAAM,CAAC,IAAa;QAC1B,IAAI,CAAC;YACD,yBAAyB;YACzB,IAAI,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;YAED,sBAAsB;YACtB,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;YAED,mBAAmB;YACnB,IAAI,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;YAED,eAAe;YACf,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;YAED,cAAc;YACd,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;YACzC,oCAAoC;QACxC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,WAAW,CAAC,IAAa;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAErC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7D,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;IACxC,CAAC;CACJ"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import type { LangiumDocument, LangiumSharedCoreServices, URI } from 'langium';
|
|
2
|
+
import { DefaultIndexManager } from 'langium';
|
|
3
|
+
import { CancellationToken } from 'vscode-jsonrpc';
|
|
4
|
+
/**
|
|
5
|
+
* Custom IndexManager that extends Langium's default to:
|
|
6
|
+
* 1. Automatically load imported documents during indexing
|
|
7
|
+
* 2. Track import dependencies for cross-file revalidation
|
|
8
|
+
*
|
|
9
|
+
* **Why this exists:**
|
|
10
|
+
* Langium's `DefaultIndexManager.isAffected()` only checks cross-references
|
|
11
|
+
* (elements declared with `[Type]` grammar syntax). DomainLang's imports use
|
|
12
|
+
* string literals (`import "path"`), which are not cross-references.
|
|
13
|
+
*
|
|
14
|
+
* **How it works:**
|
|
15
|
+
* - When a document is indexed, we ensure all its imports are also loaded
|
|
16
|
+
* - Maintains a reverse dependency graph: importedUri → Set<importingUri>
|
|
17
|
+
* - Also tracks import specifiers to detect when file moves affect resolution
|
|
18
|
+
* - Overrides `isAffected()` to also check this graph
|
|
19
|
+
* - This integrates with Langium's native `DocumentBuilder.update()` flow
|
|
20
|
+
*
|
|
21
|
+
* **Integration with Langium:**
|
|
22
|
+
* This approach is idiomatic because:
|
|
23
|
+
* 1. `updateContent()` is called for EVERY document during build
|
|
24
|
+
* 2. We load imports during indexing, BEFORE linking/validation
|
|
25
|
+
* 3. `DocumentBuilder.shouldRelink()` calls `IndexManager.isAffected()`
|
|
26
|
+
* 4. No need for separate lifecycle service - this IS the central place
|
|
27
|
+
*/
|
|
28
|
+
export declare class DomainLangIndexManager extends DefaultIndexManager {
|
|
29
|
+
/**
|
|
30
|
+
* Reverse dependency graph: maps a document URI to all documents that import it.
|
|
31
|
+
* Key: imported document URI (string)
|
|
32
|
+
* Value: Set of URIs of documents that import the key document
|
|
33
|
+
*/
|
|
34
|
+
private readonly importDependencies;
|
|
35
|
+
/**
|
|
36
|
+
* Maps document URI to its import specifiers and their resolved URIs.
|
|
37
|
+
* Used to detect when file moves could affect import resolution.
|
|
38
|
+
* Key: importing document URI
|
|
39
|
+
* Value: Map of import specifier → resolved URI
|
|
40
|
+
*/
|
|
41
|
+
private readonly documentImportSpecifiers;
|
|
42
|
+
/**
|
|
43
|
+
* Tracks documents that have had their imports loaded to avoid redundant work.
|
|
44
|
+
* Cleared on workspace config changes.
|
|
45
|
+
*/
|
|
46
|
+
private readonly importsLoaded;
|
|
47
|
+
/**
|
|
48
|
+
* Reference to shared services for accessing LangiumDocuments.
|
|
49
|
+
*/
|
|
50
|
+
private readonly sharedServices;
|
|
51
|
+
constructor(services: LangiumSharedCoreServices);
|
|
52
|
+
/**
|
|
53
|
+
* Extends the default content update to:
|
|
54
|
+
* 1. Ensure all imported documents are loaded
|
|
55
|
+
* 2. Track import dependencies for change propagation
|
|
56
|
+
*
|
|
57
|
+
* Called by Langium during the IndexedContent build phase.
|
|
58
|
+
* This is BEFORE linking/validation, so imports are available for resolution.
|
|
59
|
+
*/
|
|
60
|
+
updateContent(document: LangiumDocument, cancelToken?: CancellationToken): Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* Extends the default remove to also clean up import dependencies.
|
|
63
|
+
*/
|
|
64
|
+
remove(uri: URI): void;
|
|
65
|
+
/**
|
|
66
|
+
* Extends the default content removal to also clean up import dependencies.
|
|
67
|
+
*/
|
|
68
|
+
removeContent(uri: URI): void;
|
|
69
|
+
/**
|
|
70
|
+
* Extends `isAffected` to also check import dependencies.
|
|
71
|
+
*
|
|
72
|
+
* A document is affected if:
|
|
73
|
+
* 1. It has cross-references to any changed document (default Langium behavior)
|
|
74
|
+
* 2. It imports any of the changed documents (our extension)
|
|
75
|
+
*/
|
|
76
|
+
isAffected(document: LangiumDocument, changedUris: Set<string>): boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Tracks import dependencies for a document.
|
|
79
|
+
* For each import in the document, records:
|
|
80
|
+
* 1. That the imported URI is depended upon (for direct change detection)
|
|
81
|
+
* 2. The import specifier used (for file move detection)
|
|
82
|
+
*/
|
|
83
|
+
private trackImportDependencies;
|
|
84
|
+
/**
|
|
85
|
+
* Ensures all imported documents are loaded and available.
|
|
86
|
+
* This is called during indexing, BEFORE linking/validation,
|
|
87
|
+
* so that cross-file references can be resolved.
|
|
88
|
+
*
|
|
89
|
+
* Works for both workspace files and standalone files.
|
|
90
|
+
*/
|
|
91
|
+
private ensureImportsLoaded;
|
|
92
|
+
/**
|
|
93
|
+
* Removes a document from the import dependencies graph entirely.
|
|
94
|
+
* Called when a document is deleted.
|
|
95
|
+
*/
|
|
96
|
+
private removeImportDependencies;
|
|
97
|
+
/**
|
|
98
|
+
* Removes a document from all dependency sets.
|
|
99
|
+
* Called when a document's imports change or it's deleted.
|
|
100
|
+
*/
|
|
101
|
+
private removeDocumentFromDependencies;
|
|
102
|
+
/**
|
|
103
|
+
* Clears all import-related caches.
|
|
104
|
+
* Call this when workspace configuration changes.
|
|
105
|
+
*/
|
|
106
|
+
clearImportDependencies(): void;
|
|
107
|
+
/**
|
|
108
|
+
* Marks a document as needing import re-loading.
|
|
109
|
+
* Called when a document's content changes.
|
|
110
|
+
*/
|
|
111
|
+
markForReprocessing(uri: string): void;
|
|
112
|
+
/**
|
|
113
|
+
* Gets all documents that import the given URI.
|
|
114
|
+
* Used to find documents that need rebuilding when a file changes.
|
|
115
|
+
*
|
|
116
|
+
* @param uri - The URI of the changed/deleted file
|
|
117
|
+
* @returns Set of URIs (as strings) of documents that import this file
|
|
118
|
+
*/
|
|
119
|
+
getDependentDocuments(uri: string): Set<string>;
|
|
120
|
+
/**
|
|
121
|
+
* Gets the resolved import URIs for a document.
|
|
122
|
+
* Returns only URIs where import resolution succeeded (non-empty resolved URI).
|
|
123
|
+
*
|
|
124
|
+
* @param documentUri - The URI of the document
|
|
125
|
+
* @returns Set of resolved import URIs, or empty set if none
|
|
126
|
+
*/
|
|
127
|
+
getResolvedImports(documentUri: string): Set<string>;
|
|
128
|
+
/**
|
|
129
|
+
* Gets all documents that would be affected by changes to the given URIs.
|
|
130
|
+
* This includes direct dependents and transitive dependents.
|
|
131
|
+
*
|
|
132
|
+
* @param changedUris - URIs of changed/deleted files
|
|
133
|
+
* @returns Set of all affected document URIs
|
|
134
|
+
*/
|
|
135
|
+
getAllAffectedDocuments(changedUris: Iterable<string>): Set<string>;
|
|
136
|
+
/**
|
|
137
|
+
* Gets documents that have import specifiers which might be affected by file moves.
|
|
138
|
+
*
|
|
139
|
+
* When a file is moved/renamed, import specifiers that previously resolved to it
|
|
140
|
+
* (or could now resolve to it) need to be re-evaluated. This method finds documents
|
|
141
|
+
* whose imports might resolve differently after the file system change.
|
|
142
|
+
*
|
|
143
|
+
* @param changedUris - URIs of changed/deleted/created files
|
|
144
|
+
* @returns Set of document URIs that should be rebuilt
|
|
145
|
+
*/
|
|
146
|
+
getDocumentsWithPotentiallyAffectedImports(changedUris: Iterable<string>): Set<string>;
|
|
147
|
+
/**
|
|
148
|
+
* Extracts path segments from URIs for fuzzy matching.
|
|
149
|
+
*/
|
|
150
|
+
private extractPathSegments;
|
|
151
|
+
/**
|
|
152
|
+
* Adds path segments from a single URI to the set.
|
|
153
|
+
*/
|
|
154
|
+
private addPathSegmentsFromUri;
|
|
155
|
+
/**
|
|
156
|
+
* Finds documents with import specifiers matching any of the given paths.
|
|
157
|
+
*/
|
|
158
|
+
private findDocumentsMatchingPaths;
|
|
159
|
+
/**
|
|
160
|
+
* Checks if any specifier OR its resolved URI matches the changed paths.
|
|
161
|
+
*
|
|
162
|
+
* This handles both regular imports and path aliases:
|
|
163
|
+
* - Regular: `./domains/sales.dlang` matches path `sales.dlang`
|
|
164
|
+
* - Aliased: `@domains/sales.dlang` resolves to `/full/path/domains/sales.dlang`
|
|
165
|
+
* When the file moves, the resolved URI matches but the specifier doesn't
|
|
166
|
+
*
|
|
167
|
+
* We check both to ensure moves of aliased imports trigger revalidation.
|
|
168
|
+
*/
|
|
169
|
+
private hasMatchingSpecifierOrResolvedUri;
|
|
170
|
+
}
|