@reqlan/language 1.9.6 → 1.9.7

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 (42) hide show
  1. package/README.md +8 -0
  2. package/README.template.md +2 -0
  3. package/out/index.d.ts +2 -1
  4. package/out/index.js +2 -1
  5. package/out/index.js.map +1 -1
  6. package/out/reqlan-code-action-provider.d.ts +1 -0
  7. package/out/reqlan-code-action-provider.js +12 -21
  8. package/out/reqlan-code-action-provider.js.map +1 -1
  9. package/out/reqlan-comment-diagnostics.d.ts +11 -0
  10. package/out/reqlan-comment-diagnostics.js +81 -11
  11. package/out/reqlan-comment-diagnostics.js.map +1 -1
  12. package/out/reqlan-document-builder.d.ts +9 -0
  13. package/out/reqlan-document-builder.js +26 -0
  14. package/out/reqlan-document-builder.js.map +1 -0
  15. package/out/reqlan-document-link-provider.d.ts +3 -1
  16. package/out/reqlan-document-link-provider.js +6 -1
  17. package/out/reqlan-document-link-provider.js.map +1 -1
  18. package/out/reqlan-idea-move-imports.d.ts +24 -0
  19. package/out/reqlan-idea-move-imports.js +309 -0
  20. package/out/reqlan-idea-move-imports.js.map +1 -0
  21. package/out/reqlan-idea-refactor.d.ts +12 -4
  22. package/out/reqlan-idea-refactor.js +85 -13
  23. package/out/reqlan-idea-refactor.js.map +1 -1
  24. package/out/reqlan-import-edits.d.ts +1 -0
  25. package/out/reqlan-import-edits.js +8 -0
  26. package/out/reqlan-import-edits.js.map +1 -1
  27. package/out/reqlan-module.js +3 -1
  28. package/out/reqlan-module.js.map +1 -1
  29. package/out/reqlan-validator.d.ts +5 -0
  30. package/out/reqlan-validator.js +17 -0
  31. package/out/reqlan-validator.js.map +1 -1
  32. package/package.json +1 -1
  33. package/src/index.ts +4 -0
  34. package/src/reqlan-code-action-provider.ts +12 -24
  35. package/src/reqlan-comment-diagnostics.ts +108 -11
  36. package/src/reqlan-document-builder.ts +35 -0
  37. package/src/reqlan-document-link-provider.ts +18 -3
  38. package/src/reqlan-idea-move-imports.ts +398 -0
  39. package/src/reqlan-idea-refactor.ts +116 -14
  40. package/src/reqlan-import-edits.ts +9 -0
  41. package/src/reqlan-module.ts +3 -1
  42. package/src/reqlan-validator.ts +23 -0
package/README.md CHANGED
@@ -25,10 +25,18 @@ npm install @reqlan/language
25
25
  - [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=reqlan.reqlan-extension)
26
26
  - [Open VSX](https://open-vsx.org/extension/reqlan/reqlan-extension)
27
27
  - [GitHub repository](https://github.com/littletuna4/reqlan)
28
+ - [Discord](https://discord.gg/R487KDVfmA)
29
+ - [Sponsor](https://github.com/sponsors/littletuna4)
28
30
  - [Contact](mailto:reqlan@reqlan.com)
29
31
 
30
32
  ## Changelog
31
33
 
34
+ ### 1.9.7
35
+
36
+ #### Patch Changes
37
+
38
+ - 9571467: Update site; and a few little bug fixes
39
+
32
40
  ### 1.9.6
33
41
 
34
42
  #### Patch Changes
@@ -25,6 +25,8 @@ npm install @reqlan/language
25
25
  - [{{VSC_LABEL}}]({{VSC_URL}})
26
26
  - [{{OPENVSX_LABEL}}]({{OPENVSX_URL}})
27
27
  - [GitHub repository]({{GITHUB_URL}})
28
+ - [{{DISCORD_LABEL}}]({{DISCORD_URL}})
29
+ - [{{SPONSOR_LABEL}}]({{SPONSOR_URL}})
28
30
  - [Contact]({{EMAIL_URL}})
29
31
 
30
32
  ## Changelog
package/out/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export * from './reqlan-module.js';
2
2
  export * from './reqlan-parse-budget.js';
3
3
  export { ReqlanAsyncParser, resolveParseWorkerPath } from './reqlan-async-parser.js';
4
4
  export { ReqlanLangiumDocumentFactory } from './reqlan-document-factory.js';
5
+ export { ReqlanDocumentBuilder } from './reqlan-document-builder.js';
5
6
  export * from './reqlan-validator.js';
6
7
  export * from './reqlan-comment-resolver.js';
7
8
  export * from './reqlan-comment-diagnostics.js';
@@ -12,7 +13,7 @@ export * from './file-path-rewrite.js';
12
13
  export * from './reqlan-path-references.js';
13
14
  export * from './reqlan-comment-rename.js';
14
15
  export { ReqlanRenameProvider } from './reqlan-rename-provider.js';
15
- export { ideaDeclarationText, isRefactorIdeaDeclaration, planIdeaDeleteEdits, planIdeaMoveEdits, type DocumentTextEdits, type RefactorIdeaDeclaration } from './reqlan-idea-refactor.js';
16
+ export { ideaDeclarationText, isRefactorIdeaDeclaration, planIdeaDeleteEdits, planIdeaMoveEdits, findIdeaDeclarationAtRange, listRefactorIdeaDeclarations, type DocumentTextEdits, type PlanIdeaMoveInput, type RefactorIdeaDeclaration } from './reqlan-idea-refactor.js';
16
17
  export * from './reqlan-path-resolve.js';
17
18
  export * from './reqlan-imports.js';
18
19
  export * from './reqlan-quoted-strings.js';
package/out/index.js CHANGED
@@ -2,6 +2,7 @@ export * from './reqlan-module.js';
2
2
  export * from './reqlan-parse-budget.js';
3
3
  export { ReqlanAsyncParser, resolveParseWorkerPath } from './reqlan-async-parser.js';
4
4
  export { ReqlanLangiumDocumentFactory } from './reqlan-document-factory.js';
5
+ export { ReqlanDocumentBuilder } from './reqlan-document-builder.js';
5
6
  export * from './reqlan-validator.js';
6
7
  export * from './reqlan-comment-resolver.js';
7
8
  export * from './reqlan-comment-diagnostics.js';
@@ -12,7 +13,7 @@ export * from './file-path-rewrite.js';
12
13
  export * from './reqlan-path-references.js';
13
14
  export * from './reqlan-comment-rename.js';
14
15
  export { ReqlanRenameProvider } from './reqlan-rename-provider.js';
15
- export { ideaDeclarationText, isRefactorIdeaDeclaration, planIdeaDeleteEdits, planIdeaMoveEdits } from './reqlan-idea-refactor.js';
16
+ export { ideaDeclarationText, isRefactorIdeaDeclaration, planIdeaDeleteEdits, planIdeaMoveEdits, findIdeaDeclarationAtRange, listRefactorIdeaDeclarations } from './reqlan-idea-refactor.js';
16
17
  export * from './reqlan-path-resolve.js';
17
18
  export * from './reqlan-imports.js';
18
19
  export * from './reqlan-quoted-strings.js';
package/out/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5E,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sCAAsC,CAAC;AACrD,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EACH,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EAGpB,MAAM,2BAA2B,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC;AACzC,cAAc,yCAAyC,CAAC;AACxD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACrF,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sCAAsC,CAAC;AACrD,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EACH,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EACjB,0BAA0B,EAC1B,4BAA4B,EAI/B,MAAM,2BAA2B,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC;AACzC,cAAc,yCAAyC,CAAC;AACxD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACrF,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC"}
@@ -17,6 +17,7 @@ export declare const REQLAN_IMPORT_ERROR_CREATE_COMMAND = "reqlan.importError.cr
17
17
  export declare const REQLAN_SEARCH_REFERENCE_COMMAND = "reqlan.searchReference";
18
18
  export declare const REQLAN_REFACTOR_DELETE_IDEA_COMMAND = "reqlan.refactor.deleteIdea";
19
19
  export declare const REQLAN_REFACTOR_MOVE_IDEA_COMMAND = "reqlan.refactor.moveIdea";
20
+ export declare const REQLAN_REFACTOR_MOVE_IDEA_CONTENT_COMMAND = "reqlan.refactor.moveIdeaContent";
20
21
  export declare const REQLAN_BARREL_PAGE_COMMAND = "reqlan.barrelPage";
21
22
  /** Source-action kind for whole-file barrel page. */
22
23
  export declare const REQLAN_BARREL_PAGE_KIND: string;
@@ -1,8 +1,8 @@
1
- import { AstUtils, DocumentValidator, URI as UriCtor, UriUtils } from 'langium';
1
+ import { DocumentValidator, URI as UriCtor, UriUtils } from 'langium';
2
2
  import { CodeActionKind } from 'vscode-languageserver';
3
3
  import { isIdea, isIdeaSet, isModel, isOneLinerIdea } from './generated/ast.js';
4
4
  import { buildFromImportEdit, relativeRqImportPath } from './reqlan-import-edits.js';
5
- import { isRefactorIdeaDeclaration } from './reqlan-idea-refactor.js';
5
+ import { isRefactorIdeaDeclaration, findIdeaDeclarationAtRange } from './reqlan-idea-refactor.js';
6
6
  import { sharedNameCatalog } from './reqlan-name-catalog.js';
7
7
  import { findReferenceSearchSite } from './reqlan-reference-search-site.js';
8
8
  export const REQLAN_IMPORT_ERROR_SEARCH_COMMAND = 'reqlan.importError.search';
@@ -10,6 +10,7 @@ export const REQLAN_IMPORT_ERROR_CREATE_COMMAND = 'reqlan.importError.createFile
10
10
  export const REQLAN_SEARCH_REFERENCE_COMMAND = 'reqlan.searchReference';
11
11
  export const REQLAN_REFACTOR_DELETE_IDEA_COMMAND = 'reqlan.refactor.deleteIdea';
12
12
  export const REQLAN_REFACTOR_MOVE_IDEA_COMMAND = 'reqlan.refactor.moveIdea';
13
+ export const REQLAN_REFACTOR_MOVE_IDEA_CONTENT_COMMAND = 'reqlan.refactor.moveIdeaContent';
13
14
  export const REQLAN_BARREL_PAGE_COMMAND = 'reqlan.barrelPage';
14
15
  /** Source-action kind for whole-file barrel page. */
15
16
  export const REQLAN_BARREL_PAGE_KIND = `${CodeActionKind.Source}.barrelPage`;
@@ -90,6 +91,15 @@ export class ReqlanCodeActionProvider {
90
91
  command: REQLAN_REFACTOR_MOVE_IDEA_COMMAND,
91
92
  arguments: [args]
92
93
  }
94
+ },
95
+ {
96
+ title: `Move idea '${idea.name}' content to another file…`,
97
+ kind: CodeActionKind.Refactor,
98
+ command: {
99
+ title: `Move idea '${idea.name}' content`,
100
+ command: REQLAN_REFACTOR_MOVE_IDEA_CONTENT_COMMAND,
101
+ arguments: [args]
102
+ }
93
103
  }
94
104
  ];
95
105
  }
@@ -340,23 +350,4 @@ export function collectImportErrorCodeActions(provider, document) {
340
350
  export function isModelDocument(document) {
341
351
  return isModel(document.parseResult.value);
342
352
  }
343
- function findIdeaDeclarationAtRange(document, range) {
344
- const offset = document.textDocument.offsetAt(range.start);
345
- for (const node of AstUtils.streamAst(document.parseResult.value)) {
346
- if (!isRefactorIdeaDeclaration(node) || !node.$cstNode) {
347
- continue;
348
- }
349
- const start = document.textDocument.offsetAt(node.$cstNode.range.start);
350
- const end = document.textDocument.offsetAt(node.$cstNode.range.end);
351
- if (offset >= start && offset <= end) {
352
- return node;
353
- }
354
- // Also match when the selection is exactly on the name token line.
355
- if (range.start.line === node.$cstNode.range.start.line
356
- && range.start.character <= (node.name?.length ?? 0) + 1) {
357
- return node;
358
- }
359
- }
360
- return undefined;
361
- }
362
353
  //# sourceMappingURL=reqlan-code-action-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reqlan-code-action-provider.js","sourceRoot":"","sources":["../src/reqlan-code-action-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reqlan-code-action-provider.js","sourceRoot":"","sources":["../src/reqlan-code-action-provider.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  /**
2
2
  * Diagnostics and document-link targets for `rq:[…]` comment references.
3
+ * One presentation supplies both, so the clickable link and the error underline stay in sync.
3
4
  * rq:["../../../reqlan rq/language/syntax.rq".comment_reference_resolution_error]
4
5
  * rq:["../../../reqlan rq/language/syntax.rq".comment_reference]
5
6
  * rq:["../../../reqlan rq/language/syntax.rq".comment_reference_ignore]
7
+ * rq:["../../../reqlan rq/extension/features-non-rq-code-comment/functional-code-comment-references.rq".comment_reference_resolution_error_state]
6
8
  */
7
9
  import type { FileSystemProvider, LangiumDocument, LangiumDocuments } from 'langium';
8
10
  import type { Range } from 'vscode-languageserver';
@@ -13,10 +15,12 @@ export interface CommentReferenceFileHost {
13
15
  exists(absolutePath: string): boolean;
14
16
  declaresIdea?(absolutePath: string, idea: string): boolean;
15
17
  workspaceDeclaresIdea?(idea: string): boolean;
18
+ resolveWorkspaceIdea?(idea: string): string | undefined;
16
19
  }
17
20
  export interface CommentReferenceLink {
18
21
  range: Range;
19
22
  targetPath: string;
23
+ targetUri?: string;
20
24
  idea: string;
21
25
  }
22
26
  export interface CommentReferenceDiagnostic {
@@ -30,5 +34,12 @@ export interface CommentReferencePresentation {
30
34
  }
31
35
  export declare function commentReferenceMissingFileMessage(path: string): string;
32
36
  export declare function commentReferenceMissingIdeaMessage(idea: string): string;
37
+ export declare function isCommentReferenceDiagnosticCode(code: unknown): boolean;
33
38
  export declare function presentCommentReferences(text: string, sourceDir: string, host: CommentReferenceFileHost, resolvePath: (sourceDir: string, relativePath: string) => string): CommentReferencePresentation;
39
+ export declare function presentCommentReferencesForDocument(document: LangiumDocument, documents: LangiumDocuments, fileSystem?: FileSystemProvider, context?: PathResolveContext): CommentReferencePresentation;
34
40
  export declare function collectCommentReferenceIssues(document: LangiumDocument, documents: LangiumDocuments, fileSystem?: FileSystemProvider, context?: PathResolveContext): CommentReferenceDiagnostic[];
41
+ /**
42
+ * Relink this document when a changed `.rq` file can change comment-reference
43
+ * resolution (missing idea becomes present, or a targeted file changes).
44
+ */
45
+ export declare function shouldRelinkCommentReferences(document: LangiumDocument, changedUris: Set<string>, context?: PathResolveContext): boolean;
@@ -1,6 +1,7 @@
1
- import { findCommentReferencesInText, resolveCommentReferenceIdea } from './reqlan-comment-resolver.js';
1
+ import { AstUtils, URI } from 'langium';
2
+ import { findCommentReferencesInText, resolveCommentReferenceIdea, resolveFileUri } from './reqlan-comment-resolver.js';
2
3
  import { findRqIgnoreErrorTargetLines } from './reqlan-ignore-error.js';
3
- import { findImportedDocument, isResolvableImportPath } from './reqlan-imports.js';
4
+ import { findImportedDocument, isResolvableImportPath, resolveImportCandidateUris } from './reqlan-imports.js';
4
5
  export const COMMENT_REFERENCE_MISSING_FILE = 'comment-reference-missing-file';
5
6
  export const COMMENT_REFERENCE_MISSING_IDEA = 'comment-reference-missing-idea';
6
7
  export function commentReferenceMissingFileMessage(path) {
@@ -9,6 +10,9 @@ export function commentReferenceMissingFileMessage(path) {
9
10
  export function commentReferenceMissingIdeaMessage(idea) {
10
11
  return `Could not resolve comment reference to idea '${idea}'.`;
11
12
  }
13
+ export function isCommentReferenceDiagnosticCode(code) {
14
+ return code === COMMENT_REFERENCE_MISSING_FILE || code === COMMENT_REFERENCE_MISSING_IDEA;
15
+ }
12
16
  export function presentCommentReferences(text, sourceDir, host, resolvePath) {
13
17
  const ignoredLines = findRqIgnoreErrorTargetLines(text);
14
18
  const links = [];
@@ -16,10 +20,13 @@ export function presentCommentReferences(text, sourceDir, host, resolvePath) {
16
20
  for (const reference of findCommentReferencesInText(text)) {
17
21
  const issue = commentReferenceFileIssue(reference, sourceDir, host, resolvePath);
18
22
  if (!issue) {
19
- if (reference.path) {
23
+ const targetPath = reference.path
24
+ ? resolvePath(sourceDir, reference.path)
25
+ : host.resolveWorkspaceIdea?.(reference.idea);
26
+ if (targetPath) {
20
27
  links.push({
21
28
  range: reference.range,
22
- targetPath: resolvePath(sourceDir, reference.path),
29
+ targetPath,
23
30
  idea: reference.idea
24
31
  });
25
32
  }
@@ -32,25 +39,59 @@ export function presentCommentReferences(text, sourceDir, host, resolvePath) {
32
39
  }
33
40
  return { links, diagnostics };
34
41
  }
35
- export function collectCommentReferenceIssues(document, documents, fileSystem, context) {
42
+ export function presentCommentReferencesForDocument(document, documents, fileSystem, context) {
36
43
  const text = document.textDocument.getText();
37
44
  const ignoredLines = findRqIgnoreErrorTargetLines(text);
45
+ const links = [];
38
46
  const diagnostics = [];
39
47
  for (const reference of findCommentReferencesInText(text)) {
48
+ if (!isSlashOrBlockCommentReference(text, reference.range)) {
49
+ continue;
50
+ }
51
+ const issue = commentReferenceLangiumIssue(reference, document, documents, fileSystem, context);
52
+ if (!issue) {
53
+ const link = commentReferenceLangiumLink(reference, document, documents, context);
54
+ if (link) {
55
+ links.push(link);
56
+ }
57
+ continue;
58
+ }
40
59
  if (ignoredLines.has(reference.range.start.line)) {
41
60
  continue;
42
61
  }
43
- // .rq files use `//` / `/* */` comments. Skip `#` / triple-quote spans so
44
- // fenced language examples are not treated as comment references.
62
+ diagnostics.push(issue);
63
+ }
64
+ return { links, diagnostics };
65
+ }
66
+ export function collectCommentReferenceIssues(document, documents, fileSystem, context) {
67
+ return presentCommentReferencesForDocument(document, documents, fileSystem, context).diagnostics;
68
+ }
69
+ /**
70
+ * Relink this document when a changed `.rq` file can change comment-reference
71
+ * resolution (missing idea becomes present, or a targeted file changes).
72
+ */
73
+ export function shouldRelinkCommentReferences(document, changedUris, context) {
74
+ const text = document.textDocument.getText();
75
+ if (!text.includes('rq:[')) {
76
+ return false;
77
+ }
78
+ if (document.diagnostics?.some(diagnostic => isCommentReferenceDiagnosticCode(diagnostic.code))) {
79
+ return true;
80
+ }
81
+ for (const reference of findCommentReferencesInText(text)) {
45
82
  if (!isSlashOrBlockCommentReference(text, reference.range)) {
46
83
  continue;
47
84
  }
48
- const issue = commentReferenceLangiumIssue(reference, document, documents, fileSystem, context);
49
- if (issue) {
50
- diagnostics.push(issue);
85
+ if (!reference.path) {
86
+ return true;
87
+ }
88
+ for (const uri of resolveImportCandidateUris(reference.path, document, context)) {
89
+ if (changedUris.has(uri.toString())) {
90
+ return true;
91
+ }
51
92
  }
52
93
  }
53
- return diagnostics;
94
+ return false;
54
95
  }
55
96
  function isSlashOrBlockCommentReference(text, range) {
56
97
  const line = text.split(/\r?\n/)[range.start.line] ?? '';
@@ -116,4 +157,33 @@ function commentReferenceLangiumIssue(reference, document, documents, fileSystem
116
157
  code: COMMENT_REFERENCE_MISSING_IDEA
117
158
  };
118
159
  }
160
+ function commentReferenceLangiumLink(reference, document, documents, context) {
161
+ const idea = resolveCommentReferenceIdea(reference, document, documents, context);
162
+ if (idea) {
163
+ const targetDocument = documents.getDocument(AstUtils.getDocument(idea).uri);
164
+ if (!targetDocument) {
165
+ return undefined;
166
+ }
167
+ const ideaNode = idea.$cstNode;
168
+ const targetUri = ideaNode
169
+ ? `${targetDocument.textDocument.uri}#L${ideaNode.range.start.line + 1}`
170
+ : targetDocument.textDocument.uri;
171
+ return {
172
+ range: reference.range,
173
+ targetPath: URI.parse(targetDocument.textDocument.uri).fsPath,
174
+ targetUri,
175
+ idea: reference.idea
176
+ };
177
+ }
178
+ if (!reference.path) {
179
+ return undefined;
180
+ }
181
+ const target = resolveFileUri(reference.path, document, context);
182
+ return {
183
+ range: reference.range,
184
+ targetPath: target.fsPath,
185
+ targetUri: target.toString(),
186
+ idea: reference.idea
187
+ };
188
+ }
119
189
  //# sourceMappingURL=reqlan-comment-diagnostics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reqlan-comment-diagnostics.js","sourceRoot":"","sources":["../src/reqlan-comment-diagnostics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reqlan-comment-diagnostics.js","sourceRoot":"","sources":["../src/reqlan-comment-diagnostics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Rebuilds documents whose comment-reference diagnostics depend on other `.rq` files.
3
+ * rq:["../../../reqlan rq/extension/features-non-rq-code-comment/functional-code-comment-references.rq".comment_reference_resolution_error_state]
4
+ */
5
+ import { DefaultDocumentBuilder, type LangiumDocument, type LangiumSharedCoreServices } from 'langium';
6
+ export declare class ReqlanDocumentBuilder extends DefaultDocumentBuilder {
7
+ constructor(services: LangiumSharedCoreServices);
8
+ protected shouldRelink(document: LangiumDocument, changedUris: Set<string>): boolean;
9
+ }
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Rebuilds documents whose comment-reference diagnostics depend on other `.rq` files.
3
+ * rq:["../../../reqlan rq/extension/features-non-rq-code-comment/functional-code-comment-references.rq".comment_reference_resolution_error_state]
4
+ */
5
+ import { DefaultDocumentBuilder } from 'langium';
6
+ import { shouldRelinkCommentReferences } from './reqlan-comment-diagnostics.js';
7
+ import { pathResolveContextFromServices } from './reqlan-path-resolve.js';
8
+ export class ReqlanDocumentBuilder extends DefaultDocumentBuilder {
9
+ constructor(services) {
10
+ super(services);
11
+ }
12
+ shouldRelink(document, changedUris) {
13
+ if (super.shouldRelink(document, changedUris)) {
14
+ return true;
15
+ }
16
+ return shouldRelinkCommentReferences(document, changedUris, pathResolveContextFromServices({
17
+ shared: {
18
+ workspace: {
19
+ WorkspaceManager: this.workspaceManager(),
20
+ FileSystemProvider: this.fileSystemProvider
21
+ }
22
+ }
23
+ }));
24
+ }
25
+ }
26
+ //# sourceMappingURL=reqlan-document-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reqlan-document-builder.js","sourceRoot":"","sources":["../src/reqlan-document-builder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACH,sBAAsB,EAGzB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAE1E,MAAM,OAAO,qBAAsB,SAAQ,sBAAsB;IAC7D,YAAY,QAAmC;QAC3C,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpB,CAAC;IAEkB,YAAY,CAAC,QAAyB,EAAE,WAAwB;QAC/E,IAAI,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,6BAA6B,CAChC,QAAQ,EACR,WAAW,EACX,8BAA8B,CAAC;YAC3B,MAAM,EAAE;gBACJ,SAAS,EAAE;oBACP,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE;oBACzC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;iBAC9C;aACJ;SACJ,CAAC,CACL,CAAC;IACN,CAAC;CACJ"}
@@ -1,6 +1,8 @@
1
1
  /**
2
- * Clickable document links for idea references, file references, and import paths.
2
+ * Clickable document links for idea references, file references, import paths, and comment references.
3
3
  * Same-file and cross-file idea refs both get links so the editor underline is consistent.
4
+ * Comment-reference links come from the same presentation as the missing-idea underline.
5
+ * rq:["../../../reqlan rq/extension/features-non-rq-code-comment/functional-code-comment-references.rq".comment_reference_resolution_error_state]
4
6
  */
5
7
  import type { LangiumDocument } from 'langium';
6
8
  import type { DocumentLinkProvider } from 'langium/lsp';
@@ -1,4 +1,6 @@
1
+ import { URI } from 'langium';
1
2
  import { DocumentLink as LspDocumentLink } from 'vscode-languageserver';
3
+ import { presentCommentReferencesForDocument } from './reqlan-comment-diagnostics.js';
2
4
  import { collectFileLinks, resolvedFileLinkTargetUri } from './reqlan-file-link-resolver.js';
3
5
  import { folderReferenceCommandTarget } from './reqlan-reference-at-position.js';
4
6
  import { wildcardReferenceCommandTarget } from './reqlan-wildcard-resolve.js';
@@ -10,7 +12,8 @@ export class ReqlanDocumentLinkProvider {
10
12
  this.services = services;
11
13
  }
12
14
  getDocumentLinks(document, _params) {
13
- return collectFileLinks(document, this.documents, this.fileSystem, pathResolveContextFromServices(this.services)).flatMap(link => {
15
+ const pathContext = pathResolveContextFromServices(this.services);
16
+ const fileLinks = collectFileLinks(document, this.documents, this.fileSystem, pathContext).flatMap(link => {
14
17
  if (link.resolution === 'folder') {
15
18
  return [LspDocumentLink.create(link.sourceRange, folderReferenceCommandTarget(link.targetUri))];
16
19
  }
@@ -23,6 +26,8 @@ export class ReqlanDocumentLinkProvider {
23
26
  }
24
27
  return [LspDocumentLink.create(link.sourceRange, target)];
25
28
  });
29
+ const commentLinks = presentCommentReferencesForDocument(document, this.documents, this.fileSystem, pathContext).links.map(link => LspDocumentLink.create(link.range, link.targetUri ?? URI.file(link.targetPath).toString()));
30
+ return [...fileLinks, ...commentLinks];
26
31
  }
27
32
  }
28
33
  //# sourceMappingURL=reqlan-document-link-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reqlan-document-link-provider.js","sourceRoot":"","sources":["../src/reqlan-document-link-provider.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC7F,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAE9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAE1E,MAAM,OAAO,0BAA0B;IAMnC,YAAY,QAAwB;QAChC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC;QAC5D,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC;QAC/D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED,gBAAgB,CAAC,QAAyB,EAAE,OAA2B;QACnE,OAAO,gBAAgB,CACnB,QAAQ,EACR,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,UAAU,EACf,8BAA8B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAChD,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACb,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAC/B,OAAO,CAAC,eAAe,CAAC,MAAM,CAC1B,IAAI,CAAC,WAAW,EAChB,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC,CAC/C,CAAC,CAAC;YACP,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtD,OAAO,CAAC,eAAe,CAAC,MAAM,CAC1B,IAAI,CAAC,WAAW,EAChB,8BAA8B,CAAC,IAAI,CAAC,YAAY,CAAC,CACpD,CAAC,CAAC;YACP,CAAC;YACD,MAAM,MAAM,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;YACd,CAAC;YACD,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
1
+ {"version":3,"file":"reqlan-document-link-provider.js","sourceRoot":"","sources":["../src/reqlan-document-link-provider.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAG9B,OAAO,EAAE,YAAY,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,mCAAmC,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC7F,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAE9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAE1E,MAAM,OAAO,0BAA0B;IAMnC,YAAY,QAAwB;QAChC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC;QAC5D,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC;QAC/D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED,gBAAgB,CAAC,QAAyB,EAAE,OAA2B;QACnE,MAAM,WAAW,GAAG,8BAA8B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,gBAAgB,CAC9B,QAAQ,EACR,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,UAAU,EACf,WAAW,CACd,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACb,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAC/B,OAAO,CAAC,eAAe,CAAC,MAAM,CAC1B,IAAI,CAAC,WAAW,EAChB,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC,CAC/C,CAAC,CAAC;YACP,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtD,OAAO,CAAC,eAAe,CAAC,MAAM,CAC1B,IAAI,CAAC,WAAW,EAChB,8BAA8B,CAAC,IAAI,CAAC,YAAY,CAAC,CACpD,CAAC,CAAC;YACP,CAAC;YACD,MAAM,MAAM,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;YACd,CAAC;YACD,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,mCAAmC,CACpD,QAAQ,EACR,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,UAAU,EACf,WAAW,CACd,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CACtC,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CACzD,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,SAAS,EAAE,GAAG,YAAY,CAAC,CAAC;IAC3C,CAAC;CACJ"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Import rewrites for moving an idea between `.rq` files: drop unused source
3
+ * imports and copy required imports onto the destination.
4
+ * rq:["../../../reqlan rq/extension/refactor_support.rq".refactor_symbol_move]
5
+ */
6
+ import { type AstNode, type LangiumDocument } from 'langium';
7
+ import type { Position, TextEdit } from 'vscode-languageserver';
8
+ import { type Idea, type Model, type OneLinerIdea } from './generated/ast.js';
9
+ export interface DestFromSpecifierNeed {
10
+ ideaName: string;
11
+ alias?: string;
12
+ }
13
+ export declare function collectUsedBindingNames(root: AstNode, skip?: AstNode): Set<string>;
14
+ export declare function topLevelDeclaredNames(model: Model): Set<string>;
15
+ export declare function sourceBoundNames(model: Model): Set<string>;
16
+ export declare function planUnusedImportEdits(document: LangiumDocument, usedNames: Set<string>): TextEdit[];
17
+ export declare function planDestRequiredImportEdits(input: {
18
+ idea: Idea | OneLinerIdea;
19
+ sourceDocument: LangiumDocument;
20
+ destinationDocument: LangiumDocument;
21
+ }): TextEdit[];
22
+ export declare function uniqueImportAlias(base: string, taken: ReadonlySet<string>): string;
23
+ export declare function rewriteImportPathForDocument(quotedOrRawPath: string, fromDocument: LangiumDocument, toDocument: LangiumDocument): string | undefined;
24
+ export declare function positionsEqual(left: Position, right: Position): boolean;