Code reference detail
linking.test.ts
reqlan rq/extension/language/syntax/packages/language/test/linking.test.ts
| Idea | Status | Tags | Summary | Katz |
|---|---|---|---|---|
| reference_document_links | done | Bracket and wikilink idea references — both same-file and cross-file — must emit a document link so the editor can follow them the same way as file-path references. Editor activation is [editor_reference_activation]. All resolved `LocalReference` and `QualifiedReference` idea / ideaset tokens should emit links targeting the declaration name, regardless of whether the target lives in the same file or an imported one. Namespace-import alias tokens ( `[alias]` → file ) keep their existing file-target link. Each link must include a `target` and a `tooltip` so VS Code does not show " Loading... ". Implemented by ["../../../../packages/language/src/reqlan-file-link-resolver.ts"] ( `resolveIdeaReferenceLinks`, `collectFileLinks` ) and ["../../../../packages/language/src/reqlan-document-link-provider.ts"]. | 0.124 | |
| file_references | A file reference should act as a link in the editor. If the target file is empty or has a parse error, the link should remain available and clickable, but should show a warning underline. If the target file is missing, show an error underline and do not create a document link — see ["../support/language-server-errors.rq".file_reference_errors]. Same-file and imported idea bracket references use the same editor activation as file targets. See ["./features-syntax-highlighting.rq".editor_reference_activation]. Implemented by ["../../../../packages/language/src/reqlan-file-link-resolver.ts"], ["../../../../packages/language/src/reqlan-document-link-provider.ts"], ["../../../../packages/language/src/reqlan-definition-provider.ts"], and ["../../../../packages/language/src/reqlan-validator.ts"]. | 0.118 | ||
| refactor_support | syntactic symbols should be available for renaming, moving, and deleting. the extension should watch for the change. Detailed behaviour lives in ["../../mutation/refactor_support.rq"]. Implemented by ["../../../../packages/language/src/reqlan-rename-provider.ts"], ["../../../../packages/language/src/reqlan-idea-refactor.ts"], and ["../../../../packages/extension/src/mutation_module/refactor/index.ts"]. | 0.079 | ||
| sensible_alias_support | if an imported idea shares a name with an idea in the current file: When the import uses an alias, the base name may be reused locally — see ["../../../language/imports.rq".import_tokenisation]. | 0.047 | ||
| syntax_features | The extension should provide language support for. rq files via the lsp. Syntax features should cover ideas, ideasets, imports, references, attributes, comments, and lists. Broken imports and references should be validated and reported in the editor. Go-to-definition and find-references should work for ideas, imports, and cross-file links. Find-references is served by ["../support/language-server-rust.rq".language_server_rust] ( `textDocument/references` ). Autoformatting should be supported for. rq files. | 0.046 |
Reference labels
file_references, refactor_support, reference_document_links, sensible_alias_support, syntax_features