Code reference detail
completion.test.ts
packages/language/test/completion.test.ts
| Idea | Status | Tags | Summary | Katz |
|---|---|---|---|---|
| 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_location | An 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 | ||
| anonymous_reference_code_completion | Anonymous imports should share the same code completion e. g. ["@/reqlan rq/extension/language/syntax/features-syntax.rq"] should complete the same as `import "@/reqlan rq/extension/language/syntax/features-syntax.rq" as code_completion`. they should share the same code and logic | 0.053 | ||
| import_code_completion_auto_file_import | done | When a code completion for an idea in another file is selected, the import should be automatically added to the current file. This prevents the user from selecting a presented idea, and then having to add the import for the same thing. Uses the same from-import insertion as [import_error] quick fixes; skips the edit when the idea is already imported. [reference_code_completion] [import_code_completion] [import_code_completion_rendering] [import_error] | 0.066 | |
| import_code_completion_explicit_extension | Completions insert paths with an explicit `.rq` extension. [implicit_file_extension] Hand-written imports may still omit the extension; completion prefers the written form with `.rq`. | 0.047 | ||
| import_code_completion_path_segments | In a folder context, show next path segments ( directories with a trailing `/` ). After `../`, offer `../path/` before nested `../path/file.rq`. | 0.047 | ||
| import_code_completion_ranking | Rank import path completions by directory proximity ( hop count from the completing file's directory to the candidate's directory ), then directories before files, then path alphabetically. Example: typing `../` ranks `../close.rq` before `../../../path.rq`. Emit sortText for that order, and set filterText so the editor does not re-rank by label fuzzy score over proximity. | 0.053 | ||
| import_code_completion_rendering | done | Reference code completion for ideas from other files shows the relative import path in the completion detail. Same-file ideas omit the path detail. [reference_code_completion] [import_code_completion] [import_code_completion_auto_file_import] | 0.066 | |
| import_code_completion_substring_match | Filter path candidates by search within the path, not only a starts-with prefix. Typing `path` should match `../../parent/path.rq`. Typing `hellopath` should match `../../hello/inbetween/path/file.rq` ( characters matched in order across path segments ). | 0.047 | ||
| remote_imports | Reqlan files should support importing requirements from remote urls. Remote import syntax should follow import " https://company.com/reqs/style.rq" as styleguide. The extension should resolve, cache, and validate remote imports. Barrel imports should be recommended for token efficiency when many symbols are needed from one remote file. | 0.040 | ||
| complementary_information_rendering | The extension should render computed information inline in the editor as complementary text. Complementary rendering should include resolved references and optionally indirect references behind a toggle. Complementary rendering should not mutate source files unless the user explicitly applies a change. | 0.040 | ||
| reference_code_completion | autocompletion | references should code complete the available namespace of ideas this includes both ideas using hte standards idea namespace syntax, and ideas using file paths, and relative file paths. Cross-file candidates show import paths and may auto-insert imports: ["../support/features-imports.rq".import_code_completion_rendering] ["../support/features-imports.rq".import_code_completion_auto_file_import] Implemented by ["../../../../packages/language/src/reqlan-completion-provider.ts"]. ["./features-syntax.rq".code_completion] | 0.077 | |
| reference_code_completion_objects | done | [reference_code_completion] must offer code completion for all valid reqlan references: - reqlan files ( `.rq` ) - ideas and ideasets in a reqlan file after a quoted path ( `["path".idea]` ) - ideasets and ideaset members ( `[ideaset.member]` ) - code files - folders, including folders that do not contain `.rq` files Import path completion stays limited to `.rq` files. Anonymous file-reference paths share ranking and alias logic with import paths, but they include every file and folder target. Scanning every workspace file on each keystroke is too expensive: [reference_code_completion_performance]. | 0.051 | |
| reference_code_completion_performance | done | [reference_code_completion_objects] must stay interactive on large workspaces. Path completion must not re-walk the filesystem on every keystroke: cache directory listings and reuse them for import and anonymous file-reference completion. Ranking must precompute proximity keys rather than recomputing hop distance per comparator call. Idea-graph ranking must reuse per-document adjacency across completion requests while document versions are unchanged. Anonymous file-reference completion may omit distant candidates after proximity ranking so the list stays bounded. Implemented by ["../../../../packages/language/src/reqlan-path-completion.ts"] ( `clearPathCompletionCaches`, listing cache, `sortPathCompletionCandidates` ), ["../../../../packages/language/src/reqlan-completion-provider.ts"], and ["../../../../packages/language/src/reqlan-completion-context.ts"]. [reference_code_completion] [reference_code_completion_objects] | 0.046 | |
| reference_code_completion_sequencing | [reference_code_completion] should be offered, not alphabetically, but by distance, then alphabetically. Implemented by ["../../../../packages/language/src/reqlan-completion-provider.ts"]. ["./features-syntax.rq".code_completion] | 0.045 | ||
| code_completion | The extension should complete ideas, imports, and paths from the current file path and resolved import config. - support for references - support for imports, including import-root alias paths such as `@/` from ["../../../language/imports.rq".configuration_import_root_alias] and ["../../host/configuration.rq".configuration_import_roots] - support for semantic search - support for graph-proximity based ranking String and namespace completion should follow the current file path and import roots. | 0.150 | ||
| 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 | ||
| configuration_import_root_alias | An 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_keywords | The 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/test/completion.test.ts", "../../../../packages/language/test/completion.test.ts:anonymous file references complete code files, folders, and .rq files", "../../../../packages/language/test/completion.test.ts:completes ideas and ideasets after a quoted file path", "../../../../packages/language/test/completion.test.ts:completes ideaset members after a dotted qualifier", "../../../../packages/language/test/completion.test.ts:completes import-root alias paths", "../../../packages/language/test/completion.test.ts:completes import-root alias paths", "../../packages/language/test/completion.test.ts:completes import-root alias paths", ../../../../packages/language/test/completion.test.ts, ../../../../packages/language/test/completion.test.ts:anonymous file references complete code files, folders, and .rq files, ../../../../packages/language/test/completion.test.ts:completes ideas and ideasets after a quoted file path, ../../../../packages/language/test/completion.test.ts:completes ideaset members after a dotted qualifier, ../../../../packages/language/test/completion.test.ts:completes import-root alias paths, ../../../packages/language/test/completion.test.ts:completes import-root alias paths, ../../packages/language/test/completion.test.ts:completes import-root alias paths