Referenced by9
Labels4

Referencing ideas

IdeaStatusTagsSummaryKatz
configuration_import_roots`importRoots` is an optional array of alias-to-directory mappings in `.reqlan/config.json`. Each mapping has: - `alias` ( required non-empty string ): prefix before `/` in aliased import paths. - `root` ( optional non-empty string ): directory for that alias. A relative `root` resolves against the base root ( the parent of `.reqlan` ), not against the `.reqlan` directory. An absolute path or `file://` URI is used as that alias' import-root directory directly. When `root` is omitted for a mapping, that alias uses the workspace folder that contains the `.rq` file. When `importRoots` is omitted, empty, or has no valid entries, the default is one mapping with alias `importRootAlias` from ["../../../packages/analytical/src/core/defaults.json"] and no explicit root. When several aliases could match a path, the longest alias wins. Invalid or unreadable JSON, and a non-array `importRoots` value, fall back to defaults ( or no loaded config for discovery, then defaults at resolve time ). Language path forms and `@/` shorthand: ["../../language/imports.rq".import_paths] and ["../../language/imports.rq".configuration_import_root_alias]. Comment references in source files use the same mappings: ["../language/comment-references/functional-code-comment-references.rq".comment_reference_import_root_alias]. Schema: [configuration_schema_file]. Applying file discovery: [configuration_location]. Editor completion of aliased import paths: ["../language/syntax/features-syntax.rq".code_completion].0.167
configuration_locationAn optional `.reqlan/config.json` may appear under a base's `.reqlan` directory. For a given `.rq` file, the applying base is the nearest ancestor directory that owns a `.reqlan` folder. The applying config is that base's `.reqlan/config.json` when present. If the owning base has no `config.json`, or no owning base is found, defaults from [configuration_import_roots] apply. A child base does not inherit a parent base's config.0.190
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
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
configuration_import_root_aliasAn import path may start with an alias string, then `/`, then a relative path under that alias's import-root directory. Default alias string: `@`, written as `@/` plus a path relative to the import root. Default import-root directory: the workspace folder that contains the `.rq` file ( not the document directory ). The path after `/` is joined to that alias's import-root directory; the alias itself must be followed by `/` ( e. g. `@reqs` is not aliased ). Alias strings and import-root directories are configured as [configuration.configuration_import_roots] in the applying `.reqlan/config.json` from [configuration.configuration_location]. A configured relative `root` resolves against the base root ( parent of `.reqlan` ); an omitted `root` keeps the workspace-folder default. When several configured aliases could match a path, the longest alias wins. Related path forms: [import_paths], ["../extension/language/comment-references/functional-code-comment-references.rq".comment_reference_import_root_alias]. Completion: ["../extension/language/syntax/features-syntax.rq".code_completion]. File references and the language server use the same locate rule as ["../core_analysis/check.rq".check]: load `importRoots` from the applying `.reqlan/config.json` for the source file ( [configuration.configuration_location] ), then `resolve_rq_path` and join the workspace when the result is relative — including paths with spaces such as `["@/my file.ts"]`.0.296
import_keywordsThe keywords import, from, and as are reserved for import statements. Import keywords may also appear as ordinary words in idea body text when not at statement start.0.047

Reference labels

"../../../packages/language/src/file-path-rewrite.ts", "../../packages/language/src/file-path-rewrite.ts", ../../../packages/language/src/file-path-rewrite.ts, ../../packages/language/src/file-path-rewrite.ts