Code reference detail
idea-refactor.test.ts
reqlan rq/extension/mutation/packages/language/test/idea-refactor.test.ts
| Idea | Status | Tags | Summary | Katz |
|---|---|---|---|---|
| comment_reference_refactor_support | done | File 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_symbol_delete | An idea declaration should offer a code action to delete it and update references. Deleting should remove the declaration, clear or rewrite AST and comment references that targeted it ( [comment_reference_refactor_support] ), and reindex affected files. [refactor_support] [refactor_changes] Implemented by ["../../../packages/language/src/reqlan-idea-refactor.ts"], ["../../../packages/language/src/reqlan-code-action-provider.ts"], ["../../../crates/reqlan-lsp/src/code_actions.rs"], and ["../../../packages/extension/src/mutation_module/refactor/register-idea-refactor-commands.ts"]. | 0.106 | ||
| refactor_symbol_move | done | An idea can move to another existing `.rq` file from a code action or the [command_palette]. Palette commands use the idea under the cursor, or a pick list when the cursor is not on an idea. 1. Move idea ( `reqlan.refactor.moveIdea` ) - Cut the declaration from the source file. - Insert it into the destination file. - Remove source imports that the move makes unused. - Add the imports that the moved idea needs to the destination. - If the source file still refers to the idea, import it from the destination. - Rewrite comment references per [comment_reference_refactor_support]. - Reindex without duplicate idea rows for the old hosting file. 2. Move idea content ( `reqlan.refactor.moveIdeaContent` ) - Do the same as ( 1 ). - Always import the destination file in the source. - Leave a one-liner stub in the source: `idea_name [alias.idea_name]`. Do not overlap [decompose]: decompose writes a new file. Move and decompose share the resolve-plan-apply sequence in ["../../../packages/extension/src/mutation_module/refactor/idea-extract-flow.ts"]. [refactor_support] [refactor_changes] | 0.106 |
Reference labels
comment_reference_refactor_support, refactor_symbol_delete, refactor_symbol_move