Code reference detail
reqlan-imports.ts
reqlan rq/extension/language/support/packages/language/src/reqlan-imports.ts
| Idea | Status | Tags | Summary | Katz |
|---|---|---|---|---|
| implicit_file_extension | The import statements should not require an extension, i. e. it should assume ". rq " unless otherwise specified. An extensionless path resolves to the ". rq " file first, then to a literal extensionless file or folder. A path that already carries any extension is resolved exactly as written. Folder targets: [import_folder_targets]. | 0.195 | ||
| import_folder_targets | done | An import path may refer to a folder. A folder is a valid import target when that path exists as a directory. Namespace import of a folder binds the alias to that folder, the same as a file. Extensionless paths still prefer a `.rq` file: [implicit_file_extension]. Related: ["../../../language/imports.rq".import_paths], [import_does_not_exist_error], ["../syntax/features-syntax.rq".file_references]. | 0.164 | |
| outbound_one_hop | done | The hot path parses imported files only. For each import in the open buffer, parse that file once, then stop. Read idea names, idea lines, and import aliases. Do not parse files that the import references. Do not read SQLite. Prefer the open buffer text when that import is already open and dirty. Cache each parse by path plus file stamp ( modified time and size ) ( [lsp_session] ). A current stamp is one `stat`. Read and parse the file only when the stamp changed. Cache the open buffer by URI plus text fingerprint ( [open_file_hot_path] ). [local_symbolic_analysis] stays file-local. This hop is outside that extract. An extensionless import path prefers `.rq`, then the path as written ( [implicit_file_extension] ). A qualified reference that is not an import waits for [lazy_features_after_outbound]. Related: [open_file_algorithm], [non_web_reference_navigation]. | 0.246 |
Reference labels
implicit_file_extension, import_folder_targets, outbound_one_hop