Referenced by8
Labels22

Referencing ideas

IdeaStatusTagsSummaryKatz
create_requirementThe extension should provide a command to create a new requirement idea in an appropriate. rq file. New requirement creation should offer sensible defaults for name, body, and file placement.0.040
move_fileif a file is moved, a prompt should be shown to the user to update any references in the file to the new path. if multiple files are moved there should be only one prompt. the trigger should only happen if the reqlan file has inbound or outbound references, or the non-reqlan file has inbound reqlan references. " reqlan wants to make refactoring changes to your codebase. Do you approve? " " yes ", " no ", " view changes " See also ["./refactor_support.rq".refactor_file_moves]. Implemented by ["../../../packages/extension/src/mutation_module/register-file-mutation-hooks.ts"], ["../../../packages/extension/src/mutation_module/show-mutation-approval.ts"], and ["../../../packages/extension/src/mutation_module/file-mutation-gate.ts"].0.083
rename_filethis should update any referencess in rq files ( imports, inline references, etc ) it should also update any inline references in functional code files - per ["../language/comment-references/functional-code-comment-references.rq"] and ["./refactor_support.rq".comment_reference_refactor_support] Renaming a folder updates references to that folder and to every file inside it. The index watcher must not drop the pre-move file before inbound import planning ( ["./refactor_support.rq".refactor_file_moves] ). See also ["./refactor_support.rq".refactor_file_moves] and ["./refactor_support.rq".refactor_changes]. Implemented by ["../../../packages/extension/src/mutation_module/file-move-plan.ts"], ["../../../packages/extension/src/mutation_module/expand-renamed-paths.ts"], ["../../../packages/extension/src/mutation_module/register-file-mutation-hooks.ts"], ["../../../packages/extension/src/analytical_submodule/index-store/pending-rename-paths.ts"], ["../../../packages/language/src/file-path-rewrite.ts"], and ["../../../packages/extension/src/mutation_module/collect-inbound-referencers.ts"].0.083
comment_reference_refactor_supportdoneFile and symbol refactors must update [comment_reference] tokens in code files and in `.rq` comments. When a file or folder moves or is renamed, rewrite `rq:["path".idea]` paths relative to the referencing file: outbound paths inside the moved file, and inbound paths in other files that pointed at it. Aliased paths such as `rq:["@/old/file.rq".idea]` keep the alias and update the remainder. When an idea is renamed, update matching comment idea tokens. When an idea moves to another `.rq` file, rewrite qualified comment paths that targeted the old file for that idea. Pathless `rq:[idea]` tokens stay as name-only links. When an idea is deleted, remove comment references that targeted it. Relates to [refactor_file_moves], [refactor_symbol_rename], [refactor_symbol_move], [refactor_symbol_delete], [refactor_changes], ["./mutation-hooks.rq".move_file], ["./mutation-hooks.rq".rename_file], ["../language/comment-references/functional-code-comment-references.rq".references_in_functional_code_comments].0.215
refactor_changesOn rename, move, or delete of files or symbols, the extension should update the idea index, import statements, embedded file references, comment references, and other idea references that are affected. The index should be resilient to duplication, particularly when ideas move between files: the old hosting file URI must be cleared before or when the destination is reindexed. [refactor_file_moves] [refactor_symbol_rename] [refactor_symbol_move] [refactor_symbol_delete] [comment_reference_refactor_support] Implemented by ["../../../packages/analytical/src/index-store/workspace-index.ts"], ["../../../packages/extension/src/analytical_submodule/index-store/index-service.ts"], ["../../../packages/language/src/reqlan-idea-refactor.ts"], and ["../../../packages/extension/src/mutation_module/register-file-mutation-hooks.ts"].0.114
refactor_file_movesThe extension should watch for file moves and renames, including a renamed folder. A folder rename is expanded to every file inside it, then the index is migrated for moved . rq files, and imports and path references are updated both inside the moved file ( outbound ) and in other files that pointed at it or at the folder ( inbound ), including comment paths in code files ( [comment_reference_refactor_support] ). Import-root aliases such as `@/old/file.rq` are rewritten when that target moves ( `@/new/file.rq` ). There should be a single prompt per batch asking whether to apply path updates, aligned with [move_file] and [rename_file]. While a rename is in flight, the index file watcher must not delete the pre-move URI before inbound import planning runs — `onWillRenameFiles` marks pending paths and `migrateRenamedFile` clears the old URI after path edits are planned. Implemented by ["../../../packages/extension/src/mutation_module/register-file-mutation-hooks.ts"], ["../../../packages/extension/src/mutation_module/expand-renamed-paths.ts"], ["../../../packages/extension/src/mutation_module/file-move-plan.ts"], ["../../../packages/extension/src/mutation_module/file-mutation-gate.ts"], ["../../../packages/extension/src/mutation_module/collect-inbound-referencers-core.ts"], ["../../../packages/extension/src/analytical_submodule/index-store/pending-rename-paths.ts"], ["../../../packages/extension/src/analytical_submodule/index-store/index-service.ts"], ["../../../packages/language/src/file-path-rewrite.ts"], and ["../../../packages/language/src/reqlan-path-references.ts"].0.106
idea_referencedoneIdea-to-idea ["./ontology.rq".reference]: bracket `[name]` / `[ideaset.name]` targets a local, imported, or same-file idea. Syntax: ["./language/syntax.rq".reference_brackets], ["./language/syntax.rq".same_file_reference], ["./language/syntax.rq".reference_qualified], ["./language/syntax.rq".reference_embedding], ["./language/syntax.rq".references_to_subidea]. Index edge kind `references` on [analytical_types] / [rust_index_types]. Extract: [idea_extractor], [rust_extract]. A `[ideaset.member]` form records the edge on the member leaf, not on the ideaset container. An attribute uses the same brackets. See ["./language/syntax.rq".attribute_namespacing]. Wikilink surface for the same edge kind: [link_reference]. Fan-out across files: [wildcard_reference].0.125
reference_edgecasedoneA quoted string is a [file_reference] only when it is inside brackets. Example of a file reference: ["./reference_types.rq"] Example of body text: " this is not a reference. rq " The file suffix does not change this rule. The parser must not make a file reference from quoted body text. The language server must not make a document link or a missing-file error from quoted body text. Related: [file_reference], ["./language/syntax.rq".naked_strings_in_body], ["./language/syntax.rq".reference_file].0.112

Reference labels

"../../../packages/language/test/file-path-rewrite.test.ts:buildInboundPathRewriteEdits quotes replacement paths", "../../../packages/language/test/file-path-rewrite.test.ts:finds comment paths in moved rq files together with imports", "../../../packages/language/test/file-path-rewrite.test.ts:finds import and embedded paths in rq files", "../../../packages/language/test/file-path-rewrite.test.ts:finds rq comment paths in code files", "../../../packages/language/test/file-path-rewrite.test.ts:preserves extensionless inbound paths", "../../../packages/language/test/file-path-rewrite.test.ts:rewrites inbound comment paths when the target rq file moves", "../../../packages/language/test/file-path-rewrite.test.ts:updates a folder reference when the folder is renamed", "../../../packages/language/test/file-path-rewrite.test.ts:updates an aliased path when the target folder is renamed", "../../../packages/language/test/file-path-rewrite.test.ts:updates inbound import path when the target file moves", "../../../packages/language/test/file-path-rewrite.test.ts:updates paths when a file moves to a sibling directory", "../packages/language/test/file-path-rewrite.test.ts:does not treat unbracketed quoted paths as embedded path references", ../../../packages/language/test/file-path-rewrite.test.ts:buildInboundPathRewriteEdits quotes replacement paths, ../../../packages/language/test/file-path-rewrite.test.ts:finds comment paths in moved rq files together with imports, ../../../packages/language/test/file-path-rewrite.test.ts:finds import and embedded paths in rq files, ../../../packages/language/test/file-path-rewrite.test.ts:finds rq comment paths in code files, ../../../packages/language/test/file-path-rewrite.test.ts:preserves extensionless inbound paths, ../../../packages/language/test/file-path-rewrite.test.ts:rewrites inbound comment paths when the target rq file moves, ../../../packages/language/test/file-path-rewrite.test.ts:updates a folder reference when the folder is renamed, ../../../packages/language/test/file-path-rewrite.test.ts:updates an aliased path when the target folder is renamed, ../../../packages/language/test/file-path-rewrite.test.ts:updates inbound import path when the target file moves, ../../../packages/language/test/file-path-rewrite.test.ts:updates paths when a file moves to a sibling directory, ../packages/language/test/file-path-rewrite.test.ts:does not treat unbracketed quoted paths as embedded path references